tests/examples/xml/createxml.c: gcc 4 fixes
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2
3         * tests/examples/xml/createxml.c: (object_saved):
4           gcc 4 fixes
5
6 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
7
8         * tests/Makefile.am:
9           enable the examples even more
10
11 2005-12-12  Andy Wingo  <wingo@pobox.com>
12
13         * libs/gst/net/gstnettimeprovider.c
14         (gst_net_time_provider_class_init, gst_net_time_provider_init)
15         (gst_net_time_provider_set_property)
16         (gst_net_time_provider_get_property): Export "active" as a GObject
17         property.
18         (gst_net_time_provider_thread): Only respond to time queries if
19         the time provider is active.
20
21         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
22         NetTimeProvider, preserving binary compat.
23
24 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
25
26         * tests/examples/controller/audio-example.c: (main):
27         * tests/examples/launch/Makefile.am:
28           convert comments again
29
30 2005-12-12  Wim Taymans  <wim@fluendo.com>
31
32         * libs/gst/base/gstpushsrc.c:
33         Fix typo.
34
35 2005-12-12  Wim Taymans  <wim@fluendo.com>
36
37         * docs/libs/gstreamer-libs-sections.txt:
38         Added new symbol to docs.
39
40         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
41         (gst_base_src_init), (gst_base_src_set_format),
42         (gst_base_src_default_query), (gst_base_src_query),
43         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
44         (gst_base_src_perform_seek), (gst_base_src_send_event),
45         (gst_base_src_default_event), (gst_base_src_event_handler),
46         (gst_base_src_set_property), (gst_base_src_get_property),
47         (gst_base_src_wait), (gst_base_src_do_sync),
48         (gst_base_src_update_length), (gst_base_src_get_range),
49         (gst_base_src_check_get_range), (gst_base_src_loop),
50         (gst_base_src_default_negotiate), (gst_base_src_start),
51         (gst_base_src_activate_push), (gst_base_src_activate_pull),
52         (gst_base_src_change_state):
53         * libs/gst/base/gstbasesrc.h:
54         Implement seeking to other formats than _BYTES.
55         Implement more seeking methods correctly.
56         Doc updates.
57         Added query vmethod.
58         Added do_seek vmethod to make life easier for subclasses
59         when seeking.
60         API addition: gst_base_src_set_format()
61
62 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
63
64         * tests/examples/Makefile.am:
65           added that too
66
67 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
68
69         * configure.ac:
70         * docs/random/ensonic/media-device-daemon.txt:
71         * tests/examples/controller/.cvsignore:
72         * tests/examples/controller/Makefile.am:
73         * tests/examples/controller/audio-example.c: (main):
74         * tests/examples/helloworld/.cvsignore:
75         * tests/examples/helloworld/Makefile.am:
76         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
77         * tests/examples/launch/.cvsignore:
78         * tests/examples/launch/Makefile.am:
79         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
80         * tests/examples/metadata/.cvsignore:
81         * tests/examples/metadata/Makefile.am:
82         * tests/examples/metadata/read-metadata.c: (message_loop),
83         (make_pipeline), (print_tag), (main):
84         * tests/examples/queue/.cvsignore:
85         * tests/examples/queue/Makefile.am:
86         * tests/examples/queue/queue.c: (event_loop), (main):
87         * tests/examples/typefind/.cvsignore:
88         * tests/examples/typefind/Makefile.am:
89         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
90         (main):
91         * tests/examples/xml/.cvsignore:
92         * tests/examples/xml/Makefile.am:
93         * tests/examples/xml/createxml.c: (object_saved), (main):
94         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
95         * tests/old/examples/Makefile.am:
96         * tests/old/examples/TODO:
97         * tests/old/examples/controller/.cvsignore:
98         * tests/old/examples/controller/Makefile.am:
99         * tests/old/examples/controller/audio-example.c:
100         * tests/old/examples/helloworld/.cvsignore:
101         * tests/old/examples/helloworld/Makefile.am:
102         * tests/old/examples/helloworld/helloworld.c:
103         * tests/old/examples/launch/.cvsignore:
104         * tests/old/examples/launch/Makefile.am:
105         * tests/old/examples/launch/mp3parselaunch.c:
106         * tests/old/examples/launch/mp3play:
107         * tests/old/examples/manual/Makefile.am:
108         * tests/old/examples/metadata/Makefile.am:
109         * tests/old/examples/metadata/read-metadata.c:
110         * tests/old/examples/queue/.cvsignore:
111         * tests/old/examples/queue/Makefile.am:
112         * tests/old/examples/queue/queue.c:
113         * tests/old/examples/typefind/.cvsignore:
114         * tests/old/examples/typefind/Makefile.am:
115         * tests/old/examples/typefind/typefind.c:
116         * tests/old/examples/xml/.cvsignore:
117         * tests/old/examples/xml/Makefile.am:
118         * tests/old/examples/xml/createxml.c:
119         * tests/old/examples/xml/runxml.c:
120           applied some simple fixing to some examples
121           re-enabled the working examples
122
123 2005-12-12  Wim Taymans  <wim@fluendo.com>
124
125         * gst/gstsegment.c: (gst_segment_init),
126         (gst_segment_set_last_stop), (gst_segment_set_seek),
127         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
128         (gst_segment_to_running_time):
129         Added more documentation.
130         Make sure the last_pos value is updated properly.
131         Make sure to_stream_time and to_running_time don't
132         operate on wrong values.
133
134         * tests/check/gst/gstsegment.c: (GST_START_TEST):
135         Update check.
136
137 2005-12-12  Michael Smith  <msmith@fluendo.com>
138
139         * plugins/elements/gsttypefindelement.c: (free_entry),
140         (gst_type_find_element_chain):
141           Now that we're not leaking factories, make sure we keep references
142           to them while we need them.
143
144 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
145
146         * tests/check/gst/struct_i386.h:
147           ifdef out the XML structs
148
149 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
150
151         * gst/gstvalue.c: (gst_value_transform_double_fraction):
152           floor is not needed, F is always positive; this obviates the
153           need for adding -lm when building without libxml
154
155 2005-12-12  Wim Taymans  <wim@fluendo.com>
156
157         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
158         Take current playback rate into account when reporting
159         the position.
160
161 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
162
163         * docs/manual/mime-world.fig:
164           Let's try this again, this time with a file that is
165           actually in XFig format.
166
167 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
168
169         * docs/manual/mime-world.fig:
170           Add audioconvert element to diagram so that it
171           matches the text and the code (fixes #319526).
172
173 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
174
175         * docs/pwg/building-chainfn.xml:
176         * docs/pwg/building-pads.xml:
177         * docs/pwg/building-state.xml:
178         * docs/pwg/other-source.xml:
179           Update state change stuff for 0.10 (fixes #322969).
180
181 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
182
183         * docs/manual/advanced-dataaccess.xml:
184         * docs/manual/appendix-checklist.xml:
185         * docs/manual/appendix-programs.xml:
186         * docs/manual/basics-pads.xml:
187         * docs/manual/highlevel-components.xml:
188         * docs/manual/manual.xml:
189           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
190           add converters in front of pipelines; remove curly
191           brackets for threads stuff, they no longer exist; use
192           GST_TYPE_FRACTION for framerates; update some pieces of
193           code to 0.10, but there's plenty more to do.
194
195         * docs/manual/appendix-porting.xml:
196           Expand on asynchroneous state changes; s/0.9/0.10/;
197           mention disappearance of gst_init_get_popt_table()
198           (fixes #322916).
199
200 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
201
202         * docs/faq/using.xml:
203           Spider no longer exists, and neither does gst-launch-ext.
204           Update examples to use decodebin and playbin and put
205           converters in front of sinks (fixes #323726).
206
207 2005-12-09  Michael Smith  <msmith@fluendo.com>
208
209         * plugins/elements/gsttypefindelement.c: (find_peek),
210         (gst_type_find_element_chain):
211           Fix leaking element factories in typefinding.
212           Fix problem where we forgot about a probable type on non-seekable
213           files, and thus later mis-typefound it.
214
215 2005-12-09  Michael Smith  <msmith@fluendo.com>
216
217         * common/m4/gst-makecontext.m4:
218         * common/m4/gst-mcsc.m4:
219         * configure.ac:
220         * win32/common/config.h:
221         * win32/common/config.h.in:
222           Remove makecontext stuff; not used in 0.10 and causes problems on
223           HPUX according to bug #322441
224
225 2005-12-07  Wim Taymans  <wim@fluendo.com>
226
227         * tests/check/Makefile.am:
228         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
229         (main):
230         * tests/check/libs/struct_i386.h:
231         Added ABI check for libs
232
233 2005-12-07  Wim Taymans  <wim@fluendo.com>
234
235         * tests/check/Makefile.am:
236         And add the struct_i386.h to dist.
237
238 2005-12-07  Wim Taymans  <wim@fluendo.com>
239
240         * tests/check/Makefile.am:
241         * tests/check/gst/.cvsignore:
242         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
243         (main):
244         * tests/check/gst/struct_i386.h:
245         Added check for ABI compatibility.
246
247 2005-12-07  Wim Taymans  <wim@fluendo.com>
248
249         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
250         (gst_fake_src_get_times), (gst_fake_src_create):
251         Fix broken sync option, fixes #323259
252
253 2005-12-07  Wim Taymans  <wim@fluendo.com>
254
255         * gst/gstbuffer.c:
256         Small docs update.
257
258         * gst/gstcaps.c: (gst_caps_is_equal):
259         Don't assert on NULL <--> X. Fixes #323260
260
261         * gst/gstminiobject.c: (gst_mini_object_replace):
262         If we're doing atomic operations, we might just as well use
263         the proper way to get an atomic pointer.
264
265         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
266         Clean up debugging.
267
268 2005-12-07  Michael Smith  <msmith@fluendo.com>
269
270         * gst/parse/grammar.y:
271           Remove handling of { } for threads.
272
273 2005-12-06  David Schleef  <ds@schleef.org>
274
275         * libs/gst/base/gstbasetransform.c: speling fix.
276
277 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
278
279         * docs/libs/tmpl/gstdataprotocol.sgml:
280         * docs/random/omega/testing/gstobject.c:
281         * gst/gst.c:
282         * gst/gstclock.c:
283         * gst/gstelement.c:
284         * gst/gstelementfactory.c:
285         * gst/gsterror.c:
286         * gst/gstevent.c:
287         * gst/gstghostpad.c:
288         * gst/gstinfo.c:
289         * gst/gstpadtemplate.c:
290         * gst/gstregistryxml.c:
291         * gst/gsttaglist.c:
292         * gst/gsttagsetter.c:
293         * gst/gsttypefind.c:
294         * gst/gstvalue.c:
295         * libs/gst/base/gstbasesrc.c:
296         * libs/gst/net/gstnetclientclock.c:
297         * libs/gst/net/gstnettimeprovider.c:
298         * plugins/elements/gstfakesrc.c:
299         * plugins/elements/gstfdsrc.c:
300         * plugins/elements/gstfilesrc.c:
301         * plugins/elements/gstidentity.c:
302         * plugins/elements/gstqueue.c:
303         * plugins/elements/gsttypefindelement.c:
304         * plugins/indexers/gstfileindex.c:
305         * plugins/indexers/gstmemindex.c:
306         * tests/check/gst/gsttag.c:
307         * tests/old/examples/cutter/cutter.c:
308         * tests/old/examples/mixer/mixer.c:
309         * tests/old/examples/xml/runxml.c: (main):
310         * tests/old/testsuite/caps/normalisation.c:
311         * tests/old/testsuite/debug/global.c:
312         * tests/old/testsuite/parse/parse1.c:
313         * tools/gst-xmlinspect.c:
314         * win32/common/dirent.c:
315           expand tabs
316
317 === release 0.10.0 ===
318
319 2005-12-05   <thomas (at) apestaart (dot) org>
320
321         * configure.ac:
322           releasing 0.10.0, "Maroilles"
323
324 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
325
326         submitted by: Funda Wang <fundawang@linux.net.cn>
327
328         * po/LINGUAS:
329         * po/zh_CN.po:
330           added Chinese (Traditional) translation
331
332 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
333
334         * docs/gst/gstreamer-sections.txt:
335         * docs/libs/tmpl/gstdataprotocol.sgml:
336         * docs/random/thomasvs/TODO:
337         * gst/gstutils.c:
338         * gst/gstutils.h:
339           fix docs
340
341 2005-12-05  Andy Wingo  <wingo@pobox.com>
342
343         patch by: Wim Taymans <wim@fluendo.com>
344
345         * libs/gst/base/gstbasetransform.c
346         (gst_base_transform_prepare_output_buf)
347         (gst_base_transform_buffer_alloc):
348         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
349         alloc_buffer_and_set_caps.
350
351         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
352         set_caps on the source pad.
353         (gst_pad_alloc_buffer_and_set_caps): New function, does what
354         alloc_buffer used to do. Fixes #322874.
355
356         * docs/gst/gstreamer-sections.txt: 
357         * docs/design/part-negotiation.txt: 
358         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
359         changes.
360
361 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
362
363         patch by: Sebastien Moutte
364
365         * win32/MANIFEST:
366         * win32/common/config.h.in:
367         * win32/vs6/libgstcontroller.dsp:
368           win32 build fixes
369
370 2005-12-05  Wim Taymans  <wim@fluendo.com>
371
372         * gst/gstcaps.c: (gst_caps_is_equal):
373         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
374         (gst_fake_src_create):
375         Back out previous code changes, leave doc updates, file bugs 
376         instead. 
377
378 2005-12-05  Wim Taymans  <wim@fluendo.com>
379
380         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
381         (gst_fake_src_get_times), (gst_fake_src_create):
382         * plugins/elements/gstfakesrc.h:
383         Fix broken sync code.
384
385 2005-12-05  Wim Taymans  <wim@fluendo.com>
386
387         * gst/gstcaps.c: (gst_caps_is_equal):
388         Comparing NULL against !NULL yields different caps, not a
389         failure.
390
391 2005-12-05  Wim Taymans  <wim@fluendo.com>
392
393         * gst/gstpipeline.c:
394         Fix small typo in docs.
395
396 2005-12-05  Andy Wingo  <wingo@pobox.com>
397
398         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
399
400         * gst/gst.c (init_post): remove hard-coded 0.9 location for
401         registries/plugins with a MAJORMINOR one.
402         (plugin_desc): Rename library from gstcoreleements to
403         staticelements. Fixes #323222.
404
405 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
406
407         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
408           Change debug category to 'collectpads' from 'collect_pads'
409           (fixes #323250).
410
411 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
412
413         patch by: Sebastien Moutte
414
415         * libs/gst/controller/gstinterpolation.c:
416           use convert function for uint64/double
417         * win32/vs6/libgstcontroller.dsp:
418           link to GLib
419
420 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
421
422         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
423         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
424         * gst/gstutils.h:
425         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
426           add tests that seem to show that the guint64/gdouble conversions
427           are correct.
428
429 2005-12-02  Wim Taymans  <wim@fluendo.com>
430
431         * gst/gstregistry.c: (gst_registry_add_path):
432         * gst/gstregistry.h:
433         * gst/gstregistryxml.c:
434         Fix docs again.
435
436 2005-12-02  Wim Taymans  <wim@fluendo.com>
437
438         * gst/gstutils.c: (gst_util_uint64_scale_int64),
439         (gst_util_uint64_scale_int):
440         Small cleanup.
441
442         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
443         Add debug log line.
444
445         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
446         Add FIXME.
447
448 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
449
450         * win32/MANIFEST:
451         * win32/common/config.h:
452         * win32/vs6/gstreamer.dsw:
453         * win32/vs6/libgstcoreelements.dsp:
454         * win32/vs6/libgstelements.dsp:
455           renamed core elements plugin
456
457 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
458
459         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
460         (get_candidates):
461           do piece-wise major/minor comparison so 0.9 < 0.10
462           also allow .exe extensions for tools
463
464 2005-12-02  Michael Smith  <msmith@fluendo.com>
465
466         * gst/gst.c:
467           Escape a % to make gtkdoc happier; bug 322958.
468
469 === release 0.9.7 ===
470
471 2005-12-01   <thomas (at) apestaart (dot) org>
472
473         * configure.ac:
474           releasing 0.9.7, "My Dog Has No Nose"
475
476 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
477
478         * common/gst-xmlinspect.py:
479         * configure.ac:
480         * docs/libs/tmpl/gstdataprotocol.sgml:
481         * docs/random/release:
482         * po/af.po:
483         * po/az.po:
484         * po/bg.po:
485         * po/ca.po:
486         * po/cs.po:
487         * po/de.po:
488         * po/en_GB.po:
489         * po/fr.po:
490         * po/it.po:
491         * po/nb.po:
492         * po/nl.po:
493         * po/ru.po:
494         * po/sq.po:
495         * po/sr.po:
496         * po/sv.po:
497         * po/tr.po:
498         * po/uk.po:
499         * po/vi.po:
500         * win32/common/config.h:
501         * win32/common/config.h.in:
502         * win32/vs6/gst_inspect.dsp:
503         * win32/vs6/gst_launch.dsp:
504         * win32/vs6/libgstbase.dsp:
505         * win32/vs6/libgstelements.dsp:
506         * win32/vs6/libgstreamer.dsp:
507         * win32/vs7/GStreamer.vcproj:
508         * win32/vs7/gst-inspect.vcproj:
509         * win32/vs7/gst-launch.vcproj:
510         * win32/vs7/libgstbase.vcproj:
511           bump GST_MAJORMINOR to 0.10
512           reset libtool version
513
514 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
515
516         * po/LINGUAS:
517         * po/bg.po:
518           Added Bulgarian translation by (Alexander Shopov)
519
520 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
521
522         * tests/check/gst/gstplugin.c:
523           fix test
524
525 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
526
527         * common/gst-xmlinspect.py:
528         * common/gtk-doc-plugins.mak:
529         * configure.ac:
530         * docs/Makefile.am:
531         * docs/gst/Makefile.am:
532         * docs/gst/gstreamer-docs.sgml:
533         * docs/gst/gstreamer-sections.txt:
534         * docs/gst/gstreamer.types:
535         * docs/gst/gstreamer.types.in:
536         * docs/plugins/Makefile.am:
537         * docs/plugins/gstreamer-plugins-docs.sgml:
538         * docs/plugins/gstreamer-plugins-sections.txt:
539         * docs/plugins/gstreamer-plugins.types:
540         * docs/plugins/inspect.stamp:
541         * docs/plugins/inspect/plugin-coreelements.xml:
542         * docs/plugins/inspect/plugin-coreindexers.xml:
543         * docs/plugins/scanobj-build.stamp:
544         * gstreamer.spec.in:
545         * plugins/elements/Makefile.am:
546         * plugins/elements/gstelements.c:
547         * plugins/elements/gstfakesink.c:
548         * plugins/elements/gstfakesrc.c:
549         * plugins/elements/gstfilesink.c:
550         * plugins/elements/gstfilesrc.c:
551         * plugins/elements/gstqueue.c:
552         * plugins/indexers/Makefile.am:
553         * plugins/indexers/gstindexers.c:
554           document core plugins in a separate document just like all the
555           others
556           rename these plugins to something starting with core
557
558 2005-12-01  Andy Wingo  <wingo@pobox.com>
559
560         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
561         padding here before, but it missed the commit.
562
563 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
564
565         * libs/gst/controller/gstinterpolation.c:
566           whitespace prices have crashed, we should feel free to use some now
567           use gst_guint64_to_gdouble
568
569 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
570
571         * libs/gst/controller/gstcontroller.c:
572         * libs/gst/controller/gsthelper.c:
573         * libs/gst/controller/gstinterpolation.c:
574         * libs/gst/controller/lib.c:
575           wrap config.h include
576
577 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
578
579         * docs/gst/gstreamer-sections.txt:
580           update docs
581
582 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
583
584         * plugins/elements/gstelements.c:
585         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
586         (gst_fd_sink__class_init), (gst_fd_sink__init),
587         (gst_fd_sink__chain), (gst_fd_sink__set_property),
588         (gst_fd_sink__get_property):
589         * plugins/elements/gstfdsink.h:
590         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
591         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
592         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
593         (gst_fd_src_unlock), (gst_fd_src_set_property),
594         (gst_fd_src_get_property), (gst_fd_src_create),
595         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
596         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
597         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
598         (gst_fd_src_uri_handler_init):
599         * plugins/elements/gstfdsrc.h:
600         * plugins/elements/gstqueue.c: (gst_queue_get_type):
601           more anal cleanup
602
603 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
604
605         * docs/gst/Makefile.am:
606         * docs/gst/gstreamer.types.in:
607         * gst/Makefile.am:
608           fix the docs build
609
610 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
611
612         * configure.ac:
613         * gst/Makefile.am:
614         * gst/gst.c:
615         * gst/gstplugin.h:
616         * gst/gstregistry.h:
617         * tests/benchmarks/complexity.c:
618         * tests/benchmarks/mass-elements.c:
619         * tests/check/Makefile.am:
620         * tools/Makefile.am:
621         * tools/gst-inspect.c:
622         * tools/gst-xmlinspect.c:
623           various fixes to make
624           --disable-nls --disable-registry --disable-loadsave
625           --disable-parse --disable-gst-debug
626           work and get the core .so down to 360444 bytes after stripping
627
628 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
629
630         * Makefile.am:
631         * configure.ac:
632           descend into tests
633         * docs/random/thomasvs/TODO:
634         * tests/Makefile.am:
635         * tests/README:
636           add a README
637
638 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
639
640         * win32/GStreamer.vcproj:
641         * win32/MANIFEST:
642         * win32/Makefile:
643         * win32/Makefile.inspect:
644         * win32/Makefile.launch:
645         * win32/Makefile.register:
646         * win32/README.txt:
647         * win32/gst-inspect.vcproj:
648         * win32/gst-launch.vcproj:
649         * win32/gst-register.vcproj:
650         * win32/gstelements.vcproj:
651         * win32/gstgetbits.def:
652         * win32/gstgetbits.vcproj:
653         * win32/gstreamer-dbg.def:
654         * win32/gstreamer.def:
655         * win32/libgstbase.def:
656         * win32/libgstbase.vcproj:
657         * win32/link_oldruntime.c:
658         * win32/mman.c:
659         * win32/mman.h:
660         * win32/mman.inl:
661         * win32/msvc71.sln:
662           move even more stuff, win32/ is nice and clean now
663
664 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
665
666         * libs/gst/control/.cvsignore:
667         * win32/MANIFEST:
668         * win32/config.h:
669         * win32/dirent.c:
670         * win32/dirent.h:
671         * win32/gstbytestream.def:
672         * win32/gstbytestream.vcproj:
673         * win32/gstconfig.h:
674         * win32/gstenumtypes.c:
675         * win32/gstenumtypes.h:
676         * win32/gstoptimalscheduler.vcproj:
677         * win32/gstversion.h:
678         * win32/gtchar.h:
679         * win32/testsuite/bins.vcproj:
680         * win32/testsuite/bytestream.vcproj:
681         * win32/testsuite/caps.vcproj:
682         * win32/testsuite/cleanup.vcproj:
683         * win32/testsuite/clock.vcproj:
684         * win32/testsuite/debug.vcproj:
685         * win32/testsuite/dlopen.vcproj:
686         * win32/testsuite/dynparams.vcproj:
687         * win32/testsuite/elements.vcproj:
688         * win32/testsuite/ghostpads.vcproj:
689         * win32/testsuite/indexers.vcproj:
690         * win32/testsuite/negotiation.vcproj:
691         * win32/testsuite/parse.vcproj:
692         * win32/testsuite/plugin.vcproj:
693         * win32/testsuite/refcounting.vcproj:
694         * win32/testsuite/schedulers.vcproj:
695         * win32/testsuite/states.vcproj:
696         * win32/testsuite/tags.vcproj:
697         * win32/testsuite/threads.vcproj:
698           remove old win32 stuff that isn't maintained and should be
699           reorganized
700
701 2005-11-30  Andy Wingo  <wingo@pobox.com>
702
703         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
704         loading the gst.interfaces python module bork.
705
706         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
707         available since GLib 2.2. Fixes #318031.
708
709 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
710
711         * Makefile.am:
712         * check/.cvsignore:
713         * check/Makefile.am:
714         * check/elements/.cvsignore:
715         * check/elements/fakesrc.c:
716         * check/elements/fdsrc.c:
717         * check/elements/identity.c:
718         * check/generic/.cvsignore:
719         * check/generic/states.c:
720         * check/gst-libs/.cvsignore:
721         * check/gst-libs/controller.c:
722         * check/gst-libs/gdp.c:
723         * check/gst/.cvsignore:
724         * check/gst/capslist.h:
725         * check/gst/gst.c:
726         * check/gst/gstbin.c:
727         * check/gst/gstbuffer.c:
728         * check/gst/gstbus.c:
729         * check/gst/gstcaps.c:
730         * check/gst/gstelement.c:
731         * check/gst/gstevent.c:
732         * check/gst/gstghostpad.c:
733         * check/gst/gstiterator.c:
734         * check/gst/gstmessage.c:
735         * check/gst/gstminiobject.c:
736         * check/gst/gstobject.c:
737         * check/gst/gstpad.c:
738         * check/gst/gstpipeline.c:
739         * check/gst/gstplugin.c:
740         * check/gst/gstsegment.c:
741         * check/gst/gststructure.c:
742         * check/gst/gstsystemclock.c:
743         * check/gst/gsttag.c:
744         * check/gst/gstutils.c:
745         * check/gst/gstvalue.c:
746         * check/net/.cvsignore:
747         * check/net/gstnetclientclock.c:
748         * check/net/gstnettimeprovider.c:
749         * check/pipelines/.cvsignore:
750         * check/pipelines/cleanup.c:
751         * check/pipelines/simple_launch_lines.c:
752         * check/pipelines/stress.c:
753         * check/states/.cvsignore:
754         * check/states/sinks.c:
755         * configure.ac:
756         * examples/Makefile.am:
757         * examples/appreader/.cvsignore:
758         * examples/appreader/Makefile.am:
759         * examples/appreader/appreader.c:
760         * examples/controller/.cvsignore:
761         * examples/controller/Makefile.am:
762         * examples/controller/audio-example.c:
763         * examples/cutter/.cvsignore:
764         * examples/cutter/Makefile.am:
765         * examples/cutter/cutter.c:
766         * examples/cutter/cutter.h:
767         * examples/events/Makefile.am:
768         * examples/events/seek.c:
769         * examples/helloworld/.cvsignore:
770         * examples/helloworld/Makefile.am:
771         * examples/helloworld/helloworld.c:
772         * examples/helloworld2/.cvsignore:
773         * examples/helloworld2/Makefile.am:
774         * examples/helloworld2/helloworld2.c:
775         * examples/launch/.cvsignore:
776         * examples/launch/Makefile.am:
777         * examples/launch/mp3parselaunch.c:
778         * examples/launch/mp3play:
779         * examples/manual/.cvsignore:
780         * examples/manual/Makefile.am:
781         * examples/manual/extract.pl:
782         * examples/metadata/Makefile.am:
783         * examples/metadata/read-metadata.c:
784         * examples/mixer/.cvsignore:
785         * examples/mixer/Makefile.am:
786         * examples/mixer/mixer.c:
787         * examples/mixer/mixer.h:
788         * examples/pingpong/.cvsignore:
789         * examples/pingpong/Makefile.am:
790         * examples/pingpong/pingpong.c:
791         * examples/plugins/.cvsignore:
792         * examples/plugins/Makefile.am:
793         * examples/plugins/example.c:
794         * examples/plugins/example.h:
795         * examples/pwg/.cvsignore:
796         * examples/pwg/Makefile.am:
797         * examples/pwg/extract.pl:
798         * examples/queue/.cvsignore:
799         * examples/queue/Makefile.am:
800         * examples/queue/queue.c:
801         * examples/queue2/.cvsignore:
802         * examples/queue2/Makefile.am:
803         * examples/queue2/queue2.c:
804         * examples/queue3/.cvsignore:
805         * examples/queue3/Makefile.am:
806         * examples/queue3/queue3.c:
807         * examples/queue4/.cvsignore:
808         * examples/queue4/Makefile.am:
809         * examples/queue4/queue4.c:
810         * examples/retag/.cvsignore:
811         * examples/retag/Makefile.am:
812         * examples/retag/retag.c:
813         * examples/retag/transcode.c:
814         * examples/thread/.cvsignore:
815         * examples/thread/Makefile.am:
816         * examples/thread/thread.c:
817         * examples/typefind/.cvsignore:
818         * examples/typefind/Makefile.am:
819         * examples/typefind/typefind.c:
820         * examples/xml/.cvsignore:
821         * examples/xml/Makefile.am:
822         * examples/xml/createxml.c:
823         * examples/xml/runxml.c:
824         * tests/Makefile.am:
825         * tests/check/Makefile.am:
826         * testsuite/.cvsignore:
827         * testsuite/Makefile.am:
828         * testsuite/Rules:
829         * testsuite/caps/.cvsignore:
830         * testsuite/caps/Makefile.am:
831         * testsuite/caps/app_fixate.c:
832         * testsuite/caps/audioscale.c:
833         * testsuite/caps/caps.c:
834         * testsuite/caps/caps.h:
835         * testsuite/caps/caps_strings:
836         * testsuite/caps/compatibility.c:
837         * testsuite/caps/deserialize.c:
838         * testsuite/caps/enumcaps.c:
839         * testsuite/caps/eratosthenes.c:
840         * testsuite/caps/filtercaps.c:
841         * testsuite/caps/fixed.c:
842         * testsuite/caps/fraction-convert.c:
843         * testsuite/caps/fraction-multiply-and-zero.c:
844         * testsuite/caps/intersect2.c:
845         * testsuite/caps/intersection.c:
846         * testsuite/caps/normalisation.c:
847         * testsuite/caps/random.c:
848         * testsuite/caps/renegotiate.c:
849         * testsuite/caps/sets.c:
850         * testsuite/caps/simplify.c:
851         * testsuite/caps/string-conversions.c:
852         * testsuite/caps/structure.c:
853         * testsuite/caps/subtract.c:
854         * testsuite/caps/union.c:
855         * testsuite/debug/.cvsignore:
856         * testsuite/debug/Makefile.am:
857         * testsuite/debug/category.c:
858         * testsuite/debug/commandline.c:
859         * testsuite/debug/global.c:
860         * testsuite/debug/output.c:
861         * testsuite/debug/printf_extension.c:
862         * testsuite/dlopen/.cvsignore:
863         * testsuite/dlopen/Makefile.am:
864         * testsuite/dlopen/dlopen_gst.c:
865         * testsuite/dlopen/loadgst.c:
866         * testsuite/elements/.cvsignore:
867         * testsuite/elements/Makefile.am:
868         * testsuite/elements/gst-inspect-check.in:
869         * testsuite/elements/struct_i386.h:
870         * testsuite/elements/struct_size.c:
871         * testsuite/indexers/.cvsignore:
872         * testsuite/indexers/Makefile.am:
873         * testsuite/indexers/cache1.c:
874         * testsuite/indexers/indexdump.c:
875         * testsuite/parse/.cvsignore:
876         * testsuite/parse/Makefile.am:
877         * testsuite/parse/parse1.c:
878         * testsuite/parse/parse2.c:
879         * testsuite/plugin/.cvsignore:
880         * testsuite/plugin/Makefile.am:
881         * testsuite/plugin/README:
882         * testsuite/plugin/dynamic.c:
883         * testsuite/plugin/linked.c:
884         * testsuite/plugin/loading.c:
885         * testsuite/plugin/registry.c:
886         * testsuite/plugin/static.c:
887         * testsuite/plugin/static2.c:
888         * testsuite/plugin/testplugin.c:
889         * testsuite/plugin/testplugin2.c:
890         * testsuite/plugin/testplugin2_s.c:
891         * testsuite/plugin/testplugin_s.c:
892         * testsuite/refcounting/.cvsignore:
893         * testsuite/refcounting/Makefile.am:
894         * testsuite/refcounting/bin.c:
895         * testsuite/refcounting/element.c:
896         * testsuite/refcounting/element_pad.c:
897         * testsuite/refcounting/mainloop.c:
898         * testsuite/refcounting/mem.c:
899         * testsuite/refcounting/mem.h:
900         * testsuite/refcounting/object.c:
901         * testsuite/refcounting/pad.c:
902         * testsuite/refcounting/sched.c:
903         * testsuite/refcounting/thread.c:
904         * testsuite/states/.cvsignore:
905         * testsuite/states/Makefile.am:
906         * testsuite/states/bin.c:
907         * testsuite/states/locked.c:
908         * testsuite/states/parent.c:
909         * testsuite/threads/.cvsignore:
910         * testsuite/threads/159566.c:
911         * testsuite/threads/159852.c:
912         * testsuite/threads/Makefile.am:
913         * testsuite/threads/queue.c:
914         * testsuite/threads/signals.c:
915         * testsuite/threads/staticrec.c:
916         * testsuite/threads/thread.c:
917         * testsuite/threads/threadb.c:
918         * testsuite/threads/threadc.c:
919         * testsuite/threads/threadd.c:
920         * testsuite/threads/threade.c:
921         * testsuite/threads/threadf.c:
922         * testsuite/threads/threadg.c:
923         * testsuite/threads/threadh.c:
924         * testsuite/threads/threadi.c:
925           move all of these under tests
926
927 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
928
929         * configure.ac:
930         * tests/Makefile.am:
931           fix distcheck
932
933 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
934
935         * docs/gst/gstreamer-sections.txt:
936         * tests/sched/.cvsignore:
937         * tests/sched/Makefile.am:
938         * tests/sched/cases/(fs-fs).xml:
939         * tests/sched/cases/(fs-i-fs).xml:
940         * tests/sched/cases/(fs-i-i-fs).xml:
941         * tests/sched/cases/(fs-i-q[i-fs]).xml:
942         * tests/sched/dynamic-pipeline.c:
943         * tests/sched/interrupt1.c:
944         * tests/sched/interrupt2.c:
945         * tests/sched/interrupt3.c:
946         * tests/sched/runtestcases:
947         * tests/sched/runxml.c:
948         * tests/sched/sched-stress.c:
949         * tests/sched/sort.c:
950         * tests/sched/testcases:
951         * tests/sched/testcases1.tc:
952         * tests/seeking/.cvsignore:
953         * tests/seeking/Makefile.am:
954         * tests/seeking/seeking1.c:
955         * tests/threadstate/.cvsignore:
956         * tests/threadstate/Makefile.am:
957         * tests/threadstate/test1.c:
958         * tests/threadstate/test2.c:
959         * tests/threadstate/threadstate1.c:
960         * tests/threadstate/threadstate2.c:
961         * tests/threadstate/threadstate3.c:
962         * tests/threadstate/threadstate4.c:
963         * tests/threadstate/threadstate5.c:
964           remove obsolete tests
965         * configure.ac:
966         * tests/bench-complexity.scm:
967         * tests/bench-mass_elements.scm:
968         * tests/complexity.c:
969         * tests/complexity.gnuplot:
970         * tests/instantiate/.cvsignore:
971         * tests/instantiate/Makefile.am:
972         * tests/instantiate/caps.c:
973         * tests/mass_elements.c:
974         * tests/network-clock-utils.scm:
975         * tests/network-clock.scm:
976         * tests/plot-data:
977         First pass at cleaning up tests/ dir before moving the rest
978         Combined with CVS surgery
979
980 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
981
982         * po/POTFILES.in:
983           queue has moved, update
984
985 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
986
987         * docs/gst/gstreamer-sections.txt:
988           remove double entries from the docs
989         * gst/gst_private.h:
990         * gst/gstinfo.c: (_gst_debug_init):
991           remove the THREAD debug category
992         * gst/Makefile.am:
993         * gst/gstqueue.c:
994         * gst/gstqueue.h:
995         * docs/gst/gstreamer.types:
996         * plugins/elements/gstqueue.c: (gst_queue_get_type),
997         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
998           completely move queue and fix up debugging categories
999
1000 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1001
1002         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1003           make initialization portable, using LL is not
1004
1005 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1006
1007         * win32/common/gstconfig.h:
1008           add large padding
1009
1010 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1011
1012         * win32/common/libgstreamer.def:
1013           rename symbols; sort base section
1014
1015 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1016
1017         * gst/gstclock.c: (do_linear_regression):
1018           remove crack non-portable handrolled DEBUG macro
1019
1020 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1021
1022         * docs/random/release:
1023           update notes
1024         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1025         (gst_object_flags_get_type), (register_gst_bin_flags),
1026         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1027         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1028         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1029         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1030         (gst_caps_flags_get_type), (register_gst_clock_return),
1031         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1032         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1033         (gst_clock_flags_get_type), (register_gst_state),
1034         (gst_state_get_type), (register_gst_state_change_return),
1035         (gst_state_change_return_get_type), (register_gst_state_change),
1036         (gst_state_change_get_type), (register_gst_element_flags),
1037         (gst_element_flags_get_type), (register_gst_core_error),
1038         (gst_core_error_get_type), (register_gst_library_error),
1039         (gst_library_error_get_type), (register_gst_resource_error),
1040         (gst_resource_error_get_type), (register_gst_stream_error),
1041         (gst_stream_error_get_type), (register_gst_event_type_flags),
1042         (gst_event_type_flags_get_type), (register_gst_event_type),
1043         (gst_event_type_get_type), (register_gst_seek_type),
1044         (gst_seek_type_get_type), (register_gst_seek_flags),
1045         (gst_seek_flags_get_type), (register_gst_format),
1046         (gst_format_get_type), (register_gst_index_certainty),
1047         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1048         (gst_index_entry_type_get_type),
1049         (register_gst_index_lookup_method),
1050         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1051         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1052         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1053         (gst_index_flags_get_type), (register_gst_debug_level),
1054         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1055         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1056         (gst_iterator_result_get_type), (register_gst_iterator_item),
1057         (gst_iterator_item_get_type), (register_gst_message_type),
1058         (gst_message_type_get_type), (register_gst_mini_object_flags),
1059         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1060         (gst_pad_link_return_get_type), (register_gst_flow_return),
1061         (gst_flow_return_get_type), (register_gst_activate_mode),
1062         (gst_activate_mode_get_type), (register_gst_pad_direction),
1063         (gst_pad_direction_get_type), (register_gst_pad_flags),
1064         (gst_pad_flags_get_type), (register_gst_pad_presence),
1065         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1066         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1067         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1068         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1069         (gst_plugin_flags_get_type), (register_gst_rank),
1070         (gst_rank_get_type), (register_gst_query_type),
1071         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1072         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1073         (gst_tag_flag_get_type), (register_gst_task_state),
1074         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1075         (gst_alloc_trace_flags_get_type),
1076         (register_gst_type_find_probability),
1077         (gst_type_find_probability_get_type), (register_gst_uri_type),
1078         (gst_uri_type_get_type), (register_gst_parse_error),
1079         (gst_parse_error_get_type):
1080         * win32/common/gstenumtypes.h:
1081         * win32/common/gstversion.h:
1082           update visual studio generated files
1083
1084 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1085
1086         * win32/vs6/libgstbase.dsp:
1087         * win32/vs6/libgstelements.dsp:
1088           update project files for new locations
1089
1090 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1091
1092         * Makefile.am:
1093           remove some files
1094         * README:
1095           reinstate and update
1096         * DEVEL:
1097         * REQUIREMENTS:
1098           removed
1099         * LICENSE:
1100         * docs/random/LICENSE:
1101           moved to random
1102
1103 2005-11-30  Edward Hervey  <edward@fluendo.com>
1104
1105         * gst/gsttypefind.c: (gst_type_find_register):
1106         * gst/gsttypefind.h:
1107         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1108         (gst_type_find_factory_dispose):
1109         * gst/gsttypefindfactory.h:
1110         Fix memory leak in GstTypeFindFactory.
1111
1112 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1113
1114         * gst/gst.c:
1115         * plugins/elements/Makefile.am:
1116         * plugins/elements/gstelements.c:
1117         * plugins/elements/gstqueue.c:
1118           move queue from core to the elements plugin
1119
1120 2005-11-29  Andy Wingo  <wingo@pobox.com>
1121
1122         * libs/gst/base/gstbasetransform.h: 
1123         * libs/gst/base/gstbasesrc.h: 
1124         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1125
1126         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1127         of pointers by which to pad very extensible base classes (like the
1128         ones in libs/gst/base).
1129
1130 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1131
1132         * docs/gst/gstreamer-docs.sgml:
1133         * docs/gst/gstreamer-sections.txt:
1134         * docs/libs/gstreamer-libs-docs.sgml:
1135         * docs/libs/gstreamer-libs-sections.txt:
1136           moving documentation from core to lib
1137
1138 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1139
1140         * check/Makefile.am:
1141         * configure.ac:
1142         * docs/gst/Makefile.am:
1143         * gst/Makefile.am:
1144         * gst/base/.cvsignore:
1145         * gst/base/Makefile.am:
1146         * gst/base/README:
1147         * gst/base/gstadapter.c:
1148         * gst/base/gstadapter.h:
1149         * gst/base/gstbasesink.c:
1150         * gst/base/gstbasesink.h:
1151         * gst/base/gstbasesrc.c:
1152         * gst/base/gstbasesrc.h:
1153         * gst/base/gstbasetransform.c:
1154         * gst/base/gstbasetransform.h:
1155         * gst/base/gstcollectpads.c:
1156         * gst/base/gstcollectpads.h:
1157         * gst/base/gstpushsrc.c:
1158         * gst/base/gstpushsrc.h:
1159         * gst/base/gsttypefindhelper.c:
1160         * gst/base/gsttypefindhelper.h:
1161         * gst/check/Makefile.am:
1162         * gst/check/gstcheck.c:
1163         * gst/check/gstcheck.h:
1164         * gst/net/Makefile.am:
1165         * gst/net/gstnet.h:
1166         * gst/net/gstnetclientclock.c:
1167         * gst/net/gstnetclientclock.h:
1168         * gst/net/gstnettimepacket.c:
1169         * gst/net/gstnettimepacket.h:
1170         * gst/net/gstnettimeprovider.c:
1171         * gst/net/gstnettimeprovider.h:
1172         * libs/gst/Makefile.am:
1173         * libs/gst/base/Makefile.am:
1174         * libs/gst/base/gstbasetransform.c:
1175         * libs/gst/check/Makefile.am:
1176         * plugins/elements/Makefile.am:
1177         * po/POTFILES.in:
1178           CVS surgery + support to move base, check, and net out of gst
1179           and into libs/gst
1180
1181 2005-11-29  Andy Wingo  <wingo@pobox.com>
1182
1183         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1184
1185         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1186         padding.
1187
1188         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1189
1190         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1191
1192         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1193
1194         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1195         padding; reduces object size by about 30%. We don't expect
1196         anything else to go into gstobject.
1197
1198         * gst/gstminiobject.h (struct _GstMiniObject)
1199         (struct _GstMiniObjectClass): Only one pointer of padding; the
1200         payload is only a pointer and two ints anyway. For the class there
1201         are only two methods as well.
1202         
1203         * gst/gstelement.h (struct _GstElementClass): Removed
1204         the state_changed signal callback, it is not used.
1205
1206 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1207
1208         * docs/gst/gstreamer.types:
1209           fix includes, though they are a little dinky
1210
1211 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1212
1213         * check/Makefile.am:
1214           look in the right place for elements, a lot more chance of
1215           success
1216         * gst/Makefile.am:
1217           remove indexers and elements subdirs
1218         * plugins/Makefile.am:
1219           make indexers conditional
1220
1221 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1222
1223         * Makefile.am:
1224         * configure.ac:
1225         * plugins/elements/Makefile.am:
1226         * plugins/elements/gstcapsfilter.c:
1227         * plugins/elements/gstfilesink.c:
1228         * plugins/elements/gstfilesrc.c:
1229         * plugins/elements/gstidentity.c:
1230         * plugins/indexers/Makefile.am:
1231           do CVS surgery and related build fixery to move elements
1232           and indexers in a new gstreamer/plugins directory, out of the
1233           gst/ directory
1234
1235 2005-11-29  Andy Wingo  <wingo@pobox.com>
1236
1237         * check/Makefile.am:
1238         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1239         * pkgconfig/gstreamer-net.pc.in:
1240         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1241         #322257.
1242
1243 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1244
1245         * tools/Makefile.am:
1246         * tools/gst-complete.1.in:
1247         * tools/gst-complete.c:
1248         * tools/gst-compprep.1.in:
1249         * tools/gst-compprep.c:
1250           removing -compprep and -complete
1251
1252 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1253
1254         * gst/gstevent.c: (gst_event_new_new_segment),
1255         (gst_event_parse_new_segment):
1256         * gst/gstevent.h:
1257           fix #320529 - clean up new_segment API and structure.
1258           Let's hope everyone was using the methods, and not the structure.
1259
1260 2005-11-29  Edward Hervey  <edward@fluendo.com>
1261
1262         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1263         (gst_base_sink_event), (gst_base_sink_do_sync),
1264         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1265         Properly handle non GST_FORMAT_TIME segment
1266         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1267         Properly handle non GST_FORMAT_TIME segment
1268         * gst/gstsegment.c:
1269         This function is valid if the accumulator is 0 and the format
1270         is different from the requested format.
1271         
1272 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1273
1274         * docs/gst/gstreamer-sections.txt:
1275         Add gst_query_new_seeking and gst_query_parse_seeking to the
1276         docs.
1277
1278 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1279
1280         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1281           Treat a pad alloc with new caps the same as if we were not
1282           negotiated, in order to allow a changing upstream output
1283           to produce a new format of data.
1284
1285 2005-11-29  Edward Hervey  <edward@fluendo.com>
1286
1287         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1288         (gst_base_transform_event), (gst_base_transform_eventfunc):
1289         The event virtual method is now properly implemented, with a default
1290         handler
1291         Sub classes should call the parent_class event method. They should
1292         return FALSE if they had a problem handling the given event, or don't
1293         want GstBaseTransform to send that even downstream
1294         * gst/elements/gstidentity.c: (gst_identity_class_init),
1295         (gst_identity_init), (gst_identity_event),
1296         (gst_identity_transform_ip), (gst_identity_set_property),
1297         (gst_identity_get_property):
1298         * gst/elements/gstidentity.h:
1299         Added the single-segment boolean property.
1300         If set to TRUE, it will output a single segment of data, starting from
1301         0, will eat up all incoming newsegment, and modify the timestamp of the
1302         buffers accordingly
1303
1304 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1305
1306         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1307           Don't ref NULL target pad (#322751). Improve docs.
1308
1309 2005-11-29  Michael Smith  <msmith@fluendo.com>
1310
1311         * gst/gstregistryxml.c: (load_plugin):
1312           Don't crash if we failed to load a feature from a plugin. 
1313
1314 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1315
1316         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1317         (GST_START_TEST):
1318           use more check API and less GLib API
1319
1320 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1321
1322         * Makefile.am:
1323           don't run checks if we don't have check
1324         * common/check.mak:
1325           remove the registry when running make torture
1326         * docs/gst/gstreamer-sections.txt:
1327           remove second multiply
1328         * gst/gstqueue.c: (gst_queue_loop):
1329           fix a compile warning when disabling debug
1330
1331 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1332
1333         * gst/gstinfo.h:
1334         Hey! Let's print the pad name if the pointer != NULL instead
1335         of when it == NULL :-)
1336
1337 2005-11-28  Wim Taymans  <wim@fluendo.com>
1338
1339         * check/gst/gstutils.c: (GST_START_TEST):
1340         Updated check, add some scaling accuracy checking code.
1341
1342         * gst/gstutils.c: (gst_util_div128_64),
1343         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1344         (gst_util_uint64_scale_int):
1345         Fix 6 times faster division code. Optimize for common 
1346         1/1 and less common X/1 cases.
1347
1348 2005-11-28  Wim Taymans  <wim@fluendo.com>
1349
1350         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1351         More checks.
1352
1353         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1354         (do_linear_regression), (gst_clock_add_observation):
1355         Cleanups.
1356         Release lock when the clock cannot be slaved.
1357         Catch the case where the regression returned an invalid denominator.
1358
1359         * gst/gstutils.c: (gst_util_div128_64_iterate),
1360         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1361         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1362         Add protentially more performant non-iterative 128/64 divide function
1363         that unfortunatly does not work yet.
1364         Shortcut the trivial 0/X = 0 case.
1365         Remove the warnings on overflow.
1366
1367 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1368
1369         * gst/gstplugin.c: (gst_plugin_register_func):
1370           everything causing a plugin not to load should be at least a WARNING
1371
1372 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1373
1374         * docs/random/ensonic/dparams.txt:
1375           some TODOs for the next dev cycle
1376         * libs/gst/controller/gstcontroller.c:
1377         (gst_controlled_property_set_interpolation_mode),
1378         (gst_controlled_property_new):
1379         * libs/gst/controller/gstcontroller.h:
1380           use base type to assign acccessor functions
1381
1382 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1383
1384         * check/Makefile.am:
1385         Oops, that should have been top_srcdir
1386
1387 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1388
1389         * check/Makefile.am:
1390         * check/elements/fdsrc.c: (GST_START_TEST):
1391         Use a cmdline define to specify the location of a file to use for
1392         testing, to avoid breaking distcheck.
1393
1394 2005-11-28  Andy Wingo  <wingo@pobox.com>
1395
1396         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1397
1398 2005-11-28  Edward Hervey  <edward@fluendo.com>
1399
1400         * tools/gst-launch.c: (main):
1401         Clarify the output strings, makes it easier to translate.
1402         Fixes #322626
1403
1404 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1405
1406         * gst/Makefile.am:
1407           don't try and build net if we don't even have <sys/socket.h>
1408
1409 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1410
1411         * check/Makefile.am:
1412         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1413         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1414           Add tests for fdsrc seekability
1415
1416         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1417         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1418         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1419         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1420         * gst/elements/gstfdsrc.h:
1421           fdsrc should not be a 'live' source.
1422           Implement seeking on seekable fd's.
1423
1424         * gst/gstquery.c: (gst_query_new_seeking),
1425         (gst_query_parse_seeking):
1426         * gst/gstquery.h:
1427           Implement SEEKING query functions: 
1428             *_new_seeking and *_parse_seeking
1429
1430 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1431
1432         * gst/gstelement.c: (gst_element_dispose):
1433           don't loop forever
1434
1435         * gst/gstiterator.c:
1436         * gst/gststructure.c:
1437           doc fixes
1438
1439         * libs/gst/controller/gstcontroller.c:
1440         (gst_controlled_property_set_interpolation_mode):
1441         * libs/gst/controller/gstcontroller.h:
1442         * libs/gst/controller/gstinterpolation.c:
1443         (interpolate_none_get_enum_value_array):
1444           support controlling enums
1445
1446 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1447
1448         * gst/gstvalue.c:
1449           Improve documentation for gst_value_union().
1450
1451         * gst/gstvalue.h:
1452           Change return value for union, intersect and subtract functions
1453           from gint to gboolean.
1454
1455 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1456
1457         * gst/gstvalue.c: (gst_value_serialize_any_list),
1458         (gst_value_transform_any_list_string),
1459         (gst_value_deserialize_list), (gst_value_deserialize_array),
1460         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1461         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1462         (gst_value_set_fraction_range_full),
1463         (gst_value_deserialize_fraction_range),
1464         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1465         (gst_value_deserialize_boolean),
1466         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1467         (gst_value_serialize_float), (gst_value_deserialize_float),
1468         (gst_string_wrap), (gst_value_deserialize_string),
1469         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1470         (gst_value_union_int_range_int_range),
1471         (gst_value_intersect_int_range_int_range),
1472         (gst_value_intersect_double_range_double_range),
1473         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1474         (gst_value_subtract_int_range_int_range),
1475         (gst_value_subtract_double_double_range),
1476         (gst_value_subtract_double_range_double_range),
1477         (gst_value_deserialize_fraction):
1478         * gst/gstvalue.h:
1479           Use gint, gdouble and gchar in our API instead of int, double and
1480           char (and make usage in gstvalue.c more consistent).
1481
1482 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1483
1484         * check/Makefile.am:
1485         * libs/gst/controller/Makefile.am:
1486         * libs/gst/dataprotocol/Makefile.am:
1487           fix up Makefile.am and remove GST_ENABLE_NEW
1488
1489 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1490
1491         * configure.ac:
1492         * gst/Makefile.am:
1493         * gst/base/Makefile.am:
1494         * gst/check/Makefile.am:
1495         * gst/elements/Makefile.am:
1496         * gst/net/Makefile.am:
1497           update LDFLAGS use some more
1498
1499 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1500
1501         * common/m4/gst-doc.m4:
1502           Fixes #312589
1503
1504 2005-11-26  Edward Hervey  <edward@fluendo.com>
1505
1506         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1507         This shouldn't issue a g_warning since it returns NULL if it
1508         couldn't find the plugin, and all functions using this behave
1509         properly on a NULL return. Switching to a GST_WARNING.
1510
1511 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1512
1513         * gst/gstbin.c: (gst_bin_handle_message_func):
1514         Don't leak clock messages.
1515
1516 2005-11-25  Wim Taymans  <wim@fluendo.com>
1517
1518         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1519         (gst_util_uint64_scale_int):
1520         Optimisations, remove unneeded vars.
1521
1522 2005-11-25  Wim Taymans  <wim@fluendo.com>
1523
1524         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1525         Added more checks for the high precision uint64 cases.
1526
1527         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1528         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1529         Implement high precision (guint64 * guint64) / guint64.
1530
1531 2005-11-24  Wim Taymans  <wim@fluendo.com>
1532
1533         * gst/base/gstbasesrc.c: (gst_base_src_query):
1534         Fix wrong percentage query.
1535
1536         * gst/gstutils.c: (gst_util_uint64_scale),
1537         (gst_util_uint64_scale_int):
1538         Add some more common cases that can be handled 
1539         efficiently to _scale.
1540
1541 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1542
1543         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1544         (gst_mini_object_suite):
1545           don't use check calls from threads; check probably isn't
1546           threadsafe and using a lock to make it threadsafe would
1547           defeat the purpose of this check
1548         * gst/check/gstcheck.c:
1549         * gst/check/gstcheck.h:
1550           use GST_DEBUG some more
1551
1552 2005-11-24  Wim Taymans  <wim@fluendo.com>
1553
1554         * gst/gstutils.c: (gst_util_uint64_scale),
1555         (gst_util_uint64_scale_int):
1556         Chain trivial case to _scale_int.
1557
1558 2005-11-24  Wim Taymans  <wim@fluendo.com>
1559
1560         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1561         Added test for scaling.
1562
1563         * gst/gstclock.h:
1564         Small doc fix.
1565
1566         * gst/gstutils.c: (gst_util_uint64_scale_int):
1567         Implemented high precision scaling code.
1568
1569 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1570
1571         * gst/gstinfo.h:
1572           do not crash on pad==NULL
1573
1574 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1575
1576         Patch by: Stefan Kost
1577
1578         * common/gtk-doc.mak:
1579         * docs/gst/Makefile.am:
1580         * docs/libs/Makefile.am:
1581           Fix distcheck issues for the libraries docs build
1582           Closes #319599.
1583
1584 2005-11-24  Michael Smith <msmith@fluendo.com>
1585
1586         * docs/manual/basics-helloworld.xml:
1587           Fix bug #315027: memory leak in example code in docs.
1588
1589 2005-11-24  Michael Smith <msmith@fluendo.com>
1590
1591         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1592           Unlock the PREROLL_LOCK in a failure case.
1593
1594 2005-11-24  Wim Taymans  <wim@fluendo.com>
1595
1596         * docs/gst/gstreamer-sections.txt:
1597         * gst/base/gstadapter.h:
1598         * gst/base/gstbasesink.h:
1599         * gst/base/gstbasesrc.h:
1600         * gst/base/gstbasetransform.h:
1601         * gst/base/gstpushsrc.h:
1602         * gst/elements/gstfakesink.h:
1603         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1604         * gst/elements/gstfakesrc.h:
1605         * gst/elements/gstfilesink.h:
1606         * gst/elements/gstfilesrc.h:
1607         * gst/gst.c:
1608         * gst/gstbin.c:
1609         * gst/gstbuffer.c: (_gst_buffer_copy):
1610         * gst/gstbus.h:
1611         * gst/gstcaps.c:
1612         * gst/gstchildproxy.c:
1613         * gst/gstclock.c:
1614         * gst/gstelement.c:
1615         * gst/gstelementfactory.c:
1616         * gst/gstelementfactory.h:
1617         * gst/gstevent.c:
1618         * gst/gstghostpad.h:
1619         * gst/gstindex.h:
1620         * gst/gstinterface.h:
1621         * gst/gstminiobject.c:
1622         * gst/gstminiobject.h:
1623         * gst/gstpad.c:
1624         * gst/gstpad.h:
1625         * gst/gstpadtemplate.h:
1626         * gst/gstpipeline.h:
1627         * gst/gstpluginfeature.h:
1628         * gst/gstquery.h:
1629         * gst/gstqueue.h:
1630         * gst/gsttaglist.c:
1631         * gst/gsttaglist.h:
1632         * gst/gsttagsetter.c:
1633         * gst/gsttagsetter.h:
1634         * gst/gsttrace.c:
1635         * gst/gsttrace.h:
1636         * gst/gsttypefind.h:
1637         * gst/gsturi.h:
1638         * gst/gstvalue.c:
1639         * gst/net/gstnetclientclock.c:
1640         * gst/net/gstnetclientclock.h:
1641         * gst/net/gstnettimepacket.c:
1642         * gst/net/gstnettimeprovider.c:
1643         * gst/net/gstnettimeprovider.h:
1644         Doc fixes.
1645
1646 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1647
1648         * configure.ac: back to HEAD
1649
1650 === release 0.9.6 ===
1651
1652 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1653
1654         * configure.ac:
1655           releasing 0.9.6, "Always On Time"
1656
1657 2005-11-23  Wim Taymans  <wim@fluendo.com>
1658
1659         * docs/gst/gstreamer-sections.txt:
1660         * gst/glib-compat.c:
1661         * gst/gsttagsetter.c:
1662         * gst/gstvalue.c:
1663         * gst/net/gstnetclientclock.c:
1664         * gst/net/gstnettimepacket.h:
1665         Doc updates.
1666
1667 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1668
1669         * docs/faq/using.xml:
1670         * docs/libs/tmpl/gstcontrol.sgml:
1671         * docs/manual/advanced-dparams.xml:
1672         * docs/manual/appendix-checklist.xml:
1673         * docs/manual/basics-elements.xml:
1674         * docs/pwg/other-source.xml:
1675         * docs/random/moving-plugins:
1676         * gst/gstpad.c:
1677         * tools/gst-launch.1.in:
1678           remove mentions of sinesrc
1679
1680 2005-11-23  Michael Smith <msmith@fluendo.com>
1681
1682         * docs/gst/gstreamer-sections.txt:
1683           Update for new API and API changes.
1684         * gst/gstobject.h:
1685           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1686         * gst/gstvalue.c:
1687           Documentation typo fix.
1688         * gst/net/gstnettimepacket.c:
1689           Documentation fixes for arguments.
1690
1691 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1692
1693         * gst/gststructure.c: (gst_structure_get_fraction),
1694         (gst_structure_parse_value),
1695         (gst_structure_fixate_field_nearest_fraction):
1696         * gst/gststructure.h:
1697         * gst/gstutils.c: (gst_util_uint64_scale_int):
1698         * gst/gstutils.h:
1699         * scripts/update-funcnames:
1700         API Changes. 
1701         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1702         Make gst_structure_fixate_field_nearest_fraction take a numerator
1703         and denominator argument instead of a GValue
1704         add gst_structure_get_fraction helper function.
1705
1706 2005-11-23  Wim Taymans  <wim@fluendo.com>
1707
1708         * docs/design/part-TODO.txt:
1709         Update TODO.
1710
1711         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1712         * gst/net/gstnetclientclock.h:
1713         Use parent fields for timeout and window_size.
1714
1715 2005-11-23  Andy Wingo  <wingo@pobox.com>
1716
1717         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1718         rate_num/rate_denom change.
1719
1720         * gst/net/gstnetclientclock.c
1721         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1722         OBJECT_LOCK. Don't call add_observation with the lock.
1723
1724         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1725         fraction.
1726         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1727         rate fraction.
1728         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1729         deal with rate as a fraction whose numerator and denominator are
1730         GstClockTime values.
1731         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1732         master; the other fields are protected by the SLAVE_LOCK.
1733         (do_linear_regression): Note that this must be called with the
1734         SLAVE_LOCK.
1735         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1736         OBJECT_LOCK. Call set_calibration instead of touching the
1737         variables directly.
1738         (gst_clock_set_property, gst_clock_get_property): Protect
1739         master/slave parameters with the SLAVE_LOCK.
1740
1741         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1742         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1743         note that all of the instance variables that add_observation and
1744         the set_master functions use are protected by that lock and not
1745         the OBJECT_LOCK.
1746         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1747
1748         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1749         the caller to take the object lock.
1750
1751 2005-11-23  Wim Taymans  <wim@fluendo.com>
1752
1753         * gst/gsterror.c: (_gst_core_errors_init):
1754         * gst/gsterror.h:
1755         Add error for clock stuff.
1756
1757         * gst/gstpipeline.c: (gst_pipeline_change_state),
1758         (gst_pipeline_set_clock):
1759         Post clock error when clock cannot be used in a pipeline.
1760
1761 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1762
1763         * docs/gst/gstreamer-sections.txt:
1764           make two symbols from gstinfo private for the docs
1765         * gst/base/gstcollectpads.h:
1766         * gst/gstutils.c:
1767           fix doc typos, update docs
1768
1769 2005-11-22  Wim Taymans  <wim@fluendo.com>
1770
1771         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1772         (gst_base_sink_wait), (gst_base_sink_do_sync),
1773         (gst_base_sink_handle_event):
1774         * gst/base/gstbasesink.h:
1775         No need to store the clock, the parent element class already
1776         has it.
1777
1778         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1779         Updates for clock_set returning a gboolean
1780
1781         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1782         (gst_clock_id_wait_async), (gst_clock_class_init),
1783         (gst_clock_init), (gst_clock_finalize),
1784         (gst_clock_get_internal_time), (gst_clock_get_time),
1785         (gst_clock_slave_callback), (gst_clock_set_master),
1786         (gst_clock_get_master), (do_linear_regression),
1787         (gst_clock_add_observation), (gst_clock_set_property),
1788         (gst_clock_get_property):
1789         * gst/gstclock.h:
1790         Implement master/slave. When setting a clock as a slave, a
1791         periodic timeout is scheduled to sample master and slave times.
1792         Then the slave clock is recalibrated to match offset and rate
1793         of the master clock.
1794         Update logging a bit.
1795         Add flag so that a clock can state that is cannot be slaved to
1796         another clock.
1797
1798         * gst/gstelement.c: (gst_element_set_clock):
1799         * gst/gstelement.h:
1800         The set clock returns a gboolean for when an element cannot
1801         deal with the selected clock in the pipeline. 
1802
1803         * gst/gstpipeline.c: (gst_pipeline_change_state),
1804         (gst_pipeline_set_clock):
1805         * gst/gstpipeline.h:
1806         Handle the case where the selected clock cannot be set on
1807         the pipeline.
1808
1809         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1810         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1811         (gst_net_client_clock_set_property),
1812         (gst_net_client_clock_get_property),
1813         (gst_net_client_clock_observe_times):
1814         * gst/net/gstnetclientclock.h:
1815         Use regression code in GstClock parent, remove duplicated
1816         functionality.
1817
1818 2005-11-22  Michael Smith <msmith@fluendo.com>
1819
1820         * gst/gstutils.c: (gst_util_clock_time_scale):
1821         * gst/gstutils.h:
1822         * docs/gst/gstreamer-sections.txt:
1823           Rename method to have extra underscore.
1824
1825 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1826
1827         * gst/elements/Makefile.am:
1828         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1829         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1830         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1831         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1832         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1833         * gst/elements/gstfakesrc.h:
1834         * gst/gstqueue.c: (queue_leaky_get_type):
1835           correctly fix GEnumValues so that nick is the short lowercase
1836           dashed tag
1837         * tools/gst-inspect.c: (print_element_properties_info):
1838           also show the nick, since it's useful to use from parse_launch
1839           syntax
1840           Fixes #322139
1841
1842 2005-11-22  Michael Smith <msmith@fluendo.com>
1843
1844         * gst/gstutils.c: (gst_util_clocktime_scale):
1845         * gst/gstutils.h:
1846         * docs/gst/gstreamer-sections.txt:
1847           Add util method for scaling a clocktime by a fraction. Useful 
1848           implementation is left as an exercise for the reader.
1849
1850 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1851
1852         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1853         If needed, allocate storage in the destination value during
1854         collection.
1855
1856 2005-11-22  Edward Hervey  <edward@fluendo.com>
1857
1858         * docs/gst/gstreamer-sections.txt:
1859         * gst/Makefile.am:
1860         * gst/gst.h:
1861         * gst/gsturitype.c:
1862         * gst/gsturitype.h:
1863         * gst/gstutils.c: (gst_util_set_object_arg):
1864         * tools/gst-compprep.c: (main):
1865         * tools/gst-inspect.c: (print_element_properties_info):
1866         Removed GstURI, closes bug #321061
1867
1868 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1869
1870         * check/gst/gststructure.c: (GST_START_TEST):
1871         * gst/gststructure.c: (gst_structure_parse_value):
1872           Oops, broke automatic string type parsing.
1873           Add a test to catch it in future.
1874
1875 2005-11-22  Andy Wingo  <wingo@pobox.com>
1876
1877         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1878         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1879         Actually rename the function implementations. Grr.
1880
1881 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1882
1883         * check/gst/capslist.h:
1884           Comment test cases
1885         * check/gst/gststructure.c: (GST_START_TEST),
1886         (gst_structure_suite):
1887           Test automatic value type detection in gst_structure_from_string.
1888         * gst/gststructure.c: (gst_structure_parse_value):
1889           Add fraction as a type we try and guess automatically in
1890           caps/structure strings.
1891
1892 2005-11-22  Andy Wingo  <wingo@pobox.com>
1893
1894         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1895
1896         * gst/gsttagsetter.h:
1897         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1898         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1899         (gst_tag_setter_add_tag_valist)
1900         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1901         _add_values, _add_valist, and _add_valist_values. Since this is an
1902         interface the function suffixes should be more explicit so
1903         language binding don't end up with element.add_valist ->
1904         gst_tag_setter_add_valist, for example. Fixes #322069.
1905
1906 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1907
1908         * check/gst/gstcaps.c: (GST_START_TEST):
1909           Extend caps string tests to check that a caps to string
1910           conversion is reversible and produces the same caps.
1911
1912         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1913           Output "fraction" as the generic type fraction range, so caps
1914           serialisation and deserialisation works.
1915         * check/gst/capslist.h:
1916         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1917           Support 'MIN' and 'MAX' for deserialising fractions.
1918
1919 2005-11-22  Andy Wingo  <wingo@pobox.com>
1920
1921         * gst/gstevent.h (gst_event_new_new_segment)
1922         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1923         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1924         Renamed from *_newsegment, *_buffersize, *_notarget.
1925
1926         * scripts/update-funcnames: New script, performs the changes
1927         listed above.
1928
1929 2005-11-22  Wim Taymans  <wim@fluendo.com>
1930
1931         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1932         Make sure the GstFlowReturn is returned.
1933
1934         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1935         (gst_bus_add_signal_watch):
1936         * gst/gstbus.h:
1937         add gst_bus_add_signal_watch_full.
1938
1939         * gst/gstplugin.c: (gst_plugin_load_file):
1940         Small style cleanup.
1941
1942 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1943
1944         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1945           Block the fakesrc srcpad when we send an event, to avoid
1946           contention on the stream_lock causing random test failures.
1947
1948 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1949
1950         * check/gst/gstvalue.c: (GST_START_TEST):
1951         * gst/gstvalue.c: (gst_value_fraction_subtract):
1952           Fix subtraction.
1953
1954 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1955
1956         * gst/gst.h:
1957           include "gstchildproxy.h"
1958         * gst/gstchildproxy.h:
1959         * libs/gst/controller/gstcontroller.h:
1960           use G_GNUC_NULL_TERMINATED
1961
1962 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1963
1964         * check/gst/capslist.h:
1965         * check/gst/gstcaps.c: (GST_START_TEST):
1966         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1967         * gst/gststructure.c: (gst_structure_parse_range),
1968         (gst_structure_fixate_field_nearest_fraction):
1969         * gst/gststructure.h:
1970         * gst/gstvalue.c: (gst_value_init_fraction_range),
1971         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1972         (gst_value_collect_fraction_range),
1973         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1974         (gst_value_set_fraction_range_full),
1975         (gst_value_get_fraction_range_min),
1976         (gst_value_get_fraction_range_max),
1977         (gst_value_serialize_fraction_range),
1978         (gst_value_transform_fraction_range_string),
1979         (gst_value_compare_fraction_range),
1980         (gst_value_deserialize_fraction_range),
1981         (gst_value_intersect_fraction_fraction_range),
1982         (gst_value_intersect_fraction_range_fraction_range),
1983         (gst_value_subtract_fraction_fraction_range),
1984         (gst_value_subtract_fraction_range_fraction),
1985         (gst_value_subtract_fraction_range_fraction_range),
1986         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1987         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1988         (gst_value_transform_string_fraction), (_gst_value_initialize):
1989         * gst/gstvalue.h:
1990           Implement fraction ranges and extend GstFraction to support
1991           arithmetic subtraction, as well as deserialization from integer
1992           strings such as "100"
1993           Add a testsuite as for int and double range set operations
1994
1995 2005-11-21  Andy Wingo  <wingo@pobox.com>
1996
1997         * gst/gsttaglist.h: 
1998         * gst/gstcaps.h: 
1999         * gst/gststructure.h: Add glib-compat.h.
2000
2001 2005-11-21  Wim Taymans  <wim@fluendo.com>
2002
2003         * gst/gstbin.c: (gst_bin_change_state_func):
2004         Fix for #321595
2005
2006 2005-11-21  Wim Taymans  <wim@fluendo.com>
2007
2008         * gst/gstsegment.h:
2009         And add a nice define too.
2010
2011 2005-11-21  Wim Taymans  <wim@fluendo.com>
2012
2013         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2014         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2015         (gst_segment_set_duration), (gst_segment_set_last_stop),
2016         (gst_segment_set_seek), (gst_segment_set_newsegment),
2017         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2018         (gst_segment_clip):
2019         * gst/gstsegment.h:
2020         Make binding friendly.
2021
2022 2005-11-21  Andy Wingo  <wingo@pobox.com>
2023
2024         * gst/gsttagsetter.h: 
2025         * gst/gsttaglist.h: 
2026         * gst/gststructure.h: 
2027         * gst/gstcaps.h: 
2028         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2029         #319940.
2030
2031         * gst/gsterror.c (_gst_core_errors_init):
2032         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2033         category.
2034
2035         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2036         (noinst_HEADERS): noinst the -private.
2037
2038 2005-11-21  Michael Smith <msmith@fluendo.com>
2039
2040         * gst/gstplugin.h:
2041         * gst/gstregistry.h:
2042           Remove unimplemented declarations for which we can see no sensible
2043           use.
2044
2045 2005-11-21  Andy Wingo  <wingo@pobox.com>
2046
2047         * gst/gst.h: Include glib-compat.h.
2048
2049         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2050
2051         * gst/glib-compat.c: Include the public and the private header.
2052
2053         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2054
2055         * gst/gstvalue.c: 
2056         * gst/gstpad.c: 
2057         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2058
2059         * check/gst/gstevent.c (create_custom_events): Check that
2060         FLUSH_STOP is serialized.
2061
2062         * check/elements/identity.c (event_func): 
2063         * check/elements/fakesrc.c (event_func): No stream lock, the core
2064         takes it.
2065
2066         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2067         stream lock taking, yay.
2068
2069         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2070         ensure that core takes the stream lock.
2071
2072         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2073         lock name change.
2074
2075         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2076         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2077         it already. For the flush start we do take it though so we get the
2078         right preroll state change messages.
2079
2080         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2081         the stream lock here, the core does it for us.
2082
2083         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2084         GST_STREAM_GET_LOCK.
2085         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2086         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2087         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2088         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2089         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2090         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2091
2092         * gst/gstpad.c: Update for stream lock name change.
2093
2094         * gst/base/gstbasesink.c: Update for preroll lock name change.
2095
2096 2005-11-21  Wim Taymans  <wim@fluendo.com>
2097
2098         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2099         (gst_clock_get_master):
2100         * gst/gstclock.h:
2101         * gst/gstsystemclock.c: (gst_system_clock_init):
2102         Convert Clock flags to object flags.
2103         Added methods to manage master/slave clocks.
2104
2105 2005-11-21  Wim Taymans  <wim@fluendo.com>
2106
2107         * check/gst/gstsegment.c: (GST_START_TEST):
2108         * docs/design/part-TODO.txt:
2109         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2110         (gst_base_sink_event), (gst_base_sink_do_sync),
2111         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2112         (gst_base_sink_query), (gst_base_sink_change_state):
2113         * gst/base/gstbasesink.h:
2114         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2115         (gst_base_src_default_newsegment),
2116         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2117         (gst_base_src_get_range), (gst_base_src_loop),
2118         (gst_base_src_change_state):
2119         * gst/base/gstbasesrc.h:
2120         * gst/base/gstbasetransform.c:
2121         (gst_base_transform_prepare_output_buf),
2122         (gst_base_transform_event), (gst_base_transform_change_state):
2123         * gst/base/gstbasetransform.h:
2124         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2125         (gst_collect_pads_event):
2126         * gst/base/gstcollectpads.h:
2127         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2128         (gst_fake_src_create):
2129         * gst/elements/gstfakesrc.h:
2130         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2131         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2132         (gst_segment_set_last_stop), (gst_segment_set_seek),
2133         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2134         (gst_segment_to_running_time), (gst_segment_clip):
2135         * gst/gstsegment.h:
2136         More segment updates, replace code in plugins with segment
2137         helper functions.
2138
2139 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2140
2141         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2142         Don't ignore sscanf results
2143
2144 2005-11-21  Andy Wingo  <wingo@pobox.com>
2145
2146         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2147
2148         * *.h:
2149         * *.c: Ran scripts/update-macros. Oh yes.
2150
2151         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2152         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2153         GST_GET_LOCK, etc.
2154
2155         * scripts/update-macros: New script. Run it on your files to
2156         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2157         well.
2158
2159 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2160
2161         * docs/gst/Makefile.am:
2162         * docs/gst/gstreamer-docs.sgml:
2163         * docs/gst/gstreamer-sections.txt:
2164         * docs/gst/gstreamer.types:
2165         * gst/gstinfo.h:
2166           more docs fixes, add new api to the docs
2167
2168 2005-11-21  Andy Wingo  <wingo@pobox.com>
2169
2170         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2171         state_broadcast call.
2172
2173         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2174
2175 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2176
2177         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2178         function calls for arrays.
2179
2180 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2181
2182         * docs/random/ensonic/media-device-daemon.txt:
2183           wild idea, can this be done?
2184         * docs/gst/gstreamer-sections.txt:
2185         * gst/gsterror.h:
2186         * gst/gstfilter.c:
2187         * gst/gstfilter.h:
2188         * gst/gstplugin.h:
2189         * gst/gstpluginfeature.c:
2190         * gst/gsttrace.c:
2191         * gst/gstvalue.c:
2192         * gst/gstvalue.h:
2193           doc fixes and additions
2194
2195 2005-11-21  Andy Wingo  <wingo@pobox.com>
2196
2197         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2198         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2199         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2200         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2201         private to the basesrc implementation.
2202
2203         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2204         behalf of event function if necessary. It should no longer be
2205         necessary to take the stream lock in pad's event functions. Fixes
2206         #320299.
2207
2208 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2209         * docs/gst/gstreamer-sections.txt:
2210         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2211         (gst_structure_fixate_field_nearest_double),
2212         (gst_structure_fixate_field_boolean):
2213         * gst/gststructure.h:
2214         * win32/common/libgstreamer.def:
2215         * win32/gstreamer.def:
2216
2217         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2218         (#322027)
2219
2220 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2221
2222         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2223         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2224         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2225         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2226         (gst_fdsrc_uri_handler_init):
2227         * gst/elements/gstfdsrc.h:
2228           Port fd:// URI handler from 0.8 to fdsrc
2229
2230 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2231
2232         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2233         (gst_value_serialize_fourcc):
2234         * gst/gstvalue.h:
2235           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2236           consistent with our other format defines (#320324).
2237
2238 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2239
2240         * gst/gstvalue.c: (gst_value_is_fixed):
2241           Revert previous commit. Value lists are by definition
2242           not fixed, as they are a list of possible values.
2243
2244 2005-11-21  Andy Wingo  <wingo@pobox.com>
2245
2246         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2247         during the stable series if we need it. Fixes #319178.
2248
2249         * gst/gstevent.c (gst_event_new_filler): Removed.
2250
2251         * check/gst/gstevent.c: Update comment about filler events.
2252
2253 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2254
2255         * gst/gstvalue.c: (gst_value_is_fixed):
2256           Should handle both value arrays and value lists.
2257
2258 2005-11-21  Andy Wingo  <wingo@pobox.com>
2259
2260         patch by: Alessandro Dessina <alessandro nnva org>
2261
2262         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2263         functions to access arrays. Fixes #321962.
2264
2265 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2266
2267         * docs/gst/gstreamer.types:
2268           gst_collectpads_get_type => gst_collect_pads_get_type.
2269           
2270         * gst/base/gstbasetransform.c:
2271           Remove unused SIGNAL_HANDOFF enum.
2272
2273 2005-11-21  Andy Wingo  <wingo@pobox.com>
2274
2275         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2276         the event type (upstream, downstream, serialized). Renamed
2277         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2278         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2279         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2280
2281         * gst/gstevent.c: Update for new CUSTOM event names.
2282
2283         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2284
2285         * gst/gstevent.h:
2286         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2287         bug #319392.
2288
2289 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2290
2291         * docs/gst/gstreamer-sections.txt:
2292         * win32/common/libgstbase.def:
2293         * win32/libgstbase.def:
2294         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2295         (gst_collect_pads_class_init), (gst_collect_pads_init),
2296         (gst_collect_pads_finalize), (gst_collect_pads_new),
2297         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2298         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2299         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2300         (gst_collect_pads_start), (gst_collect_pads_stop),
2301         (gst_collect_pads_peek), (gst_collect_pads_pop),
2302         (gst_collect_pads_available), (gst_collect_pads_read),
2303         (gst_collect_pads_flush), (gst_collect_pads_event),
2304         (gst_collect_pads_chain):
2305         * gst/base/gstcollectpads.h:
2306           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2307           unimplemented functions as unimplemented. Add padding to
2308           GstCollectData. (#320766, #320423)
2309
2310 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2311
2312         * gst/gstmessage.c:
2313           Improve docs for DURATION message (usage of duration parameter)
2314           (#320113)
2315
2316 2005-11-20  Wim Taymans  <wim@fluendo.com>
2317
2318         * check/Makefile.am:
2319         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2320         (main):
2321         * gst/Makefile.am:
2322         * gst/gst.h:
2323         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2324         (gst_segment_set_seek), (gst_segment_set_newsegment),
2325         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2326         (gst_segment_clip):
2327         * gst/gstsegment.h:
2328         Added segment helper structure and methods. Not fully implemented
2329         yet.
2330         Added segment check.
2331
2332 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2333
2334         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2335           Add a deserialisation test for fractions
2336         * examples/metadata/read-metadata.c: (message_loop),
2337         (make_pipeline), (main):
2338           Fix up metadata reading sample.
2339         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2340           Debug format fix
2341         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2342           Don't try and fixate empty caps
2343         * gst/gst_private.h:
2344           Wrap in G_BEGIN_DECLS/G_END_DECLS
2345         * gst/gstvalue.c: (gst_value_collect_fraction),
2346         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2347         (gst_value_transform_string_fraction),
2348         (gst_value_compare_fraction):
2349           Add some extra guards to ensure that we don't end up 
2350           with an invalid denominator of 0 in a gstfraction and
2351           that fractions always get reduced.
2352
2353 2005-11-20  Wim Taymans  <wim@fluendo.com>
2354
2355         * docs/gst/gstreamer-sections.txt:
2356         * gst/gstbuffer.h:
2357         * gst/gstelement.c:
2358         * gst/gstformat.c:
2359         * gst/gstformat.h:
2360         * gst/gstindex.h:
2361         * gst/gstquery.c:
2362         * gst/gstquery.h:
2363         * gst/gstvalue.c:
2364         Doc fixes.
2365
2366 2005-11-20  Wim Taymans  <wim@fluendo.com>
2367
2368         * docs/design/part-TODO.txt:
2369         * gst/gstcaps.h:
2370         Make a proper enum of the flag.
2371
2372 2005-11-19  Wim Taymans  <wim@fluendo.com>
2373
2374         * docs/design/part-TODO.txt:
2375         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2376         (gst_format_to_quark), (gst_format_register):
2377         * gst/gstformat.h:
2378         * gst/gstquery.c: (_gst_query_initialize),
2379         (gst_query_type_get_name), (gst_query_type_to_quark),
2380         (gst_query_type_register):
2381         * gst/gstquery.h:
2382         Add type to quark and type to string conversions.
2383
2384 2005-11-19  Andy Wingo  <wingo@pobox.com>
2385
2386         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2387         #320097.
2388
2389 2005-11-19  Wim Taymans  <wim@fluendo.com>
2390
2391         * docs/design/part-TODO.txt:
2392         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2393         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2394         (gst_bin_handle_message_func):
2395         * gst/gstbin.h:
2396         Make message handling overridable.
2397
2398 2005-11-19  Andy Wingo  <wingo@pobox.com>
2399
2400         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2401
2402         * gst/gstclock.h:
2403         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2404         be a GstClockTime.
2405         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2406         is a GstClockTime. Fixes #321710.
2407
2408         * gst/gstclock.h (GstClock): Remove offset property. Add
2409         internal_calibration and external_calibration. Fix padding. Pad
2410         also by GstClockTime so we don't run into problems.
2411
2412         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2413         (gst_clock_get_rate_offset): Remove.
2414         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2415
2416         * gst/gstutils.h:
2417         * gst/gstutils.c (g_static_rec_cond_wait)
2418         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2419
2420         * gst/gstbin.c: Remove terrible continue_state prototype.
2421
2422         * gst/gstelement.h (gst_element_continue_state): Make public.
2423
2424         * gst/gstelement.h:
2425         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2426         by continue_state. Fixes #319389.
2427
2428         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2429         Really fixes #168438. However I don't see anywhere where the
2430         filter function is called... stupid GStreamer...
2431         
2432         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2433         don't have a dispose function, so it won't get called when the
2434         object is unreffed, but oh well!
2435
2436         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2437         allows a destroy function to be set so user_data can be freed.
2438         Fixes #168438.
2439         (gst_index_set_filter): Call gst_index_set_filter_full.
2440
2441         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2442
2443         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2444         string should produce an error, given the lack of a way to
2445         represent NULL strings. Fixes #165650.
2446         
2447         * gst/gstvalue.h: 
2448         * gst/gstvalue.c (gst_value_array_append_value) 
2449         (gst_value_array_prepend_value, gst_value_array_get_size) 
2450         (gst_value_array_get_value): New API, copied from
2451         gst_value_list_*, only operates on arrays.
2452         (gst_value_list_append_value, gst_value_list_prepend_value) 
2453         (gst_value_list_concat, gst_value_list_get_size) 
2454         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2455
2456         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2457         init_list, because it works on both.
2458         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2459         (gst_value_copy_list_or_array): Renamed from copy_list.
2460         (gst_value_free_list_or_array): Renamed from free_list.
2461         (gst_value_collect_list_or_array): Renamed from collect_list.
2462         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2463         (gst_value_list_or_array_peek_pointer): Renamed from
2464         list_peek_pointer.
2465         (_gst_value_array_value_table, _gst_value_list_value_table):
2466         Update value table functions.
2467         (gst_value_compare_list_or_array): Renamed from compare_list.
2468
2469         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2470         some constness.
2471
2472         * gst/gsttaglist.c:
2473         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2474         GstTagList*. Fixes #143472.
2475
2476         * gst/gststructure.h: Clarify what the foreach/map functions can
2477         or can't do to their arguments.
2478
2479 2005-11-18  Wim Taymans  <wim@fluendo.com>
2480
2481         * gst/gstclock.c: (gst_clock_set_calibration),
2482         (gst_clock_get_calibration):
2483         Doc and API fixes.
2484         Calibration can be set with internal time equal to current
2485         internal time too.
2486
2487 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2488
2489         * gst/gsterror.c:
2490         * gst/gsterror.h:
2491           document
2492
2493 2005-11-18  Andy Wingo  <wingo@pobox.com>
2494
2495         * configure.ac: 
2496         * pkgconfig/gstreamer-net.pc.in:
2497         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2498         * pkgconfig/Makefile.am: Add net pkgconfig files.
2499
2500 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2501
2502         * gst/gstcaps.c:
2503         * gst/gstghostpad.c:
2504         * gst/gsttrace.c:
2505         * gst/gstvalue.c:
2506         * gst/gstvalue.h:
2507           docs fixes
2508
2509 2005-11-18  Andy Wingo  <wingo@pobox.com>
2510
2511         * gst/net/gstnetclientclock.c: Turn off debugging.
2512
2513         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2514         times connverge somewhat. Can't make a real test.
2515
2516         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2517         integer arithmetic. Return the minimum of the domain, which can be
2518         set as "internal" for gst_clock_set_calibration.
2519         (gst_net_client_clock_observe_times): Call _set_calibration.
2520         (gst_net_client_clock_new): Call _set_calibration instead of
2521         rate_offset.
2522
2523         * check/net/gstnetclientclock.c (test_functioning): Use the right
2524         adjustment api.
2525
2526         * gst/gstclock.h:
2527         * gst/gstclock.c (gst_clock_get_calibration) 
2528         (gst_clock_set_calibration): New functions, obsolete the ones I
2529         added yesterday. Doh. Precision issues mean we have to extrapolate
2530         from a point in the more recent past than 1970.
2531         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2532         obsolete.
2533         (gst_clock_adjust_unlocked): Use the right calibration data.
2534
2535 2005-11-18  Edward Hervey  <edward@fluendo.com>
2536
2537         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2538         Also reset the ->current_* values in READY->PAUSED
2539
2540 2005-11-18  Andy Wingo  <wingo@pobox.com>
2541
2542         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2543         Whoops, check the right fd. Also add some debugging.
2544         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2545         (do_linear_regression): Add a crapload of debugging. Subtract off
2546         the minimum values from the input series to discard unneeded bits.
2547         Use only int arithmetic. There is still double arithmetic when
2548         calculating the intercept that needs fixing. Return boolean to
2549         indicate success; FALSE would mean the domain or range is too
2550         great. Still needs fixes.
2551
2552 2005-11-18  Wim Taymans  <wim@fluendo.com>
2553
2554         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2555         For the current position in stream time, we need to subtract
2556         accumulated time.
2557         
2558         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2559         Release lock before calling the callback function of async
2560         entries.
2561
2562 2005-11-18  Andy Wingo  <wingo@pobox.com>
2563
2564         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2565         Port goes all the way to MAXUINT16.
2566
2567         * gst/net/gstnettimeprovider.c: Make the port range the same as
2568         for the kernel: 0 assigns, otherwise ports are less than
2569         MAXUINT16.
2570
2571         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2572         port change.
2573
2574         * check/net/gstnetclientclock.c (test_functioning): Add the start
2575         of another test. 
2576
2577 2005-11-18  Wim Taymans  <wim@fluendo.com>
2578
2579         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2580         (gst_bin_remove_func), (bin_bus_handler):
2581         * gst/gstbin.h:
2582         Removing a clock provider from a bin, triggers a clock lost message
2583         so that a new clock will be selected.
2584         Adding a clock to a bin triggers a clock provider message.
2585         Make sure we reselect a clock when we received a clock lost message.
2586         Keep a reference to the element that provided the clock.
2587
2588 2005-11-18  Andy Wingo  <wingo@pobox.com>
2589
2590         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2591         the clock initially so it produces values around the base time.
2592         (gst_net_client_clock_class_init): Typo fix.
2593         (gst_net_client_clock_thread): Add note on when the socket gets
2594         closed.
2595
2596 2005-11-17  Wim Taymans  <wim@fluendo.com>
2597
2598         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2599         Free remote and local time arrays.
2600
2601 2005-11-17  Wim Taymans  <wim@fluendo.com>
2602
2603         * gst/net/gstnetclientclock.c: (do_linear_regression),
2604         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2605         Fix compilation, uninitialized vars and a forgotten continue.
2606
2607 2005-11-17  Andy Wingo  <wingo@pobox.com>
2608
2609         * check/Makefile.am (check_PROGRAMS): 
2610         * check/net/gstnetclientclock.c: Add a most minimal test for the
2611         net client clock. More to come later.
2612
2613         * gst/net/gstnet.h: 
2614         * gst/net/Makefile.am: Add netclientclock.
2615
2616         * gst/net/gstnetclientclock.h:
2617         * gst/net/gstnetclientclock.c: New files, implement an untested
2618         GstClock that takes its time from a network time provider.
2619         Implements the algorithm in network-clock.scm.
2620
2621         * tests/network-clock.scm (*window-size*): Rename from
2622         *queue-length*.
2623         * tests/network-clock.scm (network-time): 
2624         * tests/network-clock-utils.scm (q-push): Update callers.
2625
2626 2005-11-17  Wim Taymans  <wim@fluendo.com>
2627
2628         * gst/gstbin.c: (gst_bin_provide_clock_func),
2629         (gst_bin_sort_iterator_new):
2630         And unref the child too..
2631
2632 2005-11-17  Wim Taymans  <wim@fluendo.com>
2633
2634         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2635         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2636         Refactor the sort iterator so it can be used while holding the
2637         LOCK too.
2638         Make clock selection select a clock closest to the source.
2639
2640 2005-11-17  Michael Smith <msmith@fluendo.com>
2641
2642         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2643         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2644         * gst/gstclock.h:
2645           Anonymous structs are a gcc (and some other compilers) extension, so
2646           don't use them. Since this is only for ABI-compatibility, and our
2647           API/ABI freeze is over in a few days, this whole thing will only
2648           last a few days, so don't bother trying to think up a meaningful
2649           name for the struct.
2650
2651 2005-11-17  Andy Wingo  <wingo@pobox.com>
2652
2653         * gst/gstclock.h (GstClock): Add rate and offset properties,
2654         preserving ABI stability. Add rate/offset accessors. Will file bug
2655         for the freeze break.
2656
2657         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2658         and offset, trying to keep precision and avoiding
2659         underflow/overflow.
2660         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2661         functions. Make gst_clock_set_time_adjust obsolete.
2662         (gst_clock_set_time_adjust): Note that this function is obsolete.
2663         Will file bug soon.
2664
2665         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2666         greppable by using GST_PADDING-1+1.
2667
2668 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2669
2670         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2671
2672         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2673           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2674
2675         * gst/gstpadtemplate.h:
2676         * gst/gstpluginfeature.h:
2677           Don't use c++ style comments in headers (#321638).
2678
2679 2005-11-16  Andy Wingo  <wingo@pobox.com>
2680
2681         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2682         buffer.
2683
2684         * check/net/gstnettimeprovider.c: Check to see that the time
2685         provider actually provides times. Works, yo!
2686
2687 2005-11-16  Wim Taymans  <wim@fluendo.com>
2688
2689         * check/Makefile.am:
2690         Enable more tests.
2691
2692         * check/elements/fakesrc.c: (GST_START_TEST):
2693         Set element to NULL before disposing it.
2694
2695 2005-11-16  Andy Wingo  <wingo@pobox.com>
2696
2697         * gst/net/Makefile.am:
2698         * gst/net/gstnet.h:
2699         * gst/net/gstnettimeprovider.c: 
2700         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2701         provider, include it from gstnet.h, and add it to the build.
2702
2703         * gst/net/gstnettimepacket.h: 
2704         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2705         sending and receiving.
2706
2707 2005-11-16  Wim Taymans  <wim@fluendo.com>
2708
2709         * check/Makefile.am:
2710         Enable valgrind check.
2711
2712         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2713         (gst_fake_src_alloc_buffer):
2714         Fix memleak.
2715
2716 2005-11-16  Wim Taymans  <wim@fluendo.com>
2717
2718         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2719         Call parent finalize too.
2720
2721 2005-11-16  Wim Taymans  <wim@fluendo.com>
2722
2723         * check/Makefile.am:
2724         Enable valgrind check that should work fine now.
2725
2726         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2727         * gst/gstqueue.c: (gst_queue_init):
2728         Fix memleaks in pad allocation.
2729
2730 2005-11-16  Andy Wingo  <wingo@pobox.com>
2731
2732         * gst/net/Makefile.am:
2733         * gst/net/gstnet.h: New part of core to hold network elements and
2734         objects. Put in core because it exposes API that applications want
2735         to use. The library is named libgstnet-tempname right now because
2736         of the existing libgstnet in gst-plugins-base. Solution is
2737         probably to rename the one in plugins-base; will file a bug for
2738         the freeze break.
2739
2740         * gst/net/gstnettimeprovider.c: 
2741         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2742         get_time call over the network.
2743
2744         * configure.ac: 
2745         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2746
2747         * check/Makefile.am:
2748         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2749         get additions shortly.
2750
2751 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2752
2753         * gst/gstpad.c: (gst_pad_new_from_static_template):
2754         * gst/gstpad.h:
2755           add gst_pad_new_from_static_template functions
2756         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2757         (gst_check_setup_sink_pad):
2758         * gst/elements/gsttee.c: (gst_tee_init):
2759           and use them
2760
2761 2005-11-16  Wim Taymans  <wim@fluendo.com>
2762
2763         * gst/gstpad.c: (gst_pad_pause_task):
2764         Removed warning, it's not really an error either.
2765
2766 2005-11-16  Wim Taymans  <wim@fluendo.com>
2767
2768         * gst/base/gstbasetransform.c:
2769         (gst_base_transform_prepare_output_buf),
2770         (gst_base_transform_event):
2771         Check if the caps are NULL, this can happen if the element
2772         is shutting down and the pad caps are set to NULL.
2773
2774 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2775
2776         * gst/elements/gsttee.c: (gst_tee_init):
2777           fix pad template leak in tee
2778
2779 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2780
2781         * gst/glib-compat.c: (g_value_dup_gst_object):
2782         * gst/glib-compat.h:
2783         * gst/gstpad.c: (gst_pad_set_property):
2784           use gst_object_ref when setting the pad template; this will
2785           trigger the pad template leaks on GLib 2.6 and the slaves
2786
2787 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2788
2789         * gst/glib-compat.c: (gst_flags_get_first_value):
2790         * gst/glib-compat.h:
2791         * gst/gstregistryxml.c:
2792           remove functions copied from GLib 2.6
2793
2794 2005-11-16  Michael Smith <msmith@fluendo.com>
2795
2796         * gst/Makefile.am:
2797           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2798           do, but only breaks with newer valgrind versions. We're not a
2799           valgrind tool, we have no link-time dependencies on libcoregrind.
2800
2801 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2802
2803         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2804           some debug changes
2805         * gst/gstmessage.h:
2806           typo fixes
2807
2808 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2809
2810         * gst/base/gstbasesrc.c: (gst_base_src_init):
2811         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2812         * gst/gstqueue.c: (gst_queue_init):
2813         * gst/gstregistryxml.c: (load_feature):
2814           Revert all these unrefs, they don't even pass make check !
2815
2816 2005-11-15  Johan Dahlin  <johan@gnome.org>
2817
2818         * gst/base/gstbasesrc.c: (gst_base_src_init):
2819         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2820         * gst/gstqueue.c: (gst_queue_init): 
2821         Free pad templates, fixes a couple of leaks.
2822
2823 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2824
2825         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2826
2827         * gst/gstpad.c: (gst_pad_get_property):
2828           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2829           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2830           (#321452)
2831
2832 2005-11-15  Wim Taymans  <wim@fluendo.com>
2833
2834         * gst/gstevent.c:
2835         Small doc update.
2836
2837 2005-11-15  Andy Wingo  <wingo@pobox.com>
2838
2839         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2840
2841         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2842         using GST_CLOCK_TIME_NONE to disable base time management.
2843         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2844         time if it was NONE before.
2845         (gst_pipeline_change_state): Only munge the base time if
2846         stream_time != GST_CLOCK_TIME_NONE.
2847
2848         * check/gst/gstpipeline.c (test_base_time): Punt around the
2849         problem of the probe not being called, because that's not the
2850         issue I'm looking at. Add a check that setting stream_time to NONE
2851         disables base time management.
2852         
2853 2005-11-15  Wim Taymans  <wim@fluendo.com>
2854
2855         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2856         segment_stop == -1 at startup.
2857
2858         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2859         (gst_base_transform_change_state):
2860         Init segment values at start.
2861
2862 2005-11-15  Wim Taymans  <wim@fluendo.com>
2863
2864         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2865         0 segment values are 0 in any format.
2866
2867         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2868         * gst/base/gstbasetransform.h:
2869         Parse newsegment correctly in basetransform
2870
2871         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2872         Sync to clock using updated segment values.
2873
2874 2005-11-15  Andy Wingo  <wingo@pobox.com>
2875
2876         * check/gst/gstpipeline.c (test_base_time): Add check that the
2877         base time and stream time are reset correctly.
2878
2879 2005-11-15  Wim Taymans  <wim@fluendo.com>
2880
2881         * docs/design/part-TODO.txt:
2882         Some more TODO items.
2883
2884 2005-11-15  Andy Wingo  <wingo@pobox.com>
2885
2886         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2887         error if the user selected "no clock" as the clocking method.
2888
2889         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2890         timestamps with live capture.
2891
2892         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2893         is 0 but we are a live source, timestamp the buffers using the
2894         element's clock.
2895
2896 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2897
2898         * docs/gst/gstreamer-sections.txt:
2899         * gst/gsterror.c:
2900         * gst/gstghostpad.c:
2901         * gst/gstobject.h:
2902         * gst/gstxml.c:
2903           more section docs
2904
2905 2005-11-14  Wim Taymans  <wim@fluendo.com>
2906
2907         * common/gst.supp:
2908           add suppressions from Wim's Debian machine
2909
2910 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2911
2912         * common/gst.supp:
2913           add suppressions from Andy's AMD64 Ubuntu machine
2914
2915 2005-11-14  Andy Wingo  <wingo@pobox.com>
2916
2917         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2918         STATE_LOCK not necessary. Fixes #311489.
2919
2920         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2921         #305291.
2922
2923         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2924         this function is not implemented.
2925
2926 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2927
2928         * gst/base/gstbasetransform.c:
2929         (gst_base_transform_prepare_output_buf):
2930         Ref the source pad caps while we need them.
2931         Fixes (#321386)
2932
2933 2005-11-11  Wim Taymans  <wim@fluendo.com>
2934
2935         * docs/gst/gstreamer-sections.txt:
2936         Added some docs for GstCollectData.
2937
2938         * gst/base/gstadapter.c:
2939         Some small code example fix.
2940
2941         * gst/base/gstcollectpads.c:
2942         * gst/base/gstcollectpads.h:
2943         Document some more.
2944
2945 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2946
2947         * configure.ac: back to HEAD
2948
2949 === release 0.9.5 ===
2950
2951 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2952
2953         * configure.ac:
2954           releasing 0.9.5, "Bike Lunch Day"
2955
2956 2005-11-11  Wim Taymans  <wim@fluendo.com>
2957
2958         * gst/gstbuffer.c: (_gst_buffer_copy):
2959         Copy more flags.
2960
2961         * gst/gstcaps.c: (gst_caps_is_equal):
2962         Fix some docs.
2963         Make _is_equal fast in the trivial cases.
2964
2965         * gst/gstminiobject.c:
2966         * gst/gstminiobject.h:
2967         More docs. Spifify .h file.
2968
2969         * gst/gstutils.c:
2970         Small doc update.
2971
2972 2005-11-11  Wim Taymans  <wim@fluendo.com>
2973
2974         * gst/base/gstbasetransform.c:
2975         (gst_base_transform_prepare_output_buf),
2976         (gst_base_transform_handle_buffer):
2977         Small cleanups.
2978         If we're processing a buffer and need to allocate an output
2979         buffer, we cannot accept a format change. If we did get a 
2980         format change, we have to alloc a buffer ourselves of the 
2981         right size.
2982
2983 2005-11-11  Wim Taymans  <wim@fluendo.com>
2984
2985         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2986         While checking the flag for reentrancy in the gstcaps function
2987         is nice to detect recursive invocations, it also makes it 
2988         impossible to call getcaps from multiple threads, which must be
2989         possible. So, checking for recursive calls has to go.
2990
2991 2005-11-11  Michael Smith <msmith@fluendo.com>
2992
2993         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2994           Don't sync on buffers that fall partially outside our current
2995           segment. Prevents an assertion failure/abort playing some files.
2996
2997 2005-11-10  Andy Wingo  <wingo@pobox.com>
2998
2999         * check/gst/gstbin.c (test_message_state_changed_children): Style
3000         fix..
3001
3002         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3003         gst_bus_poll with the signal watch. Ensures that poll and a signal
3004         watch see the same messages.
3005
3006         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3007         a poll and a watch at the same time get the same messages.
3008
3009 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3010
3011         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3012         * gst/gstcaps.c: (gst_caps_intersect):
3013           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3014           and it's not needed.
3015
3016 2005-11-10  Wim Taymans  <wim@fluendo.com>
3017
3018         * docs/design/part-TODO.txt:
3019         Updated todo.
3020
3021 2005-11-10  Wim Taymans  <wim@fluendo.com>
3022
3023         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3024         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3025         (gst_base_src_do_sync), (gst_base_src_get_range):
3026         Implement clock sync in base class.
3027
3028 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3029
3030         patch by: Tim-Philipp Müller <tim at centricular dot net>
3031
3032         * gst/gststructure.c: (gst_structure_parse_field),
3033         (gst_structure_from_string):
3034           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3035           so that gst_parse_launch() can deal with spaces in filtered link
3036           caps (fixes #164479)
3037         * check/gst/capslist.h:
3038         * check/gst/gststructure.c: (GST_START_TEST):
3039           add unit tests for this change
3040
3041 2005-11-10  Wim Taymans  <wim@fluendo.com>
3042
3043         * docs/gst/gstreamer-sections.txt:
3044         * gst/gstelement.c:
3045         * gst/gstelement.h:
3046         Fix docs, move some STATE macros to private.
3047
3048 2005-11-10  Wim Taymans  <wim@fluendo.com>
3049
3050         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3051         Added check for bug #317341
3052
3053         * gst/gstbuffer.c:
3054         * gst/gstbuffer.h:
3055         Some more spiffifying.
3056
3057         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3058         Call peer linkfunction if we are a source pad. Totally fixes
3059         #317341
3060
3061         * gst/gstpad.c:
3062         Update docs, source pads should call the peer linkfunction
3063         so they can atomically perform the pad link.
3064
3065 2005-11-09  Wim Taymans  <wim@fluendo.com>
3066
3067         * gst/gstbuffer.c:
3068         * gst/gstbuffer.h:
3069         Uber-spiffy-spiffify some more.
3070
3071 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3072
3073         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3074         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3075         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3076         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3077         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3078         * gst/gstpad.c: (gst_pad_init):
3079           Use GST_DEBUG_FUNCPTR() more extensively.
3080
3081 2005-11-09  Wim Taymans  <wim@fluendo.com>
3082
3083         * gst/gstobject.c: (gst_object_class_init):
3084         * gst/gstobject.h:
3085         Documentation fixes.
3086
3087 2005-11-09  Edward Hervey  <edward@fluendo.com>
3088
3089         * gst/gsttypefindfactory.c:
3090         Fix docs.
3091         
3092 2005-11-09  Edward Hervey  <edward@fluendo.com>
3093
3094         * gst/base/gsttypefindhelper.c:
3095         * gst/gsttypefind.c:
3096         * gst/gsttypefind.h:
3097         Fix docs.
3098
3099 2005-11-09  Wim Taymans  <wim@fluendo.com>
3100
3101         * gst/gstiterator.c:
3102         Fix revision data.
3103
3104         * gst/gsttask.c:
3105         * gst/gsttask.h:
3106         Fix docs.
3107
3108 2005-11-09  Wim Taymans  <wim@fluendo.com>
3109
3110         * gst/gstevent.h:
3111         * gst/gsturi.h:
3112         Fix docs.
3113
3114 2005-11-09  Wim Taymans  <wim@fluendo.com>
3115
3116         * docs/gst/gstreamer-sections.txt:
3117         Moved the message async delivery private lock and cond
3118         to the private section.
3119
3120         * gst/gstmessage.c:
3121         * gst/gstmessage.h:
3122         Fixed docs.
3123
3124 2005-11-09  Edward Hervey  <edward@fluendo.com>
3125
3126         * docs/gst/gstreamer-sections.txt:
3127         * gst/gsturi.c:
3128         * gst/gsturi.h:
3129         Document GstURIHandler
3130
3131 2005-11-09  Wim Taymans  <wim@fluendo.com>
3132
3133         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3134         (gst_iterator_find_custom):
3135         * gst/gstiterator.h:
3136         Fix iterator docs.
3137
3138 2005-11-09  Wim Taymans  <wim@fluendo.com>
3139
3140         * gst/gstbin.h:
3141         Document another field.
3142
3143         * gst/gststructure.c:
3144         * gst/gststructure.h:
3145         Document.
3146
3147 2005-11-09  Wim Taymans  <wim@fluendo.com>
3148
3149         * gst/gstbin.h:
3150         Documented structs.
3151
3152 2005-11-09  Wim Taymans  <wim@fluendo.com>
3153
3154         * docs/gst/gstreamer-sections.txt:
3155         Added some new macros.
3156
3157         * gst/gstclock.c:
3158         * gst/gstclock.h:
3159         * gst/gstobject.h:
3160         Docs updates.
3161
3162 2005-11-09  Wim Taymans  <wim@fluendo.com>
3163
3164         * docs/design/part-TODO.txt:
3165         Some more items for the TODO
3166
3167         * gst/gstcaps.c:
3168         * gst/gstcaps.h:
3169         Document GstCaps.
3170
3171 2005-11-09  Andy Wingo  <wingo@pobox.com>
3172
3173         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3174         to work on something else now tho...
3175
3176         * gst/base/gstadapter.c: More adapter docs.
3177
3178         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3179         (gst_file_sink_stop): New functions, replace the state change
3180         handler.
3181         (gst_file_sink_class_init): Hook up the start and stop functions.
3182         (gst_file_sink_base_init): Don't set the state change handler any
3183         more. It was a bit ugly too, being set from here...
3184         (gst_file_sink_get_property, gst_file_sink_set_property):
3185         Cleanups...
3186         (gst_file_sink_set_location): More robust check that doesn't call
3187         GST_STATE. Ugggggg.
3188
3189 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3190
3191         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3192           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3193
3194 2005-11-08  Wim Taymans  <wim@fluendo.com>
3195
3196         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3197         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3198         (gst_base_sink_chain), (gst_base_sink_change_state):
3199         * gst/base/gstbasesink.h:
3200         * gst/base/gstbasesrc.h:
3201         * gst/gstelement.h:
3202         * gst/gstevent.h:
3203         Avoid excessive typechecking in macros.
3204
3205         * gst/gstminiobject.c: (gst_mini_object_get_type),
3206         (gst_mini_object_init), (gst_mini_object_new),
3207         (gst_mini_object_free):
3208         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3209         (gst_object_finalize):
3210         Remove cruft code, optimize alloc_trace.
3211
3212 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3213
3214         * docs/faq/gst-uninstalled:
3215           fix up PS1 for systems that try to reset it
3216
3217 2005-11-07  Wim Taymans  <wim@fluendo.com>
3218
3219         * gst/base/gstbasesrc.c: (gst_base_src_init),
3220         (gst_base_src_get_range):
3221         Set the segment_end to -1 initially. Fixed typefind.
3222
3223 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3224
3225         * gst/base/gstadapter.c:
3226           Debug category should be 'adapter', not 'GstAdapter'.
3227           
3228         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3229         (gst_collectpads_class_init), (gst_collectpads_init),
3230         (gst_collectpads_peek), (gst_collectpads_pop),
3231         (gst_collectpads_event), (gst_collectpads_chain):
3232           Add debug category and some debugging output. Use boilerplate
3233           macros. Remove some extraneous words from docs.
3234
3235 2005-11-05  Andy Wingo  <wingo@pobox.com>
3236
3237         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3238         macro.
3239
3240 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3241
3242         * docs/gst/gstreamer-sections.txt:
3243         * gst/gstcaps.h:
3244         * gst/gstinfo.c:
3245         * gst/gstminiobject.h:
3246         * gst/gstobject.h:
3247         * gst/gstutils.h:
3248           more docs added
3249
3250 2005-11-04  Wim Taymans  <wim@fluendo.com>
3251
3252         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3253         Small update to stop at the configured segment_end
3254         position.
3255
3256 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3257
3258         * gst/gstregistry.c:
3259         * gst/gstregistry.h:
3260           added missing docs
3261
3262 2005-11-04  Edward Hervey  <edward@fluendo.com>
3263
3264         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3265         Check if we are doing a segment seek and have arrived at the
3266         end of that segment.
3267
3268 2005-11-04  Wim Taymans  <wim@fluendo.com>
3269
3270         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3271         Don't leak a mutex unlock in case of an error.
3272
3273         * gst/gstbus.h:
3274         Doc fixes.
3275
3276 2005-11-04  Wim Taymans  <wim@fluendo.com>
3277
3278         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3279         (gst_bus_post):
3280         Get the context to wake up only once.
3281
3282 2005-11-03  Wim Taymans  <wim@fluendo.com>
3283
3284         * check/states/sinks.c: (GST_START_TEST):
3285         Uncomment fixed check.
3286
3287         * docs/design/part-TODO.txt:
3288         Updated TODO.
3289
3290         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3291         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3292         (gst_base_sink_get_position):
3293         If we are going to PLAYING, post the right pending state
3294         when we post the intermediate paused message.
3295
3296         * gst/gstelement.c: (gst_element_continue_state),
3297         (gst_element_set_state_func), (gst_element_change_state):
3298         Don't post state changes that were between the same state
3299         and were not ASYNC.
3300
3301 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3302
3303         * docs/gst/gstreamer-sections.txt:
3304         * gst/gstcaps.h:
3305         * gst/gstinfo.c:
3306         * gst/gstminiobject.h:
3307         * gst/gstobject.h:
3308         * gst/gstutils.h:
3309           more docs and doc style fixes
3310
3311 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3312
3313         * docs/gst/gstreamer-sections.txt:
3314         * gst/gstelement.c:
3315         * gst/gstminiobject.c:
3316         doc fixes
3317
3318 2005-11-03  Andy Wingo  <wingo@pobox.com>
3319
3320         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3321         state-changed messages actually have the right order and the right
3322         values.
3323
3324 2005-11-03  Wim Taymans  <wim@fluendo.com>
3325
3326         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3327         Added some more checks. Specifically the case where NO_PREROLL
3328         elements are in the pipeline.
3329
3330         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3331         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3332         (gst_base_sink_get_position):
3333         Post READY->PAUSED state change messages too.
3334         Fix bug where VOID was posted as pending state...
3335
3336         * gst/gstbin.c: (gst_bin_recalc_state):
3337         use _element_continue_state() to continue the state change.
3338
3339         * gst/gstelement.c: (gst_element_continue_state),
3340         (gst_element_commit_state), (gst_element_set_state_func),
3341         (gst_element_change_state), (gst_element_change_state_func):
3342         Lots of state change cleanups, assign the STATE_RETURN in
3343         a new continue_state() function that also propagates the
3344         last return value from a state change to the app.
3345         Update some debug statements with proper category.
3346
3347 2005-11-03  Wim Taymans  <wim@fluendo.com>
3348
3349         * docs/design/part-events.txt:
3350         * docs/design/part-gstpipeline.txt:
3351         * docs/design/part-messages.txt:
3352         * docs/design/part-overview.txt:
3353         * docs/design/part-seeking.txt:
3354         * docs/design/part-states.txt:
3355         * docs/design/part-trickmodes.txt:
3356         * docs/manual/advanced-position.xml:
3357         Small docs updates.
3358
3359         * gst/gstobject.h:
3360         People think !! is ugly, this looks better.
3361
3362         * gst/gstpad.c: (gst_pad_set_blocked_async):
3363         Remove !! since it's fixed elsewhere now.
3364
3365 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3366
3367         * gst/gstminiobject.h:
3368         * gst/gstobject.h:
3369           Add !! to _FLAG_IS_SET macros to make the result boolean.
3370
3371 2005-11-03  Edward Hervey  <edward@fluendo.com>
3372
3373         * gst/gstpad.c: (gst_pad_set_blocked_async):
3374         comparing a flag and a gboolean rarely returns coherent results...
3375         Added two characters (!!) to make that work correctly.
3376         
3377 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3378
3379         * gst/gstbus.c: (gst_bus_class_init):
3380           Fix some typos.
3381           
3382         * gst/gstqueue.c: (gst_queue_loop):
3383           Don't assume a miniobject that isn't a buffer is an
3384           event (it could be that there is a refcounting
3385           problem somewhere and the pointer is stale and
3386           refers to an already destroyed miniobject).
3387
3388 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3389
3390         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3391
3392 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3393
3394         * docs/manual/advanced-position.xml:
3395           Update seek example and explanations to current 0.9 API.
3396
3397         * gst/elements/gsttypefindelement.c:
3398         (gst_type_find_element_activate):
3399           Remove FIXME comment now that the found caps
3400           are unreffed.
3401
3402 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3403
3404         * gst/gstregistryxml.c: (load_feature):
3405           Add another GST_STR_NULL instance
3406
3407 2005-11-02  Edward Hervey  <edward@fluendo.com>
3408
3409         * gst/gstpad.c: (handle_pad_block):
3410         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3411         
3412 2005-11-02  Wim Taymans  <wim@fluendo.com>
3413
3414         * gst/gstbin.c:
3415         Fix typo in docs.
3416
3417         * gst/gstelement.c: (gst_element_commit_state):
3418         Remove unused value.
3419
3420         * gst/gstiterator.c:
3421         Mention that the returned element is reffed in the docs.
3422
3423 2005-11-02  Wim Taymans  <wim@fluendo.com>
3424
3425         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3426         (gst_pad_push), (gst_pad_push_event):
3427         Unlock blocked pads when they are flushed.
3428
3429 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3430
3431         * docs/README:
3432         * docs/gst/gstreamer-sections.txt:
3433         * gst/gstbin.c:
3434           doc updates
3435         * gst/gstregistry.c: (gst_registry_scan_path_level):
3436           fix for a nasty little missed situation where an installed plug-in
3437           which was in the cache did not get overridden by an uninstalled one
3438           which was earlier in the plugin path because the newly created plugin
3439           for the uninstalled one (not in the registry) didn't get its
3440           ->registered set to TRUE
3441
3442 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3443
3444         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3445         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3446         (gst_collectpads_is_active), (gst_collectpads_collect),
3447         (gst_collectpads_collect_range), (gst_collectpads_start),
3448         (gst_collectpads_stop), (gst_collectpads_peek),
3449         (gst_collectpads_pop), (gst_collectpads_available),
3450         (gst_collectpads_read), (gst_collectpads_flush):
3451           Guard public API with assertions.
3452         
3453         * gst/gstpad.c:
3454           Fix docs for gst_pad_set_link_function().
3455
3456 2005-11-02  Johan Dahlin  <johan@gnome.org>
3457
3458         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3459         Unref found_caps after we used it.
3460
3461 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3462
3463         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3464           Don't try to ref NULL.
3465
3466 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3467
3468         * win32/common/config.h.in:
3469           provide a GST_FUNCTION that just gives a string for now
3470
3471 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3472
3473         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3474         (gst_object_flags_get_type), (register_gst_bin_flags),
3475         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3476         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3477         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3478         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3479         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3480         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3481         (gst_clock_flags_get_type), (register_gst_state),
3482         (gst_state_get_type), (register_gst_state_change_return),
3483         (gst_state_change_return_get_type), (register_gst_state_change),
3484         (gst_state_change_get_type), (register_gst_element_flags),
3485         (gst_element_flags_get_type), (register_gst_core_error),
3486         (gst_core_error_get_type), (register_gst_library_error),
3487         (gst_library_error_get_type), (register_gst_resource_error),
3488         (gst_resource_error_get_type), (register_gst_stream_error),
3489         (gst_stream_error_get_type), (register_gst_event_type),
3490         (gst_event_type_get_type), (register_gst_seek_type),
3491         (gst_seek_type_get_type), (register_gst_seek_flags),
3492         (gst_seek_flags_get_type), (register_gst_format),
3493         (gst_format_get_type), (register_gst_index_certainty),
3494         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3495         (gst_index_entry_type_get_type),
3496         (register_gst_index_lookup_method),
3497         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3498         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3499         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3500         (gst_index_flags_get_type), (register_gst_debug_level),
3501         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3502         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3503         (gst_iterator_result_get_type), (register_gst_iterator_item),
3504         (gst_iterator_item_get_type), (register_gst_message_type),
3505         (gst_message_type_get_type), (register_gst_mini_object_flags),
3506         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3507         (gst_pad_link_return_get_type), (register_gst_flow_return),
3508         (gst_flow_return_get_type), (register_gst_activate_mode),
3509         (gst_activate_mode_get_type), (register_gst_pad_direction),
3510         (gst_pad_direction_get_type), (register_gst_pad_flags),
3511         (gst_pad_flags_get_type), (register_gst_pad_presence),
3512         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3513         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3514         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3515         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3516         (gst_plugin_flags_get_type), (register_gst_rank),
3517         (gst_rank_get_type), (register_gst_query_type),
3518         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3519         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3520         (gst_tag_flag_get_type), (register_gst_task_state),
3521         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3522         (gst_alloc_trace_flags_get_type),
3523         (register_gst_type_find_probability),
3524         (gst_type_find_probability_get_type), (register_gst_uri_type),
3525         (gst_uri_type_get_type), (register_gst_parse_error),
3526         (gst_parse_error_get_type):
3527         * win32/common/gstversion.h:
3528           update win32 copies
3529
3530 2005-11-01  Luca Ognibene  <luogni@tin.it>
3531
3532         * gst/gst.c:
3533           fix docs. popt is dead, long live GOption.
3534
3535 2005-10-31  Wim Taymans  <wim@fluendo.com>
3536
3537         * gst/gstbuffer.h:
3538         Small doc fix.
3539
3540 2005-10-31  Andy Wingo  <wingo@pobox.com>
3541
3542         * Boo!
3543
3544         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3545
3546         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3547         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3548         the possibility of deadlocks here if code calling notify() or
3549         set() has a lock that can be taken in another notify handler (ABBA
3550         with class lock and e.g. python GIL state lock).
3551
3552 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3553
3554         * gst/gstbus.c: Doc updates.
3555
3556 2005-10-28  Wim Taymans  <wim@fluendo.com>
3557
3558         * docs/design/part-TODO.txt:
3559         * gst/gstiterator.c:
3560         * gst/gstsystemclock.c:
3561         * gst/gstsystemclock.h:
3562         Doc updates.
3563
3564 2005-10-28  Edward Hervey  <edward@fluendo.com>
3565
3566         * docs/gst/gstreamer-docs.sgml:
3567         * docs/gst/gstreamer-sections.txt:
3568         the GstURIType documentation page is private, it only defines GstURIType
3569         which should be defined in the GstURIHandler page
3570         
3571 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3572
3573         * gst/gstbin.c: (gst_bin_class_init):
3574         * gst/gstbin.h:
3575         * gst/gstutils.c:
3576         Documentation updates.
3577
3578 2005-10-28  Wim Taymans  <wim@fluendo.com>
3579
3580         * docs/gst/gstreamer-sections.txt:
3581         * gst/gstclock.c:
3582         * gst/gstclock.h:
3583         Documented the clocks.
3584
3585 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3586
3587         * docs/gst/gstreamer-sections.txt:
3588           move some macros to private sections
3589         * gst/gstminiobject.c:
3590         * gst/gstminiobject.h:
3591           add descriptions provided by ds and some more
3592         * gst/gstpad.h:
3593           mark macro as to be removed
3594
3595 2005-10-28  Wim Taymans  <wim@fluendo.com>
3596
3597         * docs/design/part-TODO.txt:
3598         Add an item to TODO.
3599
3600         * gst/gstiterator.c: (gst_iterator_fold),
3601         (gst_iterator_find_custom):
3602         * gst/gstiterator.h:
3603         Add iterator docs.
3604
3605 2005-10-28  Wim Taymans  <wim@fluendo.com>
3606
3607         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3608         (gst_base_transform_init):
3609         Don't leak class.
3610
3611         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3612         An EOS event marks the queue as completely filled.
3613
3614 2005-10-27  Wim Taymans  <wim@fluendo.com>
3615
3616         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3617         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3618         Some more debugging.
3619
3620         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3621         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3622         (gst_base_transform_event), (gst_base_transform_getrange),
3623         (gst_base_transform_chain):
3624         * gst/base/gstbasetransform.h:
3625         Fix debugging,
3626         Protect transform and concurrent buffer alloc with a new lock.
3627         Try not to break ABI/API.
3628
3629 2005-10-27  Wim Taymans  <wim@fluendo.com>
3630
3631         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3632         (gst_base_src_init), (gst_base_src_query),
3633         (gst_base_src_default_newsegment),
3634         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3635         (gst_base_src_send_event), (gst_base_src_event_handler),
3636         (gst_base_src_pad_get_range), (gst_base_src_loop),
3637         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3638         (gst_base_src_start), (gst_base_src_deactivate),
3639         (gst_base_src_activate_push), (gst_base_src_change_state):
3640         Move some stuff around and cleanup things.
3641
3642 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3643
3644         * gst/base/gstbasesrc.c: (gst_base_src_query):
3645           Add missing break statements.
3646
3647 2005-10-27  Wim Taymans  <wim@fluendo.com>
3648
3649         * check/gst/gstbin.c: (GST_START_TEST):
3650         An extra refcount is taken in basesrc.
3651
3652         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3653         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3654         (gst_base_src_loop):
3655         Small cleanups, check for flushing after being unlocked from the 
3656         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3657         Don't send out EOS when going to READY.
3658
3659 2005-10-27  Wim Taymans  <wim@fluendo.com>
3660
3661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3662         (gst_base_sink_get_position):
3663         Some more debug.
3664
3665         * gst/gstbin.c: (message_check), (bin_replace_message),
3666         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3667         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3668         (bin_query_duration_init), (bin_query_duration_fold),
3669         (bin_query_duration_done), (bin_query_generic_fold),
3670         (gst_bin_query):
3671         * tools/gst-launch.c: (main):
3672         Remove old option.
3673
3674 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3675
3676         * examples/controller/audio-example.c: (main):
3677         * examples/queue/queue.c: (event_loop):
3678         * gst/base/gstbasetransform.h:
3679         * gst/gstelement.c: (gst_element_send_event):
3680         * gst/gstevent.h:
3681         * gst/gstpad.c: (gst_pad_send_event):
3682           fixing examples
3683           fixing docs typos
3684           changing log priority in error situations
3685
3686 2005-10-25  Wim Taymans  <wim@fluendo.com>
3687
3688         * gst/gstbin.c: (message_check), (bin_replace_message),
3689         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3690         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3691         (bin_query_duration_init), (bin_query_duration_fold),
3692         (bin_query_duration_done), (bin_query_generic_fold),
3693         (gst_bin_query):
3694         Some doc and debug updates.
3695         Cache previously requested query DURATION for speed. invalidate
3696         cached duration if element posts a DURATION message.
3697
3698 2005-10-25  Wim Taymans  <wim@fluendo.com>
3699
3700         * docs/design/part-TODO.txt:
3701         Update TODO.
3702
3703         * gst/gstbin.c: (message_check), (bin_replace_message),
3704         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3705         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3706         (bin_query_duration_init), (bin_query_duration_fold),
3707         (bin_query_duration_done), (bin_query_generic_fold),
3708         (gst_bin_query):
3709         Handle SEGMENT_START/DONE messages correctly.
3710         More evolved query algorithm that handles duration queries
3711         correctly.
3712
3713         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3714         (gst_element_get_state_func), (gst_element_abort_state),
3715         (gst_element_commit_state), (gst_element_lost_state):
3716         Some more debugging.
3717
3718         * gst/gstmessage.h:
3719         Added doc.
3720
3721 2005-10-25  Wim Taymans  <wim@fluendo.com>
3722
3723         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3724         Don't use invalid stream_time.
3725
3726         * gst/gstevent.c: (gst_event_new_newsegment):
3727         stream_time in newsegment cannot be undefined.
3728
3729 2005-10-24  Wim Taymans  <wim@fluendo.com>
3730
3731         * gst/gstbus.c:
3732         Doc fix.
3733
3734         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3735         (gst_queue_loop):
3736         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3737
3738 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3739
3740         * docs/libs/tmpl/gstdparam.sgml:
3741         * docs/libs/tmpl/gstdplinint.sgml:
3742         * docs/libs/tmpl/gstdpman.sgml:
3743         * docs/libs/tmpl/gstdpsmooth.sgml:
3744         * docs/libs/tmpl/gstunitconvert.sgml:
3745           these are obsolete
3746
3747 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3748
3749         * configure.ac:
3750           back to HEAD
3751
3752 === release 0.9.4 ===
3753
3754 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3755
3756         * configure.ac:
3757           releasing 0.9.4, "Tyrannosaurus Rex"
3758
3759 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3760
3761         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3762         (gst_file_sink_get_current_offset):
3763           Use fseeko() and ftello() if available. When falling back on
3764           lseek() to get the current offset, fflush() first to make sure
3765           everything is up-to-date and we get the right offset.
3766
3767 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3768
3769         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3770         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3771         * gst/gsterror.c: (_gst_stream_errors_init):
3772         * gst/gsterror.h:
3773         * gst/gstqueue.c: (gst_queue_loop):
3774         * po/POTFILES.in:
3775           remove prematurely added error category and clean up the instances
3776
3777 2005-10-21  Wim Taymans  <wim@fluendo.com>
3778
3779         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3780         (gst_base_sink_get_position), (gst_base_sink_query),
3781         (gst_base_sink_change_state):
3782         Simply set the right flag when going to playing, that's all
3783         we need to do instead of calling a function inside the object
3784         lock (that could take the lock as well and deadlock)
3785
3786 2005-10-21  Wim Taymans  <wim@fluendo.com>
3787
3788         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3789         (gst_base_src_loop):
3790         Don't warn, the peer element knows what to do best when
3791         the seek failed, it might try something else.
3792
3793 2005-10-21  Wim Taymans  <wim@fluendo.com>
3794
3795         * gst/base/gstbasesrc.c: (gst_base_src_init),
3796         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3797         Fix seeking.
3798
3799 2005-10-21  Wim Taymans  <wim@fluendo.com>
3800
3801         * docs/design/part-segments.txt:
3802         More docs.
3803
3804         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3805         Correctly set caps, even on the subbufer.
3806
3807 2005-10-21  Wim Taymans  <wim@fluendo.com>
3808
3809         * docs/gst/gstreamer-docs.sgml:
3810         * docs/gst/gstreamer-sections.txt:
3811         * gst/gstelement.h:
3812         * gst/gstevent.c:
3813         * gst/gstevent.h:
3814         * gst/gstmessage.h:
3815         * gst/gstpad.h:
3816         * gst/gstparse.h:
3817         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3818         * gst/gsttask.h:
3819         * gst/gstutils.c:
3820         * gst/gstutils.h:
3821         And 2% more doc coverage.
3822
3823 2005-10-21  Andy Wingo  <wingo@pobox.com>
3824
3825         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3826         position reporting.
3827
3828 2005-10-20  Wim Taymans  <wim@fluendo.com>
3829
3830         * gst/gsterror.c: (gst_error_get_message):
3831         * gst/gstparse.h:
3832         * gst/gstquery.h:
3833         * gst/gststructure.c:
3834         * gst/gsttrace.c:
3835         * gst/gstutils.c:
3836         More docs.
3837
3838 2005-10-20  Wim Taymans  <wim@fluendo.com>
3839
3840         * gst/gstbuffer.h:
3841         * gst/gstpad.c:
3842         * gst/gstparse.c:
3843         Another 1% more coverage.
3844
3845 2005-10-20  Wim Taymans  <wim@fluendo.com>
3846
3847         * docs/gst/gstreamer-sections.txt:
3848         * gst/gstelement.c: (gst_element_get_state_func),
3849         (gst_element_abort_state), (gst_element_commit_state),
3850         (gst_element_lost_state):
3851         * gst/gstevent.h:
3852         * gst/gstquery.c: (gst_query_set_position),
3853         (gst_query_parse_position), (gst_query_set_duration),
3854         (gst_query_parse_duration), (gst_query_new_convert):
3855         * gst/gstutils.c:
3856         Yay! 1% more docs coverage.
3857
3858 2005-10-20  Wim Taymans  <wim@fluendo.com>
3859
3860         * gst/gstpad.h:
3861         * gst/gstquery.c: (gst_query_set_position),
3862         (gst_query_parse_position), (gst_query_set_duration),
3863         (gst_query_parse_duration), (gst_query_new_convert):
3864         * gst/gstquery.h:
3865         * gst/gstutils.c: (gst_element_query_convert):
3866         * gst/gstutils.h:
3867         Docs and consistency fixes.
3868
3869 2005-10-20  Wim Taymans  <wim@fluendo.com>
3870
3871         * gst/gsttask.c:
3872         * gst/gsttask.h:
3873         More docs.
3874
3875 2005-10-20  Wim Taymans  <wim@fluendo.com>
3876
3877         * gst/gstbin.c: (message_check), (bin_replace_message),
3878         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3879         (update_degree), (gst_bin_sort_iterator_next),
3880         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3881         Reworked the message handling a bit, cache the messages instead of
3882         only the senders. alows us to do more in the future.
3883
3884 2005-10-20  Wim Taymans  <wim@fluendo.com>
3885
3886         * docs/design/part-TODO.txt:
3887         Update TODO
3888
3889         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3890         (gst_base_sink_query):
3891         Don't use clock time to report position when in EOS.
3892
3893 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3894
3895         * tools/gst-inspect.c: (print_interfaces),
3896         (print_element_properties_info), (print_element_info):
3897           Fix interface output with gst-inspect -a; don't print
3898           newlines after double/float properties.
3899
3900 2005-10-20  Wim Taymans  <wim@fluendo.com>
3901
3902         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3903         (gst_base_sink_query):
3904         Speed up current position calculation.
3905
3906         * gst/base/gstbasesrc.c: (gst_base_src_query),
3907         (gst_base_src_default_newsegment):
3908         Correctly set stream position in newsegment.
3909
3910         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3911         (update_degree), (gst_bin_sort_iterator_next),
3912         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3913         * gst/gstmessage.c: (gst_message_new_custom):
3914         Clean up debugging info
3915
3916         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3917         (gst_queue_loop), (gst_queue_handle_src_query):
3918         Pause task faster.
3919
3920 2005-10-19  Wim Taymans  <wim@fluendo.com>
3921
3922         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3923         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3924         Fix query handling again.
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         * gst/base/gstbasesrc.c: (gst_base_src_query):
3931         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3932         * gst/elements/gsttypefindelement.c:
3933         (gst_type_find_handle_src_query), (find_element_get_length),
3934         (gst_type_find_element_activate):
3935         API change fix.
3936
3937         * gst/gstquery.c: (gst_query_new_position),
3938         (gst_query_set_position), (gst_query_parse_position),
3939         (gst_query_new_duration), (gst_query_set_duration),
3940         (gst_query_parse_duration), (gst_query_set_segment),
3941         (gst_query_parse_segment):
3942         * gst/gstquery.h:
3943         Bundling query position/duration is not a good idea since duration
3944         does not change much and we don't want to recalculate it for every
3945         position query, so they are separated again..
3946         Base value in segment query is not needed.
3947
3948         * gst/gstqueue.c: (gst_queue_handle_src_query):
3949         * gst/gstutils.c: (gst_element_query_position),
3950         (gst_element_query_duration), (gst_pad_query_position),
3951         (gst_pad_query_duration):
3952         * gst/gstutils.h:
3953         Updates for query API change.
3954         Added some docs here and there.
3955
3956 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3957
3958         * check/gst/gstbin.c: (GST_START_TEST):
3959         * check/gst/gstghostpad.c: (GST_START_TEST):
3960         * check/pipelines/cleanup.c: (GST_START_TEST):
3961           wait on thread to die so we can check refcount correctly
3962
3963 2005-10-18  Wim Taymans  <wim@fluendo.com>
3964
3965         * check/pipelines/stress.c: (GST_START_TEST):
3966         Make check a little more time consuming.
3967
3968 2005-10-18  Wim Taymans  <wim@fluendo.com>
3969
3970         * check/Makefile.am:
3971         * check/pipelines/stress.c: (GST_START_TEST),
3972         (simple_launch_lines_suite), (main):
3973         Small state change torture test.
3974
3975         * docs/design/part-states.txt:
3976         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3977         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3978         (gst_base_sink_change_state):
3979         Never take state lock from streaming thread, clean up ugly
3980         hacks. Unfortunatly core does not yet support nice ways to
3981         async commit state.
3982         
3983         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3984         (bin_bus_handler):
3985         Start state recalc if a STATE_DIRTY message is posted, but only
3986         on the toplevel bin.
3987
3988         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3989         (gst_element_get_state_func), (gst_element_abort_state),
3990         (gst_element_commit_state), (gst_element_lost_state),
3991         (gst_element_set_state_func), (gst_element_change_state):
3992         * gst/gstelement.h:
3993         State variables are now protected with the LOCK, the state
3994         lock is only used to serialize _set_state().
3995
3996 2005-10-18  Wim Taymans  <wim@fluendo.com>
3997
3998         * check/gst/gstbin.c: (GST_START_TEST):
3999         * check/gst/gstmessage.c: (GST_START_TEST):
4000         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4001         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4002         (bin_bus_handler):
4003         * gst/gstelement.c: (gst_element_abort_state),
4004         (gst_element_commit_state), (gst_element_lost_state):
4005         * gst/gstmessage.c: (gst_message_new_state_changed),
4006         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4007         (gst_message_new_segment_done), (gst_message_new_duration),
4008         (gst_message_parse_state_changed),
4009         (gst_message_parse_segment_start),
4010         (gst_message_parse_segment_done), (gst_message_parse_duration):
4011         * gst/gstmessage.h:
4012         * tools/gst-launch.c: (event_loop):
4013         Seriously, this is better than a previous commit as we only need
4014         to notify the fact that an element changed state in a streaming
4015         thread, marking the state of the parents dirty, hence the 
4016         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4017         message.
4018
4019 2005-10-18  Wim Taymans  <wim@fluendo.com>
4020
4021         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4022         (gst_bin_recalc_func):
4023         * gst/gstelement.c: (gst_element_set_clock),
4024         (gst_element_abort_state), (gst_element_lost_state):
4025         Cleanups, prepare for state change fixes.
4026
4027 2005-10-18  Wim Taymans  <wim@fluendo.com>
4028
4029         * gst/gstbin.h:
4030         * gst/gstelement.c: (gst_element_class_init),
4031         (gst_element_set_state), (gst_element_set_state_func):
4032         * gst/gstelement.h:
4033         Pending ABI changes.
4034         GThreadPool in GstBinClass to monitor async state changes.
4035         state_cookie in GstElement to detect concurrent gst/set state.
4036         set_state is now virtual too in case a very complicated element
4037         has to be constructed.
4038
4039 2005-10-18  Wim Taymans  <wim@fluendo.com>
4040
4041         * check/gst/gstbin.c: (GST_START_TEST):
4042         * check/gst/gstmessage.c: (GST_START_TEST):
4043         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4044         * gst/gstbin.c: (bin_bus_handler):
4045         * gst/gstelement.c: (gst_element_commit_state),
4046         (gst_element_lost_state):
4047         * gst/gstmessage.c: (gst_message_new_state_changed),
4048         (gst_message_new_segment_start), (gst_message_new_segment_done),
4049         (gst_message_new_duration), (gst_message_parse_state_changed),
4050         (gst_message_parse_segment_start),
4051         (gst_message_parse_segment_done), (gst_message_parse_duration):
4052         * gst/gstmessage.h:
4053         * tools/gst-launch.c: (event_loop):
4054         Make messages future proof.
4055         state-change gets a flag if it was a message comming from the
4056         streaming thread.
4057         segment-start/stop can also be specified in other formats.
4058         A message to notify an app that a pipeline changed playback 
4059         duration.
4060         Also fix a GstMessage leak in -launch
4061
4062 2005-10-18  Andy Wingo  <wingo@pobox.com>
4063
4064         * gst/gstelement.c (gst_element_dispose): More helpful message.
4065
4066 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4067
4068         reviewed by: <delete if not using a buddy>
4069
4070         * common/gtk-doc.mak:
4071
4072 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4073
4074         * gst/gstregistry.c: (gst_registry_scan_path_level):
4075           unref a plug-in we get that was already initialized
4076
4077 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4078
4079         * docs/gst/gstreamer-sections.txt:
4080         * docs/libs/gstreamer-libs-sections.txt:
4081         * gst/gstelement.h:
4082           add new api entries
4083           hide internal macro
4084
4085 2005-10-17  Andy Wingo  <wingo@pobox.com>
4086
4087         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4088         cleanup.
4089
4090         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4091
4092         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4093
4094         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4095         (gst_element_get_state_func): Better debug message.
4096         (gst_element_commit_state): s/INFO/DEBUG/.
4097         (gst_element_lost_state, gst_element_change_state): 
4098
4099         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4100         (gst_message_new_custom): s/INFO/LOG/.
4101
4102 2005-10-17  Michael Smith <msmith@fluendo.com>
4103
4104         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4105           Check if end time is valid using end time, not start time.
4106
4107 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4108
4109         * check/gst-libs/controller.c: (GST_START_TEST),
4110         (gst_controller_suite):
4111         * libs/gst/controller/gstcontroller.c:
4112         (gst_controlled_property_set_interpolation_mode):
4113         * libs/gst/controller/gstcontroller.h:
4114         * libs/gst/controller/gstinterpolation.c:
4115         * testsuite/controller/.cvsignore:
4116         * testsuite/controller/Makefile.am:
4117         * testsuite/controller/interpolator.c:
4118           merge controller testsuites
4119           fix broken tests
4120           remove mem-chunk from docs
4121
4122 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4123
4124         * gst/gstmemchunk.c:
4125         * gst/gstmemchunk.h:
4126         * gst/gsttrashstack.c:
4127         * gst/gsttrashstack.h:
4128           out.  get out.  you're fired.  to the Attic !
4129
4130 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4131
4132         * gst/gstcaps.c: (gst_caps_intersect):
4133           fix signedness issues in a (hopefully) correct way
4134         * gst/gstelement.c: (gst_element_pads_activate):
4135           some debugging
4136         * gst/gstobject.c: (gst_object_set_parent):
4137           some debugging
4138
4139 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4140
4141         * gst/gstvalue.h: Fix prototypes.
4142
4143 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4144
4145         * docs/gst/gstreamer-sections.txt:
4146         * gst/gst.c: (gst_version_string):
4147         * gst/gst.h:
4148         * gst/gstversion.h.in:
4149         * win32/common/libgstreamer.def:
4150           add gst_version_string ()
4151
4152 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4153
4154         * configure.ac:
4155           clean up further
4156         * gst/gst.c: (init_post):
4157         * win32/common/config.h.in:
4158           it's PLUGINDIR now
4159         * gst/gstcaps.c: (gst_caps_intersect):
4160           use gint64, the range could be bigger than a guint
4161
4162 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4163
4164         * gst/gstclock.h:
4165           document potential problem in 2038
4166
4167 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4168
4169         * gst/gstcaps.c: (gst_caps_intersect):
4170           Fix guint j diving under 0
4171
4172 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4173
4174         * configure.ac:
4175         * win32/common/config.h:
4176         * win32/common/config.h.in:
4177           check for process.h, declares getpid() on Windows
4178         * gst/gstinfo.c:
4179           include process.h if we have it
4180         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4181         * gst/gstmemchunk.h:
4182           fix signedness issues
4183         * win32/common/libgstreamer.def:
4184           fix get_type's
4185
4186 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4187
4188         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4189         fix. Because of unsigned ints, caps intersection was going nuts and
4190         trying to access structures with G_MAXUINT index. That fixes
4191         videotestsrc ! ffmpegcolorspace ! fakesink
4192         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4193         consistency.
4194
4195 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4196
4197         * configure.ac:
4198           use the gettext macro
4199         * gst/elements/gstelements.c:
4200         * gst/gst.c:
4201         * gst/indexers/gstindexers.c:
4202           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4203         * win32/common/config.h:
4204           updated config.h
4205         * win32/common/config.h.in:
4206           add the template to generate config.h
4207         * win32/common/gstenumtypes.c:
4208         * win32/common/gstversion.h:
4209           updated copies
4210
4211 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4212
4213         * gst/gst.c: (gst_version):
4214         * gst/gstversion.h.in:
4215           add the nano
4216
4217 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4218
4219         * gst/gstevent.h:
4220           Oops, add missing closing bracket.
4221
4222 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4223
4224         * configure.ac:
4225           use common m4's for argument checking
4226
4227 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4228
4229         * docs/gst/gstreamer-sections.txt:
4230         * gst/gstevent.h:
4231           Add GST_EVENT_TYPE_NAME() macro.
4232
4233 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4234
4235         * gst/gstinfo.c:
4236         * gst/gstpluginfeature.c:
4237         * gst/gsttask.c:
4238           privatize more symbols
4239
4240 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4241
4242         * configure.ac:
4243           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4244           everything that uses GStreamer API should have the includes
4245
4246 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4247
4248         * docs/gst/gstreamer-sections.txt:
4249         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4250         * gst/gstvalue.h:
4251           give each value a _get_type, removes the DATA exports
4252
4253 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4254
4255         * gst/gst.c:
4256         * gst/gst.h:
4257           remove _gst_registry_auto_load, not used anymore
4258         * gst/gstbin.c: (gst_bin_get_type):
4259         * gst/gstbin.h:
4260         * gst/gstelement.c: (gst_element_get_type):
4261         * gst/gstelement.h:
4262         * gst/gstobject.c: (gst_object_get_type):
4263         * gst/gstobject.h:
4264         * gst/gstpad.c: (gst_pad_get_type):
4265         * gst/gstpad.h:
4266           make _get_type functions similar, fixes data export from library
4267
4268 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4269
4270         * configure.ac:
4271           correctly make conditionals
4272         * gst/elements/Makefile.am:
4273         * gst/elements/gstelements.c:
4274           fix typo causing fdsrc not to build
4275
4276 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4277
4278         * testsuite/Makefile.am:
4279         * testsuite/bytestream/.cvsignore:
4280         * testsuite/bytestream/Makefile.am:
4281         * testsuite/bytestream/filepadsink.c:
4282         * testsuite/bytestream/gstbstest.c:
4283         * testsuite/bytestream/test1.c:
4284         * testsuite/bytestream/testfile1:
4285         * testsuite/caps/normalisation.c:
4286         * testsuite/caps/random.c: (main):
4287         * testsuite/cleanup/.cvsignore:
4288         * testsuite/cleanup/Makefile.am:
4289         * testsuite/cleanup/cleanup1.c:
4290         * testsuite/cleanup/cleanup2.c:
4291         * testsuite/cleanup/cleanup3.c:
4292         * testsuite/cleanup/cleanup4.c:
4293         * testsuite/cleanup/cleanup5.c:
4294         * testsuite/controller/interpolator.c:
4295         * testsuite/debug/printf_extension.c: (main):
4296         * testsuite/elements/tee.c:
4297         * testsuite/negotiation/.cvsignore:
4298         * testsuite/negotiation/Makefile.am:
4299         * testsuite/negotiation/pad_link.c:
4300         * testsuite/pad/Makefile.am:
4301         * testsuite/pad/chainnopull.c:
4302         * testsuite/pad/getnopush.c:
4303         * testsuite/pad/link.c:
4304         * testsuite/refcounting/sched.c: (create_pipeline):
4305         * testsuite/registry/Makefile.am:
4306         * testsuite/registry/gst-print-formats.c:
4307         * testsuite/schedulers/.cvsignore:
4308         * testsuite/schedulers/142183-2.c:
4309         * testsuite/schedulers/142183.c:
4310         * testsuite/schedulers/143777-2.c:
4311         * testsuite/schedulers/143777.c:
4312         * testsuite/schedulers/147713.c:
4313         * testsuite/schedulers/147819.c:
4314         * testsuite/schedulers/147894-2.c:
4315         * testsuite/schedulers/147894.c:
4316         * testsuite/schedulers/Makefile.am:
4317         * testsuite/schedulers/group_link.c:
4318         * testsuite/schedulers/queue_link.c:
4319         * testsuite/schedulers/relink.c:
4320         * testsuite/schedulers/unlink.c:
4321         * testsuite/schedulers/unref.c:
4322         * testsuite/schedulers/useless_iteration.c:
4323         * testsuite/states/bin.c:
4324           clean out/remove some stuff from the testsuite directories
4325
4326 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4327
4328         * configure.ac:
4329           check for some headers
4330         * gst/elements/Makefile.am:
4331         * gst/elements/gstelements.c:
4332           don't compile fdsrc without sys/socket.h
4333         * gst/indexers/Makefile.am:
4334         * gst/indexers/gstindexers.c: (plugin_init):
4335           don't compile fileindex without mmap
4336
4337 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4338
4339         * configure.ac:
4340           reorganize
4341           clean up
4342           document more
4343           remove cruft
4344         * check/Makefile.am:
4345         * docs/gst/Makefile.am:
4346         * examples/helloworld/Makefile.am:
4347         * gst/Makefile.am:
4348         * gst/base/Makefile.am:
4349         * gst/check/Makefile.am:
4350         * gst/elements/Makefile.am:
4351         * gst/indexers/Makefile.am:
4352         * gst/parse/Makefile.am:
4353         * libs/gst/controller/Makefile.am:
4354         * libs/gst/dataprotocol/Makefile.am:
4355         * examples/helloworld/helloworld.c: (event_loop):
4356           compile fixes, though it's not being compiled currently
4357
4358 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4359
4360         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4361           Add some simple tests for the new taglist date API.
4362
4363 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4364
4365         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4366         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4367           Beautify 'last-message' output: print 'none' for buffer timestamps
4368           and durations if none is set; improve alignment with next messages.
4369
4370 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4371
4372         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4373         * gst/gstpluginfeature.h:
4374         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4375         * gst/gstregistry.h:
4376         * docs/gst/gstreamer-sections.txt:
4377           Add new API to check plugin feature version requirements.
4378
4379         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4380           Some basic tests for the above.         
4381
4382 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4383
4384         * gst/gststructure.c: (gst_structure_to_string):
4385           guard against NULL printf - happens when for example
4386           a message structure with GstClock gets serialized
4387
4388 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4389
4390         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4391           Fix presumable copy'n'pasto.
4392
4393 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4394
4395         * gst/elements/gstfakesrc.h:
4396         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4397         * gst/elements/gsttypefindelement.c:
4398           fix some signedness
4399         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4400           I wonder if this could actually write +2GB files before
4401
4402 2005-10-13  Andy Wingo  <wingo@pobox.com>
4403
4404         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4405         Fix Timmeke Waymans bug.
4406         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4407         string of the proper length to gst_caps_from_string. There's a
4408         potential for, before this fix, that this could cause someone
4409         connecting over the network to cause a segfault if the payload is
4410         not NUL-terminated.
4411
4412 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4413
4414         * docs/design/draft-push-pull.txt:
4415         * docs/design/part-overview.txt:
4416         * docs/random/TODO-pre-0.9:
4417         * docs/random/old/ChangeLog.gstreamer:
4418         * gst/base/gstpushsrc.c:
4419         * gst/gstclock.c:
4420           fixed typos
4421
4422 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4423
4424         * gst/glib-compat.c: (gst_flags_get_first_value):
4425         * gst/glib-compat.h:
4426         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4427         (gst_value_compare_double), (gst_value_serialize_flags):
4428           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4429           infinite loop
4430
4431 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4432
4433         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4434         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4435           fix up debugging
4436         * tools/gst-launch.c: (event_loop):
4437           print out clock nicely
4438
4439 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4440
4441         * docs/gst/gstreamer-sections.txt:
4442         * gst/gsttaglist.h:
4443         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4444         (gst_tag_list_get_date_index):
4445           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4446           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4447
4448 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4449
4450         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4451         (gst_collectpads_chain):
4452         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4453         in CollectData.
4454
4455 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4456
4457         * docs/gst/gstreamer-sections.txt:
4458         * gst/gst.c:
4459         * gst/gsterror.h:
4460         * tools/gst-inspect.c: (main):
4461         * tools/gst-launch.c: (main):
4462         * tools/gst-run.c: (main):
4463         * tools/gst-xmlinspect.c: (main):
4464           fix GOption context leaks
4465           doc fixes
4466
4467 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4468
4469         * gst/gstbus.c:
4470           use HAVE_UNISTD_H
4471         * win32/common/config.h:
4472           update config
4473         * win32/vs6/grammar.dsp:
4474         * win32/vs6/libgstelements.dsp:
4475         * win32/vs6/libgstreamer.dsp:
4476           update vs6 files
4477
4478 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4479
4480         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4481         * gst/base/gstbasesrc.c: (gst_base_src_query):
4482           fix more guint64<->gdouble conversions
4483
4484 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4485
4486         * Makefile.am:
4487           add win32-update target
4488         * win32/common/gstconfig.h:
4489         * win32/common/gstenumtypes.c:
4490         * win32/common/gstenumtypes.h:
4491         * win32/common/gstversion.h:
4492           add files that visual studio can't generate
4493
4494 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4495
4496         * Makefile.am:
4497           add a win32-update target
4498         * configure.ac:
4499
4500 2005-10-12  Wim Taymans  <wim@fluendo.com>
4501
4502         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4503         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4504         * gst/gstelement.c: (gst_element_commit_state),
4505         (gst_element_set_state):
4506         Protect flags with proper lock.
4507         unref provided cached clock in dispose.
4508
4509 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4510
4511         * gst/gst.c:
4512         * gst/gstminiobject.h:
4513         * gst/gstpad.h:
4514         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4515           removed unused flags from miniobject
4516           doc fixes
4517
4518 2005-10-12  Wim Taymans  <wim@fluendo.com>
4519
4520         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4521         (gst_file_sink_event), (gst_file_sink_render):
4522         Flush before seeking.
4523
4524 2005-10-12  Andy Wingo  <wingo@pobox.com>
4525
4526         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4527         always been the case.
4528
4529 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4530
4531         * check/gst/gstbin.c: (GST_START_TEST):
4532         * docs/gst/gstreamer-sections.txt:
4533         * gst/base/gstbasesink.c: (gst_base_sink_init):
4534         * gst/base/gstbasesrc.c: (gst_base_src_init),
4535         (gst_base_src_get_range), (gst_base_src_check_get_range),
4536         (gst_base_src_start), (gst_base_src_stop):
4537         * gst/base/gstbasesrc.h:
4538         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4539         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4540         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4541         (bin_bus_handler):
4542         * gst/gstbin.h:
4543         * gst/gstbuffer.h:
4544         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4545         * gst/gstbus.h:
4546         * gst/gstelement.c: (gst_element_is_locked_state),
4547         (gst_element_set_locked_state), (gst_element_commit_state),
4548         (gst_element_set_state):
4549         * gst/gstelement.h:
4550         * gst/gstindex.c: (gst_index_init):
4551         * gst/gstindex.h:
4552         * gst/gstminiobject.h:
4553         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4554         (gst_object_set_parent):
4555         * gst/gstobject.h:
4556         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4557         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4558         * gst/gstpad.h:
4559         * gst/gstpadtemplate.h:
4560         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4561         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4562         * gst/gstpipeline.h:
4563         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4564         (gst_file_index_commit):
4565         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4566         * testsuite/pad/link.c: (gst_test_src_init),
4567         (gst_test_filter_init), (gst_test_sink_init):
4568         * testsuite/states/locked.c: (main):
4569           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4570           moved bitshift from macro to enum definition
4571
4572 2005-10-12  Wim Taymans  <wim@fluendo.com>
4573
4574         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4575         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4576         (gst_file_sink_render):
4577         Some more debugging info.
4578
4579 2005-10-12  Wim Taymans  <wim@fluendo.com>
4580
4581         * docs/design/part-states.txt:
4582         * tools/gst-launch.c: (main):
4583         Some doc updates.
4584         Revert non-intentional change.
4585
4586 2005-10-12  Wim Taymans  <wim@fluendo.com>
4587
4588         * check/gst/gstbin.c: (GST_START_TEST):
4589         * check/gst/gstelement.c: (GST_START_TEST):
4590         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4591         * check/gst/gstghostpad.c: (GST_START_TEST):
4592         * check/gst/gstpipeline.c: (GST_START_TEST):
4593         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4594         * check/states/sinks.c: (GST_START_TEST):
4595         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4596         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4597         (gst_bin_remove_func), (gst_bin_get_state_func),
4598         (gst_bin_recalc_state), (gst_bin_change_state_func),
4599         (bin_bus_handler):
4600         * gst/gstelement.c: (gst_element_get_state_func),
4601         (gst_element_get_state), (gst_element_abort_state),
4602         (gst_element_commit_state), (gst_element_set_state),
4603         (gst_element_change_state), (gst_element_change_state_func):
4604         * gst/gstelement.h:
4605         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4606         (gst_pipeline_provide_clock_func):
4607         * gst/gstutils.c: (gst_element_link_pads_filtered):
4608         * tools/gst-launch.c: (main):
4609         * tools/gst-typefind.c: (main):
4610         Use GstClockTime in _get_state() instead of GTimeVal.
4611         Remove old code in gstutils.c
4612
4613 2005-10-12  Andy Wingo  <wingo@pobox.com>
4614
4615         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4616         removed.
4617
4618         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4619         there is no task. Shouldn't affect any code, as nothing in our
4620         plugins checks this return value.
4621         (gst_pad_stop_task): Also take the stream lock if the pad has no
4622         task. Docs updated.
4623
4624 2005-10-12  Wim Taymans  <wim@fluendo.com>
4625
4626         * gst/gstpad.c: (pre_activate), (post_activate),
4627         (gst_pad_activate_pull), (gst_pad_activate_push):
4628         Cleanup activation code. Reset old state if
4629         activation failed.
4630
4631 2005-10-12  Wim Taymans  <wim@fluendo.com>
4632
4633         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4634         (gst_base_sink_change_state):
4635         No need to prerol after receiving EOS.
4636
4637         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4638         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4639         * gst/elements/gstidentity.c: (gst_identity_event):
4640         Print events more verbosely.
4641
4642 2005-10-12  Wim Taymans  <wim@fluendo.com>
4643
4644         * check/Makefile.am:
4645         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4646         * check/states/sinks2.c:
4647         Moved sinks2 testcode in sinks check.
4648
4649         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4650         (gst_bin_remove_func), (gst_bin_recalc_state),
4651         (gst_bin_change_state_func), (bin_bus_handler):
4652         Fix potential race condition when _get_state() iterated over an
4653         ASYNC element right before it posted a state completion.
4654
4655         * gst/gstclock.h:
4656         Do proper cast here.
4657
4658         * gst/gstevent.c: (gst_event_new_newsegment),
4659         (gst_event_parse_newsegment):
4660         A playback rate of 0.0 is not allowed.
4661
4662 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4663
4664         * win32/common/config.h:
4665         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4666         (_trewinddir), (_ttelldir), (_tseekdir):
4667         * win32/common/dirent.h:
4668         * win32/common/gtchar.h:
4669         * win32/common/libgstbase.def:
4670         * win32/common/libgstreamer.def:
4671         * win32/vs6/grammar.dsp:
4672         * win32/vs6/gst_inspect.dsp:
4673         * win32/vs6/gst_launch.dsp:
4674         * win32/vs6/gstreamer.dsw:
4675         * win32/vs6/libgstbase.dsp:
4676         * win32/vs6/libgstelements.dsp:
4677         * win32/vs6/libgstreamer.dsp:
4678           Visual Studio 6 project files, and a new common directory.
4679           Phear.
4680
4681 2005-10-11  Wim Taymans  <wim@fluendo.com>
4682
4683         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4684         (gst_base_sink_do_sync), (gst_base_sink_query),
4685         (gst_base_sink_change_state):
4686         * gst/base/gstbasesink.h:
4687         Correctly parse newsegment info.
4688
4689 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4690
4691         * gst/gst.c: (init_post):
4692           split plugin paths correctly
4693
4694 2005-10-11  Wim Taymans  <wim@fluendo.com>
4695
4696         * check/gst/gstevent.c: (GST_START_TEST):
4697         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4698         (gst_base_sink_change_state):
4699         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4700         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4701         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4702         * gst/gstevent.c: (gst_event_new_newsegment),
4703         (gst_event_parse_newsegment):
4704         * gst/gstevent.h:
4705         Added extra flag to newsegment for future API freeze.
4706         Updated check and base elements.
4707
4708 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4709
4710         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4711         (gst_collectpads_add_pad), (gst_collectpads_pop),
4712         (gst_collectpads_event), (gst_collectpads_chain):
4713         * gst/base/gstcollectpads.h: Handle EOS correctly.
4714
4715 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4716
4717         * tools/gst-launch.c: (main):
4718           more null protecting
4719
4720 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4721
4722         * gst/gst-i18n-lib.h:
4723           check for ENABLE_NLS, not GETTEXT_PACKAGE
4724         * gst/gstregistry.c: (gst_registry_add_plugin),
4725         (gst_registry_scan_path_level),
4726         (_gst_registry_remove_cache_plugins):
4727           protect possibly NULL strings
4728         * gst/parse/types.h:
4729           config.h already included before
4730         * tools/gst-inspect.c: (main):
4731           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4732           check for ENABLE_NLS, not GETTEXT_PACKAGE
4733         * tools/gst-launch.c: (main):
4734           check for ENABLE_NLS, not GETTEXT_PACKAGE
4735
4736 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4737
4738         * configure.ac:
4739           if we don't have glib, fail before testing 2.8
4740         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4741           fix a leak, should fix plugins-base testsuite
4742
4743 2005-10-11  Andy Wingo  <wingo@pobox.com>
4744
4745         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4746         take the mode we're going to as an arg. Go head and set the mode
4747         and flushing flags now, so that if the activate function starts a
4748         thread all the flags will be in the right state.
4749         (post_activate): Renamed also. Just handle making sure streaming
4750         finishes for the deactivation case, and setting the deactivated
4751         mode.
4752         (gst_pad_set_active): Complain loudly if deactivation fails.
4753         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4754         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4755         remove the terrible hack.
4756
4757 2005-10-11  Wim Taymans  <wim@fluendo.com>
4758
4759         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4760         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4761         (gst_bin_recalc_state), (gst_bin_change_state_func),
4762         (gst_bin_dispose), (bin_bus_handler):
4763         * gst/gstbin.h:
4764         Prepare to make current EOS message queue more generic.
4765         Fix some typos.
4766
4767         * gst/gstevent.c: (gst_event_new_newsegment),
4768         (gst_event_parse_newsegment):
4769         * gst/gstevent.h:
4770         Rename base to stream_time.
4771
4772         * gst/gstmessage.h:
4773         Fix typo in docs.
4774
4775 2005-10-11  Wim Taymans  <wim@fluendo.com>
4776
4777         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4778         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4779         (gst_bin_change_state_func), (bin_bus_handler):
4780         * gst/gstbin.h:
4781         Work on proper clock selection.
4782
4783 2005-10-11  Edward Hervey  <edward@fluendo.com>
4784
4785         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4786         * libs/gst/controller/gstcontroller.h:
4787         Added GList* version of _remove_properties() in order to be able to wrap
4788         it in bindings.
4789
4790 2005-10-11  Wim Taymans  <wim@fluendo.com>
4791
4792         * docs/design/part-states.txt:
4793         Some more docs.
4794
4795         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4796         (gst_bin_change_state_func), (bin_bus_handler):
4797         Doc updates. Don't distribute the same clock over and over again.
4798
4799         * gst/gstclock.c:
4800         * gst/gstclock.h:
4801         Doc updates.
4802
4803         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4804         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4805         (gst_pad_send_event):
4806         * gst/gstpad.h:
4807         Make probe emission threadsafe again.
4808         Register quarks and move _get_name() from utils.
4809         Doc updates.
4810
4811         * gst/gstpipeline.c: (gst_pipeline_class_init),
4812         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4813         Only redistribute the clock of it changed.
4814
4815         * gst/gstsystemclock.h:
4816         Doc updates. 
4817
4818         * gst/gstutils.c:
4819         * gst/gstutils.h:
4820         Moved the _flow_get_name() to GstPad.
4821
4822 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4823
4824         * check/gst-libs/gdp.c: (GST_START_TEST):
4825         * check/gst/gstcaps.c: (GST_START_TEST):
4826         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4827         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4828         (gst_dp_packet_from_caps):
4829           fix more valgrind warnings before turning up the heat
4830
4831 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4832
4833         * gst/parse/grammar.y:
4834           some cleanup before the hacking
4835
4836 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4837
4838         * gst/base/gstbasesrc.c: (gst_base_src_query):
4839           use conversions
4840         * gst/gstutils.c: (gst_guint64_to_gdouble),
4841         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4842         * gst/gstutils.h:
4843           externalize, basesrc uses it
4844           obviously the implementation needs testing
4845
4846 2005-10-10  Wim Taymans  <wim@fluendo.com>
4847
4848         * tests/sched/Makefile.am:
4849         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4850         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4851
4852 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4853
4854         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4855           apparently converting from guint64 to double is not implemented
4856           on MSVC
4857
4858 2005-10-10  Wim Taymans  <wim@fluendo.com>
4859
4860         * check/Makefile.am:
4861         * check/generic/states.c: (GST_START_TEST):
4862         * check/gst/gstbin.c: (GST_START_TEST):
4863         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4864         * check/states/sinks.c: (GST_START_TEST):
4865         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4866         (main):
4867         Check fixes, use API as stated in design docs, remove hacks.
4868
4869         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4870         (gst_base_sink_change_state):
4871         Catch stopping our task while we're shutting down.
4872
4873         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4874         (gst_bin_remove_func), (gst_bin_get_state_func),
4875         (gst_bin_recalc_state), (gst_bin_change_state_func),
4876         (bin_bus_handler):
4877         * gst/gstbin.h:
4878         * gst/gstelement.c: (gst_element_init),
4879         (gst_element_get_state_func), (gst_element_abort_state),
4880         (gst_element_commit_state), (gst_element_lost_state),
4881         (gst_element_set_state), (gst_element_change_state),
4882         (gst_element_change_state_func):
4883         * gst/gstelement.h:
4884         New state change algorithm (see #318116)
4885
4886         * gst/gstpipeline.c: (gst_pipeline_class_init),
4887         (gst_pipeline_init), (gst_pipeline_set_property),
4888         (gst_pipeline_get_property), (do_pipeline_seek),
4889         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4890         * gst/gstpipeline.h:
4891         Remove crude state change hacks.
4892
4893         * gst/gstutils.h:
4894         Remove crude hacks.
4895
4896         * tools/gst-launch.c: (main):
4897         Fixes for state change. Needs some more work to fully use the
4898         new stuff.
4899
4900 2005-10-10  Andy Wingo  <wingo@pobox.com>
4901
4902         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4903
4904         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4905         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4906         issue.
4907
4908 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4909
4910         * gst/gstiterator.c: (gst_iterator_new):
4911           Fix my previous commit: GTypes passed to gst_iterator_new()
4912           can be fundamental types.
4913
4914 2005-10-10  Wim Taymans  <wim@fluendo.com>
4915
4916         * gst/gstelement.c: (gst_element_iterate_pad_list),
4917         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4918         (gst_element_iterate_sink_pads):
4919         Use src/sink pads lists for the respective iterators instead
4920         of filtering.
4921
4922 2005-10-10  Andy Wingo  <wingo@pobox.com>
4923
4924         Merged in popt removal + GOption addition patch from Ronald, bug
4925         #169772.
4926
4927         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4928         GstElement macros around, remove popt-related symbols, add goption
4929         stuff.
4930
4931         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4932         
4933         * docs/gst/Makefile.am:
4934         * docs/libs/Makefile.am: No POPT_CFLAGS.
4935         
4936         * examples/manual/Makefile.am:
4937         * docs/manual/basics-init.xml: Doc updates with an example.
4938         
4939         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4940         (gst_init), (parse_one_option), (parse_goption_arg):
4941         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4942         bit of hand merging and debugging to get the GOption stuff working
4943         tho.
4944         
4945         * tests/Makefile.am:
4946         * tools/Makefile.am:
4947         * tools/gst-inspect.c: (main):
4948         * tools/gst-launch.c: (main):
4949         * tools/gst-run.c: (main):
4950         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4951
4952 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4953
4954         * gst/gstiterator.c: (gst_iterator_new):
4955           Add assertions to make sure passed GType is likely to really
4956           be a GType (as the compiler won't catch it if the size and
4957           GType arguments get mixed up, see #318447).
4958
4959 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4960
4961         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4962
4963         * gst/gstbin.c: (gst_bin_iterate_sorted):
4964           Pass GType and size arguments to gst_iterator_new() in the right
4965           order (maybe we should make _new() take the GType as first argument
4966           just like _new_list()?) (#318447).
4967           
4968
4969 2005-10-10  Wim Taymans  <wim@fluendo.com>
4970
4971         * gst/gstelement.c: (gst_element_finalize):
4972         And free the GStaticRecMutex too
4973
4974 2005-10-10  Andy Wingo  <wingo@pobox.com>
4975
4976         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4977         Allocate and free the mutex properly.
4978
4979         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4980         New macros.
4981         (GstElement): The state_lock is now recursive. Rebuild your
4982         plugins, suckers. Old macros adapted.
4983
4984         * docs/gst/gstreamer-sections.txt: Doc updates.
4985
4986         * gst/gstutils.h:
4987         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4988         (g_static_rec_cond_wait): Ported from state changes patch, while
4989         we wait on bug #317802 to be solved in a well-distributed GLib.
4990
4991         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4992         gst_element_change_state, variable name changes.
4993         (gst_element_change_state): Split out of gst_element_set_state in
4994         preparation for the state change merge. Doesn't pay attention to
4995         the 'transition' argument.
4996         (gst_element_set_state): Updates, hopefully purely cosmetic.
4997         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4998         state change patch.
4999         (gst_element_get_state_func): Renamed from get_state, cosmetic
5000         changes.
5001
5002 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5003
5004         * gst/elements/gstelements.c:
5005         * win32/GStreamer.vcproj:
5006         * win32/config.h:
5007         * win32/dirent.c: (_tseekdir):
5008         * win32/gst-inspect.vcproj:
5009         * win32/gst-launch.vcproj:
5010         * win32/gstconfig.h:
5011         * win32/gstelements.vcproj:
5012         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5013         * win32/gstreamer.def:
5014         * win32/msvc71.sln:
5015           updates for the win32 build (patch from Sebastien Moutte)
5016
5017 2005-10-10  Andy Wingo  <wingo@pobox.com>
5018
5019         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5020         gst_bin_get_state, cleaned up (but no logic changes).
5021         (bin_element_is_sink): Comment updates.
5022         (sink_iterator_filter): Remove needless cast.
5023         (gst_bin_iterate_sinks): Doc update.
5024         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5025         cleaned up (but no logic changes).
5026
5027         * check/states/sinks.c (test_src_sink): Cleanups from the state
5028         change patch.
5029         (test_livesrc_sink): Sync on the state.
5030
5031         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5032         the state change patch.
5033
5034         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5035         change patch.
5036
5037         * check/gst/gstbin.c: Merge in some style fixes and additional
5038         checks from Wim's state change patch.
5039
5040 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5041
5042         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5043         (gst_type_find_helper):
5044           Check whether we have the requested data already in our list of
5045           cached buffers before pulling a new buffer; also make the buffer
5046           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5047
5048 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5049
5050         * gst/gstcaps.c:
5051         * gst/gstevent.c:
5052           doc updates
5053         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5054           don't use long long, it's not portable.  Replacing with
5055           gint64 seems to work; let's hope no skeletons fall out of the closet.
5056
5057 2005-10-10  Andy Wingo  <wingo@pobox.com>
5058
5059         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5060
5061 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5062
5063         * docs/gst/gstreamer-sections.txt:
5064         * gst/gstevent.c:
5065         * gst/gstevent.h:
5066         * gst/gstinfo.c:
5067         * gst/gstinfo.h:
5068         * gst/gstmessage.c: (gst_message_parse_state_changed):
5069         * gst/gstpad.c:
5070         * gst/gstpad.h:
5071           more docs, fix compilation
5072
5073 2005-10-09  Philippe Khalaf <burger@speedy.org>
5074         * gst/gstmessage.c:
5075           Fixed a few forgotten variables on previous commit
5076
5077 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5078
5079         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5080           Fix evil typefind crasher: getrange() might return a short
5081           buffer at the end of a file, but gst_type_find_peek() must
5082           either return the full data as requested or NULL, but
5083           never a short buffer.
5084
5085 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5086
5087         * gst/gstmessage.c: (gst_message_new_state_changed),
5088         (gst_message_parse_state_changed):
5089         * gst/gstmessage.h:
5090           don't use "new", it's a C++ keyword
5091
5092 2005-10-08  Wim Taymans  <wim@fluendo.com>
5093
5094         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5095         * gst/gstelement.c: (gst_element_post_message):
5096         * gst/gstpipeline.c: (gst_pipeline_change_state):
5097         Small docs and debug updates.
5098
5099 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5100
5101         * docs/gst/gstreamer-sections.txt:
5102         * gst/gstelementfactory.c:
5103         * gst/gstevent.c:
5104         * gst/gsttaglist.c:
5105           more docs
5106
5107 2005-10-08  Wim Taymans  <wim@fluendo.com>
5108
5109         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5110         (gst_bin_dispose), (bin_bus_handler):
5111         Fix typos, add comments.
5112         Clear EOS list when going to PAUSED from any direction and do it
5113         in a threadsafe way.
5114         Get base time in a threadsafe way too.
5115         Fix confusing debug in the change_state function.
5116         Various other small cleanups.
5117         
5118         * gst/gstelement.c: (gst_element_post_message):
5119         Fix very verbose bus posting code.
5120
5121         * gst/gstpipeline.c: (gst_pipeline_class_init),
5122         (gst_pipeline_set_property), (gst_pipeline_get_property),
5123         (gst_pipeline_change_state):
5124         Small ARG_ -> PROP_ cleanup
5125
5126 2005-10-08  Wim Taymans  <wim@fluendo.com>
5127
5128         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5129         Do a less CPU demanding EOS check because we can.
5130
5131 2005-10-08  Wim Taymans  <wim@fluendo.com>
5132
5133         * libs/gst/dataprotocol/dataprotocol.c:
5134         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5135         (gst_dp_packet_from_event):
5136         * libs/gst/dataprotocol/dataprotocol.h:
5137         * libs/gst/dataprotocol/dp-private.h:
5138         It's about time we bump the version number.
5139         Since event types don't fit in the guint8 anymore describing
5140         the payload type, make payload type 16 bits wide.
5141
5142 2005-10-08  Wim Taymans  <wim@fluendo.com>
5143
5144         * docs/design/part-TODO.txt:
5145         * docs/design/part-clocks.txt:
5146         * docs/design/part-events.txt:
5147         * docs/design/part-gstbin.txt:
5148         * docs/design/part-gstelement.txt:
5149         * docs/design/part-gstpipeline.txt:
5150         * docs/design/part-live-source.txt:
5151         * docs/design/part-messages.txt:
5152         * docs/design/part-overview.txt:
5153         * docs/design/part-states.txt:
5154         Many doc updates.
5155
5156 2005-10-08  Wim Taymans  <wim@fluendo.com>
5157
5158         * gst/gstevent.c:
5159         * gst/gstevent.h:
5160         Fix event quark registration.
5161         Add some space between events so we can insert them in the
5162         right groups.
5163
5164 2005-10-08  Wim Taymans  <wim@fluendo.com>
5165
5166         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5167         (gst_base_sink_handle_buffer):
5168         Better log message.
5169
5170         * gst/gstbus.h:
5171         * gst/gstelement.h:
5172         More docs.
5173
5174         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5175         (gst_queue_set_property), (gst_queue_get_property):
5176         * gst/gstqueue.h:
5177         Remove old unused properties.
5178
5179 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5180         * docs/gst/gstreamer-sections.txt:
5181         * gst/gstmessage.c:
5182         * gst/gstmessage.h:
5183         * gst/gstminiobject.c:
5184         * gst/gstminiobject.h:
5185         * gst/gstobject.h:
5186         * gst/gstpad.h:
5187         * gst/gstutils.h:
5188           lots of new docs and doc fixes
5189
5190 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5191
5192         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5193         * gst/gstplugin.h:
5194         * gst/gstregistry.c: (gst_registry_lookup_locked),
5195         (gst_registry_scan_path_level):
5196         * gst/gstregistryxml.c: (load_plugin):
5197           Only ever load one plugin for a given plugin basename.
5198           This ensures correct overriding of GST_PLUGIN_PATH over
5199           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5200           system installed plugins.
5201
5202 2005-10-08  Wim Taymans  <wim@fluendo.com>
5203
5204         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5205         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5206         Prepare for doing QOS.
5207
5208 2005-10-08  Wim Taymans  <wim@fluendo.com>
5209
5210         * check/gst/gstbin.c: (GST_START_TEST):
5211         * check/pipelines/cleanup.c: (GST_START_TEST):
5212         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5213         Allow new clock message too.
5214
5215 2005-10-08  Wim Taymans  <wim@fluendo.com>
5216
5217         * gst/gstmessage.c: (gst_message_new_error),
5218         (gst_message_new_warning), (gst_message_new_tag),
5219         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5220         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5221         (gst_message_new_segment_start), (gst_message_new_segment_done),
5222         (gst_message_parse_state_changed),
5223         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5224         (gst_message_parse_new_clock):
5225         * gst/gstmessage.h:
5226         Also carry the clock in question.
5227
5228 2005-10-08  Wim Taymans  <wim@fluendo.com>
5229
5230         * gst/gstmessage.c: (gst_message_new_custom),
5231         (gst_message_new_eos), (gst_message_new_error),
5232         (gst_message_new_warning), (gst_message_new_tag),
5233         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5234         (gst_message_new_new_clock), (gst_message_new_segment_start),
5235         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5236         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5237         * gst/gstmessage.h:
5238         Clean up.
5239         Added clock related messages.
5240
5241         * gst/gstpipeline.c: (gst_pipeline_change_state):
5242         Post message when the clock changed.
5243
5244         * tools/gst-launch.c: (event_loop):
5245         Print new clock.
5246
5247 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5248
5249         * tools/gst-inspect.c: (print_element_properties_info):
5250           Can't pass NULL strings to g_print() on windows.
5251
5252 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5253
5254         * docs/Makefile.am:
5255         * docs/gst/Makefile.am:
5256         * docs/gst/gstreamer-docs.sgml:
5257         * docs/gst/running.xml:
5258         * docs/version.entities.in:
5259           add a chapter on running GStreamer.
5260           document GST_DEBUG and GST_PLUGIN* env vars
5261
5262 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5263
5264         * Makefile.am:
5265           remove include dir
5266         * configure.ac:
5267           remove PLUGINS_BUILDDIR stuff
5268         * gst/gst.c: (init_post):
5269           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5270         * idiottest.mak:
5271           remove, it was condescending and not needed
5272
5273 2005-10-08  Wim Taymans  <wim@fluendo.com>
5274
5275         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5276         (gst_base_sink_handle_object), (gst_base_sink_event),
5277         (gst_base_sink_wait), (gst_base_sink_handle_event),
5278         (gst_base_sink_change_state):
5279         * gst/base/gstbasesink.h:
5280         Repost EOS message while going to PLAYING if still EOS.
5281         Make sure that when receiving a FLUSH_START we don't attempt
5282         to sync on the clock anymore.
5283
5284 2005-10-08  Wim Taymans  <wim@fluendo.com>
5285
5286         * tools/gst-launch.c: (event_loop):
5287         Better message printout.
5288
5289 2005-10-08  Wim Taymans  <wim@fluendo.com>
5290
5291         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5292         (gst_bin_child_proxy_get_children_count):
5293         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5294         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5295         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5296         (gst_child_proxy_set_valist):
5297         * gst/parse/grammar.y:
5298         Make ChildProxy threadsafe and fix mem leaks.
5299
5300 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5301
5302         * gst/gst.c: (init_post):
5303           debug the GST_PLUGIN_ env vars
5304
5305 2005-10-08  Wim Taymans  <wim@fluendo.com>
5306
5307         * check/gst/gstbin.c: (GST_START_TEST):
5308         * check/gst/gstmessage.c: (GST_START_TEST):
5309         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5310         * gst/gstelement.c: (gst_element_commit_state),
5311         (gst_element_lost_state):
5312         * gst/gstmessage.c: (gst_message_new_state_changed),
5313         (gst_message_parse_state_changed):
5314         * gst/gstmessage.h:
5315         * tools/gst-launch.c: (event_loop):
5316         Added extra field to STATE_CHANGE message with the pending
5317         state, which will be different from the new state soon.
5318
5319 2005-10-08  Wim Taymans  <wim@fluendo.com>
5320
5321         * gst/gstbus.c: (gst_bus_pop):
5322         * gst/gstclock.c:
5323         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5324         Small cleanups and doc updates.
5325
5326 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5327
5328         * gst/gst.c: (init_pre):
5329         * gst/gstbin.c: (gst_bin_add_func):
5330           log distributing clocks and base time
5331         * gst/gstregistry.c: (gst_registry_add_plugin),
5332         (gst_registry_scan_path_level), (gst_registry_scan_path):
5333           clean up the debugging output a little
5334         * gst/gstutils.c: (gst_element_state_get_name):
5335           warn about a memleak (I've actually seen this be used, though
5336           it was probably a bug)
5337
5338 2005-10-07  Wim Taymans  <wim@fluendo.com>
5339
5340         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5341         (gst_base_src_init), (gst_base_src_default_newsegment),
5342         (gst_base_src_newsegment), (gst_base_src_do_seek),
5343         (gst_base_src_loop), (gst_base_src_start):
5344         * gst/base/gstbasesrc.h:
5345         Make the newsegment event customizable by subclasses.
5346
5347 2005-10-07  Wim Taymans  <wim@fluendo.com>
5348
5349         * gst/gstevent.c: (gst_event_new_buffersize),
5350         (gst_event_parse_buffersize):
5351         * gst/gstevent.h:
5352         New event for future idea.
5353
5354 2005-10-07  Andy Wingo  <wingo@pobox.com>
5355
5356         * gst/gstelement.c (gst_element_post_message): Doc update.
5357
5358         * docs/gst/gstreamer-sections.txt: Update.
5359
5360         * gst/gstmessage.c (gst_message_new_application): Made into a
5361         function like honest API calls.
5362         (gst_message_new_element): New message type.
5363
5364         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5365
5366         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5367         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5368         times.
5369
5370         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5371         NO_PREROLL from gst_element_change_state to fall through.
5372
5373 2005-10-07  Wim Taymans  <wim@fluendo.com>
5374
5375         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5376         (gst_ghost_pad_do_activate_push):
5377         Activating a ghostpad with no internal pad in push mode
5378         is ok.
5379
5380 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5381
5382         * gst/gstobject.h:
5383           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5384           Fixes compilation on Windows.
5385
5386 2005-10-07  Michael Smith <msmith@fluendo.com>
5387
5388         * tools/gst-inspect.c:
5389           Print out feature and plugin count at the end when printing out
5390           all features.
5391
5392 2005-10-04  Michael Smith <msmith@fluendo.com>
5393
5394         * gst/gsterror.c: (_gst_stream_errors_init):
5395           Add another error string used in a few existing plugins.
5396
5397         * gst/gstplugin.c:
5398         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5399         * tools/gst-inspect.c: (print_element_info):
5400           When a feature disappears from a plugin (and the feature exists in
5401           the cached registry file), things went horribly wrong. This isn't a
5402           complete fix, we should actually be removing the 'missing' features
5403           from the features list when we load the actual plugin. That's not
5404           yet implemented. 
5405
5406 2005-10-04  Johan Dahlin  <johan@gnome.org>
5407
5408         * check/gst/gstiterator.c: (GST_START_TEST):
5409         * gst/gstbin.c: (gst_bin_iterate_elements),
5410         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5411         * gst/gstelement.c: (gst_element_iterate_pads):
5412         * gst/gstformat.c: (gst_format_iterate_definitions):
5413         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5414         (gst_iterator_new_list), (gst_iterator_filter):
5415         * gst/gstiterator.h:
5416         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5417         Add a GType to GstIterator, update callsites and tests.
5418
5419 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5420
5421         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5422           give events a chance to be handled by event probes when the pad
5423           is not linked
5424
5425 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5426
5427         * gst/gstevent.c: (gst_event_type_get_name),
5428         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5429         * gst/gstevent.h:
5430           add string representations for event types
5431
5432 2005-10-06  Wim Taymans  <wim@fluendo.com>
5433
5434         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5435         Don't use NULL pointers.
5436
5437 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5438
5439         * gst/gst_private.h:
5440         * gst/gstbus.c:
5441         * gst/gstelement.c:
5442         * gst/gstinfo.c:
5443         * gst/gstpluginfeature.c:
5444           widen the debug category in output to fit the biggest one we have
5445           add a bus category and use it
5446           play with the colors
5447           fix up some categories
5448
5449 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5450
5451         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5452           add push activation of sink ghost pads.
5453           Andye, please verify
5454
5455 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5456
5457         * gst/gstutils.c: (gst_element_link_pads):
5458           fix a bug in the case where neither element has a pad
5459         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5460           add a test for that case
5461
5462 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5463
5464         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5465           emit have-data before checking for peers.  This allows
5466           for probe handlers to connect elements.  This helps autopluggers.
5467         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5468         (gst_pad_suite):
5469           add six checks, linked/unlinked with no/true/false probe
5470
5471 2005-10-04  Wim Taymans  <wim@fluendo.com>
5472
5473         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5474         (gst_fake_sink_event), (gst_fake_sink_preroll),
5475         (gst_fake_sink_render), (gst_fake_sink_change_state):
5476         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5477         (gst_fake_src_get_property), (gst_fake_src_create),
5478         (gst_fake_src_stop):
5479         * gst/elements/gstidentity.c: (gst_identity_stop):
5480         Protect last_message with lock.
5481
5482 2005-10-04  Edward Hervey  <edward@fluendo.com>
5483
5484         * gst/gstformat.h: 
5485         Added precision in the comments for GST_FORMAT_DEFAULT
5486
5487 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5488
5489         * tools/gst-launch.c: (main):
5490           Don't try to run erroneous pipelines.
5491
5492 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5493
5494         * gst/gstbus.c: We don't need this header.
5495
5496 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5497
5498         * configure.ac:
5499           back to development
5500
5501 === release 0.9.3 ===
5502
5503 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5504
5505         * README:
5506         * configure.ac:
5507           Releasing 0.9.3, "Unregistered"
5508
5509 2005-10-03  Andy Wingo  <wingo@pobox.com>
5510
5511         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5512         whereby calling a pad's activatepush() function can start a thread
5513         that starts to push or pull before the pad gets the FLUSHING flag
5514         unset. Hack around it by holding the stream lock until the flag is
5515         set. Need to replace this with a proper solution. Together with
5516         the ghost pad fixes, this fixes mp3 playing/tagreading.
5517
5518         * docs/design/part-gstghostpad.txt: Add a note about activation of
5519         proxy pads outside of ghost pads.
5520
5521         * gst/gstghostpad.c: Implement the ghost pad activation design.
5522
5523 2005-10-02  Andy Wingo  <wingo@pobox.com>
5524
5525         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5526         It is volatile, after all.
5527
5528         * docs/design/part-gstghostpad.txt: Flesh out activation with
5529         ghost pads.
5530
5531         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5532         GST_DEBUG_FUNCPTR.
5533
5534 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5535
5536         * configure.ac:
5537           Fix (unused) AM_CONDITIONAL tests.
5538
5539 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5540
5541         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5542
5543         * gst/gstutils.c: (gst_pad_query_convert):
5544           Add assertion that makes sure src_val is >=0, just like
5545           gst_query_new_convert() has. (#315895)
5546
5547 2005-09-30  Edward Hervey  <edward@fluendo.com>
5548
5549         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5550         Let's not iterate pads we're not interested in, it avoids getting 
5551         sky-high refcounts on sinkpad.
5552
5553 2005-09-30  Wim Taymans  <wim@fluendo.com>
5554
5555         * gst/gstelement.c: (gst_element_set_state),
5556         (gst_element_change_state):
5557         Small tweak, element in ASYNC remains ASYNC.
5558
5559 2005-09-30  Wim Taymans  <wim@fluendo.com>
5560
5561         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5562         Only error is an error.
5563
5564         * gst/gstbin.c: (gst_bin_change_state):
5565         Better debugging.
5566
5567         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5568         Also call pad_block in pad alloc.
5569
5570         * gst/gstutils.c: (gst_flow_get_name):
5571         Better debugging.
5572
5573 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5574
5575         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5576         (gst_base_src_get_range):
5577           Fix documentation typos. Add some more debug info.
5578
5579 2005-09-29  David Schleef  <ds@schleef.org>
5580
5581         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5582           more end-user friendly.
5583         * tools/gst-inspect.c: (main): Check if command-line argument is
5584           a file and attempt to load that file as a plugin.
5585
5586 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5587
5588         * check/gst/gstbin.c:
5589         * check/states/sinks.c:
5590           fix tests for the new warning
5591         * check/gst/gstpipeline.c:
5592           add a test for pipeline and bus interaction
5593         * gst/gstelement.c:
5594           elements should be NULL if they get disposed; add a warning if not
5595
5596 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5597
5598         * gst/gstobject.c:
5599           for 2.6 refcounting, make debug log more correct by printing
5600           the actual refcounts at the time of swap (Wim)
5601
5602 2005-09-29  Andy Wingo  <wingo@pobox.com>
5603
5604         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5605         removes signal watches previously added via
5606         gst_bus_add_signal_watch.
5607         (gst_bus_add_signal_watch): Don't return the source id, just store
5608         it on the bus if there wasn't an id already.
5609
5610         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5611         add_signal_watch and remove_signal_watch.
5612
5613 2005-09-29  Edward Hervey  <edward@fluendo.com>
5614
5615         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5616         Better if we actually iterate the list :)
5617
5618 2005-09-29  Wim Taymans  <wim@fluendo.com>
5619
5620         * check/gst/gstbin.c: (GST_START_TEST):
5621         Change for new bus API.
5622
5623         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5624         (send_messages), (GST_START_TEST), (gstbus_suite):
5625         Change for new bus signal API.
5626
5627         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5628         (gst_bus_source_prepare), (gst_bus_source_check),
5629         (gst_bus_create_watch), (gst_bus_add_watch_full),
5630         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5631         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5632         * gst/gstbus.h:
5633         Remove support for multiple GSources operating on different
5634         message types as it is too complex and unneeded when using
5635         signals.
5636         Added support for receiving signals from the bus.
5637
5638 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5639
5640         * docs/libs/tmpl/gstdataprotocol.sgml:
5641         * docs/manual/advanced-dataaccess.xml:
5642         * gst/elements/gstcapsfilter.c:
5643         * gst/gstutils.c:
5644           rename filter-caps to caps property
5645
5646 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5647
5648         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5649           More robust fraction string parsing.
5650
5651         * docs/pwg/appendix-porting.xml:
5652           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5653
5654 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5655
5656         * gst/gstcaps.c: (gst_caps_do_simplify):
5657           Thou shalt not free a structure and then continue using it
5658           in the next loop iteration.
5659
5660         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5661         (gst_caps_suite):
5662           Add test case for caps simplification.
5663
5664 2005-09-29  Wim Taymans  <wim@fluendo.com>
5665
5666         * check/gst/gstbin.c: (GST_START_TEST):
5667         Oops.
5668
5669 2005-09-29  Wim Taymans  <wim@fluendo.com>
5670
5671         * check/gst/gstbin.c: (GST_START_TEST):
5672         Add bus to bin.
5673
5674         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5675         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5676         (find_element), (gst_bin_sort_iterator_next),
5677         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5678         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5679         (gst_bin_change_state), (gst_bin_dispose):
5680         A bin does not have a bus, it gets the bus from the parent.
5681
5682         * gst/gstelement.c: (gst_element_requires_clock),
5683         (gst_element_provides_clock), (gst_element_is_indexable),
5684         (gst_element_is_locked_state), (gst_element_change_state),
5685         (gst_element_set_bus_func):
5686         Small cleanups.
5687
5688         * gst/gstpipeline.c: (gst_pipeline_class_init),
5689         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5690         The pipeline provides a bus.
5691
5692 2005-09-28  Johan Dahlin  <johan@gnome.org>
5693
5694         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5695         gst_structure_get_enum instead of gst_structure_get_int
5696
5697         * gst/gststructure.c (gst_structure_get_enum): Impl.
5698
5699         * gst/gststructure.h (gst_structure_get_enum): Add
5700
5701         * docs/gst/gstreamer-sections.txt: Ditto
5702
5703         * gst/gstmessage.c (gst_message_new_state_changed): Use
5704         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5705         which does introspection.
5706         Reviewed by Christian Schaller
5707
5708 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5709
5710         * gst/gstinfo.c: (gst_debug_log_default):
5711           don't do dummy g_strdup()s
5712         * libs/gst/controller/gstcontroller.c:
5713         (on_object_controlled_property_changed),
5714         (gst_controlled_property_new), (gst_controller_new_valist),
5715         (gst_controller_new_list),
5716         (gst_controller_remove_properties_valist), (gst_controller_set),
5717         (gst_controller_get), (gst_controller_sync_values),
5718         (gst_controller_get_value_array), (_gst_controller_class_init),
5719         (gst_controller_get_type):
5720         * libs/gst/controller/gstcontroller.h:
5721         * libs/gst/controller/gstinterpolation.c:
5722         (gst_controlled_property_find_timed_value_node):
5723           convert // to /**/ comments
5724
5725 2005-09-28  Wim Taymans  <wim@fluendo.com>
5726
5727         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5728         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5729         (gst_bus_sync_signal_handler):
5730         * gst/gstbus.h:
5731         Added async-message and sync-message signals to the bus.
5732         Added helper BusFunc to emit signals for all posted messages.
5733
5734         * gst/gstmessage.c: (gst_message_type_get_name),
5735         (gst_message_type_to_quark), (gst_message_get_type):
5736         * gst/gstmessage.h:
5737         Register quarks for message names.
5738
5739 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5740
5741         * docs/libs/gstreamer-libs-sections.txt:
5742         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5743         (gst_controller_new_list):
5744         * libs/gst/controller/gstcontroller.h:
5745           added another constructor for language bindings
5746
5747 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5748
5749         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5750           add another check
5751         * gst/gstbus.c:
5752           add some doc
5753         * gst/gstinfo.c: (_gst_debug_init):
5754           slightly more readable color for refcount debugging
5755
5756 2005-09-28  Wim Taymans  <wim@fluendo.com>
5757
5758         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5759         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5760         (find_element), (gst_bin_sort_iterator_next),
5761         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5762         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5763         (gst_bin_change_state), (gst_bin_dispose):
5764         Small doc fixes. get_clock -> provide_clock.
5765
5766         * gst/gstelement.c: (gst_element_class_init),
5767         (gst_element_provides_clock), (gst_element_provide_clock),
5768         (gst_element_get_clock), (gst_element_commit_state),
5769         (gst_element_lost_state):
5770         * gst/gstelement.h:
5771         Make get/set_clock() symetric. Add provide_clock vmethod since
5772         that is actually what this function does.
5773
5774         * gst/gstpipeline.c: (gst_pipeline_class_init),
5775         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5776         (gst_pipeline_get_clock):
5777         get_clock -> provide_clock.
5778
5779 2005-09-28  Andy Wingo  <wingo@pobox.com>
5780
5781         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5782         lieu of real docs...
5783
5784         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5785
5786 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5787
5788         * gst/elements/gstcapsfilter.c:
5789         * gst/elements/gstfakesink.c:
5790         * gst/elements/gstfakesrc.c:
5791         * gst/elements/gstfdsink.c:
5792         * gst/elements/gstfdsrc.c:
5793         * gst/elements/gstfilesink.c:
5794         * gst/elements/gstfilesrc.c:
5795         * gst/elements/gstidentity.c:
5796         * gst/elements/gsttee.c:
5797         * gst/elements/gsttypefindelement.c:
5798           Make element details static.
5799
5800 2005-09-28  Wim Taymans  <wim@fluendo.com>
5801
5802         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5803         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5804         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5805         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5806         (gst_bin_change_state), (gst_bin_dispose):
5807         Some documentation updates.
5808         Clean up dispose handlers.
5809
5810         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5811         * gst/gstpad.c: (gst_pad_dispose):
5812         Clean up dispose handler.
5813
5814         * gst/gstpipeline.c: (gst_pipeline_change_state):
5815         Removed spurious UNLOCK.
5816
5817 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5818
5819         * docs/gst/gstreamer-sections.txt:
5820         * gst/base/gstbasesrc.h:
5821         * gst/gstelement.h:
5822         * gst/gstevent.h:
5823         * gst/gstobject.h:
5824         * gst/gstpad.h:
5825         * gst/gstpipeline.c:
5826         * gst/gstpipeline.h:
5827         * gst/gstutils.h:
5828         * gst/gstxml.h:
5829           added two new functions to the docs
5830                 documents all undocumented GstXXXFlags
5831                 completed some incomplete docs 
5832
5833 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5834
5835         * gst/gstbin.c: (gst_bin_dispose):
5836         * gst/gstelement.c: (gst_element_dispose):
5837           remove now useless and leaky resurrection code in dispose
5838         * gst/base/gstbasesrc.c: (gst_base_src_init):
5839         * gst/gstelementfactory.c: (gst_element_factory_create):
5840         * gst/gstobject.c: (gst_object_set_parent):
5841           add some debugging
5842
5843 2005-09-27  Wim Taymans  <wim@fluendo.com>
5844
5845         * docs/design/part-TODO.txt:
5846         Update TODO.
5847
5848         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5849         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5850         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5851         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5852         (gst_bin_change_state):
5853         * gst/gstelement.h:
5854         Remove element variable, we keep element info in the iterator now.
5855
5856 2005-09-27  Andy Wingo  <wingo@pobox.com>
5857
5858         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5859         values.
5860
5861 2005-09-27  Wim Taymans  <wim@fluendo.com>
5862
5863         * check/gst/gstbin.c: (GST_START_TEST):
5864         Enable check that works now.
5865
5866         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5867         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5868         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5869         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5870         (gst_bin_change_state):
5871         * gst/gstbin.h:
5872         Redid the state change algorithm using a topological sort algo.
5873         Handles all cases correctly.
5874         Exposed iterator for state change order.
5875
5876         * gst/gstelement.h:
5877         Temp storage for state changes. Need to get rid of this soon.
5878
5879 2005-09-27  Wim Taymans  <wim@fluendo.com>
5880
5881         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5882         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5883         (link_fold_func), (gst_pad_proxy_setcaps):
5884         Leak fixes, the fold functions need to unref the passed object and
5885         _get_parent_*() returns ref to parent.
5886
5887 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5888
5889         * check/gst/gstbuffer.c: (test_make_writable):
5890           Plug leak in test case and fix 'make check-valgrind'
5891
5892 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5893
5894         * gst/gstbuffer.c: (gst_subbuffer_init):
5895           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5896           works correctly in all circumstances (we could have just copied
5897           the parent buffer's readonly flag, but conceptually it seems
5898           cleaner to mark all subbuffers as read-only). (based on patch
5899           by Alessandro Decina, #314710).
5900         
5901         * check/gst/gstbuffer.c: (create_read_only_buffer),
5902         (test_make_writable), (test_subbuffer_make_writable),
5903         (gst_test_suite):
5904           Add some tests for gst_buffer_make_writable().
5905
5906 2005-09-27  Wim Taymans  <wim@fluendo.com>
5907
5908         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5909         use gst_object_has_ancestor().
5910
5911         * gst/gstobject.c: (gst_object_has_ancestor):
5912         * gst/gstobject.h:
5913         gst_object_has_ancestor() copied from gstbin.c as it is a
5914         usefull function.
5915
5916         * tests/instantiate/create.c: (create_all_elements):
5917         * tests/lat.c: (handoff_src), (handoff_sink):
5918         * tests/sched/runxml.c: (main):
5919         * tests/seeking/seeking1.c: (main):
5920         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5921         (main):
5922         Fix compilation of some tests.
5923
5924 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5925
5926         * gst/gsterror.h:
5927           Remove comment. GST_TYPE_G_ERROR is here to stay,
5928           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5929           (#316961, #300610).
5930
5931 2005-09-26  Wim Taymans  <wim@fluendo.com>
5932
5933         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5934         Added check that shows error in state change order.
5935
5936 2005-09-26  Wim Taymans  <wim@fluendo.com>
5937
5938         * gst/gstbin.c: (gst_bin_change_state):
5939         Make state change function use 3 queues again, we were
5940         adding elements in the wrong order.
5941
5942         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5943         Some debug info,
5944
5945         * gst/gstpad.c: (gst_pad_dispose):
5946         Added some debug info first.
5947
5948 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5949
5950         * docs/design/draft-push-pull.txt:
5951         * docs/design/part-events.txt:
5952         * docs/design/part-overview.txt:
5953         * docs/design/part-scheduling.txt:
5954           Replace all _pull_region() with _pull_range()
5955           
5956 2005-09-26  Andy Wingo  <wingo@pobox.com>
5957
5958         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5959
5960         * check/gst-libs/controller.c: Update for controller api change.
5961
5962         * configure.ac: 
5963         * tests/Makefile.am:
5964         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5965         over by GLib bug 118439.
5966         
5967         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5968         routines to a function.
5969
5970         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5971
5972         * libs/gst/controller/gsthelper.c:
5973         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5974         (gst_object_sync_values): Renamed from sink_values. Ugh.
5975
5976         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5977
5978         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5979         Renamed from controller_key, as it is exported.
5980
5981         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5982
5983 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5984
5985         * gst/Makefile.am:
5986         * gst/gst.h:
5987         * gst/gstpad.h:
5988         * gst/gstpadtemplate.h:
5989         * gst/gstquery.c:
5990         * gst/gstquery.h:
5991         * gst/gstqueryutils.c:
5992         * gst/gstqueryutils.h:
5993           remove queryutils headers after moving the two used functions
5994           to gstquery.  also fixes build problem for gstsiddec
5995
5996 2005-09-26  Michael Smith <msmith@fluendo.com>
5997
5998         * tools/gst-launch.1.in:
5999         Correct documentation in manpage of debug syntax
6000
6001 2005-09-26  Wim Taymans  <wim@fluendo.com>
6002
6003         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6004         (gst_base_src_is_seekable), (gst_base_src_change_state):
6005         Some more debugging info.
6006
6007 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6008
6009         * docs/gst/gstreamer-sections.txt:
6010         * gst/base/gstbasetransform.h:
6011         * gst/gstindex.h:
6012           added more docs
6013
6014 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6015
6016         * docs/gst/.cvsignore:
6017         * docs/gst/tmpl/.cvsignore:
6018         * docs/gst/tmpl/gstpipeline.sgml:
6019         * docs/gst/tmpl/gstplugin.sgml:
6020         * gst/gstpipeline.c:
6021         * gst/gstplugin.c:
6022         * gst/gstplugin.h:
6023           inlined the last two docs files
6024           removed the tmpl directory from cvs (no more conflicts here!)
6025
6026 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6027
6028         * docs/gst/gstreamer-sections.txt:
6029         * docs/gst/tmpl/.cvsignore:
6030         * docs/gst/tmpl/gstpad.sgml:
6031         * docs/gst/tmpl/gstpadtemplate.sgml:
6032         * gst/Makefile.am:
6033         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6034         (gst_pad_finalize), (gst_pad_set_pad_template):
6035         * gst/gstpad.h:
6036         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6037         (gst_pad_template_class_init), (gst_pad_template_init),
6038         (gst_pad_template_dispose), (name_is_valid),
6039         (gst_static_pad_template_get), (gst_pad_template_new),
6040         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6041         (gst_pad_template_pad_created):
6042         * gst/gstpadtemplate.h:
6043           inlined two more docs
6044           factored gstpadtemplate out of gstpad
6045
6046 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6047
6048         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6049         (test_children_state_change_order_semi_sink):
6050           Fix test case: we can't rely on a fixed state change order when
6051           going from READY => PAUSED because the sink might commit its 
6052           new state first when the first buffer created by the source 
6053           reaches the sink before the source has finished its change state.
6054           (Test case still fails at times, see #316856, comment 5 onwards)
6055
6056 2005-09-24  Wim Taymans  <wim@fluendo.com>
6057
6058         * docs/design/part-events.txt:
6059         * docs/design/part-gstbus.txt:
6060         * docs/design/part-gstpipeline.txt:
6061         * docs/design/part-messages.txt:
6062         * docs/design/part-overview.txt:
6063         * docs/design/part-segments.txt:
6064         * gst/gstbin.c:
6065         * gst/gstbuffer.c:
6066         * gst/gstclock.c:
6067         * gst/gstelement.c:
6068         * gst/gstevent.c:
6069         * gst/gstfilter.c:
6070         * gst/gstiterator.c:
6071         Various documentation updates.
6072
6073 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6074
6075         * gst/gstclock.h:
6076           Well, that's embarassing.  Luckily we weren't using
6077           GST_CLOCK_DIFF anywhere.
6078
6079 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6080
6081         * common/gtk-doc.mak:
6082           don't fail on building XML, FC4 slave shows a bunch of doc
6083           missing bits that I don't get
6084         * gst/gstpad.c:
6085         * gst/gstpipeline.c:
6086         * gst/gststructure.c:
6087           some doc updates
6088
6089 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6090
6091         * docs/design/part-gstbin.txt:
6092         * docs/design/part-gstbus.txt:
6093         * gst/gstbus.c:
6094           Add blurb about how the bus goes into flushing mode and
6095           drops all messages when its bin goes from READY into NULL 
6096           state.
6097
6098 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6099
6100         * docs/gst/gstreamer-sections.txt:
6101         * gst/gststructure.c: (gst_structure_get_clock_time):
6102         * gst/gststructure.h:
6103           add a method to get a GstClockTime out of a structure
6104
6105 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6106
6107         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6108         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6109           Added test to check state change order in bins (can still be made
6110           to fail here under heavy disk load; bails out with 'Push on pad
6111           fakesink:sink0, but it was not activated in push mode').
6112
6113         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6114           Fix state change order when there is only a semi sink (#316856)
6115
6116         * gst/gstbus.c: (gst_bus_class_init):
6117           Use _class_peek_parent(), not _class_ref(); fix docs to say
6118           'default main context' instead of 'mainloop' where that is
6119           what's meant.
6120
6121         * gst/gstelement.c: (gst_element_commit_state),
6122         (gst_element_set_state):
6123           Fix typos in debug messages
6124
6125 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6126
6127         * docs/README:
6128         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6129         * gst/gstpluginfeature.c:
6130         * gst/gstutils.c:
6131           various doc updates
6132         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6133           change an assert into an error until it gets fixed properly
6134
6135 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6136
6137         * docs/gst/gstreamer-sections.txt:
6138         * docs/gst/tmpl/.cvsignore:
6139         * docs/gst/tmpl/gstelement.sgml:
6140         * docs/gst/tmpl/gstinfo.sgml:
6141         * docs/gst/tmpl/gstobject.sgml:
6142         * gst/gstelement.c:
6143         * gst/gstelement.h:
6144         * gst/gstinfo.c:
6145         * gst/gstinfo.h:
6146         * gst/gstobject.c: (gst_object_class_init):
6147         * gst/gstobject.h:
6148           inlined 3 more biiiig doc files and added some missing docs on the fly
6149
6150 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6151
6152         * check/gst/.cvsignore:
6153         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6154         * gst/gstregistryxml.c: (load_plugin),
6155         (gst_registry_xml_save_plugin):
6156           put back source in registry.  add checks for find_plugin.
6157         * testsuite/states/bin.c: (assert_state), (empty_bin),
6158         (test_adding_one_element), (main):
6159         * testsuite/states/locked.c: (main):
6160           some compile/run fixes
6161
6162 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6163
6164         * check/gst/gstvalue.c: (GST_START_TEST):
6165           fix leaks in the test itself
6166
6167 2005-09-22  Wim Taymans  <wim@fluendo.com>
6168
6169         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6170         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6171         (gst_base_sink_query):
6172         Prepare for more accurate position reporting and query
6173         handling.
6174
6175         * gst/gstelement.c: (gst_element_send_event),
6176         (gst_element_set_state):
6177         Add some comment.
6178
6179 2005-09-22  Wim Taymans  <wim@fluendo.com>
6180
6181         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6182         (gst_query_parse_segment):
6183         * gst/gstquery.h:
6184         More documentation.
6185         Add segment query for future use.
6186
6187 2005-09-22  Wim Taymans  <wim@fluendo.com>
6188
6189         * gst/gstbin.c: (gst_bin_add_func):
6190         Some more debug info.
6191
6192         * gst/gstelement.c: (gst_element_send_event):
6193         Simplify send_event
6194
6195         * gst/gstelement.h:
6196         Don't know how flags got broken.
6197
6198         * gst/gstquery.h:
6199         Added new query.
6200
6201 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6202
6203         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6204           Add simplistic test suite for GST_TYPE_DATE serialisation and
6205           deserialisation.
6206
6207 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6208
6209         * docs/gst/gstreamer-sections.txt:
6210         * gst/gststructure.c: (gst_structure_set_valist),
6211         (gst_structure_get_date):
6212         * gst/gststructure.h:
6213         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6214         (gst_date_copy), (gst_value_compare_date),
6215         (gst_value_serialize_date), (gst_value_deserialize_date),
6216         (gst_value_transform_date_string),
6217         (gst_value_transform_string_date), (_gst_value_initialize):
6218         * gst/gstvalue.h:
6219           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6220           bunch of utility functions along with a hack that checks that
6221           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6222           is required. Part of the grand scheme in #170777.
6223
6224 2005-09-22  Andy Wingo  <wingo@pobox.com>
6225
6226         * gst/gstconfig.h.in: Psych out gtk-doc.
6227
6228         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6229
6230         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6231
6232         * tools/gst-inspect.c (print_element_list): Plug some
6233         inconsequential leaks.
6234
6235         * gst/gstregistry.c (gst_registry_get_default): Doc.
6236
6237         * check/gst/gstplugin.c: 
6238         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6239         * gst/gstelementfactory.c (gst_element_factory_create): 
6240         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6241         refcount changes.
6242
6243         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6244         (gst_plugin_feature_load): Doc, don't eat refs.
6245
6246         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6247         (gst_plugin_list_free): Doc.
6248         (gst_plugin_load_file): Doc updates.
6249
6250         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6251         accessors returning refcounted objects, return a ref.
6252
6253         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6254         accessor for caps. IDEMPOTENCE. Oh yes.
6255
6256 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6257
6258         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6259
6260         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6261         (_gst_debug_register_funcptr):
6262           Add mutex to serialise access to the hash table with
6263           the function pointer => function name string mapping;
6264           make that hash table static scope (#316809).
6265
6266         * gst/registries/.cvsignore:
6267           Remove left-over file.
6268
6269 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6270
6271         * docs/pwg/appendix-porting.xml:
6272           And something about newsegment events and caps-on-buffers to
6273           the porting guide (feel free to improve).
6274
6275 2005-09-21  Andy Wingo  <wingo@pobox.com>
6276
6277         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6278         data and event probes on the same pad.
6279         (test_buffer_probe_once): Test that removing probes from within
6280         the probe functions works.
6281
6282 2005-09-21  Andy Wingo  <wingo@pobox.com>
6283
6284         * check/gst/gstutils.c: New file.
6285         (test_buffer_probe_n_times): A simple buffer probe test. More to
6286         come, foolios.
6287
6288         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6289         have-data::buffer, not have-data.
6290         (gst_pad_add_event_probe): Likewise for have-data::event.
6291         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6292         peer' isn't quite right yet though.
6293         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6294         (gst_pad_remove_data_probe): Change to take the guint handler_id
6295         as their arg, not the function+data, which is more glib-like.
6296
6297         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6298         the signal emission to indicate if the data is a buffer or an
6299         event.
6300         (gst_pad_get_type): Initialize buffer and event quarks.
6301         (gst_pad_class_init): have-data is now a detailed signal, yes it
6302         is.
6303
6304 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6305
6306         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6307         * gst/gstutils.c: (gst_util_set_value_from_string),
6308         (gst_util_set_object_arg):
6309           Don't put functional code in g_return_if_fail() or
6310           g_return_val_if_fail() statements, otherwise things will 
6311           break when G_DISABLE_CHECKS is defined during compilation.
6312
6313 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6314
6315         * docs/gst/tmpl/.cvsignore:
6316         * docs/gst/tmpl/gstvalue.sgml:
6317         * gst/gstvalue.c:
6318         * gst/gstvalue.h:
6319           inlied another one and added  some obvious docs
6320
6321 2005-09-21  Wim Taymans  <wim@fluendo.com>
6322
6323         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6324         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6325         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6326         (gst_fdsrc_get_property), (gst_fdsrc_create):
6327         * gst/elements/gstfdsrc.h:
6328         Properly implement fdsrc. Removed signal and timeout,
6329         better implemented somewhere else.
6330
6331 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6332
6333         * docs/gst/tmpl/.cvsignore:
6334         * docs/gst/tmpl/gstimplementsinterface.sgml:
6335         * gst/gstinterface.c:
6336           inlined more docs
6337
6338 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6339
6340         * docs/gst/gstreamer-sections.txt:
6341         * docs/gst/tmpl/.cvsignore:
6342         * docs/gst/tmpl/gstenumtypes.sgml:
6343           remove obsolete doc file
6344
6345 2005-09-21  David Schleef  <ds@schleef.org>
6346
6347         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6348         little beer, fix a little leak.
6349
6350 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6351
6352         * docs/gst/gstreamer-docs.sgml:
6353         * docs/gst/gstreamer-sections.txt:
6354         * docs/gst/tmpl/.cvsignore:
6355         * gst/Makefile.am:
6356         * gst/gst.h:
6357         * gst/gstbin.c:
6358         * gst/gstelement.h:
6359         * gst/gstindex.c: (gst_index_class_init):
6360         * gst/gstindex.h:
6361         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6362         (gst_index_factory_class_init), (gst_index_factory_init),
6363         (gst_index_factory_finalize), (gst_index_factory_new),
6364         (gst_index_factory_destroy), (gst_index_factory_find),
6365         (gst_index_factory_create), (gst_index_factory_make):
6366         * gst/gstindexfactory.h:
6367         * gst/gstpluginfeature.c:
6368         * gst/gstpluginfeature.h:
6369         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6370           more docs inlined, splitted gstindex.{c,h}
6371
6372 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6373
6374         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6375           fix a leak
6376
6377 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6378
6379         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6380           Set sync to FALSE by default.
6381
6382 2005-09-20  Wim Taymans  <wim@fluendo.com>
6383
6384         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6385         (gst_base_sink_init):
6386         Make sync property settable from subclass.
6387
6388         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6389         (gst_fake_sink_change_state):
6390         Set sync to FALSE by default.
6391
6392 2005-09-20  Wim Taymans  <wim@fluendo.com>
6393
6394         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6395         * tools/gst-launch.c: (main):
6396         The timeout handler should have lower priority than the source
6397         so we don't timeout before popping a message with 0 timeout.
6398         Dump error messages after failed state change.
6399
6400 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6401
6402         * tools/gst-inspect.c: (print_element_properties_info):
6403           Fix two typos.
6404
6405 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6406
6407         * check/gst/gstevent.c:
6408         * gst/elements/gstfakesink.c:
6409         * gst/elements/gstfakesink.h:
6410           remove the sync property from fakesink.
6411           has the side effect of setting sync TRUE
6412           for fakesink, which is a change.  Anyone who knows how
6413           to fix this nicely in a GObject-y way, feel free.
6414
6415 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6416
6417         * docs/gst/gstreamer-docs.sgml:
6418           remove probe refsection
6419
6420 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6421
6422         * check/Makefile.am:
6423           disable valgrinding the controller test again
6424         * docs/gst/gstreamer-sections.txt:
6425           update for api-changes
6426
6427 2005-09-20  Wim Taymans  <wim@fluendo.com>
6428
6429         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6430         (gst_base_sink_set_property), (gst_base_sink_get_property),
6431         (gst_base_sink_do_sync):
6432         * gst/base/gstbasesink.h:
6433         Added sync property to basesink to disable clock sync.
6434
6435 2005-09-20  Andy Wingo  <wingo@pobox.com>
6436
6437         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6438         eating the caller's refcount.
6439
6440         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6441         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6442         refcount.
6443
6444         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6445         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6446         of GLib 2.8 public, so we can know which refcount to check in
6447         tests.
6448
6449         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6450         (gst_object_init): Only set the gst refcount if we're going ahead
6451         with the refcount hack.
6452
6453 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6454
6455         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6456         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6457           more leaks plumbed, added more debug-logging
6458         * gst/gstmacros.h:
6459           whitespace fix
6460
6461 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6462
6463         * gst/gstmessage.c:
6464           remove include of gstmemchunk.h
6465
6466 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6467
6468         * gst/gstclock.c: (_gst_clock_id_free):
6469           Commit from the Political Party For More Atomic CVS Commits,
6470           so that people don't waste too much of their day fishing
6471           out obvious leaks out of massive commits.
6472           Oh, and fix a pretty damn obvious leak in the memchunk
6473           removal code.
6474
6475 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6476
6477         * check/Makefile.am:
6478         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6479           plug mem-leak, re-add to valgrindable tests
6480
6481 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6482
6483         * gst/gstplugin.h:
6484           unbreak the build for those who have chronic arthritis
6485           and typing "make check" is just too taxing on the hands
6486
6487 2005-09-20  Andy Wingo  <wingo@pobox.com>
6488
6489         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6490         really want it out, you should fix plugins at the same time.
6491
6492 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6493
6494         * configure.ac:
6495         * docs/gst/gstreamer-sections.txt:
6496         * gst/gstobject.c:
6497           added missing symbols to api docs
6498           disable ref-count hack if we have glib >= 2.8
6499
6500 2005-09-19  David Schleef  <ds@schleef.org>
6501
6502         * docs/gst/Makefile.am: Ignore a few more internal headers
6503         * docs/gst/gstreamer-docs.sgml: Remove old sections
6504         * docs/gst/gstreamer-sections.txt: Remove old sections
6505         * docs/gst/tmpl/gstobject.sgml: update
6506         * docs/gst/tmpl/gstplugin.sgml: update
6507         * docs/gst/tmpl/gstpluginfeature.sgml: update
6508         * docs/random/ds/0.9-suggested-changes: update.
6509         * gst/Makefile.am: remove memchunk and trashstack, since they're
6510           not used.
6511         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6512         * gst/gst.h: don't include some headers
6513         * gst/gstchildproxy.c: add gstmarshal.h
6514         * gst/gstclock.c: Don't use memchunks
6515         * gst/gstminiobject.c: Add some docs
6516         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6517         * gst/gstobject.h: same
6518         * gst/gstplugin.c: include gstmacros.h
6519         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6520         * gst/gstquery.c: don't use memchunks
6521         * gst/gstregistry.c: rename gst_registry_deinit()
6522         * gst/gstregistry.h: same
6523
6524 2005-09-19  David Schleef  <ds@schleef.org>
6525
6526         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6527         * docs/libs/gstreamer-libs-sections.txt:
6528         * docs/libs/tmpl/gstgetbits.sgml:
6529         * docs/libs/tmpl/gstputbits.sgml:
6530
6531 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6532
6533         * win32/gstenumtypes.c:
6534         * win32/gstenumtypes.h:
6535           Update.
6536
6537 2005-09-19  Wim Taymans  <wim@fluendo.com>
6538
6539         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6540         Automatically PAUSE and RESUME a pipeline when a flushing seek
6541         is performed.
6542
6543 2005-09-19  Andy Wingo  <wingo@pobox.com>
6544
6545         * gst/gstregistry.h: Spacing fixen.
6546
6547 2005-09-19  Wim Taymans  <wim@fluendo.com>
6548
6549         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6550         Handle state change failure more correctly.
6551
6552 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6553
6554         * check/Makefile.am:
6555         * check/pipelines/cleanup.c: (run_pipeline):
6556         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6557         (GST_START_TEST):
6558           enable cleanup again after fixing the leak
6559         * docs/README:
6560           some more info on docs
6561
6562 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6563
6564         * check/Makefile.am:
6565           re-enable tests now that leaks are plugged
6566         * check/gst/gst.c:
6567         * check/gst/gstbin.c:
6568         * check/gst/gstpipeline.c:
6569           add some more tests while fixing leaks
6570         * common/check.mak:
6571           make sure binaries are uptodate when valgrinding/gdbing
6572         * gst/gst.c:
6573         * gst/gstelementfactory.c:
6574           remove a ref too many, and add a FIXME for when we get
6575           round to disposing of classes
6576         * gst/gstplugin.c:
6577           fix the refcounting when loading a plugin from a file and
6578           the code pretends that the pointer is the same even though
6579           of course it can change
6580         * gst/gstpluginfeature.c:
6581           unref plugins marked cached (a bit confusing as a name)
6582           as the docs state should be done
6583           various doc additions to explain refcounting
6584         * gst/gstregistry.c:
6585         * gst/gstregistryxml.c:
6586           debugging
6587
6588 2005-09-19  Wim Taymans  <wim@fluendo.com>
6589
6590         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6591         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6592         (send_messages), (GST_START_TEST), (gstbus_suite):
6593         * check/gst/gstpipeline.c: (GST_START_TEST):
6594         * check/pipelines/cleanup.c: (run_pipeline):
6595         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6596         (GST_START_TEST):
6597         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6598         (gst_bus_source_check), (gst_bus_source_dispatch),
6599         (gst_bus_create_watch), (gst_bus_add_watch_full),
6600         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6601         * gst/gstbus.h:
6602         * tools/gst-launch.c: (event_loop):
6603         * tools/gst-md5sum.c: (event_loop):
6604         GstBusHandler -> GstBusFunc, return value has the same meaning as
6605         any other GSource (FALSE == remove source).
6606         _add_watch() and _add_watch_full() now take a MessageType mask to
6607         only handle specific types of messages.
6608         _poll() returns the GstMessage instead of the message type to avoid
6609         race conditions.
6610         _have_pending() takes a MessageType mask now too.
6611         Added testsuite for multiple bus watches.
6612         Fix testsuites and applications for new bus API.
6613
6614 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6615
6616         * check/Makefile.am:
6617           mark a bunch of the tests as to fix until we fix them
6618
6619 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6620
6621         * common/check.mak:
6622           use GST_PLUGIN settings for valgrind tests as well, so we're
6623           valgrinding the correct thing
6624         * gst/gst.c: (init_post):
6625           plug another leak
6626
6627 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6628
6629         * gst/gst.c: (init_post), (gst_deinit):
6630         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6631         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6632         * gst/gstindex.c: (gst_index_factory_class_init),
6633         (gst_index_factory_finalize):
6634         * gst/gstobject.c: (gst_object_dispose):
6635         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6636         (gst_plugin_load_file), (gst_plugin_desc_free):
6637         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6638         (gst_plugin_feature_finalize):
6639         * gst/gstregistry.c: (gst_registry_class_init),
6640         (gst_registry_init), (gst_registry_finalize),
6641         (gst_registry_get_default), (gst_registry_deinit):
6642         * gst/gstregistry.h:
6643         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6644           various cleanups and memleak plugging.  make valgrind is happy now.
6645
6646 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6647
6648         * common/check.mak:
6649           add a check-valgrind target
6650
6651 2005-09-18  David Schleef  <ds@schleef.org>
6652
6653         * tools/gst-inspect.c: Revert the GOption code.
6654
6655 2005-09-17  David Schleef  <ds@schleef.org>
6656
6657         * check/Makefile.am: Fix environment variables.
6658         * check/gst/gstplugin.c: Fix for API changes.
6659         * tools/gst-inspect.c: Fix for API changes.
6660         * tools/gst-xmlinspect.c: Fix for API changes.
6661         * gst/gstelementfactory.c:
6662         * gst/gstplugin.c:
6663         * gst/gstplugin.h:
6664         * gst/gstpluginfeature.c:
6665         * gst/gstpluginfeature.h:
6666         * gst/gstregistry.c:
6667         * gst/gstregistry.h:
6668         * gst/gstregistryxml.c:
6669         * gst/gsttypefind.c:
6670         * gst/gsttypefindfactory.c:
6671         * gst/indexers/gstfileindex.c:
6672         * gst/indexers/gstmemindex.c:
6673         * gst/schedulers/Makefile.am:
6674           Change registry to keep track of both plugins and features,
6675           removing the feature tracking from plugins themselves.
6676
6677 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6678
6679         * check/Makefile.am:
6680         * tools/gst-register.1.in:
6681           remove gst-register
6682
6683 2005-09-15  David Schleef  <ds@schleef.org>
6684
6685         * check/gst/gstplugin.c:
6686         * gst/gstelementfactory.c:
6687         * gst/gstplugin.c:
6688         * gst/gstpluginfeature.c:
6689         * gst/gstregistry.c:
6690           Getting tired of debugging.  Disabled all the unreffing of
6691           plugins and features, which fixes the segfaults, but of
6692           course leaks like crazy.  At least playbin works.
6693
6694 2005-09-15  David Schleef  <ds@schleef.org>
6695
6696         * check/gst/gstplugin.c: (register_check_elements),
6697         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6698         More testing
6699         * gst/elements/gsttypefindelement.c: Fix refcounting.
6700         * gst/gsttypefind.c:
6701         * gst/gsttypefindfactory.c:
6702         * gst/gsttypefindfactory.h:
6703
6704 2005-09-15  David Schleef  <ds@schleef.org>
6705
6706         * gst/gstindex.c: get refcounting correct.
6707         * gst/gstregistry.c: Handle the case where a feature/plugin is
6708           not found.
6709
6710 2005-09-15  David Schleef  <ds@schleef.org>
6711
6712         * check/Makefile.am:
6713         * check/gst/gstplugin.c: Add test
6714         * gst/gstplugin.c: Fix problems noticed by testsuite
6715         * gst/gstplugin.h:
6716         * gst/gstregistry.c: 
6717         * gst/gstregistry.h:
6718
6719 2005-09-15  David Schleef  <ds@schleef.org>
6720
6721         * gst/gstplugin.c: Implement semi-decent recounting and locking
6722           in plugins and plugin features.
6723         * gst/gstplugin.h:
6724         * gst/gstpluginfeature.c:
6725         * gst/gstpluginfeature.h:
6726         * gst/gstregistry.c:
6727
6728 2005-09-15  Michael Smith <msmith@fluendo.com>
6729
6730         * gst/gstregistry.c: (gst_registry_get_feature_list):
6731           Implement this. Makes oggdemux work; decodebin still broken.
6732
6733 2005-09-14  David Schleef  <ds@schleef.org>
6734
6735         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6736           #316076)
6737         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6738         * gst/check/Makefile.am:
6739         * libs/gst/controller/Makefile.am:
6740         * libs/gst/dataprotocol/Makefile.am:
6741
6742 2005-09-14  David Schleef  <ds@schleef.org>
6743
6744         * configure.ac: Remove getbits library.  Nothing uses it, and
6745           it should be in something like liboil if someone did want
6746           to use it.
6747         * libs/gst/Makefile.am:
6748         * libs/gst/getbits/Makefile.am:
6749         * libs/gst/getbits/gbtest.c:
6750         * libs/gst/getbits/getbits.c:
6751         * libs/gst/getbits/getbits.h:
6752         * libs/gst/getbits/gstgetbits_generic.c:
6753         * libs/gst/getbits/gstgetbits_i386.s:
6754         * libs/gst/getbits/gstgetbits_inl.h:
6755
6756 2005-09-14  David Schleef  <ds@schleef.org>
6757
6758         * gst/Makefile.am: Dist glib-compat.h
6759
6760 2005-09-14  David Schleef  <ds@schleef.org>
6761
6762         * configure.ac: Remove gst/registries, since it's no longer used.
6763         * gst/registries/Makefile.am:
6764         * gst/registries/gstlibxmlregistry.c:
6765         * gst/registries/gstlibxmlregistry.h:
6766         * gst/registries/gstxmlregistry.c:
6767         * gst/registries/gstxmlregistry.h:
6768         * gst/registries/registrytest.c:
6769
6770 2005-09-14  David Schleef  <ds@schleef.org>
6771
6772         * gst/glib-compat.h:
6773         * gst/gstregistryxml.c:
6774           Convergence is near.  Seriously.
6775
6776 2005-09-14  David Schleef  <ds@schleef.org>
6777
6778         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6779         * gst/glib-compat.h:
6780           Attempt #4 to appease the buildbots.
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           Attempt #3.
6786
6787 2005-09-14  David Schleef  <ds@schleef.org>
6788
6789         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6790         Attempt #2.
6791
6792 2005-09-14  David Schleef  <ds@schleef.org>
6793
6794         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6795           the new functions.
6796
6797 2005-09-14  David Schleef  <ds@schleef.org>
6798
6799         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6800         * gst/glib-compat.h: Add some functions that are in newer versions
6801           of glib than we care to require.
6802         * gst/gstregistryxml.c: Use them.
6803
6804 2005-09-14  David Schleef  <ds@schleef.org>
6805
6806         * po/POTFILES.in: remove gst-register.c
6807
6808 2005-09-14  David Schleef  <ds@schleef.org>
6809
6810         * docs/gst/gstreamer-docs.sgml:
6811         * docs/gst/gstreamer-sections.txt:
6812         * docs/gst/gstreamer.types:
6813         * docs/gst/tmpl/gstelement.sgml:
6814         * docs/gst/tmpl/gstplugin.sgml:
6815         * docs/gst/tmpl/gstpluginfeature.sgml:
6816           Documentation updates for registry changes.
6817
6818 2005-09-14  David Schleef  <ds@schleef.org>
6819
6820         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6821           because we don't require glib-2.8.
6822
6823 2005-09-14  David Schleef  <ds@schleef.org>
6824
6825         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6826           registries directory.
6827
6828 2005-09-14  David Schleef  <ds@schleef.org>
6829
6830         * check/Makefile.am:
6831         * check/generic/states.c:
6832         * gst/Makefile.am:
6833         * gst/gst.c:
6834         * gst/gst.h:
6835         * gst/gst_private.h:
6836         * gst/gstelementfactory.c:
6837         * gst/gstindex.c:
6838         * gst/gstinfo.c:
6839         * gst/gstplugin.c:
6840         * gst/gstplugin.h:
6841         * gst/gstpluginfeature.c:
6842         * gst/gstpluginfeature.h:
6843         * gst/gstregistry.c:
6844         * gst/gstregistry.h:
6845         * gst/gstregistrypool.c: remove
6846         * gst/gstregistrypool.h: remove
6847         * gst/gsttypefind.c:
6848         * gst/gsttypefindfactory.c:
6849         * gst/gsturi.c:
6850         * tools/Makefile.am:
6851         * tools/gst-compprep.c:
6852         * tools/gst-inspect.c:
6853         * tools/gst-register.c: remove
6854         * tools/gst-xmlinspect.c:
6855           Registry rewrite.  Changes registry from being a file created
6856           by a tool into a simple cache file created automatically by 
6857           libgstreamer.  Removed gst-register (because it's no longer
6858           needed).  Remove registry pools, because we only have one
6859           registry implementation (XML).  Fix up other subsystems as
6860           necessary.
6861
6862 2005-09-13  Michael Smith <msmith@fluendo.com>
6863
6864         * gst/gstconfig.h.in:
6865           Don't Use windows linking attributes for MinGW. Fixes #316157
6866
6867 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6868
6869         * gst/gstutils.c: (set_state_async_thread_func),
6870         (gst_element_set_state_async):
6871           Apparently people think it's better if this function doesn't
6872           try to set the state to whatever state was asked for on the first
6873           call to this function for any object.  Seriously.
6874
6875 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6876
6877         * check/gst/gstpipeline.c: (GST_START_TEST):
6878         * docs/gst/gstreamer-sections.txt:
6879         * gst/gstutils.c: (set_state_async_thread_func),
6880         (gst_element_set_state_async):
6881         * gst/gstutils.h:
6882           add a "gst_element_set_state_async" method that
6883           sets the state and starts a thread to make sure the state
6884           change completes as best as it can
6885
6886 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6887
6888         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6889           codify design+behaviour in testsuite after discussion
6890
6891 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6892
6893         * docs/gst/tmpl/gstelement.sgml:
6894         * docs/manual/appendix-quotes.xml:
6895           add a quote
6896         * gst/gstelement.c: (gst_element_set_state):
6897           add some debug
6898
6899 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6900
6901         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6902         (gst_base_transform_prepare_output_buf),
6903         (gst_base_transform_handle_buffer):
6904         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6905         (gst_capsfilter_prepare_buf):
6906           Remove the requirement for sub-classes to call the parent
6907           implementation of prepare_output_buffer with a wrapper function.
6908           
6909         * gst/gsttaglist.h:
6910         * gst/gsttagsetter.h:
6911           Fix #define wrapper
6912
6913 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6914
6915         * docs/gst/gstreamer-sections.txt:
6916           more doc cleanups
6917
6918 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6919
6920         * docs/gst/gstreamer-sections.txt:
6921         * docs/gst/tmpl/gstelement.sgml:
6922         * docs/gst/tmpl/gstplugin.sgml:
6923         * gst/gstminiobject.c:
6924         * gst/gstvalue.h:
6925           docs now stop throwing warnings
6926
6927 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6928
6929         * docs/gst/gstreamer-sections.txt:
6930         * docs/gst/gstreamer.types:
6931         * docs/gst/tmpl/gstpad.sgml:
6932         * docs/gst/tmpl/gsttypes.sgml:
6933         * gst/base/gstadapter.h:
6934         * gst/base/gstbasesink.h:
6935         * gst/base/gstbasesrc.h:
6936         * gst/gstbin.h:
6937         * gst/gstbuffer.h:
6938         * gst/gstbus.h:
6939         * gst/gstcaps.h:
6940         * gst/gstclock.h:
6941         * gst/gstelement.h:
6942         * gst/gstevent.h:
6943         * gst/gstmessage.h:
6944         * gst/gstpad.h:
6945         * gst/gststructure.c:
6946         * gst/registries/gstlibxmlregistry.h:
6947           various documentation fixes
6948
6949 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6950
6951         * docs/gst/gstreamer-sections.txt:
6952         * docs/gst/tmpl/gstvalue.sgml:
6953           rearrange gstvalue section
6954         * gst/gstutils.c: (gst_element_state_get_name):
6955           NONE -> VOID
6956         * gst/gstvalue.c: (_gst_value_initialize):
6957         * gst/gstvalue.h:
6958           doc updates
6959
6960 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6961
6962         * check/gst-libs/controller.c:
6963           Header include fix.
6964         * gst/base/gstbasetransform.c:
6965         (gst_base_transform_default_prepare_buf),
6966         (gst_base_transform_handle_buffer):
6967         * gst/base/gstbasetransform.h:
6968           Some more basetransform changes and fixes to enable sub-classes
6969           that modify buffer metadata only.
6970         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6971         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6972         (gst_capsfilter_prepare_buf):
6973           If the output pad has fixed allowed caps and input buffers 
6974           don't have any, set the fixed caps on outgoing buffers.
6975
6976 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6977         * check/elements/identity.c: (GST_START_TEST):
6978           Make the error a little clearer when the test fails because
6979           identity made a copy of the buffer.
6980         * docs/gst/gstreamer-sections.txt:
6981           New symbols in gstbasetransform.h
6982         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6983         (gst_base_transform_init), (gst_base_transform_transform_size),
6984         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6985         (gst_base_transform_default_prepare_buf),
6986         (gst_base_transform_get_unit_size),
6987         (gst_base_transform_buffer_alloc),
6988         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6989         (gst_base_transform_change_state),
6990         (gst_base_transform_set_passthrough),
6991         (gst_base_transform_set_in_place),
6992         (gst_base_transform_is_in_place):
6993         * gst/base/gstbasetransform.h:
6994           Change BaseTransform to separate in_place operate from same_caps
6995           output. in_place implies that the element can perform the transform
6996           on incoming buffers in-place, even if the caps on the output are
6997           different.
6998           Sub-class elements can now implement special buffer allocation
6999           methods for outgoing buffers if they wish to.
7000           Big documentation addition.
7001         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7002         * gst/elements/gstelements.c:
7003           Changes for basetransform modifications.
7004         * gst/elements/Makefile.am:
7005         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7006           Compile fix. Extra debug output.
7007
7008 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7009
7010         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7011         (gst_pad_suite):
7012           add tests for valid pad naming
7013         * gst/check/gstcheck.c: (gst_check_log_message_func),
7014         (gst_check_log_critical_func):
7015           add ASSERT_WARNING
7016           remove printing of code, it is fragile when the code contains
7017           % and the line number is enough info
7018         * gst/check/gstcheck.h:
7019         * gst/gstpad.c: (gst_pad_template_new):
7020           fix memleaks
7021
7022 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7023
7024         * configure.ac:
7025           say what CHECK flags we use
7026         * docs/libs/gstreamer-libs.types:
7027         * libs/gst/controller/Makefile.am:
7028         * libs/gst/controller/gst-controller.c:
7029         * libs/gst/controller/gst-controller.h:
7030         * libs/gst/controller/gst-helper.c:
7031         * libs/gst/controller/gst-interpolation.c:
7032         * libs/gst/controller/gstcontroller.c:
7033         * libs/gst/controller/gsthelper.c:
7034         * libs/gst/controller/gstinterpolation.c:
7035         * tools/gst-inspect.c: (print_plugin_info):
7036           we don't use dashes in header names
7037
7038 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7039
7040         * check/Makefile.am:
7041         * check/gst/.cvsignore:
7042         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7043         (gst_pipeline_suite), (main):
7044           adding a test for pipelines and state changes
7045         * gst/gstutils.c: (get_state_func):
7046           add some debugging
7047         * gstreamer.spec.in:
7048           fix up spec file
7049
7050 2005-09-08  Michael Smith <msmith@fluendo.com>
7051
7052         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7053         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7054         (gst_file_src_is_seekable), (gst_file_src_get_size),
7055         (gst_file_src_start):
7056         * gst/elements/gstfilesrc.h:
7057           Various fixes for unseekable, unmmapable, and non-normal files, so
7058           that fallback to read() rather than mmap() works.
7059         * gst/gstevent.c: (gst_event_new_newsegment):
7060           Allow newsegment events with segment_start == segment_end, as will
7061           correctly happen if you use filesrc on a zero-size file, for
7062           example.
7063
7064 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7065
7066         * gst/gstplugin.c: (gst_plugin_load_file):
7067           Call g_module_close when we don't load the module
7068
7069         * gst/registries/gstlibxmlregistry.c:
7070         (gst_xml_registry_get_property):
7071           Port leak fix from 0.8
7072
7073 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7074
7075         * docs/gst/gstreamer-docs.sgml:
7076         * docs/gst/tmpl/.cvsignore:
7077         * docs/gst/tmpl/gsttrace.sgml:
7078         * docs/gst/tmpl/gsttrashstack.sgml:
7079         * gst/Makefile.am:
7080         * gst/gst.h:
7081         * gst/gstelement.h:
7082         * gst/gstevent.h:
7083         * gst/gstmessage.c:
7084         * gst/gstmessage.h:
7085         * gst/gsttag.c:
7086         * gst/gsttag.h:
7087         * gst/gsttaginterface.c:
7088         * gst/gsttaginterface.h:
7089         * gst/gsttaglist.c:
7090         * gst/gsttaglist.h:
7091         * gst/gsttagsetter.c:
7092         * gst/gsttagsetter.h:
7093         * gst/gsttrace.c:
7094         * gst/gsttrace.h:
7095         * gst/gsttrashstack.c:
7096           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7097           inlined docs for gsttrace, gsttrashstack
7098
7099 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7100
7101         * gst/Makefile.am:
7102         * gst/elements/gstbufferstore.h:
7103         * gst/elements/gsttypefindelement.c:
7104         * gst/elements/gsttypefindelement.h:
7105         * gst/gst.h:
7106         * gst/gsttypefind.c:
7107         * gst/gsttypefind.h:
7108         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7109         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7110         (gst_type_find_factory_dispose),
7111         (gst_type_find_factory_unload_thyself),
7112         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7113         (gst_type_find_factory_get_caps),
7114         (gst_type_find_factory_get_extensions),
7115         (gst_type_find_factory_call_function):
7116         * gst/gsttypefindfactory.h:
7117         * gst/registries/gstlibxmlregistry.c:
7118         * gst/registries/gstxmlregistry.c:
7119           splitted gsttypefind into gsttypefind, gsttypefindfactory
7120
7121 2005-09-07  Andy Wingo  <wingo@pobox.com>
7122
7123         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7124         condition whereby the pad's task function is entered before the
7125         pad_mode variable was set.
7126
7127 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7128
7129         * gst/gstpad.c: (gst_pad_alloc_buffer):
7130           Catch misbehaving pad_alloc functions that don't
7131           set up caps and do it for them.
7132
7133 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7134
7135         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7136           test for pipe!=NULL
7137         * docs/gst/tmpl/.cvsignore:
7138         * docs/gst/tmpl/gstmemchunk.sgml:
7139         * docs/gst/tmpl/gstparse.sgml:
7140         * docs/gst/tmpl/gsttaglist.sgml:
7141         * docs/gst/tmpl/gsttagsetter.sgml:
7142         * docs/gst/tmpl/gsttypefind.sgml:
7143         * docs/gst/tmpl/gsttypefindfactory.sgml:
7144         * gst/gstmemchunk.c:
7145         * gst/gstparse.c:
7146         * gst/gsttag.c:
7147         * gst/gsttaginterface.c:
7148         * gst/gsttypefind.c:
7149         * gst/gsttypefind.h:
7150           inlined more docs
7151
7152 === release 0.9.2 ===
7153
7154 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7155
7156         * NEWS:
7157         * RELEASE:
7158         * configure.ac:
7159           releasing 0.9.2, "South"
7160
7161 2005-09-05  Andy Wingo  <wingo@pobox.com>
7162
7163         * gst/registries/gstxmlregistry.h:
7164         * gst/registries/gstxmlregistry.c: Um... resurrect...
7165         
7166         * gst/registries/gstxmlregistry.h:
7167         * gst/registries/gstxmlregistry.c: and update to newer API.
7168         Incidentally they should be a bit faster now that they don't have
7169         to parse the caps.
7170         
7171 2005-09-05  Andy Wingo  <wingo@pobox.com>
7172
7173         * gst/registries/gstxmlregistry.h:
7174         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7175         replaced by the libxml registry a while back
7176
7177 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7178
7179         * docs/gst/tmpl/gstplugin.sgml:
7180         * gst/elements/gstelements.c:
7181         * gst/gst.c:
7182         * gst/gstplugin.c: (gst_plugin_register_func),
7183         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7184         (gst_plugin_get_source):
7185         * gst/gstplugin.h:
7186         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7187         (gst_xml_registry_save_plugin):
7188         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7189         (gst_xml_registry_save_plugin):
7190         * tools/gst-inspect.c: (print_plugin_info):
7191           add a "source" plugin description field, to represent the source
7192           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7193           will set it to PACKAGE, which is automake's idea of the name of
7194           the source project.
7195
7196 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7197
7198         * Makefile.am:
7199         * autogen.sh:
7200         * configure.ac:
7201         * docs/Makefile.am:
7202         * docs/faq/Makefile.am:
7203         * docs/gst/tmpl/gstelement.sgml:
7204         * docs/gst/tmpl/gsttypes.sgml:
7205         * docs/htmlinstall.mak:
7206         * docs/manual/Makefile.am:
7207         * docs/pwg/Makefile.am:
7208           reorganize doc build a little
7209           split out docbook and gtk-doc stuff
7210           have two separate --enable's and enable them through autogen
7211           but disable by default in configure (to be similar to other
7212           projects)
7213         * gstreamer.spec.in:
7214           clean up docs install
7215         * po/af.po:
7216         * po/az.po:
7217         * po/ca.po:
7218         * po/cs.po:
7219         * po/de.po:
7220         * po/en_GB.po:
7221         * po/fr.po:
7222         * po/it.po:
7223         * po/nb.po:
7224         * po/nl.po:
7225         * po/ru.po:
7226         * po/sq.po:
7227         * po/sr.po:
7228         * po/sv.po:
7229         * po/tr.po:
7230         * po/uk.po:
7231         * po/vi.po:
7232           translation updates
7233
7234 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7235
7236         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7237           Add comment.
7238           
7239         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7240         (gst_fake_sink_change_state):
7241           Make state change function thread-safe.
7242           
7243         * gst/gstpad.c: (gst_pad_alloc_buffer):
7244           Set offset on generic buffer allocated by fallback.
7245
7246 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7247
7248         * docs/gst/gstreamer-sections.txt:
7249         * docs/gst/tmpl/gstelement.sgml:
7250         * gst/gstpad.c:
7251         * libs/gst/controller/gst-controller.c:
7252         (gst_controlled_property_set_interpolation_mode),
7253         (gst_controlled_property_new),
7254         (gst_controller_find_controlled_property):
7255          run the wingo-magic script against the docs
7256
7257 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7258
7259         * docs/gst/gstreamer-docs.sgml:
7260         * docs/gst/gstreamer-sections.txt:
7261         * docs/gst/tmpl/.cvsignore:
7262         * docs/gst/tmpl/gstelementdetails.sgml:
7263         * docs/gst/tmpl/gstelementfactory.sgml:
7264         * gst/gst.c:
7265         * gst/gstbus.c:
7266         * gst/gstelementfactory.c:
7267         * gst/gstelementfactory.h:
7268           merged elementdetails docs into elementfactory docs
7269           inlined both
7270
7271 2005-09-02  Andy Wingo  <wingo@pobox.com>
7272
7273         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7274         consider this enum an enum and not a flags.
7275
7276 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7277
7278         * docs/gst/gstreamer-docs.sgml:
7279         * docs/gst/tmpl/.cvsignore:
7280         * docs/gst/tmpl/gstghostpad.sgml:
7281         * docs/gst/tmpl/gstiterator.sgml:
7282         * docs/gst/tmpl/gstmacros.sgml:
7283         * docs/gst/tmpl/gstrealpad.sgml:
7284         * docs/gst/tmpl/gstregistry.sgml:
7285         * docs/gst/tmpl/gstregistrypool.sgml:
7286         * docs/gst/tmpl/gststructure.sgml:
7287         * docs/gst/tmpl/gstsystemclock.sgml:
7288         * docs/gst/tmpl/gsttrace.sgml:
7289         * gst/gstghostpad.c:
7290         * gst/gstmacros.h:
7291         * gst/gstmemchunk.c:
7292         * gst/gstmemchunk.h:
7293         * gst/gstqueue.c:
7294         * gst/gstregistry.c:
7295         * gst/gstregistrypool.c:
7296         * gst/gststructure.c:
7297         * gst/gstsystemclock.c:
7298           more docs inlined
7299
7300 2005-09-02  Andy Wingo  <wingo@pobox.com>
7301
7302         * gst/gstelement.h (GstState): Renamed from GstElementState,
7303         changed to be a normal enum instead of flags.
7304         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7305         munged to be GST_STATE_CHANGE_*.
7306         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7307         work with the new state representation.
7308         (GstStateChange): New enumeration of possible state transitions.
7309         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7310         (GstElementClass::change_state): Pass the GstStateChange along as
7311         an argument. Helps language bindings, so they don't have to use
7312         tricky lock-needing macros like GST_STATE_CHANGE ().
7313
7314         * scripts/update-states (file): New script. Run it on a file to
7315         update it for state naming and API changes. Updates files in
7316         place.
7317
7318         * All files updated for the new API.
7319
7320 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7321
7322         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7323         * gst/gstutils.c: (gst_util_set_value_from_string),
7324         (gst_util_set_object_arg):
7325           fix a bunch of unchecked return values
7326         * tools/gst-complete.c: (main):
7327         * gstreamer.spec.in:
7328           clean up a little
7329
7330 2005-09-01  Wim Taymans  <wim@fluendo.com>
7331
7332         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7333         (gst_base_sink_event), (gst_base_sink_do_sync),
7334         (gst_base_sink_handle_event):
7335         * gst/base/gstbasesink.h:
7336         Handle newsegments more correctly.
7337
7338         * gst/gstbus.c:
7339         Fix docs.
7340
7341         * gst/gstevent.c: (gst_event_new_newsegment):
7342         A newsegment cannot have a start_time of -1
7343
7344 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7345
7346         * win32/gstenumtypes.c:
7347         * win32/gstenumtypes.h:
7348           Update
7349
7350 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7351
7352         * libs/gst/controller/gst-controller.c:
7353         (gst_controlled_property_set_interpolation_mode),
7354         (gst_controlled_property_new):
7355          fixed boolean again
7356
7357 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7358
7359         * docs/faq/gst-uninstalled:
7360           add -good
7361         * gst/gstevent.c:
7362         * gst/gstevent.h:
7363           remove wrong docs
7364         * gst/gstutils.c: (gst_element_link_filtered):
7365         * gst/gstutils.h:
7366           add gst_element_link_filtered
7367
7368 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7369
7370         * docs/gst/gstreamer-docs.sgml:
7371         * docs/gst/gstreamer-sections.txt:
7372         * docs/gst/tmpl/.cvsignore:
7373         * docs/gst/tmpl/gsterror.sgml:
7374         * docs/gst/tmpl/gstfilter.sgml:
7375         * docs/gst/tmpl/gsturihandler.sgml:
7376         * docs/gst/tmpl/gsturitype.sgml:
7377         * docs/gst/tmpl/gstutils.sgml:
7378         * docs/gst/tmpl/gstxml.sgml:
7379         * gst/gsterror.c:
7380         * gst/gsterror.h:
7381         * gst/gstfilter.c:
7382         * gst/gsturi.c:
7383         * gst/gsturitype.c:
7384         * gst/gstutils.c:
7385         * gst/gstxml.c:
7386           inlined more docs, fixed double id-ref
7387
7388 2005-08-31  Wim Taymans  <wim@fluendo.com>
7389
7390         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7391         (gst_base_transform_handle_buffer):
7392         Passthrough elements don't need the caps as they don't care.
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), (gst_base_transform_chain):
7398         Don't leak refcounts on buffers.
7399
7400 2005-08-31  Wim Taymans  <wim@fluendo.com>
7401
7402         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7403         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7404         (gst_base_transform_chain), (gst_base_transform_change_state):
7405         * gst/base/gstbasetransform.h:
7406         Handle the case where we are not negotiated more gracefully.
7407
7408 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7409
7410         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7411         (gst_file_src_map_region):
7412           Set READONLY flag on mmap'ed buffers, otherwise
7413           gst_buffer_make_writable() won't work properly (#314708).
7414
7415 2005-08-31  Wim Taymans  <wim@fluendo.com>
7416
7417         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7418         passthrough elements can even do inplace on non writable
7419         buffers (as they don't touch them).
7420
7421 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7422
7423         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7424         (gst_test_mono_source_set_property),
7425         (gst_test_mono_source_class_init), (GST_START_TEST),
7426         (gst_controller_suite):
7427           more tests (hehe I have the most)
7428         * gst/gstbus.c:
7429           describe popping messages whenusing mulltiple sources
7430         * libs/gst/controller/gst-controller.c:
7431         (gst_controlled_property_set_interpolation_mode),
7432         (gst_controlled_property_new):
7433         * libs/gst/controller/gst-controller.h:
7434         * libs/gst/controller/gst-interpolation.c:
7435           implement boolean properties
7436
7437 2005-08-31  Wim Taymans  <wim@fluendo.com>
7438
7439         * gst/gstminiobject.c: (gst_mini_object_ref):
7440         Cannot assert that the refcount has to be positive
7441         since a disposed object can be resurrected.
7442
7443 2005-08-31  Wim Taymans  <wim@fluendo.com>
7444
7445         * gst/gstpad.c: (gst_pad_init):
7446         Revert change, need to first fix badly behaving 
7447         apps.
7448
7449 2005-08-30  Wim Taymans  <wim@fluendo.com>
7450
7451         * check/elements/fakesrc.c: (setup_fakesrc):
7452         * check/elements/identity.c: (setup_identity):
7453         Activate pads before using them.
7454
7455 2005-08-30  Wim Taymans  <wim@fluendo.com>
7456
7457         * gst/base/gstadapter.c: (gst_adapter_flush):
7458         Flushing out 0 bytes is ok for this function.
7459
7460         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7461         no newsegment gives a warning and sets the start/stop to 
7462         invalid.
7463
7464         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7465         (gst_base_transform_set_passthrough):
7466         Some debug info.
7467
7468         * gst/gstminiobject.c: (gst_mini_object_ref):
7469         Check refcount here too.
7470
7471         * gst/gstpad.c: (gst_pad_init):
7472         Pads are initially flushing and refusing data.
7473
7474         * gst/gstutils.c: (gst_element_link_pads_filtered):
7475         When adding a capsfilter element make sure it has the
7476         same state as the parent bin.
7477
7478 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7479
7480         * docs/gst/tmpl/.cvsignore:
7481         * docs/gst/tmpl/gstformat.sgml:
7482         * docs/gst/tmpl/gstversion.sgml:
7483         * gst/gstbus.h:
7484         * gst/gstformat.c:
7485         * gst/gstformat.h:
7486         * gst/gstversion.h.in:
7487           more docs and two more inlined
7488
7489 2005-08-30  Wim Taymans  <wim@fluendo.com>
7490
7491         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7492         Don't sync to clock.
7493
7494 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7495
7496         * docs/gst/gstreamer-sections.txt:
7497           ultral33t func10ns deserve to appear in the docs actually
7498         * docs/gst/tmpl/.cvsignore:
7499         * docs/gst/tmpl/gstcompat.sgml:
7500         * docs/gst/tmpl/gstconfig.sgml:
7501         * gst/check/gstcheck.c:
7502         * gst/gstcompat.h:
7503         * gst/gstconfig.h.in:
7504           inlined more docs
7505
7506 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7507
7508         * docs/gst/tmpl/.cvsignore:
7509         * docs/gst/tmpl/gstquery.sgml:
7510         * docs/gst/tmpl/gstutils.sgml:
7511         * gst/gstquery.c:
7512         * gst/gstquery.h:
7513           inlined and extended docs
7514
7515 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7516
7517         * check/gst-libs/controller.c: (GST_START_TEST),
7518         (gst_controller_suite):
7519           more tests
7520         * docs/gst/tmpl/gstutils.sgml:
7521         * docs/libs/gstreamer-libs-sections.txt:
7522         * docs/libs/tmpl/gstdataprotocol.sgml:
7523           include path fixes
7524         * examples/controller/audio-example.c: (main):
7525           controller example works now
7526         * gst/gstclock.h:
7527           doc fixes
7528         * tools/gst-inspect.c: (print_element_properties_info):
7529           show param spec flags
7530
7531 2005-08-29  Andy Wingo  <wingo@pobox.com>
7532
7533         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7534
7535 2005-08-28  Andy Wingo  <wingo@pobox.com>
7536
7537         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7538         as having two arguments instead of just one. Allows superclasses
7539         to access information on subclasses -- see the terrible for() loop
7540         in gtype.c:g_type_create_instance for the reason why. All callers
7541         changed.
7542
7543 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7544
7545         * docs/design/part-messages.txt:
7546           update info
7547         * docs/gst/tmpl/.cvsignore:
7548         * docs/gst/tmpl/gstcaps.sgml:
7549         * docs/gst/tmpl/gstclock.sgml:
7550         * gst/gstbus.c:
7551         * gst/gstcaps.c:
7552         * gst/gstcaps.h:
7553         * gst/gstclock.c:
7554         * gst/gstclock.h:
7555         * gst/gstmessage.c:
7556           added descriptions for bus and message
7557           inline caps and clock docs
7558
7559 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7560
7561         * gst/gstmessage.c:
7562         * gst/gstmessage.h:
7563           doc fixes
7564
7565 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7566
7567         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7568           fix div-by-zero
7569
7570 2005-08-26  Andy Wingo  <wingo@pobox.com>
7571
7572         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7573         element_set_state's return val.
7574         (test_2_elements): Add test that's been disabled for months.
7575
7576         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7577         can-activate-pull properties.
7578
7579         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7580         can-activate-pull properties. Implement is_seekable so fakesrc can
7581         operate in pull mode.
7582
7583         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7584         properties.
7585         (gst_base_sink_activate, gst_base_sink_activate_pull)
7586         (gst_base_sink_activate_push): Make activation mode choosing work.
7587         Cleanups.
7588         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7589         is right. Make pull mode work. Post an eos before pausing in pull
7590         mode.
7591         (gst_base_sink_change_state): Pay attention to the core's
7592         change_state() return val.
7593         
7594         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7595         has-getrange properties. Cleanups.
7596         
7597         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7598         has_getrange and replace with can_activate_pull and
7599         can_activate_push.
7600
7601         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7602         locking comments. Remove has_loop, has_chain and replace with
7603         can_activate_pull and can_activate_push.
7604
7605 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7606
7607         * configure.ac:
7608         * examples/Makefile.am:
7609         * examples/metadata/Makefile.am:
7610         * examples/metadata/read-metadata.c: (message_loop),
7611         (have_pad_handler), (make_pipeline), (print_tag), (main):
7612           Add metadata reading example that loops over a list of filenames,
7613           dumping any tags found.
7614
7615         * gst/gstbus.c: (gst_bus_dispose):
7616         * gst/gstelement.c: (gst_element_dispose):
7617           Release a few potentially-held references in dispose.
7618
7619 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7620
7621         * docs/gst/tmpl/gstminiobject.sgml:
7622           do *not* add tmpl/*.sgml files to CVS!
7623
7624 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7625
7626         * libs/gst/bytestream/.cvsignore:
7627         * libs/gst/bytestream/Makefile.am:
7628         * libs/gst/bytestream/adapter.c:
7629         * libs/gst/bytestream/adapter.h:
7630         * libs/gst/bytestream/bytestream.c:
7631         * libs/gst/bytestream/bytestream.h:
7632         * libs/gst/bytestream/filepad.c:
7633         * libs/gst/bytestream/filepad.h:
7634           removing obsolete files
7635
7636 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7637
7638         * docs/gst/gstreamer-docs.sgml:
7639         * docs/libs/gstreamer-libs-docs.sgml:
7640           disabed additional index entries again, as this makes docs-gen just
7641           slow and they aren't useful yet
7642         * docs/libs/gstreamer-libs-sections.txt:
7643           little -section.txt cleanup for libs
7644
7645 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7646
7647         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7648         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7649           fix up some debugging
7650         (gst_base_transform_get_unit_size),
7651         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7652         (gst_base_transform_handle_buffer):
7653         * gst/base/gstbasetransform.h:
7654           handle and store timed NEWSEGMENT events so that subclasses that
7655           calculate time by counting samples have a segment_start time they
7656           need to add to their timestamps - see audioresample
7657
7658 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7659
7660         * gst/gstbin.h:
7661           removed ';' from the end of macro defs
7662         * docs/gst/gstreamer-docs.sgml:
7663         * docs/gst/gstreamer-sections.txt:
7664         * docs/gst/tmpl/.cvsignore:
7665         * gst/gstbus.h:
7666         * gst/gstelement.c: (gst_element_class_init),
7667         (gst_element_set_state), (activate_pads),
7668         (gst_element_save_thyself):
7669         * gst/gstevent.c: (gst_event_new_newsegment):
7670         * gst/gstevent.h:
7671         * gst/gstiterator.c:
7672         * gst/gstiterator.h:
7673         * gst/gstpad.c:
7674         * gst/gstprobe.h:
7675         * gst/gstutils.c: (gst_pad_query_convert):
7676         * gst/gstutils.h:
7677           fixed parameter name mismatches between source, header and docs
7678           added some more docs, resolved the last batch of unused elements in
7679           docs (now someone needs to doc them)
7680
7681 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7682
7683         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7684         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7685           don't walk through the plugins backwards.  Where is all this
7686           reversed logic coming from ?
7687
7688 2005-08-25  Wim Taymans  <wim@fluendo.com>
7689
7690         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7691         (gst_base_transform_transform_size),
7692         (gst_base_transform_configure_caps),
7693         (gst_base_transform_get_unit_size),
7694         (gst_base_transform_buffer_alloc),
7695         (gst_base_transform_change_state):
7696         * gst/base/gstbasetransform.h:
7697         Cache caps unit_size.
7698         Make sure we cannot negotiate up and downstream at the
7699         same time.
7700
7701 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7702
7703         * gst/gst.c: (init_pre), (init_post):
7704           register the installed plugin path after the env var
7705         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7706         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7707           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7708           directories, so the tests can prefer uninstalled over installed
7709
7710 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7711
7712         * gst/base/gstbasetransform.h:
7713           comment
7714         * gst/gstpad.c:
7715           add to docs
7716
7717 2005-08-25  Wim Taymans  <wim@fluendo.com>
7718
7719         * gst/gstbin.c: (bin_bus_handler):
7720         Be a bit more conservative about the posted message.
7721         
7722         * gst/gstbus.c: (gst_bus_post):
7723         Some cleanups, warn wrong return values.
7724
7725 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7726
7727         * check/gst/gstbin.c: (GST_START_TEST):
7728         * gst/gstbin.c: (bin_bus_handler):
7729         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7730         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7731         (gst_message_new_warning), (gst_message_new_tag),
7732         (gst_message_new_state_changed), (gst_message_new_segment_start),
7733         (gst_message_new_segment_done), (gst_message_new_custom):
7734         * gst/gstmessage.h:
7735         * tools/gst-launch.c: (event_loop):
7736         * tools/gst-md5sum.c: (event_loop):
7737           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7738
7739 2005-08-25  Wim Taymans  <wim@fluendo.com>
7740
7741         * check/generic/states.c: (GST_START_TEST):
7742         Cleanup can be done at the end.
7743
7744         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7745         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7746         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7747         Oh boy.. Thanks for finding this, Thomas. 
7748
7749 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7750
7751         * docs/gst/gstreamer.types:
7752           added missing types
7753
7754 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7755
7756         * docs/gst/gstreamer-docs.sgml:
7757         * docs/gst/gstreamer-sections.txt:
7758         * docs/gst/tmpl/.cvsignore:
7759         * gst/gstbin.c:
7760         * gst/gstiterator.c:
7761         * gst/gstutils.c:
7762         * gst/registries/gstxmlregistry.h:
7763           added missing classes and symbols (123 more to go)
7764           removed removed symbols from section file
7765           fixed many doc-comments
7766
7767 2005-08-24  Wim Taymans  <wim@fluendo.com>
7768
7769         * check/generic/states.c: (GST_START_TEST):
7770         Make sure all tasks are stopped.
7771
7772         * check/gst/gstbin.c: (GST_START_TEST):
7773         Unref after usage for proper valgrinding.
7774
7775         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7776         Really wait for the task to stop before destroying the
7777         mutex.
7778
7779         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7780         (gst_queue_src_activate_push):
7781         Small cleanups. Don't stop the task when we did not start
7782         it.
7783
7784         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7785         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7786         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7787         (gst_task_join):
7788         * gst/gsttask.h:
7789         Protect the stream lock with the object lock.
7790         Disallow setting the stream lock when running.
7791         Add cleanup_all to wait for the threadpool to finish.
7792         Remove code to autoallocate a mutex if none was provided.
7793         Add _join() to wait for a task to stop.
7794         Protect the thread pool with a global lock.
7795
7796 2005-08-24  Wim Taymans  <wim@fluendo.com>
7797
7798         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7799         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7800         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7801         * gst/base/gstbasesink.h:
7802         Handle newsegment events correctly.
7803         Drop buffers out of the segment range.
7804
7805 2005-08-22  Andy Wingo  <wingo@pobox.com>
7806
7807         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7808         macro, implements an interface and gstimplementsinterface for a
7809         new type.
7810
7811 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7812
7813         * check/Makefile.am:
7814         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7815           add a test that does a bunch of state changes on elements
7816           needs some fixing for valgrind
7817         * check/states/sinks.c: (gst_object_suite):
7818           whitespace
7819         * gst/gstcaps.h:
7820           add prototype for gst_caps_is_equal_fixed
7821         * gst/gstplugin.c:
7822         * gst/gstregistrypool.c:
7823           doc fixes
7824
7825 2005-08-24  Andy Wingo  <wingo@pobox.com>
7826
7827         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7828         convert a negative value. Doesn't make much sense. Mostly this is
7829         here to force callers to ensure -1 maps to -1.
7830
7831 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7832
7833         * docs/pwg/advanced-types.xml:
7834           Well done to Michael for catching my deliberate introduction
7835           of this spelling mistake. 
7836         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7837         * gst/gstelement.h:
7838           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7839           unlink pads before removing the element from the bin.
7840
7841 2005-08-24  Andy Wingo  <wingo@pobox.com>
7842
7843         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7844         the same thing as GST_DEBUG=*:4.
7845         (parse_debug_level, parse_debug_category): New helper parsers.
7846
7847 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7848
7849         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7850         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7851         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7852         (gst_base_transform_buffer_alloc),
7853         (gst_base_transform_handle_buffer):
7854           use gboolean return values and pointers to size so we can use the
7855           full GST_BUFFER_SIZE range (guint) for buffer sizes
7856           use GstPadDirection for transform_caps
7857         * gst/base/gstbasetransform.h:
7858           rename get_size to get_unit_size since that's what it is
7859         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7860           use GstPadDirection for transform_caps
7861         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7862         * gst/gstutils.h:
7863           cleanup and debugging
7864
7865 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7866
7867         * gst/gstelement.c: (gst_element_class_init),
7868         (gst_element_set_state), (activate_pads),
7869         (gst_element_save_thyself):
7870         * tools/gst-compprep.c: (main):
7871         * tools/gst-inspect.c: (print_element_properties_info):
7872         * tools/gst-xmlinspect.c: (print_element_properties):
7873           Fixed long standing mem-leak
7874
7875 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7876
7877         * check/gst/gstbin.c: (GST_START_TEST):
7878         * gst/gstbin.c: (bin_bus_handler):
7879         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7880         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7881         (gst_message_new_warning), (gst_message_new_tag),
7882         (gst_message_new_state_changed), (gst_message_new_segment_start),
7883         (gst_message_new_segment_done), (gst_message_new_custom):
7884         * gst/gstmessage.h:
7885         * tools/gst-launch.c: (event_loop):
7886         * tools/gst-md5sum.c: (event_loop):
7887           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7888           that applications can sensibly post custom messages with references
7889           to their own objects.
7890
7891 2005-08-24  Andy Wingo  <wingo@pobox.com>
7892
7893         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7894         already.
7895
7896 2005-08-24  Wim Taymans  <wim@fluendo.com>
7897
7898         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7899         (gst_base_transform_transform_caps),
7900         (gst_base_transform_transform_size),
7901         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7902         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7903         (gst_base_transform_handle_buffer):
7904         * gst/base/gstbasetransform.h:
7905         Many fixes and new features added by Thomas. Can now also do
7906         transforms with variable sizes and a custom fixate_caps function.
7907
7908 2005-08-24  Wim Taymans  <wim@fluendo.com>
7909
7910         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7911         Some debugging.
7912
7913         * gst/gstclock.h:
7914         Cast to ClockTime before formatting to time.
7915
7916         * gst/gstutils.h:
7917         Cleanups.
7918
7919 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7920
7921         * check/gst-libs/controller.c: (GST_START_TEST),
7922         (gst_controller_suite):
7923         * docs/gst/tmpl/gstcaps.sgml:
7924         * docs/gst/tmpl/gstghostpad.sgml:
7925         * docs/gst/tmpl/gstquery.sgml:
7926         * docs/gst/tmpl/gstutils.sgml:
7927         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7928         (gst_object_sink_values), (gst_object_get_value_arrays),
7929         (gst_object_get_value_array):
7930           gracefully handle helper method calls to objects that are not beeing
7931           controlled, added test case for that          
7932
7933 2005-08-23  Wim Taymans  <wim@fluendo.com>
7934
7935         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7936         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7937         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7938         (gst_event_parse_qos), (gst_event_new_seek),
7939         (gst_event_parse_seek):
7940         * gst/gstevent.h:
7941         Some more debugging output and doc cleanups.
7942
7943         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7944         Fix possible deadlock.
7945
7946 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7947
7948         * docs/gst/gstreamer-docs.sgml:
7949         * docs/gst/gstreamer-sections.txt:
7950         * docs/gst/gstreamer.types:
7951         * docs/gst/tmpl/.cvsignore:
7952         * gst/gstbin.h:
7953         * gst/gstbus.c:
7954         * gst/gstelement.c:
7955         * gst/gstevent.h:
7956           added 100 symbols from gstreamer-unused.txt to the right sections
7957           fixed more broken comments
7958           added GstBus to docs
7959
7960 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7961
7962         * docs/gst/gstreamer-sections.txt:
7963         * docs/gst/tmpl/.cvsignore:
7964         * docs/gst/tmpl/gstbin.sgml:
7965         * docs/gst/tmpl/gstbuffer.sgml:
7966         * gst/base/gstbasesrc.c:
7967         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7968         * gst/gstbuffer.c:
7969         * gst/gstbuffer.h:
7970         * tools/gst-launch.1.in:
7971           inlined more doc comments, added missing comments and fixed comments
7972           fixed typos
7973
7974 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7975
7976         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7977           some debugging
7978         * gst/gstcaps.h:
7979           whitespace fixes
7980         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7981           more debugging
7982         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7983         * gst/gststructure.h:
7984           add a fixate function for booleans; add a FIXME that these func
7985           names should probably be gst_structure_fixate_*
7986
7987 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7988
7989         * docs/gst/gstreamer-docs.sgml:
7990         * docs/gst/gstreamer-sections.txt:
7991         * gst/Makefile.am:
7992         * gst/gstbin.c: (gst_bin_get_type),
7993         (gst_bin_child_proxy_get_child_by_index),
7994         (gst_bin_child_proxy_get_children_count),
7995         (gst_bin_child_proxy_init):
7996         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7997         (gst_child_proxy_get_child_by_index),
7998         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7999         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8000         (gst_child_proxy_get), (gst_child_proxy_set_property),
8001         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8002         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8003         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8004         * gst/gstchildproxy.h:
8005         * gst/parse/grammar.y:
8006         * tools/gst-inspect.c: (print_interfaces),
8007         (print_element_properties_info), (print_element_info):
8008           ported gstchildproxy over from 0.8
8009           ported gst-inspect fixes and enhancements over from 0.8
8010
8011 2005-08-22  Wim Taymans  <wim@fluendo.com>
8012
8013         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8014         (gst_base_transform_handle_buffer):
8015         Also call the transform function if we have ANY caps.
8016
8017         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8018         Fix debug info.
8019
8020 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8021
8022         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8023           Don't pretend to handle seek events if the source is not seekable
8024
8025 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8026
8027         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8028           Remove extra parameter to debug output
8029
8030         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8031         (gst_base_src_do_seek), (gst_base_src_activate_push):
8032           Fix seek event handling.
8033
8034         * gst/gstpipeline.c: (gst_pipeline_change_state):
8035         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8036         (gst_queue_src_activate_push):
8037           Don't start the src pad task on FLUSH_STOP if the pad
8038           isn't linked.
8039           Debug changes.
8040
8041 2005-08-22  Wim Taymans  <wim@fluendo.com>
8042
8043         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8044         Added check for gst_static_caps_get() refcounting.
8045
8046 2005-08-22  Wim Taymans  <wim@fluendo.com>
8047
8048         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8049         Make _static_caps_get() refcounting sane.
8050         
8051         * gst/gstelement.c: (gst_element_set_state):
8052         Add g_return_val_if_fail() to protect against segfaults.
8053
8054 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8055
8056         * docs/gst/tmpl/gstevent.sgml:
8057         * gst/gstevent.c:
8058         * gst/gstevent.h:
8059           inlined remaining docs, added missing doc comments
8060
8061 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8062
8063         * check/gst/gstbin.c: (GST_START_TEST):
8064           since we don't know when preroll is done, use refcount range
8065           check for the sink
8066         * gst/check/gstcheck.h:
8067           add macro for checking refcount range
8068
8069 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8070
8071         * check/Makefile.am:
8072           clean up environment for when registry gets built versus
8073           when actual tests are run; valgrind seems to not report
8074           leaks if GST_PLUGIN_PATH is set to some specific values
8075         * check/gst/gstbin.c: (GST_START_TEST):
8076           add more refcounting checks; maybe this exposes a
8077           preroll lock bug ?
8078         * common/check.mak:
8079         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8080         * gst/check/gstcheck.h:
8081         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8082         (gst_bin_change_state):
8083         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8084           add/fix debugging/whitespace
8085
8086 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8087
8088         * check/gst/gstevent.c: (event_probe), (test_event),
8089         (GST_START_TEST):
8090          Er, don't call gst_bin_watch_for_state_change you idiot.
8091
8092 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8093
8094         * check/Makefile.am:
8095           Use CHECK_CFLAGS and CHECK_LIBS
8096         * check/gst/gstevent.c: (event_probe), (test_event),
8097         (GST_START_TEST):
8098           Don't leak events.
8099         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8100         (gst_base_src_start), (gst_base_src_stop),
8101         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8102         (gst_base_src_change_state):
8103           Sprinkle gst_base_src_stop liberally around error paths to fix
8104           problems reusing a source after failed state changes.
8105         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8106         (helper_find_suggest), (gst_type_find_helper):
8107           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8108         * gst/gstevent.h:
8109         * docs/gst/tmpl/gstevent.sgml:
8110           Migrate part of the docs from the SGML file. Wait for ensonic to
8111           tell me how I did it wrong ;)
8112         * tools/gst-typefind.c: (main):
8113           Extra robustness to state changes between files.
8114
8115 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8116
8117         * check/Makefile.am:
8118           don't valgrind the controller test - it's leaking - Stefan, HELP
8119         * gst/check/gstcheck.c: (gst_check_message_error),
8120         (gst_check_chain_func), (gst_check_setup_element),
8121         (gst_check_teardown_element), (gst_check_setup_src_pad),
8122         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8123         (gst_check_teardown_sink_pad):
8124         * gst/check/gstcheck.h:
8125           add a bunch of methods to set up elements, and src and sink pads
8126         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8127         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8128         (GST_START_TEST):
8129           use them
8130         * gst/gstmessage.c:
8131         * gst/gsttag.h:
8132           whitespace/doc fixes
8133
8134 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8135
8136         * gst/gstelement.h:
8137           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8138           be handled by the application and not always printed as well
8139
8140 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8141
8142         * check/Makefile.am:
8143           set GST_TOOLS_DIR
8144         * gst/check/gstcheck.c: (gst_check_message_error):
8145         * gst/check/gstcheck.h:
8146           add a fail_unless_equals_int
8147           add fail_unless for error messages
8148
8149 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8150
8151         * check/Makefile.am:
8152         * check/gst.supp:
8153         * common/Makefile.am:
8154         * common/check.mak:
8155         * common/gst.supp:
8156           factor out some of the common stuff so we can use it
8157
8158 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8159
8160         * check/Makefile.am:
8161         * check/gst/gstiterator.c: (GST_START_TEST):
8162         * check/gst/gstsystemclock.c: (GST_START_TEST),
8163         (gst_systemclock_suite):
8164         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8165         * gst/gstclock.c:
8166           valgrind more tests
8167
8168 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8169
8170         * check/elements/.cvsignore:
8171         * check/elements/gstfakesrc.c:
8172           rename to name of element
8173         * check/elements/identity.c: (chain_func), (event_func),
8174         (setup_identity), (cleanup_identity), (GST_START_TEST),
8175         (identity_suite), (main):
8176           add a test for identity
8177         * check/Makefile.am:
8178         * pkgconfig/Makefile.am:
8179         * pkgconfig/gstreamer-check.pc.in:
8180         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8181         * gst/check:
8182         * gst/Makefile.am:
8183         * configure.ac:
8184           move the check stuff to a library that gets installed
8185         * check/gst-libs/controller.c: (GST_START_TEST):
8186         * check/gst-libs/gdp.c:
8187         * check/gst/gst.c: (GST_START_TEST):
8188         * check/gst/gstbin.c:
8189         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8190         * check/gst/gstbus.c:
8191         * check/gst/gstcaps.c: (GST_START_TEST):
8192         * check/gst/gstelement.c:
8193         * check/gst/gstghostpad.c:
8194         * check/gst/gstiterator.c:
8195         * check/gst/gstmessage.c:
8196         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8197         * check/gst/gstobject.c:
8198         * check/gst/gstpad.c: (GST_START_TEST):
8199         * check/gst/gststructure.c: (GST_START_TEST):
8200         * check/gst/gstsystemclock.c: (GST_START_TEST),
8201         (gst_systemclock_suite):
8202         * check/gst/gsttag.c: (gst_tag_suite):
8203         * check/gst/gstvalue.c:
8204         * check/pipelines/cleanup.c:
8205         * check/pipelines/simple_launch_lines.c:
8206         * check/states/sinks.c:
8207           change include statement
8208
8209         * docs/gst/gstreamer-sections.txt:
8210         * docs/gst/tmpl/gstpad.sgml:
8211           document more pad stuff
8212         * gst/gstminiobject.c: (gst_mini_object_ref),
8213         (gst_mini_object_unref):
8214           debug refcounting
8215
8216 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8217
8218         * docs/gst/tmpl/gst.sgml:
8219         * gst/gst.c:
8220           eliminate another tmpl file, fix spelling in the long-description
8221
8222 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8223
8224         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8225         (test_event), (timediff), (gstevents_suite):
8226           Should fix build on 64-bit arch's
8227
8228 2005-08-18  Andy Wingo  <wingo@pobox.com>
8229
8230         Make sure that when a pipeline goes to PLAYING, that data has
8231         actually hit the sink.
8232
8233         * check/states/sinks.c (test_sink): A sink that doesn't get any
8234         data shouldn't return SUCCESS for going to either PLAYING or
8235         PAUSED. Test also the return values on the way back down.
8236
8237         * gst/gstelement.c (gst_element_set_state): When changing the
8238         state of an element currently changing state asynchronously, go to
8239         lost-state after commiting the pending state. Makes future calls
8240         to get_state continue to return ASYNC.
8241
8242         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8243         ASYNC when going to PLAYING if we still don't have preroll, as can
8244         happen with live sources.
8245
8246 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8247
8248         * docs/pwg/advanced-types.xml:
8249           Hack long paragraph into 2 chunks as a workaround for buggy
8250           jadetex version in sid and breezy that loops infinitely and
8251           eats all RAM.
8252
8253 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8254
8255         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8256         (test_event), (timediff), (gstevents_suite):
8257           Provide more error margin in clock measurements to allow for 
8258           g_get_current_time inaccuracies.
8259
8260 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8261
8262         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8263         (test_event), (timediff), (gstevents_suite):
8264            Fix error message output so I might be able to tell why the
8265            test works here but fails on the build farm.
8266
8267 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8268
8269         * check/Makefile.am:
8270         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8271         (test_event), (timediff), (gstevents_suite), (main):
8272           I wrote a test!
8273
8274         * docs/design/part-seeking.txt:
8275           Spelling correction
8276
8277         * docs/gst/tmpl/gstevent.sgml:
8278         * docs/gst/tmpl/gstfakesrc.sgml:
8279           Docs updates.
8280
8281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8282           Treat a buffer-without-newsegment the same as a receiving 
8283           a newsegment not in time format, and disable syncing to the clock
8284           with a warning.
8285
8286         * gst/gstbus.c: (gst_bus_set_sync_handler):
8287           Assert if anyone tries to replace the existing sync_handler for bus, 
8288           as only the owner should be setting it.
8289
8290         * gst/gstevent.h:
8291           Have a fixed set of custom event enums with events identified by
8292           their structure name (as in 0.8), rather than a free-for-all
8293           allowing collisions between enum values from different plugins.
8294
8295         * gst/gstpad.c: (gst_pad_class_init):
8296           Docs change.
8297           
8298         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8299           Handle out-of-band downstream events from the sending thread.
8300
8301 2005-08-17  Andy Wingo  <wingo@pobox.com>
8302
8303         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8304         play-timeout==0 to mean no timeout at all. In that case, don't
8305         bother with a get_state or a warning, just return directly, even
8306         if it's ASYNC.
8307
8308         * gst/base/gstbasetransform.c: Debug changes.
8309
8310         * gst/gstutils.h:
8311         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8312         ensure bins post state change messages. A bit of a hack but I can't
8313         think of a way to avoid it.
8314
8315         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8316
8317 2005-08-16  Andy Wingo  <wingo@pobox.com>
8318
8319         * gst/base/gstadapter.h:
8320         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8321         peek() but you own the data. Not terribly efficient atm.
8322
8323 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8324
8325         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8326         (gst_element_found_tags):
8327         * gst/gstutils.h:
8328           Add two utility functions for tag handling.
8329
8330 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8331
8332         * docs/manual/advanced-dataaccess.xml:
8333         * docs/manual/basics-helloworld.xml:
8334           Fix docs to use _bin_add() before _link(), which fixes the examples
8335           with recent core versions (reported by Madhan Raj M
8336           <raj_madan@rediffmail.com>, #313199).
8337
8338 2005-08-16  Wim Taymans  <wim@fluendo.com>
8339
8340         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8341         Added subtract checks.
8342
8343         * docs/design/part-events.txt:
8344         Some more docs about newsegment
8345
8346         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8347         Fix FIXME
8348
8349         * gst/gstcaps.c: (gst_caps_to_string):
8350         Add comments, cleanups.
8351         
8352         * gst/gstelement.c: (gst_element_save_thyself):
8353         cleanups
8354         
8355         * gst/gstvalue.c: (gst_value_collect_int_range),
8356         (gst_string_unwrap), (gst_value_union_int_int_range),
8357         (gst_value_union_int_range_int_range),
8358         (gst_value_intersect_int_int_range),
8359         (gst_value_intersect_int_range_int_range),
8360         (gst_value_intersect_double_double_range),
8361         (gst_value_intersect_double_range_double_range),
8362         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8363         (gst_value_subtract_int_range_int),
8364         (gst_value_subtract_double_range_double),
8365         (gst_value_subtract_double_range_double_range),
8366         (gst_value_subtract_from_list), (gst_value_subtract_list),
8367         (gst_value_can_compare), (gst_value_compare_fraction):
8368         Cleanups, add comments, remove unneeded asserts.
8369
8370 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8371
8372         * tools/gst-launch.c: (event_loop):
8373           don't convert NULL structures to strings
8374
8375 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8376
8377         * docs/gst/gstreamer-sections.txt:
8378           made some defines private
8379         * docs/gst/tmpl/gstconfig.sgml:
8380         * docs/gst/tmpl/gstqueue.sgml:
8381         * docs/gst/tmpl/gsttaglist.sgml:
8382         * docs/gst/tmpl/gsttypes.sgml:
8383         * docs/gst/tmpl/gstutils.sgml:
8384         * docs/pwg/appendix-porting.xml:
8385         * gst/base/gstbasesink.h:
8386         * gst/base/gstbasesrc.c:
8387         * gst/base/gstbasesrc.h:
8388         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8389         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8390         * gst/gstelement.c: (gst_element_class_init):
8391         * gst/gstpad.c: (gst_pad_class_init):
8392         * gst/gstqueue.c: (gst_queue_class_init):
8393         * gst/gstxml.c: (gst_xml_class_init):
8394           documented all undocumented signal inline
8395         * libs/gst/controller/gst-controller.h:
8396           added padding
8397
8398 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8399
8400         * docs/pwg/appendix-porting.xml:
8401           Document _set_link_function -> _set_setcaps_function.
8402
8403 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8404
8405         * check/Makefile.am:
8406           add a .check target for running the check
8407         * check/gst-libs/controller.c: (GST_START_TEST):
8408           cosmetic fixups
8409         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8410           complete checks for gstbuffer; would be nice if I could get the
8411           gcov stuff to work so I can see if I actually completed gstbuffer.c
8412         * check/gstcheck.h:
8413           add ASSERT_BUFFER_REFCOUNT
8414
8415 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8416
8417         * docs/gst/gstreamer-sections.txt:
8418         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8419         * gst/gsttag.h:
8420           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8421           spew out a warning if a tag that is already registered
8422           is re-registered, unless it is re-registered with a 
8423           different type (#308438).
8424
8425 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8426
8427         * docs/pwg/appendix-porting.xml:
8428         * docs/pwg/building-state.xml:
8429           Add some paragraphs about state changes in 0.9 to the PWG
8430           and the porting guide, in particular about the new meaning
8431           of GST_STATE_PAUSED and how to write state change functions
8432           with concurrent access by multiple threads in mind.
8433
8434 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8435
8436         * docs/gst/gstreamer-docs.sgml:
8437         * docs/libs/gstreamer-libs-docs.sgml:
8438           added deprecation and since indexes
8439         * libs/gst/controller/gst-controller.c:
8440         * libs/gst/controller/gst-helper.c:
8441           added since tags
8442
8443
8444 2005-08-11  Wim Taymans  <wim@fluendo.com>
8445
8446         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8447         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8448         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8449         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8450         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8451         (gst_ghost_pad_set_target):
8452         Actually implement (re)setting the target on a ghostpad
8453         as described in the docs.
8454
8455 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8456
8457         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8458           Check whether GST_DEBUG_NO_COLOR environment variable is
8459           set and disable coloured debug output if that is the case.
8460
8461 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8462
8463         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8464         (gst_type_find_helper):
8465           The memory returned by gst_type_find_peek() needs to
8466           stay valid until the end of a typefind function, and
8467           typefind functions may keep results from different 
8468           offsets around, so we can't just unref the buffer from
8469           the previous _peek(), but have to save all buffers 
8470           returned by _peek() until typefinding is done and only
8471           free them then.
8472
8473 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8474
8475         * docs/gst/gstreamer-sections.txt:
8476         * gst/gstutils.h:
8477           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8478
8479 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8480
8481         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8482           Fix a pretty good memleak.
8483
8484 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8485
8486         * gst/gstiterator.h:
8487           Fix wrong include and 'make distcheck'.
8488
8489 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8490
8491         * gst/gstbin.c: (bin_bus_handler):
8492           Use gst_element_post_message() instead.
8493
8494 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8495
8496         * gst/base/gstadapter.h:
8497         * gst/base/gstbasesink.h:
8498         * gst/base/gstbasesrc.h:
8499         * gst/base/gstbasetransform.h:
8500         * gst/base/gstcollectpads.h:
8501         * gst/base/gstpushsrc.h:
8502         * gst/gstiterator.h:
8503           Add padding to our base elements' class and instance structs and
8504           to GstIterator (you will need to rebuild all plugins and apps!)
8505
8506 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8507
8508         * gst/gstbin.c: (bin_bus_handler):
8509           Make default message forwarding from child->bus to bin->bus
8510           threadsafe and make it not emit warnings if the parent has no bus.
8511
8512 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8513
8514         * gst/gstelement.c: (activate_pads):
8515           On paused->ready, set pad->caps to NULL, as is the documented
8516           behaviour in this state change. Fixes playback of series of
8517           media files when visualization is enabled in Totem.
8518
8519 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8520
8521         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8522           Allow NULL as filter-caps (which means "any").
8523
8524 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8525
8526         * docs/libs/gstreamer-libs-sections.txt:
8527         * libs/gst/controller/gst-controller.c:
8528         * libs/gst/controller/gst-controller.h:
8529         * libs/gst/controller/gst-helper.c:
8530           adding more entries to the docs and fix small doc-bugs
8531
8532 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8533
8534         * docs/gst/gstreamer-docs.sgml:
8535         * docs/gst/gstreamer-sections.txt:
8536         * docs/gst/gstreamer.types:
8537         * docs/gst/tmpl/gstbasesink.sgml:
8538         * docs/gst/tmpl/gstbasesrc.sgml:
8539         * docs/gst/tmpl/gstbasetransform.sgml:
8540         * docs/gst/tmpl/gstfakesrc.sgml:
8541         * gst/base/gstcollectpads.c:
8542         * gst/base/gstcollectpads.h:
8543         * libs/gst/controller/gst-controller.c:
8544         * libs/gst/controller/gst-controller.h:
8545         * libs/gst/controller/gst-helper.c:
8546         * libs/gst/controller/gst-interpolation.c:
8547         * libs/gst/controller/lib.c:
8548           added long/short desc for controller docs
8549           added collectpads base class docs
8550           added correct includes to base-class docs
8551
8552 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8553
8554         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8555         (gst_test_mono_source_set_property),
8556         (gst_test_mono_source_class_init), (GST_START_TEST),
8557         (gst_controller_suite):
8558         * docs/gst/gstreamer-docs.sgml:
8559         * docs/gst/gstreamer-sections.txt:
8560         * docs/gst/gstreamer.types:
8561         * docs/libs/gstreamer-libs-docs.sgml:
8562         * docs/libs/gstreamer-libs-sections.txt:
8563         * gst/base/gstadapter.c:
8564         * libs/gst/controller/gst-controller.c:
8565         (gst_controlled_property_new), (gst_controlled_property_free),
8566         (gst_controller_new_valist),
8567         (gst_controller_remove_properties_valist),
8568         (gst_controller_sink_values), (_gst_controller_finalize):
8569         * libs/gst/controller/gst-controller.h:
8570         * libs/gst/controller/gst-helper.c:
8571         (gst_object_control_properties), (gst_object_uncontrol_properties),
8572         (gst_object_get_controller), (gst_object_set_controller),
8573         (gst_object_sink_values), (gst_object_get_value_arrays),
8574         (gst_object_get_value_array):
8575           more tests (and fixes) for the controller
8576           more docs for the controller
8577           integrated companies docs for the adapter 
8578
8579 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8580
8581         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8582         (GST_START_TEST), (fakesrc_suite):
8583           add tests for sizetype
8584
8585 2005-08-04  Andy Wingo  <wingo@pobox.com>
8586
8587         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8588         fixes buffer_alloc proxying among other things.
8589
8590         * gst/base/gstbasetransform.c:
8591         * gst/base/gstbasetransform.h:
8592         Revert patch to gstbasetransform from 7-28 removing
8593         delay_configure.
8594
8595         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8596         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8597         Semantics changed, should return not the size of the output buffer
8598         but the byte size of a buffer with a given caps.
8599
8600         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8601         debug object.
8602         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8603         out) are not the pad caps until setcaps finishes.
8604         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8605         not-in-place case as well. Deal with changing from in-place to
8606         not-in-place within calling pad_alloc_buffer. Still a bit
8607         concerned about the overhead here...
8608
8609 2005-08-03  Andy Wingo  <wingo@pobox.com>
8610
8611         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8612         fixating is an error.
8613
8614 2005-08-04  Edward Hervey  <edward@fluendo.com>
8615
8616         * gst/base/gstadapter.h: 
8617         Added gst_adapter_get_type() to the header
8618
8619 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8620
8621         * check/Makefile.am:
8622         * check/gst-libs/controller.c:
8623         * libs/gst/controller/gst-controller.c:
8624         (gst_controller_new_valist):
8625           added check test suite for the controller
8626         * gst/base/gstpushsrc.c:
8627           fixed a doc typo
8628
8629 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8630
8631         * docs/gst/Makefile.am:
8632         * docs/gst/gstreamer-docs.sgml:
8633         * docs/gst/gstreamer-sections.txt:
8634         * docs/gst/gstreamer.types:
8635         * docs/gst/tmpl/gstfakesrc.sgml:
8636         * gst/base/README:
8637         * gst/base/gstbasesink.c:
8638         * gst/base/gstbasesink.h:
8639         * gst/base/gstbasesrc.c:
8640         * gst/base/gstbasesrc.h:
8641         * gst/base/gstbasetransform.c:
8642         * gst/base/gstpushsrc.c:
8643         * gst/base/gstpushsrc.h:
8644           add short/long description docs to base classes
8645           add pushsrc to the docs
8646           remove consolidated doc fragments
8647
8648 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8649
8650         * configure.ac:
8651         * docs/libs/Makefile.am:
8652         * docs/libs/gstreamer-libs-docs.sgml:
8653         * docs/libs/gstreamer-libs-sections.txt:
8654         * docs/libs/gstreamer-libs.types:
8655         * examples/Makefile.am:
8656         * examples/controller/.cvsignore:
8657         * examples/controller/Makefile.am:
8658         * examples/controller/audio-example.c: (main):
8659         * libs/gst/Makefile.am:
8660         * libs/gst/controller/.cvsignore:
8661         * libs/gst/controller/Makefile.am:
8662         * libs/gst/controller/gst-controller.c:
8663         (on_object_controlled_property_changed), (gst_timed_value_compare),
8664         (gst_timed_value_find),
8665         (gst_controlled_property_set_interpolation_mode),
8666         (gst_controlled_property_new), (gst_controlled_property_free),
8667         (gst_controller_find_controlled_property),
8668         (gst_controller_new_valist), (gst_controller_new),
8669         (gst_controller_remove_properties_valist),
8670         (gst_controller_remove_properties), (gst_controller_set),
8671         (gst_controller_set_from_list), (gst_controller_unset),
8672         (gst_controller_get), (gst_controller_get_all),
8673         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8674         (gst_controller_get_value_array),
8675         (gst_controller_set_interpolation_mode),
8676         (_gst_controller_finalize), (_gst_controller_init),
8677         (_gst_controller_class_init), (gst_controller_get_type):
8678         * libs/gst/controller/gst-controller.h:
8679         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8680         (g_object_uncontrol_properties), (g_object_get_controller),
8681         (g_object_set_controller), (g_object_sink_values),
8682         (g_object_get_value_arrays), (g_object_get_value_array):
8683         * libs/gst/controller/gst-interpolation.c:
8684         (gst_controlled_property_find_timed_value_node),
8685         (interpolate_none_get), (interpolate_trigger_get),
8686         (interpolate_trigger_get_value_array):
8687         * libs/gst/controller/lib.c: (gst_controller_init):
8688         * pkgconfig/Makefile.am:
8689         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8690         * pkgconfig/gstreamer-control.pc.in:
8691         * testsuite/Makefile.am:
8692         * testsuite/controller/.cvsignore:
8693         * testsuite/controller/Makefile.am:
8694         * testsuite/controller/interpolator.c: (main):
8695           added controller code
8696           removed dparam pc files
8697
8698 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8699         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8700         (gst_collectpads_stop):
8701           Broadcast the condition when shutting down, to make sure we wake all
8702           threads up. Shut down pads on finalize, for safety.
8703
8704 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8705         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8706         (gst_base_transform_handle_buffer),
8707         (gst_base_transform_change_state):
8708           Handle PAUSED->READY->PAUSED transition after negotiation
8709           occurred already.
8710         * gst/gstmessage.c: (gst_message_init):
8711           Extra piece of debug for new messages.
8712
8713 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8714
8715         * configure.ac:
8716         * docs/gst/tmpl/gstbasesrc.sgml:
8717         * docs/gst/tmpl/gstelement.sgml:
8718         * docs/gst/tmpl/gstevent.sgml:
8719         * docs/gst/tmpl/gstfakesrc.sgml:
8720         * docs/gst/tmpl/gstformat.sgml:
8721         * docs/gst/tmpl/gstghostpad.sgml:
8722         * docs/gst/tmpl/gstpad.sgml:
8723         * docs/gst/tmpl/gstquery.sgml:
8724         * docs/gst/tmpl/gststructure.sgml:
8725         * docs/gst/tmpl/gsttaglist.sgml:
8726         * docs/gst/tmpl/gstvalue.sgml:
8727         * docs/libs/gstreamer-libs-docs.sgml:
8728         * docs/libs/gstreamer-libs-sections.txt:
8729         * docs/libs/gstreamer-libs.types:
8730         * libs/gst/Makefile.am:
8731         * libs/gst/control/.cvsignore:
8732         * libs/gst/control/Makefile.am:
8733         * libs/gst/control/control.c:
8734         * libs/gst/control/control.h:
8735         * libs/gst/control/dparam.c:
8736         * libs/gst/control/dparam.h:
8737         * libs/gst/control/dparam_smooth.c:
8738         * libs/gst/control/dparam_smooth.h:
8739         * libs/gst/control/dparamcommon.h:
8740         * libs/gst/control/dparammanager.c:
8741         * libs/gst/control/dparammanager.h:
8742         * libs/gst/control/dplinearinterp.c:
8743         * libs/gst/control/dplinearinterp.h:
8744         * libs/gst/control/unitconvert.c:
8745         * libs/gst/control/unitconvert.h:
8746         * testsuite/Makefile.am:
8747         * testsuite/dynparams/.cvsignore:
8748         * testsuite/dynparams/Makefile.am:
8749         * testsuite/dynparams/dparamstest.c:
8750         * tools/Makefile.am:
8751         * tools/gst-inspect.c: (print_element_info), (main):
8752         * tools/gst-xmlinspect.c: (print_element_info), (main):
8753           deactivate and remove dparams (libgstcontrol)
8754
8755 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8756
8757         * gst/elements/gsttypefindelement.c:
8758         (gst_type_find_element_have_type), (gst_type_find_element_init),
8759         (stop_typefinding), (gst_type_find_element_handle_event),
8760         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8761         * gst/elements/gsttypefindelement.h:
8762           Set caps on all outgoing buffers, not just the first one.
8763
8764 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8765
8766         * gst/elements/gsttypefindelement.c:
8767         (gst_type_find_element_have_type),
8768         (gst_type_find_element_check_set_buffer_caps),
8769         (gst_type_find_element_init), (stop_typefinding),
8770         (gst_type_find_element_handle_event),
8771         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8772         * gst/elements/gsttypefindelement.h:
8773           Set caps on first outgoing buffer when we've found the type.
8774
8775 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8776
8777         * docs/gst/gstreamer-docs.sgml:
8778         * docs/gst/gstreamer-sections.txt:
8779         * docs/gst/tmpl/gstscheduler.sgml:
8780         * docs/gst/tmpl/gstschedulerfactory.sgml:
8781           Remove some old cruft from docs.
8782
8783 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8784
8785         * gst/gstpad.h:
8786           Fix inline docs for GstPadLinkReturn.
8787           
8788         * gst/gststructure.c: (gst_structure_has_name):
8789         * gst/gststructure.h:
8790         * docs/gst/gstreamer-sections.txt:
8791           New API: gst_structure_has_name().
8792
8793 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8794
8795         * configure.ac:
8796           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8797           and _LARGEFILE_SOURCE in config.h as required. Do not 
8798           export those flags in our .pc files any longer (#142209).
8799
8800           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8801
8802         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8803         (gst_file_sink_do_seek), (gst_file_sink_event),
8804         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8805           Redo seek/tell calls with large file support in mind; add some
8806           debugging messages; add log message that tells us when large
8807           file support is unavailable or not enabled for some reason.
8808
8809         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8810           Add log message that tells us when large file support 
8811           is unavailable or not enabled for some reason.
8812
8813 2005-07-29  Wim Taymans  <wim@fluendo.com>
8814
8815         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8816         Added test for removing an element with ghostpad from a bin.
8817         Fixed test as current implementation does the right thing.
8818
8819         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8820         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8821         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8822         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8823         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8824         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8825         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8826         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8827         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8828         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8829         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8830         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8831         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8832         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8833         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8834         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8835         * gst/gstghostpad.h:
8836         Clean up ghostpads, remove properties for internal stuff.
8837         Make threadsafe.
8838         Fix refcounting.
8839         Prepare for switching targets, not all use cases work yet.
8840
8841 2005-07-29  Wim Taymans  <wim@fluendo.com>
8842
8843         * docs/design/part-gstghostpad.txt:
8844         Small update.
8845
8846         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8847         (gst_bin_remove_func):
8848         Unlinking pads while holding the bin LOCK is not a good
8849         idea.
8850
8851         * gst/gstpad.c: (gst_pad_class_init),
8852         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8853         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8854         No prob setting template after creating the pad.
8855
8856 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8857
8858         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8859         (gst_bus_peek), (gst_bus_source_dispatch),
8860         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8861         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8862           gst_bus_poll may be called from other threads. Handle
8863           this nicely by not making poll_data disappear off the
8864           stack once gst_bus_poll returns.
8865           gst_bus_peek now increments the refcount on the returned
8866           message.
8867
8868 2005-07-29  Wim Taymans  <wim@fluendo.com>
8869
8870         * docs/design/part-gstghostpad.txt:
8871         Overview of current GhostPad datastructures and use
8872         cases for changing the target.
8873
8874 2005-07-28  Wim Taymans  <wim@fluendo.com>
8875
8876         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8877         Added checks for hierarchy consistency whan adding linked
8878         elements to bins.
8879
8880         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8881         Added check to test element scheduling without bin/pipeline.
8882
8883         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8884         First add elements to bin, then link.
8885         
8886         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8887         (gst_bin_remove_func):
8888         Unlink pads from elements added/removed from bin to maintain
8889         hierarchy consistency.
8890
8891 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8892
8893         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8894         (gst_base_transform_handle_buffer):
8895         * gst/base/gstbasetransform.h:
8896           Remove broken delay_configure (fixes renegotiation of software
8897           scaling pipelines); remove some leftover printf()s.
8898
8899 2005-07-28  Wim Taymans  <wim@fluendo.com>
8900
8901         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8902         Added some more tests for wrong hierarchy
8903
8904         * docs/design/part-overview.txt:
8905         Some updates.
8906
8907         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8908         Cleanups.
8909
8910         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8911         (gst_element_dispose):
8912         Some more cleanups.
8913
8914         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8915         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8916         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8917         (gst_pad_set_caps), (gst_pad_send_event):
8918         Check for correct hierarchy when linking pads. Moving to
8919         strict requirement for ghostpads when linking elements in
8920         different bins.
8921
8922         * gst/gstpad.h:
8923         Clean ups. Added WRONG_HIERARCHY return value.
8924
8925 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8926
8927         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8928           Better debug if no transform is possible.
8929
8930 2005-07-27  Wim Taymans  <wim@fluendo.com>
8931
8932         * docs/random/wtay/network-transp:
8933         Some old doc I had.
8934
8935 2005-07-27  Wim Taymans  <wim@fluendo.com>
8936
8937         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8938         (gst_dp_event_from_packet):
8939         Fix serialization of seek events.
8940
8941 2005-07-27  Wim Taymans  <wim@fluendo.com>
8942
8943         * check/gst-libs/gdp.c: (GST_START_TEST):
8944         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8945         Fix compilation and fix event serialization.
8946
8947 2005-07-27  Wim Taymans  <wim@fluendo.com>
8948
8949         * CHANGES-0.9:
8950         * docs/design/part-TODO.txt:
8951         * docs/design/part-events.txt:
8952         Some docs updates
8953
8954         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8955         (gst_base_sink_event), (gst_base_sink_do_sync),
8956         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8957         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8958         (gst_base_src_do_seek), (gst_base_src_event_handler),
8959         (gst_base_src_loop):
8960         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8961         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8962         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8963         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8964         (gst_base_transform_set_passthrough),
8965         (gst_base_transform_is_passthrough):
8966         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8967         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8968         Event updates.
8969
8970         * gst/gstbuffer.h:
8971         Use faster casts.
8972
8973         * gst/gstelement.c: (gst_element_seek):
8974         * gst/gstelement.h:
8975         Update gst_element_seek.
8976
8977         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8978         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8979         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8980         (gst_event_new_eos), (gst_event_new_newsegment),
8981         (gst_event_parse_newsegment), (gst_event_new_tag),
8982         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8983         (gst_event_parse_qos), (gst_event_new_seek),
8984         (gst_event_parse_seek), (gst_event_new_navigation):
8985         * gst/gstevent.h:
8986         Make GstEvent use GstStructure. Add parsing code, make sure the
8987         API is sufficiently generic.
8988         Mark possible directions of events and serialization.
8989
8990         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8991         (_gst_message_copy), (gst_message_new_segment_start),
8992         (gst_message_new_segment_done), (gst_message_new_custom),
8993         (gst_message_parse_segment_start),
8994         (gst_message_parse_segment_done):
8995         Small cleanups.
8996
8997         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8998         (gst_pad_set_caps), (gst_pad_send_event):
8999         Update for new events. 
9000         Catch events sent in wrong directions.
9001
9002         * gst/gstqueue.c: (gst_queue_link_src),
9003         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9004         (gst_queue_handle_src_query):
9005         Event updates.
9006
9007         * gst/gsttag.c:
9008         * gst/gsttag.h:
9009         Remove event code from this file.
9010
9011         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9012         (gst_dp_event_from_packet):
9013         Event updates.
9014
9015 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9016
9017         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9018         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9019         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9020           Make debugging actually useful.
9021
9022 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9023
9024         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9025         (gst_pad_fixate_caps):
9026           Implement default fixation once again, so that gst_pad_fixate()
9027           actually does anything at all. This probably needs to be some
9028           sort of a last resort, and use profile-based fixation first, but
9029           since that doesn't exist yet, this is the best we have. Fixes
9030           visualization in Totem.
9031
9032 2005-07-22  Wim Taymans  <wim@fluendo.com>
9033
9034         * docs/design/part-events.txt:
9035         Small update.
9036
9037         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9038         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9039         (gst_base_sink_activate_pull):
9040         Some more comments.
9041
9042         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9043         (gst_fake_src_create):
9044         Fix handoff marshall.
9045
9046         * gst/elements/gstidentity.c: (gst_identity_class_init),
9047         (gst_identity_transform_ip):
9048         We're a real inplace element.
9049
9050         * gst/gstbus.c: (gst_bus_post):
9051         Added some comments.
9052
9053         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9054         * tests/muxing/case1.c: (main):
9055         * tests/sched/dynamic-pipeline.c: (main):
9056         * tests/sched/interrupt1.c: (main):
9057         * tests/sched/interrupt2.c: (main):
9058         * tests/sched/interrupt3.c: (main):
9059         * tests/sched/runxml.c: (main):
9060         * tests/sched/sched-stress.c: (main):
9061         * tests/seeking/seeking1.c: (event_received), (main):
9062         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9063         (main):
9064         * tests/threadstate/threadstate3.c: (main):
9065         * tests/threadstate/threadstate4.c: (main):
9066         * tests/threadstate/threadstate5.c: (main):
9067         Fix the tests.
9068
9069 2005-07-21  Wim Taymans  <wim@fluendo.com>
9070
9071         * docs/design/part-seeking.txt:
9072         Some small additions.
9073
9074         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9075         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9076         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9077         * gst/base/gstbasesink.h:
9078         discont values are gint64, handle the math correctly.
9079
9080         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9081         Make the basesrc report error if the source pad is not linked.
9082
9083         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9084         (gst_queue_loop), (gst_queue_handle_src_query),
9085         (gst_queue_src_activate_push):
9086         Make queue collect data even if the srcpad is not linked.
9087         Start pushing out data as soon as it is linked.
9088
9089         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9090         * gst/gstutils.h:
9091         Added gst_flow_get_name() to ease error reporting.
9092
9093 2005-07-20  Wim Taymans  <wim@fluendo.com>
9094
9095         * gst/gstmessage.c: (gst_message_new_segment_start),
9096         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9097         (gst_message_parse_segment_done):
9098         * gst/gstmessage.h:
9099         Added a bunch of messages for advanced seeking.
9100
9101         * gst/parse/grammar.y:
9102         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9103         (gst_dpman_state_changed):
9104         Fix some new-pad -> pad-added signals
9105
9106 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9107
9108         * docs/manual/appendix-porting.xml:
9109         * docs/pwg/appendix-porting.xml:
9110           Document new-pad/state-change signal renames and the FixedList
9111           type rename.
9112
9113 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9114
9115         * docs/manual/advanced-autoplugging.xml:
9116         * docs/manual/basics-helloworld.xml:
9117         * docs/manual/basics-pads.xml:
9118         * docs/random/ds/0.9-suggested-changes:
9119         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9120         * gst/gstelement.h:
9121         * gst/gstevent.h:
9122         * gst/gstformat.h:
9123         * gst/gstquery.h:
9124         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9125         (gst_structure_parse_array), (gst_structure_parse_value):
9126         * gst/gstvalue.c: (gst_type_is_fixed),
9127         (gst_value_list_prepend_value), (gst_value_list_append_value),
9128         (gst_value_list_get_size), (gst_value_list_get_value),
9129         (gst_value_transform_array_string), (gst_value_serialize_array),
9130         (gst_value_deserialize_array), (gst_value_intersect_array),
9131         (gst_value_is_fixed), (_gst_value_initialize):
9132         * gst/gstvalue.h:
9133           GstElement::new-pad -> pad-added, GstElement::state-change ->
9134           state-changed, GstValueFixedList -> GstValueArray, add format and
9135           flags as their own arguments in gst_element_seek() (should improve
9136           "bindeability"), remove function generators since they don't work
9137           under a whole bunch of compilers (they were deprecated already
9138           anyway).
9139
9140 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9141
9142         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9143         (_gst_debug_register_funcptr):
9144         * gst/gstinfo.h:
9145           Fix illegal cast on some platforms (#309253).
9146
9147 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9148
9149         * gst/gstmessage.c: (gst_message_new_custom):
9150         * gst/gstmessage.h:
9151           Add _new_custom, make _new_application a macro to _new_custom.
9152
9153 2005-07-20  Wim Taymans  <wim@fluendo.com>
9154
9155         * gst/base/gstbasesrc.c: (gst_base_src_init),
9156         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9157         * gst/base/gstbasesrc.h:
9158         Add a gboolean to decide when to push out a discont.
9159
9160         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9161         (gst_queue_loop), (gst_queue_handle_src_query),
9162         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9163         (gst_queue_set_property), (gst_queue_get_property):
9164         Some cleanups.
9165
9166         * tests/threadstate/threadstate1.c: (main):
9167         Make a thread test compile and run... very silly..
9168
9169
9170 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9171
9172         * docs/manual/appendix-porting.xml:
9173           Mention removal of libgstgconf-0.9.la and existence of gconf
9174           elements.
9175
9176 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9177
9178         * docs/pwg/advanced-clock.xml:
9179         * docs/pwg/appendix-porting.xml:
9180         * docs/pwg/intro-preface.xml:
9181         * docs/pwg/other-base.xml:
9182         * docs/pwg/other-manager.xml:
9183         * docs/pwg/other-nton.xml:
9184         * docs/pwg/other-ntoone.xml:
9185         * docs/pwg/other-oneton.xml:
9186         * docs/pwg/pwg.xml:
9187           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9188           demuxer), remove n-to-n (was never written), fix some code examples
9189           and links and update the porting section to include all this.
9190
9191 2005-07-19  Wim Taymans  <wim@fluendo.com>
9192
9193         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9194         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9195         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9196         (gst_queue_src_activate_push), (gst_queue_change_state),
9197         (gst_queue_get_property):
9198         * gst/gstqueue.h:
9199         Propagate GstFlowReturn more intelligently upstream and output
9200         an ERROR/EOS when streaming stopped due to fatal error.
9201
9202 2005-07-19  Wim Taymans  <wim@fluendo.com>
9203
9204         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9205         Don't block forever for the state change to complete, the
9206         pipeline already did with a sensible timeout.
9207
9208 2005-07-19  Wim Taymans  <wim@fluendo.com>
9209
9210         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9211         Make sure we never call the create function is we
9212         got deactivated.
9213
9214 2005-07-19  Andy Wingo  <wingo@pobox.com>
9215
9216         * gst/parse/parse.l: Attempt to solve bug #172815.
9217
9218 2005-07-19  Wim Taymans  <wim@fluendo.com>
9219
9220         * docs/design/part-clocks.txt:
9221         * docs/design/part-events.txt:
9222         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9223         Small docs updates.
9224         Only update the seeking values when we are not
9225         busy streaming.
9226
9227 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9228
9229         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9230           Oops, ignore the result of gst_pad_push_event here.
9231
9232 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9233
9234         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9235         (gst_base_src_activate_push):
9236           Send discont event from the loop function, as pads
9237           aren't activated yet in the activate_push handler.
9238
9239         * gst/gstbin.c: (bin_bus_handler):
9240           Don't leak element name.
9241
9242 2005-07-18  Andy Wingo  <wingo@pobox.com>
9243
9244         * configure.ac: Use AS_LIBTOOL_TAGS.
9245
9246 2005-07-18  Wim Taymans  <wim@fluendo.com>
9247
9248         * docs/gst/gstreamer.types:
9249         Remove deleted types.
9250
9251 2005-07-18  Wim Taymans  <wim@fluendo.com>
9252
9253         * check/elements/gstfakesrc.c: (GST_START_TEST):
9254         * configure.ac:
9255         * gst/Makefile.am:
9256         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9257         (init_popt_callback):
9258         * gst/gst.h:
9259         * gst/gst_private.h:
9260         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9261         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9262         * gst/gstbin.h:
9263         * gst/gstbus.h:
9264         * gst/gstconfig.h.in:
9265         * gst/gstelement.c: (gst_element_class_init),
9266         (gst_element_set_base_time), (gst_element_get_base_time),
9267         (iterator_fold_with_resync), (gst_element_change_state),
9268         (gst_element_dispose), (gst_element_get_bus):
9269         * gst/gstelement.h:
9270         * gst/gstelementfactory.h:
9271         * gst/gsterror.c: (_gst_core_errors_init):
9272         * gst/gsterror.h:
9273         * gst/gstevent.h:
9274         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9275         * gst/gstindex.c:
9276         * gst/gstinfo.c: (_gst_debug_init):
9277         * gst/gstmessage.c: (_gst_message_copy):
9278         * gst/gstmessage.h:
9279         * gst/gstminiobject.h:
9280         * gst/gstobject.c:
9281         * gst/gstobject.h:
9282         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9283         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9284         * gst/gstpad.h:
9285         * gst/gstparse.h:
9286         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9287         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9288         (gst_pipeline_get_last_stream_time):
9289         * gst/gstpipeline.h:
9290         * gst/gstpluginfeature.h:
9291         * gst/gstquery.h:
9292         * gst/gstscheduler.c:
9293         * gst/gstscheduler.h:
9294         * gst/gststructure.h:
9295         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9296         (gst_task_finalize), (gst_task_func), (gst_task_create),
9297         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9298         (gst_task_stop), (gst_task_pause):
9299         * gst/gsttask.h:
9300         * gst/gsttypefind.h:
9301         * gst/gsttypes.h:
9302         * gst/registries/gstlibxmlregistry.c: (load_feature),
9303         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9304         * gst/registries/gstxmlregistry.c:
9305         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9306         * gst/schedulers/threadscheduler.c:
9307         * libs/gst/control/dparammanager.h:
9308         * tools/gst-inspect.c: (print_element_list),
9309         (print_plugin_features), (print_element_features):
9310         * tools/gst-xmlinspect.c: (print_element_list),
9311         (print_plugin_info), (main):
9312         Removed plugable schedulers.
9313         Removed Scheduler/Manager from elements.
9314         Removed gsttypes.h, rearranged includes.
9315         Removed dependency pad<->element, element<>pipeline, and
9316         various others,  fix includes.
9317         implement gst_pad_get_parent() with gst_object_get_parent()
9318         Make GstTask sefcontained.
9319         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9320         timeout.
9321         Fix endless loop in iterator_fold_with_resync.
9322
9323
9324 2005-07-18  Wim Taymans  <wim@fluendo.com>
9325
9326         * gst/Makefile.am:
9327         * gst/gstarch.h:
9328         Remove old file.
9329
9330 2005-07-18  Wim Taymans  <wim@fluendo.com>
9331
9332         * gst/Makefile.am:
9333         No more cothreads.h
9334
9335 2005-07-18  Wim Taymans  <wim@fluendo.com>
9336
9337         * gst/cothreads.c:
9338         * gst/cothreads.h:
9339         Let's remove these.
9340
9341 2005-07-18  Wim Taymans  <wim@fluendo.com>
9342
9343         * docs/design/part-dynamic.txt:
9344         * docs/design/part-events.txt:
9345         * docs/design/part-seeking.txt:
9346         Some more docs in the works.
9347
9348         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9349         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9350         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9351         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9352         (gst_base_transform_handle_buffer),
9353         (gst_base_transform_sink_activate_push),
9354         (gst_base_transform_src_activate_pull),
9355         (gst_base_transform_set_passthrough),
9356         (gst_base_transform_is_passthrough):
9357         Refcounting fixes.
9358
9359         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9360         Cleanups.
9361
9362         * gst/gstevent.c: (gst_event_finalize):
9363         Set SRC to NULL.
9364
9365         * gst/gstutils.c: (gst_element_unlink),
9366         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9367         (gst_pad_proxy_setcaps):
9368         * gst/gstutils.h:
9369         Add _get_parent_element() to get a pads parent as an element.
9370
9371 2005-07-18  Wim Taymans  <wim@fluendo.com>
9372
9373         * check/gst/gstbin.c: (GST_START_TEST):
9374         Remove bogus test.
9375
9376 2005-07-18  Wim Taymans  <wim@fluendo.com>
9377
9378         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9379         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9380         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9381         (gst_base_sink_event), (gst_base_sink_do_sync),
9382         (gst_base_sink_chain), (gst_base_sink_loop),
9383         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9384         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9385         Refcounting fixes.
9386         Fix logic for returning ASYNC when not prerolled.
9387
9388 2005-07-18  Wim Taymans  <wim@fluendo.com>
9389
9390         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9391         Fix nasty refcount bug.
9392
9393 2005-07-16 Philippe Khalaf <burger@speedy.org>
9394
9395         * gst/elements/gstfdsrc.c:
9396         * gst/elements/gstfdsrc.h:
9397         * gst/elements/gstelements.c:
9398         * gst/elements/Makefile.am:
9399         Ported fdsrc to 0.9.
9400
9401 2005-07-16  Wim Taymans  <wim@fluendo.com>
9402
9403         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9404         (gst_base_sink_do_sync):
9405         Fix compile error.
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_event), (gst_base_sink_get_times),
9411         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9412         * gst/base/gstbasesink.h:
9413         Store and use discont values when syncing buffers as described
9414         in design docs.
9415         
9416         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9417         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9418         (gst_base_src_activate_push):
9419         Push discont event when starting.
9420
9421         * gst/elements/gstidentity.c: (gst_identity_transform):
9422         Small cleanups.
9423
9424         * gst/gstbin.c: (gst_bin_change_state):
9425         Small cleanups in base_time  distribution.
9426
9427         * gst/gstelement.c: (gst_element_set_base_time),
9428         (gst_element_get_base_time), (gst_element_change_state):
9429         * gst/gstelement.h:
9430         Added methods for the base_time of the element.
9431         Some MT fixes.
9432
9433         * gst/gstpipeline.c: (gst_pipeline_send_event),
9434         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9435         (gst_pipeline_get_last_stream_time):
9436         * gst/gstpipeline.h:
9437         MT fixes.
9438         Handle seeking as described in design doc, remove stream_time
9439         hack.
9440         Cleanups clock and stream_time selection code. Added accessors
9441         for the stream_time.
9442         
9443
9444 2005-07-16  Andy Wingo  <wingo@pobox.com>
9445
9446         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9447         (#305291).
9448
9449 2005-07-16  Wim Taymans  <wim@fluendo.com>
9450
9451         * check/gst/gstbin.c: (GST_START_TEST):
9452         Make elements silent as the deep_notify refs the
9453         parent, which might make the test fail.
9454
9455         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9456         Don't hold the lock for too long.
9457
9458 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9459
9460         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9461           Don't unref the caps we passed to gst_caps_make_writable() after
9462           passing them. gst_caps_make_writable() will do that for us.
9463
9464 2005-07-15  Andy Wingo  <wingo@pobox.com>
9465
9466         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9467         (#157311).
9468
9469         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9470         own marshalling function for the handoff signal. Properly type the
9471         buffer as a buffer. Fixes some warnings. Should do a more general
9472         solution.
9473         (gst_identity_class_init): Plug into the right marshaller.
9474
9475 2005-07-15  Wim Taymans  <wim@fluendo.com>
9476
9477         * docs/design/part-TODO.txt:
9478         * docs/design/part-clocks.txt:
9479         * docs/design/part-element-sink.txt:
9480         * docs/design/part-events.txt:
9481         * docs/design/part-gstpipeline.txt:
9482         Updated docs, mostly DISCONT related.
9483
9484 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9485
9486         * docs/pwg/building-pads.xml:
9487           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9488
9489 2005-07-15  Andy Wingo  <wingo@pobox.com>
9490
9491         * tools/gst-typefind.c: Update, add copyright block.
9492
9493         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9494         Normalize and truncate caps before fixation.
9495
9496         * gst/gstcaps.h:
9497         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9498         discards all but the first structure from its argument.
9499
9500 2005-07-15  Wim Taymans  <wim@fluendo.com>
9501
9502         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9503         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9504         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9505         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9506         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9507         (gst_base_transform_chain), (gst_base_transform_change_state),
9508         (gst_base_transform_set_passthrough),
9509         (gst_base_transform_is_passthrough):
9510         * gst/base/gstbasetransform.h:
9511         Make passthrough work using the bufferpools.
9512         Changed API a bit, subclasses have to write into a buffer
9513         provided by the base class.
9514         More debug info in nego functions.
9515         
9516         * gst/elements/gstidentity.c: (gst_identity_init),
9517         (gst_identity_transform):
9518         Port to new base class.
9519
9520 2005-07-15  Wim Taymans  <wim@fluendo.com>
9521
9522         * gst/gstmessage.c: (gst_message_new_state_changed):
9523         * tools/gst-launch.c: (event_loop), (main):
9524         Totally dump messages in -launch with the -m option.
9525         Fix message name for State messages,
9526
9527 2005-07-14  Wim Taymans  <wim@fluendo.com>
9528
9529         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9530         Post error messages on errors.
9531
9532 2005-07-14  Wim Taymans  <wim@fluendo.com>
9533
9534         * gst/gstcaps.c: (gst_caps_do_simplify):
9535         Remove debug info.
9536
9537         * gst/gsterror.h:
9538         Define error for stream stopped.
9539
9540         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9541         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9542         Do proper return values.
9543
9544         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9545         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9546         (gst_pad_get_range):
9547         Better return values.
9548
9549         * gst/gstpad.h:
9550         Reorganise return values, add macro to check for fatal errors.
9551
9552         * gst/gstqueue.c: (gst_queue_chain):
9553         Return proper GstFlowReturn values,
9554
9555 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9556
9557         * docs/gst/gstreamer-sections.txt:
9558         * docs/gst/gstreamer.types:
9559         * docs/gst/tmpl/gst.sgml:
9560         * docs/gst/tmpl/gstbasesink.sgml:
9561         * docs/gst/tmpl/gstbasesrc.sgml:
9562         * docs/gst/tmpl/gstbasetransform.sgml:
9563         * docs/gst/tmpl/gstbin.sgml:
9564         * docs/gst/tmpl/gstbuffer.sgml:
9565         * docs/gst/tmpl/gstcaps.sgml:
9566         * docs/gst/tmpl/gstclock.sgml:
9567         * docs/gst/tmpl/gstcompat.sgml:
9568         * docs/gst/tmpl/gstconfig.sgml:
9569         * docs/gst/tmpl/gstelement.sgml:
9570         * docs/gst/tmpl/gstelementdetails.sgml:
9571         * docs/gst/tmpl/gstelementfactory.sgml:
9572         * docs/gst/tmpl/gstenumtypes.sgml:
9573         * docs/gst/tmpl/gsterror.sgml:
9574         * docs/gst/tmpl/gstevent.sgml:
9575         * docs/gst/tmpl/gstfakesink.sgml:
9576         * docs/gst/tmpl/gstfakesrc.sgml:
9577         * docs/gst/tmpl/gstfilesink.sgml:
9578         * docs/gst/tmpl/gstfilesrc.sgml:
9579         * docs/gst/tmpl/gstfilter.sgml:
9580         * docs/gst/tmpl/gstformat.sgml:
9581         * docs/gst/tmpl/gstghostpad.sgml:
9582         * docs/gst/tmpl/gstimplementsinterface.sgml:
9583         * docs/gst/tmpl/gstindex.sgml:
9584         * docs/gst/tmpl/gstindexfactory.sgml:
9585         * docs/gst/tmpl/gstinfo.sgml:
9586         * docs/gst/tmpl/gstiterator.sgml:
9587         * docs/gst/tmpl/gstmacros.sgml:
9588         * docs/gst/tmpl/gstmemchunk.sgml:
9589         * docs/gst/tmpl/gstminiobject.sgml:
9590         * docs/gst/tmpl/gstobject.sgml:
9591         * docs/gst/tmpl/gstpad.sgml:
9592         * docs/gst/tmpl/gstpadtemplate.sgml:
9593         * docs/gst/tmpl/gstparse.sgml:
9594         * docs/gst/tmpl/gstpipeline.sgml:
9595         * docs/gst/tmpl/gstplugin.sgml:
9596         * docs/gst/tmpl/gstpluginfeature.sgml:
9597         * docs/gst/tmpl/gstquery.sgml:
9598         * docs/gst/tmpl/gstqueue.sgml:
9599         * docs/gst/tmpl/gstregistry.sgml:
9600         * docs/gst/tmpl/gstregistrypool.sgml:
9601         * docs/gst/tmpl/gstscheduler.sgml:
9602         * docs/gst/tmpl/gstschedulerfactory.sgml:
9603         * docs/gst/tmpl/gststructure.sgml:
9604         * docs/gst/tmpl/gstsystemclock.sgml:
9605         * docs/gst/tmpl/gsttaglist.sgml:
9606         * docs/gst/tmpl/gsttagsetter.sgml:
9607         * docs/gst/tmpl/gsttrace.sgml:
9608         * docs/gst/tmpl/gsttrashstack.sgml:
9609         * docs/gst/tmpl/gsttypefind.sgml:
9610         * docs/gst/tmpl/gsttypefindfactory.sgml:
9611         * docs/gst/tmpl/gsttypes.sgml:
9612         * docs/gst/tmpl/gsturihandler.sgml:
9613         * docs/gst/tmpl/gsturitype.sgml:
9614         * docs/gst/tmpl/gstutils.sgml:
9615         * docs/gst/tmpl/gstvalue.sgml:
9616         * docs/gst/tmpl/gstversion.sgml:
9617         * docs/gst/tmpl/gstxml.sgml:
9618         * docs/libs/tmpl/gstcontrol.sgml:
9619         * docs/libs/tmpl/gstdataprotocol.sgml:
9620         * docs/libs/tmpl/gstdparam.sgml:
9621         * docs/libs/tmpl/gstdplinint.sgml:
9622         * docs/libs/tmpl/gstdpman.sgml:
9623         * docs/libs/tmpl/gstdpsmooth.sgml:
9624         * docs/libs/tmpl/gstgetbits.sgml:
9625         * docs/libs/tmpl/gstunitconvert.sgml:
9626         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9627         (gst_push_src_base_init), (gst_push_src_class_init),
9628         (gst_push_src_init), (gst_push_src_create):
9629         * gst/base/gstpushsrc.h:
9630         * gst/elements/gstelements.c:
9631         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9632         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9633         (gst_fake_sink_init), (gst_fake_sink_set_property),
9634         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9635         (gst_fake_sink_event), (gst_fake_sink_preroll),
9636         (gst_fake_sink_render), (gst_fake_sink_change_state):
9637         * gst/elements/gstfakesink.h:
9638         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9639         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9640         (gst_fake_src_base_init), (gst_fake_src_class_init),
9641         (gst_fake_src_init), (gst_fake_src_event_handler),
9642         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9643         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9644         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9645         (gst_fake_src_create_buffer), (gst_fake_src_create),
9646         (gst_fake_src_start), (gst_fake_src_stop):
9647         * gst/elements/gstfakesrc.h:
9648         * gst/elements/gstfilesink.c: (_do_init),
9649         (gst_file_sink_base_init), (gst_file_sink_class_init),
9650         (gst_file_sink_init), (gst_file_sink_dispose),
9651         (gst_file_sink_set_location), (gst_file_sink_set_property),
9652         (gst_file_sink_get_property), (gst_file_sink_open_file),
9653         (gst_file_sink_close_file), (gst_file_sink_query),
9654         (gst_file_sink_event), (gst_file_sink_render),
9655         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9656         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9657         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9658         * gst/elements/gstfilesink.h:
9659         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9660         (gst_file_src_class_init), (gst_file_src_init),
9661         (gst_file_src_finalize), (gst_file_src_set_location),
9662         (gst_file_src_set_property), (gst_file_src_get_property),
9663         (gst_file_src_map_region), (gst_file_src_map_small_region),
9664         (gst_file_src_create_mmap), (gst_file_src_create_read),
9665         (gst_file_src_create), (gst_file_src_is_seekable),
9666         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9667         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9668         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9669         (gst_file_src_uri_handler_init):
9670         * gst/elements/gstfilesrc.h:
9671           more autistic cleanliness in functions/names/defines
9672
9673 2005-07-13  Andy Wingo  <wingo@pobox.com>
9674
9675         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9676         source couldn't negotiate.
9677
9678         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9679         connections again.
9680
9681         * gst/gstutils.h:
9682         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9683         function. I am channeling Hades. Put your boots on suckers!!!
9684
9685 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9686
9687         * testsuite/caps/Makefile.am:
9688         * testsuite/caps/value_compare.c:
9689         * testsuite/caps/value_intersect.c:
9690         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9691           move two testsuite apps over to the check dir
9692
9693 2005-07-12  Wim Taymans  <wim@fluendo.com>
9694
9695         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9696         Added more debug info in the negotiate process.
9697
9698         * gst/gstmessage.h:
9699         Prepare for segment playback.
9700
9701         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9702         Better debugging.
9703
9704         * gst/gstutils.c:
9705         Some more docs.
9706
9707         * tools/gst-launch.c: (main):
9708         NULL pipeline on errors.
9709
9710 2005-07-12  Andy Wingo  <wingo@pobox.com>
9711
9712         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9713         not it comes from a malloc region. Make sure our copy gets freed.
9714
9715 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9716
9717         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9718         * check/gst/gstmessage.c: (GST_START_TEST):
9719         * check/gst/gststructure.c: (GST_START_TEST),
9720         (gst_structure_suite), (main):
9721           more testing
9722         * gst/gstelement.c: (gst_element_message_full):
9723           clean up GError and debug string now that they get copied
9724         * gst/gstmessage.c: (gst_message_new_error),
9725         (gst_message_new_warning), (gst_message_parse_error),
9726         (gst_message_parse_warning):
9727           use GST_TYPE_G_ERROR for structure_new, and take copies of
9728           arguments, so that we don't mess up refcounting
9729
9730 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9731
9732         * check/Makefile.am:
9733           add per-test valgrind targets
9734         * check/gst-libs/gdp.c: (GST_START_TEST),
9735         (gst_data_protocol_suite), (main):
9736           clean up
9737
9738 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9739
9740         * check/Makefile.am:
9741           instate more valgrindable tests
9742         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9743         (GST_START_TEST), (fakesrc_suite):
9744         * check/gst/gstpad.c: (GST_START_TEST):
9745         * check/gst/gststructure.c: (GST_START_TEST):
9746           fix test leaks
9747         * docs/gst/tmpl/gstminiobject.sgml:
9748         * gst/gstpad.c: (gst_pad_finalize):
9749           fix the static mutex leak
9750
9751 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9752
9753         * check/Makefile.am:
9754           add two more tests for valgrinding
9755         * check/gst/gstvalue.c: (GST_START_TEST):
9756           test refcount of deserialized buffer, found a leak
9757         * docs/gst/gstreamer-docs.sgml:
9758         * docs/gst/gstreamer-sections.txt:
9759         * docs/gst/gstreamer.types:
9760         * docs/gst/tmpl/gstminiobject.sgml:
9761           add miniobject to docs
9762         * gst/gstminiobject.c:
9763           add some docs
9764         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9765         (gst_string_unwrap):
9766           fix a hard-to-find invalid write for one of the tests
9767           fix a leak for deserialized buffers
9768
9769 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9770
9771         * docs/pwg/advanced-events.xml:
9772         * docs/pwg/advanced-request.xml:
9773         * docs/pwg/advanced-scheduling.xml:
9774         * docs/pwg/appendix-porting.xml:
9775         * docs/pwg/building-boiler.xml:
9776         * docs/pwg/intro-preface.xml:
9777         * docs/pwg/other-ntoone.xml:
9778           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9779           of example code and explanation for pad activation, loop() and
9780           getrange() functions and a bit more. Remove old comments pointing
9781           to loop-functions.
9782         * examples/pwg/Makefile.am:
9783           Add loop/getrange examples.
9784
9785 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9786
9787         * configure.ac:
9788           check for valgrind binary + some fixes
9789         * check/gst.supp:
9790           valgrind suppressions for the tests
9791         * check/Makefile.am:
9792           add a valgrind: target that valgrinds the unit tests
9793         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9794         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9795         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9796         * check/gst/gstghostpad.c:
9797           added some cleanup
9798         * check/gst/gstdata.c:
9799           removed
9800         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9801         (thread_unref), (gst_mini_object_suite), (main):
9802           added
9803         * gst/gst.c: (gst_deinit):
9804         * gst/gst.h:
9805           add a method to clean up.
9806         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9807         (gst_system_clock_obtain):
9808           allow for disposing the system clock.
9809         * tools/gst-launch.c: (main):
9810           deinit
9811
9812 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9813
9814         * docs/gst/tmpl/gstbasesrc.sgml:
9815         * docs/gst/tmpl/gstfakesrc.sgml:
9816         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9817         (gst_base_src_init), (gst_base_src_set_property),
9818         (gst_base_src_get_property), (gst_base_src_get_range),
9819         (gst_base_src_start):
9820         * gst/base/gstbasesrc.h:
9821           add num-buffers property
9822         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9823         (gst_fakesrc_init), (gst_fakesrc_set_property),
9824         (gst_fakesrc_get_property), (gst_fakesrc_create),
9825         (gst_fakesrc_start):
9826           remove num-buffers property
9827
9828 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9829
9830         * docs/gst/gstreamer-sections.txt:
9831         * docs/gst/tmpl/gstbasesink.sgml:
9832         * docs/gst/tmpl/gstbasesrc.sgml:
9833         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9834         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9835         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9836         (gst_base_sink_set_property), (gst_base_sink_get_property),
9837         (gst_base_sink_handle_object), (gst_base_sink_event),
9838         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9839         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9840         (gst_base_sink_loop), (gst_base_sink_deactivate),
9841         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9842         (gst_base_sink_change_state):
9843         * gst/base/gstbasesink.h:
9844         * gst/base/gstbasesrc.h:
9845         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9846         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9847         (gst_filesink_init):
9848           more macro splitting
9849
9850 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9851
9852         * gst/gstelement.c: (gst_element_get_bus):
9853           add debug
9854         * tools/gst-launch.c: (check_intr), (event_loop):
9855           fix bus leaks
9856
9857 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9858
9859         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9860           fix a caps leak
9861
9862 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9863
9864         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9865         (gst_base_src_finalize):
9866           add finalize method and clean up properly
9867         * gst/gstpipeline.c: (gst_pipeline_dispose):
9868           add debug
9869
9870 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9871
9872         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9873         (gst_bin_suite):
9874           add more things to check
9875         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9876         * gst/gstelement.c:
9877           more debug
9878
9879 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9880
9881         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9882         (GST_START_TEST), (fakesrc_suite):
9883         * check/gst-libs/gdp.c: (GST_START_TEST):
9884         * check/gst/gst.c: (GST_START_TEST):
9885         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9886         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9887         * check/gst/gstbus.c: (GST_START_TEST):
9888         * check/gst/gstcaps.c: (GST_START_TEST):
9889         * check/gst/gstdata.c: (GST_START_TEST):
9890         * check/gst/gstelement.c: (GST_START_TEST):
9891         * check/gst/gstghostpad.c: (GST_START_TEST):
9892         * check/gst/gstiterator.c: (GST_START_TEST):
9893         * check/gst/gstmessage.c: (GST_START_TEST):
9894         * check/gst/gstobject.c: (GST_START_TEST):
9895         * check/gst/gstpad.c: (GST_START_TEST):
9896         * check/gst/gststructure.c: (GST_START_TEST):
9897         * check/gst/gstsystemclock.c: (GST_START_TEST),
9898         (gst_systemclock_suite):
9899         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9900         * check/gst/gstvalue.c: (GST_START_TEST):
9901         * check/pipelines/cleanup.c: (GST_START_TEST):
9902         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9903         * check/states/sinks.c: (GST_START_TEST):
9904         * check/gstcheck.c: (gst_check_init):
9905         * check/gstcheck.h:
9906           add debugging category
9907           use GST_START_TEST now, so we add a debug line
9908
9909 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9910
9911         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9912           add test for state change message on a bin
9913         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9914           add another test
9915         * gst/gstbin.c: (gst_bin_init):
9916         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9917         * gst/gstelement.c: (gst_element_post_message),
9918         (gst_element_set_state):
9919         * gst/gstelementfactory.c: (gst_element_factory_create):
9920         * gst/gstmessage.c: (gst_message_new):
9921         * gst/gstscheduler.c:
9922           various debugging additions and cleanups
9923
9924 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9925
9926         * check/Makefile.am:
9927         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9928         (main):
9929           adding tests for elements
9930         * gst/gstelement.c: (gst_element_dispose):
9931
9932 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9933
9934         * gst/registries/gstlibxmlregistry.c: (load_feature):
9935           plug more leaks.  A simple gst_init() now is leakfree, yay.
9936
9937 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9938
9939         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9940         (gst_xml_registry_load):
9941           plug another memleak
9942
9943 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9944
9945         * configure.ac:
9946           use GST_SET_ERROR_CFLAGS
9947         * docs/faq/cvs.xml:
9948           change to ERROR_CFLAGS
9949
9950 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9951
9952         * configure.ac:
9953           make GST_ERROR_CFLAGS overridable and re-enable Werror
9954         * docs/faq/cvs.xml:
9955           add a note about error CFLAGS
9956         * docs/gst/tmpl/gstfakesrc.sgml:
9957         * gst/elements/gstfakesrc.c:
9958           comment out some unused code
9959         * gst/gst.c: (split_and_iterate):
9960         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9961         (load_feature):
9962           plug some memleaks
9963
9964 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9965
9966         * common/Makefile.am:
9967         * common/gtk-doc.mak:
9968         * docs/gst/Makefile.am:
9969           factor out gtk-doc.mak
9970
9971 2005-07-07  Wim Taymans  <wim@fluendo.com>
9972
9973         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9974         (gst_thread_scheduler_dispose):
9975         Unlock the STREAM_LOCK completely.
9976
9977 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9978
9979         * check/Makefile.am:
9980         * check/elements/.cvsignore:
9981         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9982         (START_TEST), (fakesrc_suite), (main):
9983         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9984         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9985         (gst_fakesrc_create), (gst_fakesrc_start):
9986         * gst/elements/gstfakesrc.h:
9987           adding a first element test
9988
9989 2005-07-07  Andy Wingo  <wingo@pobox.com>
9990
9991         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9992         debug message.
9993
9994 2005-07-07  Wim Taymans  <wim@fluendo.com>
9995
9996         * gst/gstquery.c:
9997         * gst/gstquery.h:
9998         Remove old types
9999
10000 2005-07-07  Wim Taymans  <wim@fluendo.com>
10001
10002         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10003         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10004         Allow subclasses to implement their own negotiation.
10005
10006 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10007
10008         * docs/design/part-gstbin.txt:
10009         * docs/design/part-gstpipeline.txt:
10010           Update design notes to reflect the movement of
10011           responsibility for bus handling from GstPipeline to
10012           GstBin
10013
10014 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10015
10016         * configure.ac:
10017           Remove unnecessary queue2/3/4 examples.
10018
10019 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10020
10021         * examples/Makefile.am:
10022         * examples/helloworld/helloworld.c: (event_loop), (main):
10023         * examples/queue/queue.c: (event_loop), (main):
10024         * examples/queue2/queue2.c: (main):
10025           Update a couple of the examples to work again.
10026
10027         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10028         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10029          Spelling corrections and extra debug.
10030         
10031         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10032         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10033         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10034         * gst/gstbin.h:
10035         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10036         (gst_pipeline_change_state):
10037         * gst/gstpipeline.h:
10038           Move the bus handler for children to the GstBin, and create a
10039           separate bus for receiving messages from children to the one the
10040           bus sends 'upwards' on.
10041
10042 2005-07-06  Wim Taymans  <wim@fluendo.com>
10043
10044         * gst/base/README:
10045         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10046         (gst_base_sink_handle_object), (gst_base_sink_loop),
10047         (gst_base_sink_change_state):
10048         * gst/base/gstbasesink.h:
10049         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10050         (gst_base_src_init), (gst_base_src_setcaps),
10051         (gst_base_src_getcaps), (gst_base_src_loop),
10052         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10053         (gst_base_src_start), (gst_base_src_change_state):
10054         * gst/base/gstbasesrc.h:
10055         Make basesrc negotiate.
10056         Handle the case where preroll fails in basesink.
10057         Update README.
10058
10059 2005-07-06  Wim Taymans  <wim@fluendo.com>
10060
10061         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10062         Implement the fixate function.
10063         Clean up acceptcaps.
10064
10065 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10066
10067         * docs/pwg/building-filterfactory.xml:
10068         * docs/pwg/pwg.xml:
10069           Remove never-written filter-factory chapter; I'll add the various
10070           base classes to part 4 ("other element types") later on.
10071
10072 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10073
10074         * docs/pwg/advanced-negotiation.xml:
10075         * docs/pwg/building-boiler.xml:
10076         * docs/pwg/building-pads.xml:
10077         * docs/pwg/pwg.xml:
10078         * examples/pwg/Makefile.am:
10079           Add a chapter on caps negotiation, simplify the original code
10080           samples a bit w.r.t. caps negotiation, add link to the advanced
10081           section. Add a bunch of examples showing different use cases of
10082           different types of caps negotiation. Upstream renegotiation isn't
10083           fully documented yet since nobody knows how that works.
10084
10085 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10086
10087         * check/gst/gstpad.c:
10088         * check/gstcheck.c:
10089         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10090           if pad has no parent, return NULL as list of internal links
10091
10092 2005-07-05  Andy Wingo  <wingo@pobox.com>
10093
10094         * gst/elements/gstfilesrc.c:
10095         * gst/elements/gstfakesrc.c: 
10096         * gst/base/gstpushsrc.c:
10097         * gst/base/gstbasesrc.h: 
10098         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10099         
10100 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10101
10102         * Makefile.am:
10103           better report generation target (lcov needs a patch)
10104
10105 2005-07-05  Andy Wingo  <wingo@pobox.com>
10106
10107         * gst/elements, testsuite: Null if we got it...
10108
10109 2005-07-05  Wim Taymans  <wim@fluendo.com>
10110
10111         * configure.ac:
10112         * libs/gst/dataprotocol/Makefile.am:
10113         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10114         * libs/gst/dataprotocol/dataprotocol.h:
10115         * pkgconfig/Makefile.am:
10116         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10117         * pkgconfig/gstreamer-dataprotocol.pc.in:
10118         Ported dataprotol to 0.9. 
10119         Added pkgconfig files.
10120
10121 2005-07-05  Andy Wingo  <wingo@pobox.com>
10122
10123         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10124         Default to returning TRUE for the case when tranform_caps returns
10125         a fixed caps, like for identity or volume.
10126
10127         * check/gst/gstbus.c (pound_bus_with_messages): 
10128         * check/gst/gstmessage.c (START_TEST): 
10129         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10130         message API change.
10131
10132         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10133         logic weaks here: always run transform_caps, trying passthrough
10134         operation only if the original caps intersects with the transform.
10135
10136         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10137         source and sink caps.
10138
10139         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10140         Intersect the peer caps with the pad template before going into
10141         transform_caps.
10142         (gst_base_transform_transform_caps): More debugging.
10143
10144         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10145         src argument.
10146
10147 2005-07-04  Edward Hervey  <edward@fluendo.com>
10148
10149         * gst/gstutils.c:
10150         * gst/gstutils.h:
10151         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10152         in bindings.
10153
10154 2005-07-04  Andy Wingo  <wingo@pobox.com>
10155
10156         * check/gst/gstpad.c: Only set explicit caps on pads.
10157
10158 2005-07-01  Andy Wingo  <wingo@pobox.com>
10159
10160         * tests/network-clock.scm: Commentary update.
10161
10162         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10163         Didn't really make sense, not implementable with basetransform,
10164         etc.
10165         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10166         attempt at implementing the sync property, needs an unlock method.
10167
10168         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10169         New func, by default returns the same caps (the identity
10170         transformation).
10171         (gst_base_transform_getcaps): Uses transform_caps to return
10172         something sensible.
10173         (gst_base_transform_setcaps): Complicated logic to get caps on
10174         both pads, even if they are different, and to call set_caps once
10175         for every time both pads get their caps set.
10176         (gst_base_transform_handle_buffer): Give the ref to the transform
10177         function. Allows in-place modification of the buffer.
10178
10179         * gst/base/gstbasetransform.h (transform_caps): New class method.
10180         Given caps on one side, what can I do on the other.
10181         (set_caps): Take two caps, one for each side of the element.
10182
10183         * gst/gstpad.h:
10184         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10185         caps in place. This is safe because we can check the mutability of
10186         the caps, and a good idea because fixate functions are just called
10187         as a matter of last resort. (Not actually implemented.)
10188         (gst_pad_set_caps): If the caps we're setting is actually the same
10189         as the existing pad caps, just update the pointer without calling
10190         setcaps. Assert that caps is either NULL or fixed, as per the
10191         docs.
10192
10193         * gst/gstghostpad.c: Update for fixate changes.
10194
10195 2005-07-02  Andy Wingo  <wingo@pobox.com>
10196
10197         * gst/gstcaps.c:
10198         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10199         two refcounts makes it immutable, which is enough. Doc more.
10200
10201 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10202
10203         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10204           Put the mini_object into GValue as a mini_object,
10205           not a gpointer, since that's how we declared
10206           the signal.
10207
10208 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10209
10210         * examples/pwg/Makefile.am:
10211           Fix buildbot again.
10212
10213 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10214
10215         * docs/pwg/building-testapp.xml:
10216           Add extra check.
10217         * examples/pwg/Makefile.am:
10218           Fix buildbot.
10219
10220 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10221
10222         * configure.ac:
10223         * examples/Makefile.am:
10224         * examples/pwg/Makefile.am:
10225         * examples/pwg/extract.pl:
10226           Enable building the PWG examples.
10227         * docs/pwg/advanced-interfaces.xml:
10228           Add URI interface stub.
10229         * docs/pwg/advanced-types.xml:
10230         * docs/pwg/other-autoplugger.xml:
10231         * docs/pwg/appendix-porting.xml:
10232         * docs/pwg/pwg.xml:
10233           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10234         * docs/pwg/building-boiler.xml:
10235         * docs/pwg/building-chainfn.xml:
10236         * docs/pwg/building-pads.xml:
10237         * docs/pwg/building-props.xml:
10238         * docs/pwg/building-state.xml:
10239         * docs/pwg/building-testapp.xml:
10240           Update the building-*.xml parts for 0.9 changes. All examples
10241           code blocks compile in examples/pwg/*.
10242
10243 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10244
10245         * docs/manual/advanced-autoplugging.xml:
10246         * docs/manual/appendix-checklist.xml:
10247         * docs/manual/appendix-integration.xml:
10248         * docs/manual/highlevel-components.xml:
10249           Fix playbin/decodebin examples, update docs a bit, mention bus
10250           instead of signals in various places, mention kmplayer and
10251           kaffeine since they have a working GStreamer backend in the KDE
10252           section.
10253
10254 2005-06-30  Wim Taymans  <wim@fluendo.com>
10255
10256         * CHANGES-0.9:
10257         * docs/design/draft-ghostpads.txt:
10258         * docs/design/draft-push-pull.txt:
10259         * docs/design/draft-query.txt:
10260         * docs/design/part-TODO.txt:
10261         * docs/design/part-query.txt:
10262         Added CHANGES-0.9 doc, updated status of other docs.
10263         
10264         * gst/gstquery.h:
10265         Remove "hmm" macro
10266
10267 2005-06-30  Wim Taymans  <wim@fluendo.com>
10268
10269         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10270         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10271         (gst_base_sink_change_state):
10272         * gst/base/gstbasesink.h:
10273         Some tweaks, only EOS and a buffer complete a preroll.
10274
10275 2005-06-30  Andy Wingo  <wingo@pobox.com>
10276
10277         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10278         activate_push down to the internal pad as well.
10279
10280 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10281
10282         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10283
10284         * gst/gsttaginterface.c:
10285           Some documentation fixes (#307394 and #307397).
10286
10287 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10288
10289         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10290
10291         * gst/gstvalue.c: (gst_value_intersect_list):
10292           Fix memleak (#309125).
10293
10294 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10295
10296         * docs/manual/advanced-dataaccess.xml:
10297           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10298         * docs/manual/basics-pads.xml:
10299           Add reference for filtered caps to above chapter.
10300
10301 2005-06-30  Wim Taymans  <wim@fluendo.com>
10302
10303         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10304         (gst_bin_change_state):
10305         Probes are gone.
10306         Lame attempt at making the state change function a bit
10307         more readable.
10308
10309 2005-06-30  Wim Taymans  <wim@fluendo.com>
10310
10311         * docs/design/part-clocks.txt:
10312         * docs/design/part-element-sink.txt:
10313         * docs/design/part-events.txt:
10314         * docs/design/part-preroll.txt:
10315         * docs/design/part-states.txt:
10316         Some more tweeks and additions to the docs.
10317
10318 2005-06-30  Wim Taymans  <wim@fluendo.com>
10319
10320         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10321         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10322         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10323         (gst_pad_check_pull_range), (gst_pad_get_range),
10324         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10325         * gst/gstpad.h:
10326         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10327         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10328         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10329         (gst_pad_remove_buffer_probe):
10330         Removed atomic operations, use existing LOCK.
10331         Move exception handling out of main code path.
10332
10333 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10334
10335         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10336         (silly_return_true_function), (gst_pad_class_init),
10337         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10338         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10339         (gst_pad_send_event):
10340           Fix accumulator, add default value by using _emitv() instead
10341           of _emit() for signal emission.
10342
10343 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10344
10345         * docs/manual/advanced-dataaccess.xml:
10346         * examples/manual/Makefile.am:
10347           Add probe example.
10348         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10349           Make work (??).
10350
10351 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10352
10353         * gst/elements/gstfilesink.c: (gst_filesink_render):
10354           Simplify code so that we don't have to handle short
10355           writes and return GST_FLOW_ERROR if an error occured.
10356
10357 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10358
10359         * docs/gst/gstreamer-docs.sgml:
10360           Remove probes more.
10361
10362 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10363
10364         * docs/gst/gstreamer-sections.txt:
10365         * docs/gst/tmpl/gstpad.sgml:
10366         * docs/gst/tmpl/gstprobe.sgml:
10367         * gst/Makefile.am:
10368         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10369         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10370         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10371         (gst_pad_push_event), (gst_pad_send_event):
10372         * gst/gstpad.h:
10373         * gst/gstutils.c: (gst_pad_add_data_probe),
10374         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10375         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10376         (gst_pad_remove_buffer_probe):
10377         * gst/gstutils.h:
10378           Remove old probes, add new g-signal-based probes and some utility
10379           functions.
10380
10381 2005-06-29  Edward Hervey  <edward@fluendo.com>
10382
10383         * gst/gstelementfactory.c:
10384         * gst/gstutils.h:
10385         * gst/gstutils.c:
10386         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10387         the definition to the header file.
10388
10389 2005-06-29  Andy Wingo  <wingo@pobox.com>
10390
10391         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10392         plugins from the source directory.
10393
10394 2005-06-29  Wim Taymans  <wim@fluendo.com>
10395
10396         * docs/gst/tmpl/gstbuffer.sgml:
10397         * docs/gst/tmpl/gstclock.sgml:
10398         Some fixings for blantently wrong text.
10399
10400 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10401
10402         * check/Makefile.am:
10403         * gst/gst.c: (add_path_func), (init_pre):
10404         * gst/gstregistry.c: (gst_registry_add_path):
10405           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10406           only scan the GST_PLUGIN_PATH locations, and not add
10407           system locations
10408
10409 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10410
10411         * docs/gst/gstreamer-sections.txt:
10412         * docs/gst/tmpl/gstbasesrc.sgml:
10413         * gst/gstelement.c:
10414         * gst/gstelement.h:
10415         * gst/gstevent.c:
10416         * gst/gstutils.c:
10417           doc fixes
10418
10419 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10420
10421         * docs/manual/advanced-autoplugging.xml:
10422           Fix autoplugging example.
10423
10424 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10425
10426         * docs/manual/advanced-autoplugging.xml:
10427         * docs/manual/mime-world.fig:
10428           Try to get autoplugging working, fix type detection. Fix text
10429           in hello-world image.
10430
10431 2005-06-29  Wim Taymans  <wim@fluendo.com>
10432
10433         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10434         (gst_base_sink_change_state):
10435         Small debug line.
10436
10437         * gst/gstclock.h:
10438         map SIGNAL and BROADCAST to the right function.
10439
10440         * gst/gstobject.h:
10441         Remove redundant braces.
10442
10443         * gst/gstpad.c: (gst_pad_set_caps):
10444         Don't call setcaps function when reseting caps to NULL.
10445
10446         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10447         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10448         (gst_system_clock_id_unschedule):
10449         Use BROADCAST as this is what we do.
10450
10451 2005-06-29  Wim Taymans  <wim@fluendo.com>
10452
10453         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10454         We are actually prerolling before commiting the state
10455         change. 
10456
10457 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10458
10459         * docs/manual/advanced-clocks.xml:
10460         * docs/manual/advanced-interfaces.xml:
10461         * docs/manual/advanced-metadata.xml:
10462         * docs/manual/advanced-position.xml:
10463         * docs/manual/advanced-schedulers.xml:
10464         * docs/manual/advanced-threads.xml:
10465         * docs/manual/appendix-porting.xml:
10466         * docs/manual/basics-bins.xml:
10467         * docs/manual/basics-bus.xml:
10468         * docs/manual/basics-elements.xml:
10469         * docs/manual/basics-helloworld.xml:
10470         * docs/manual/basics-pads.xml:
10471         * docs/manual/highlevel-components.xml:
10472         * docs/manual/manual.xml:
10473         * docs/manual/thread.fig:
10474           Update (until threads/scheduling) Application Development Manual;
10475           remove GstThread, add GstBus, add simple porting checklist, add
10476           documentation for tag writing, clocks, make all examples until this
10477           part compile and run.
10478         * examples/manual/Makefile.am:
10479           Update from changes to Application Development Manual; add bus
10480           example, remove thread example.
10481
10482 2005-06-28  Wim Taymans  <wim@fluendo.com>
10483
10484         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10485         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10486         (gst_bus_source_dispatch):
10487         Add debugging messages.
10488         Make internal methods static.
10489         Handle the case where the bus is flushed in the handler.
10490         
10491         * gst/gstelement.c: (gst_element_get_bus):
10492         Fix refcount in _get_bus();
10493
10494         * gst/gstpipeline.c: (gst_pipeline_change_state),
10495         (gst_pipeline_get_clock_func):
10496         Clock refcounting fixes.
10497         Handle the case where preroll timed out more gracefully.
10498         
10499         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10500         Clean up the internal thread in dispose. This is needed
10501         for subclasses that actually get disposed.
10502         
10503         * gst/schedulers/threadscheduler.c:
10504         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10505         (gst_thread_scheduler_dispose):
10506         Free thread pool in dispose.
10507
10508 2005-06-28  Andy Wingo  <wingo@pobox.com>
10509
10510         * tests/network-clock-utils.scm (debug, print-event): New utils.
10511
10512         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10513         (*packet-loss*): Unified loss probability.
10514         (network-time): Report out-of-band events.
10515
10516         * tests/plot-data: Add support for out-of-band events. Hack it
10517         into this script instead of passing it down the pipe; should fix
10518         this later.
10519
10520 2005-06-28  Wim Taymans  <wim@fluendo.com>
10521
10522         * docs/gst/gstreamer.types:
10523         * docs/gst/tmpl/gstbasesrc.sgml:
10524         * docs/gst/tmpl/gstpad.sgml:
10525         Docs fixes.
10526
10527 2005-06-28  Wim Taymans  <wim@fluendo.com>
10528
10529         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10530         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10531         (gst_proxy_pad_do_fixatecaps):
10532         Correctly proxy the check_pull_range function.
10533
10534 2005-06-28  Andy Wingo  <wingo@pobox.com>
10535
10536         * tests/network-clock.scm: Removed need for slib.
10537         
10538 2005-06-28  Wim Taymans  <wim@fluendo.com>
10539
10540         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10541         (gst_basesink_preroll_queue_flush):
10542         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10543         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10544         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10545         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10546         (gst_proxy_pad_set_property):
10547         * gst/gstpad.c:
10548         * gst/gstpad.h:
10549         * gst/gstqueue.c: (gst_queue_init):
10550         The deprecated pad loop function is removed now.
10551
10552 2005-06-28  Andy Wingo  <wingo@pobox.com>
10553
10554         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10555         New parameters, simulate network packet loss.
10556
10557         * tests/network-clock-utils.scm: Initialize the RNG.
10558
10559 2005-06-28  Wim Taymans  <wim@fluendo.com>
10560
10561         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10562         (gst_basesink_event), (gst_basesink_deactivate):
10563         Flushing the preroll queue always needs to unlock the waiters.
10564
10565 2005-06-28  Edward Hervey  <edward@fluendo.com>
10566
10567         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10568         Wheen a seek was successful on a pipeline, set the stream_time to the
10569         seek offset in order to have a synchronized stream_time.
10570
10571 2005-06-28  Wim Taymans  <wim@fluendo.com>
10572
10573         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10574         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10575         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10576         (gst_proxy_pad_do_fixatecaps):
10577         Call wrapper function instead of just calling the function
10578         pointers. This takes care of any locking and whatmore.
10579
10580 2005-06-28  Wim Taymans  <wim@fluendo.com>
10581
10582         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10583         (gst_pad_pull_range):
10584         * gst/gstpad.h:
10585         CONNECTED -> LINKED.
10586
10587 2005-06-28  Andy Wingo  <wingo@pobox.com>
10588
10589         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10590         source-munging commit!!!
10591
10592         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10593         (gst_object_sink): Take gpointer arguments, not GstObject --
10594         avoids casts. Like GLib.
10595
10596         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10597         activate.
10598
10599 2005-06-27  Andy Wingo  <wingo@pobox.com>
10600
10601         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10602         remaining buffer.
10603
10604         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10605         returns a sorted copy of the trace list.
10606         (gst_alloc_trace_print_live): New API, only prints traces with
10607         live objects. Sort the list.
10608         (gst_alloc_trace_print_all): Sort the list.
10609         (gst_alloc_trace_print): Align columns.
10610
10611         * gst/elements/gstttypefindelement.c:
10612         * gst/elements/gsttee.c:
10613         * gst/base/gstbasesrc.c:
10614         * gst/base/gstbasesink.c:
10615         * gst/base/gstbasetransform.c:
10616         * gst/gstqueue.c: Adapt for pad activation changes.
10617
10618         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10619         sched.
10620         (gst_pipeline_dispose): Drop ref on sched.
10621
10622         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10623         (gst_pad_activate_default): Push mode by default.
10624         (pre_activate_switch, post_activate_switch): New stubs, things to
10625         do before and after switching activation modes on pads.
10626         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10627         the pad's activate function to choose which mode to activate.
10628         Shortcut on deactivation and call the right function directly.
10629         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10630         mode.
10631         (gst_pad_activate_push): New API, same for push mode.
10632         (gst_pad_set_activate_function) 
10633         (gst_pad_set_activatepull_function) 
10634         (gst_pad_set_activatepush_function): Setters for new API.
10635
10636         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10637         Trace all miniobjects.
10638         (gst_mini_object_make_writable): Unref the arg if we copy, like
10639         gst_caps_make_writable.
10640
10641         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10642
10643         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10644         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10645         Adapt for new pad API.
10646
10647         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10648
10649         * gst/gstelement.h:
10650         * gst/gstelement.c (gst_element_iterate_src_pads) 
10651         (gst_element_iterate_sink_pads): New API functions.
10652         
10653         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10654         should fold into gstiterator.c in some form.
10655         (gst_element_pads_activate): Simplified via use of fold and
10656         delegation of decisions to gstpad->activate.
10657
10658         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10659         help in debugging.
10660
10661         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10662         class once in init, like gstmessage. Didn't run into this issue
10663         but it seems correct. Don't initialize a trace, gstminiobject does
10664         that.
10665
10666         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10667         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10668         to the bus.
10669         (assert_live_count): New util function, uses alloc traces to check
10670         cleanup.
10671
10672         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10673         To be modified when unlink drops the internal pad.
10674
10675 2005-06-27  Wim Taymans  <wim@fluendo.com>
10676
10677         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10678         (gst_bin_change_state):
10679         Cleanup the get_state() function a little, make sure it
10680         iterates the same set of elements.
10681         Added stub iterate_state_order().
10682
10683 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10684
10685         * docs/gst/gstreamer-docs.sgml:
10686         * docs/gst/gstreamer-sections.txt:
10687         * docs/gst/gstreamer.types:
10688         * docs/gst/tmpl/gstbasesink.sgml:
10689         * docs/gst/tmpl/gstbasesrc.sgml:
10690         * docs/gst/tmpl/gstbasetransform.sgml:
10691         * docs/gst/tmpl/gstelement.sgml:
10692         * docs/gst/tmpl/gstiterator.sgml:
10693         * gst/base/gstbasesrc.c:
10694         * gst/base/gstbasesrc.h:
10695         * gst/base/gstbasetransform.h:
10696         * gst/gstelement.c:
10697         * gst/gstiterator.h:
10698           adding basetransform and iterator docs
10699
10700 2005-06-27  Andy Wingo  <wingo@pobox.com>
10701
10702         * docs/design/part-activation.txt: Notes on how activation should
10703         work -- not quite implemented yet.
10704
10705 2005-06-25  Wim Taymans  <wim@fluendo.com>
10706
10707         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10708         At least get the chain function correct, needs more
10709         fixing.
10710
10711 2005-06-25  Wim Taymans  <wim@fluendo.com>
10712
10713         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10714         (gst_basesink_handle_object), (gst_basesink_event),
10715         (gst_basesink_do_sync), (gst_basesink_handle_event),
10716         (gst_basesink_change_state):
10717         * gst/gsttask.h:
10718         Right, two problems here: ghostpads don't take locks and
10719         glib _rec_mutex_lock_full() with depth==0 still locks.
10720         Catch illegal locking and g_warn them.
10721
10722 2005-06-25  Wim Taymans  <wim@fluendo.com>
10723
10724         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10725         Have to check for completion now...
10726
10727 2005-06-25  Wim Taymans  <wim@fluendo.com>
10728
10729         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10730         (gst_basesink_handle_object), (gst_basesink_event),
10731         (gst_basesink_do_sync), (gst_basesink_handle_event),
10732         (gst_basesink_change_state):
10733         * gst/gstpad.h:
10734         Unlock STREAM_LOCK whatever the recursion was.
10735
10736 2005-06-25  Wim Taymans  <wim@fluendo.com>
10737
10738         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10739         (gst_basesink_preroll_queue_empty),
10740         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10741         (gst_basesink_event), (gst_basesink_do_sync),
10742         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10743         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10744         (gst_basesink_change_state):
10745         Reworked the base sink, handle event and buffer serialisation
10746         correctly and removed possible deadlock.
10747         Handle EOS correctly.
10748
10749 2005-06-25  Wim Taymans  <wim@fluendo.com>
10750
10751         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10752         (gst_pipeline_change_state):
10753         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10754         Allow elements to post EOS in the state change function.
10755         Fix up -launch, make it exit the poll loop when the
10756         pipeline actually changed state.
10757         Fix up warning parsing in -launch.
10758
10759 2005-06-25  Wim Taymans  <wim@fluendo.com>
10760
10761         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10762         (gst_tee_sink_activate):
10763         Core takes STREAM_LOCK for us now.
10764
10765 2005-06-25  Wim Taymans  <wim@fluendo.com>
10766
10767         * gst/gstelement.c: (gst_element_get_state_func),
10768         (gst_element_set_state):
10769         * gst/gstelement.h:
10770         * gst/gstmessage.c: (gst_message_parse_error),
10771         (gst_message_parse_warning):
10772         Keep track of current target state while performing a state
10773         change so that subclasses can do something interesting.
10774         Fix parsing of warning/error messages when GError is NULL.
10775
10776 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10777
10778         * docs/gst/Makefile.am:
10779         * docs/gst/gstreamer-docs.sgml:
10780         * docs/gst/gstreamer-sections.txt:
10781         * docs/gst/gstreamer.types:
10782         * docs/gst/tmpl/gstbasesink.sgml:
10783         * docs/gst/tmpl/gstbasesrc.sgml:
10784         * docs/gst/tmpl/gstbin.sgml:
10785         * docs/gst/tmpl/gstcompat.sgml:
10786         * docs/gst/tmpl/gstfakesink.sgml:
10787         * docs/gst/tmpl/gstfakesrc.sgml:
10788         * docs/gst/tmpl/gstfilesink.sgml:
10789         * docs/gst/tmpl/gstfilesrc.sgml:
10790         * docs/gst/tmpl/gstindex.sgml:
10791         * docs/manual/appendix-quotes.xml:
10792         * gst/base/gstbasesrc.h:
10793         * gst/elements/gstfakesrc.h:
10794         * gst/gstmessage.h:
10795           start pulling in base classes and elements in our docs
10796
10797 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10798
10799         * docs/gst/Makefile.am:
10800         * docs/libs/Makefile.am:
10801           fixed make distcheck with gtk-doc 1.3
10802
10803 2005-06-23  Wim Taymans  <wim@fluendo.com>
10804
10805         * gst/gstelement.c: (gst_element_get_state_func),
10806         (gst_element_set_state), (gst_element_change_state):
10807         When the state did not change, also report NO_PREROLL
10808         when it matters.
10809
10810 2005-06-23  Wim Taymans  <wim@fluendo.com>
10811
10812         * gst/gstpad.c: (gst_pad_event_default):
10813         * gst/gstqueue.c: (gst_queue_loop):
10814         No unsafe task pausing please.
10815
10816 2005-06-23  Wim Taymans  <wim@fluendo.com>
10817
10818         * gst/schedulers/threadscheduler.c:
10819         (gst_thread_scheduler_task_start),
10820         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10821         Ref the task before pushing it on the threadpool. This
10822         makes sure that we have a ref when the threadfunction is
10823         actually called.
10824
10825 2005-06-23  Andy Wingo  <wingo@pobox.com>
10826
10827         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10828         offset is greater than the file's size.
10829
10830         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10831         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10832         * gst/gstobject.c (gst_object_class_init): Make the class lock
10833         recursive. Wim won't let me drop deep_notify. Decodebin works
10834         again, whoopdy doo.
10835
10836         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10837         internal pad, and hacks accordingly. Doesn't do it on the target
10838         pad because we change its caps. Probably catches all cases of
10839         interest tho.
10840         (gst_ghost_pad_set_property): Connect to notify::caps as
10841         appropritate.
10842
10843         * tests/network-clock.scm (plot-simulation): Pipe data to the
10844         elite python skript.
10845
10846         * tests/network-clock-utils.scm (define-parameter): New macro,
10847         defines a parameter that can be set via the command line.
10848         (set-parameter!, parse-parameter-arguments): Command line args
10849         parser.
10850
10851         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10852         stdin.
10853
10854 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10855
10856         * gst/elements/gsttypefindelement.c:
10857         (gst_type_find_element_handle_event):
10858           Don't restart typefinding on a discont.
10859         * gst/gstelement.c: (gst_element_set_state):
10860           Debug spelling fix.
10861         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10862           Allow changing mode of an active pad.
10863           Debug output fixes.
10864         * gst/registries/gstlibxmlregistry.c: (load_feature):
10865           Don't cast a static pad template to a normal pad template.
10866
10867 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10868
10869         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10870         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10871           remove gst_strtoll completely, since it didn't actually do
10872           anything more than what g_ascii_strtoull already does.
10873           check for range errors when deserializing
10874           do a cast for the unsigned cases; but further fixing needs
10875           a decision on what the interpretation of "(int)" and
10876           deserialization should be for values that fall outside the
10877           type's boundaries (ie, refuse, or interpret as casting)
10878
10879 2005-06-23  Wim Taymans  <wim@fluendo.com>
10880
10881         * check/Makefile.am:
10882         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10883         * docs/design/part-live-source.txt:
10884         * docs/design/part-states.txt:
10885         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10886         (gst_basesrc_set_live), (gst_basesrc_is_live),
10887         (gst_basesrc_get_range), (gst_basesrc_activate),
10888         (gst_basesrc_change_state):
10889         * gst/base/gstbasesrc.h:
10890         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10891         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10892         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10893         * gst/gstelement.c: (gst_element_get_state_func),
10894         (gst_element_set_state):
10895         * gst/gstelement.h:
10896         * gst/gsttypes.h:
10897         * tools/gst-launch.c: (event_loop), (main):
10898         Added support for live sources and other elements that
10899         cannot do preroll.
10900         Updated design docs, added live-source design doc.
10901         Implemented live source functionality in basesrc
10902         Fix error condition in _bin_get_state()
10903         Implement live source handling in -launch.
10904         Added check for live sources.
10905         Fixed case in GstBin where elements were changed state
10906         multiple times.
10907
10908
10909 2005-06-23  Andy Wingo  <wingo@pobox.com>
10910
10911         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10912         borken refcounting.
10913
10914         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10915         gst_caps_replace takes care of this for us.
10916
10917         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10918         gst_pad_set_caps on the target, not just its setcaps() function.
10919
10920         * tests/network-clock.scm: 
10921         * tests/network-clock-utils.scm: A network clock simulator.
10922         Something of an algorithmic testbed before doing something in C.
10923
10924 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10925
10926         * check/Makefile.am:
10927         * check/gst/capslist.h:
10928           copy over from 0.8, and add two with bitmasks specified with
10929           (int) 0xFF...
10930         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10931           add test to parse everything from capslist.h
10932         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10933         (main):
10934           add test for structure deserialization
10935         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10936           add tests for deserialization of strings to int types
10937         * gst/gststructure.c: (gst_structure_nth_field_name):
10938         * gst/gststructure.h:
10939           add a way to get the name of a field referenced by index
10940         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10941           instead of checking if the resulting long long lies between
10942           min and max, we check if the long long would fit into
10943           a number of bytes for the final type.
10944           This fixes cases where a string represents 2^32 - 1, which
10945           when cast to int would be the (valid) -1, but is bigger than
10946           G_MAXINT
10947
10948 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10949
10950         * gst/parse/grammar.y:
10951           add a log line for type deserialization
10952
10953 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10954
10955         * check/gst/gstvalue.c: (START_TEST):
10956         * gst/gstvalue.c: (gst_value_deserialize):
10957           return long long, not int, so gint64 deserialization actually
10958           works.  Is there any flag that makes the compiler check this ?
10959           Fixes #308559
10960
10961 2005-06-22  Wim Taymans  <wim@fluendo.com>
10962
10963         * gst/gstbuffer.h:
10964         Added convenience macros for setting buffers in GValue.
10965
10966 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10967
10968         * check/gst/.cvsignore:
10969         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10970           add a test deserializing int64, and comment part out because
10971           it fails, yay !
10972
10973 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10974
10975         * check/Makefile.am:
10976         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10977         * testsuite/Makefile.am:
10978         * testsuite/caps/Makefile.am:
10979         * testsuite/caps/value_serialize.c:
10980         * testsuite/test_gst_init.c:
10981           move a value_serialize test over
10982
10983 2005-06-20  Wim Taymans  <wim@fluendo.com>
10984
10985         * gst/gstpad.c:
10986         Small doc updates.
10987         
10988         * gst/gstvalue.c: (gst_value_compare_buffer),
10989         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10990         (gst_value_compare_flags), (gst_value_serialize_flags),
10991         (gst_value_deserialize_flags), (_gst_value_initialize):
10992         Fix serialisation of buffers, they are not boxed types anymore
10993
10994 2005-06-20  Wim Taymans  <wim@fluendo.com>
10995
10996         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10997         Testcase to show error in buffer-on-caps serialisation.
10998
10999 2005-06-20  Andy Wingo  <wingo@pobox.com>
11000
11001         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11002         will be adding to later.
11003
11004         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11005         if its socks fill with rocks.
11006         (gst_system_clock_obtain): Set the name on object construction.
11007         Avoid double-checked locking.
11008
11009 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11010
11011         * gst/gsturi.c: (gst_element_make_from_uri):
11012           Fix potential endless loop.
11013
11014 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11015
11016         * check/Makefile.am:
11017           add gsttag
11018         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11019         (main):
11020           move over from testsuite dir and clean up
11021         * configure.ac:
11022         * gst/gsttag.c:
11023         * testsuite/Makefile.am:
11024         * testsuite/tags/.cvsignore:
11025         * testsuite/tags/Makefile.am:
11026         * testsuite/tags/merge.c:
11027           remove testsuite/tags
11028
11029 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11030
11031         * docs/gst/gstreamer-sections.txt:
11032         * docs/gst/tmpl/gstenumtypes.sgml:
11033         * win32/gstenumtypes.c:
11034           clean up documentation build a little
11035
11036 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11037
11038         * check/gstcheck.h:
11039           add macros for checking refcounts on objects and caps
11040         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11041           add some more unit tests
11042         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11043         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11044           fix leaked refcounts (I hope :)) so unittest works
11045         * gst/gstpad.h:
11046           whitespace removal
11047
11048 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11049
11050         * configure.ac: back to HEAD
11051
11052 === release 0.9.1 ===
11053
11054 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11055
11056         * NEWS:
11057         * RELEASE:
11058           updated
11059
11060 2005-06-17  Andy Wingo  <wingo@pobox.com>
11061
11062         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11063         assert; it's always possible that the pad gets deactivated in
11064         between the checks in gstpad.c and the implementation. Rely on
11065         finish_preroll() to return a FLUSHING or similar instead of on the
11066         assert.
11067         
11068         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11069         clock and post an EOS message if we come out of finish_preroll in
11070         the playing state.
11071
11072 2005-06-16  David Schleef  <ds@schleef.org>
11073
11074         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11075         (gst_capsfilter_set_property): Allow NULL as possible value
11076         for filter_caps property, indicating GST_CAPS_ANY.
11077
11078 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11079
11080         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11081           fix debug output
11082         * gst/schedulers/Makefile.am:
11083           use libgst prefix
11084         * gstreamer.spec.in:
11085           fix spec for it
11086
11087 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11088
11089         * gstreamer.spec.in:
11090           clean up
11091
11092 2005-06-08  Andy Wingo  <wingo@pobox.com>
11093
11094         * gst/gstutils.c: RPAD fixes all around.
11095         (gst_element_link_pads): Refcounting fixes.
11096
11097         * tools/gst-inspect.c:
11098         * tools/gst-xmlinspect.c:
11099         * parse/grammar.y:
11100         * gst/base/gsttypefindhelper.c:
11101         * gst/base/gstbasesink.c:
11102         * gst/gstqueue.c: RPAD fixes.
11103
11104         * gst/gstghostpad.h:
11105         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11106         pads. The tricky thing is they provide both source and sink
11107         interfaces, since they proxy the internal pad for the external
11108         pad, and vice versa. Implement with lower-level ProxyPad objects,
11109         with the interior proxy pad as a child of the exterior ghost pad.
11110         Should write a doc on this.
11111         
11112         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11113         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11114         gst_object API.
11115         
11116         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11117         pads are real pads. No ghost pads in this file. Not documenting
11118         the myriad s/RPAD/PAD/ and REALIZE fixes.
11119         (gst_pad_class_init): Add properties for "direction" and
11120         "template". Both are construct-only, so they can't change during
11121         the life of the pad. Fixes properly deriving from GstPad.
11122         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11123         derived objects, just set properties when creating the objects via
11124         g_object_new.
11125         (gst_pad_get_parent): Implement as a function, return NULL if the
11126         parent is not an element.
11127         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11128         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11129         
11130         * gst/gstobject.c (gst_object_class_init): Make name a construct
11131         property. Don't set it in the object init.
11132
11133         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11134         with UNKNOWN direction.
11135         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11136         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11137         (gst_element_remove_pad): Remove ghost-pad special cases.
11138         (gst_element_pads_activate): Remove rpad cruft.
11139
11140         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11141         catch the pad's-parent-not-an-element case.
11142
11143         * gst/gst.h: Include gstghostpad.h.
11144
11145         * gst/gst.c (init_post): No more real, ghost pads.
11146
11147         * gst/Makefile.am: Add gstghostpad.[ch].
11148
11149         * check/Makefile.am:
11150         * check/gst/gstbin.c:
11151         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11152         into a bin creates ghost pads, and that the refcounts are right.
11153         Partly moved from gstbin.c.
11154
11155 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11156
11157         * check/gst-libs/.cvsignore:
11158         * check/gst/.cvsignore:
11159         * check/pipelines/.cvsignore:
11160           ignore more
11161         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11162         (START_TEST), (cleanup_suite), (main):
11163           add some tests related to cleanup after running pipelines
11164
11165 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11166
11167         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11168           add a testsuite for GstBuffer
11169
11170 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11171
11172         * gst/gstminiobject.h:
11173           add defines for accessing the refcount
11174
11175 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11176
11177         * Makefile.am: added support for html unit test coverage reports
11178
11179 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11180
11181         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11182           Free existing caps if the capsfilter changes. Add a FIXME about
11183           setting those caps on the pads.
11184
11185         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11186           Before adding a ghost pad to a parent bin, check that there isn't
11187           already one for the element on the bin. Prevents infinite recursion
11188           when using decodebin in parse pipelines. Andy says he'll rewrite the
11189           way this works anyway, so ignore the hack.
11190
11191 2005-06-02  Andy Wingo  <wingo@pobox.com>
11192
11193         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11194         file size, pass it on to the type find helper.
11195
11196         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11197         segment_start and segment_end properly according to the seek
11198         method. Segment_end is still a bit flaky because offset can be
11199         negative for CUR and END cases, but it takes -1 as an "unset"
11200         value.
11201
11202 2005-06-02  Wim Taymans  <wim@fluendo.com>
11203
11204         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11205         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11206         (gst_basesink_activate):
11207         * gst/base/gstbasesink.h:
11208         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11209         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11210         (gst_pad_query), (gst_pad_start_task):
11211         * gst/gstpad.h:
11212         * gst/gstqueue.c: (gst_queue_bufferalloc),
11213         (gst_queue_handle_sink_event), (gst_queue_chain):
11214         Bufferalloc: return GstFlowReturn to more accuratly report
11215         why allocation failed.
11216
11217 2005-06-02  Wim Taymans  <wim@fluendo.com>
11218
11219         * gst/gstpipeline.c: (gst_pipeline_send_event):
11220         Take snapshot of state without blocking.
11221
11222 2005-06-02  Wim Taymans  <wim@fluendo.com>
11223
11224         * docs/design/part-TODO.txt:
11225         * docs/design/part-caps.txt:
11226         * docs/design/part-clocks.txt:
11227         * docs/design/part-negotiation.txt:
11228         * docs/design/part-preroll.txt:
11229         Small doc updates 
11230
11231 2005-05-30  Wim Taymans  <wim@fluendo.com>
11232
11233         * gst/elements/gstidentity.c: (gst_identity_event),
11234         (gst_identity_transform), (gst_identity_get_property):
11235         Protect last_message property as it is accessed from
11236         multiple threads.
11237
11238 2005-05-30  Wim Taymans  <wim@fluendo.com>
11239
11240         * gst/gstelement.c: (gst_element_init),
11241         (gst_element_pads_activate), (gst_element_change_state):
11242         Slicker pad activation code.
11243
11244 2005-05-30  Wim Taymans  <wim@fluendo.com>
11245
11246         * gst/Makefile.am:
11247         * gst/gstelement.h:
11248         * gst/gstelementfactory.h:
11249         * gst/gsttypes.h:
11250         Move elementfactory methods to separate .h file.
11251
11252 2005-05-30  Wim Taymans  <wim@fluendo.com>
11253
11254         * docs/design/part-overview.txt:
11255         * gst/gstsystemclock.h:
11256         Small typo fixes, doc updates.
11257
11258 2005-05-30  Wim Taymans  <wim@fluendo.com>
11259
11260         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11261         (init_popt_callback):
11262         Remove cpu-opt flag.
11263
11264 2005-05-30  Wim Taymans  <wim@fluendo.com>
11265
11266         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11267         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11268         * gst/gstbuffer.h:
11269         Avoid typechecking in places where not needed.
11270         Added accessor for malloc_data.
11271
11272 2005-05-30  Wim Taymans  <wim@fluendo.com>
11273
11274         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11275         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11276         (gst_pad_configure_sink), (gst_pad_configure_src),
11277         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11278         (gst_pad_start_task):
11279         Propagate errors from _set_caps() in configure_src/sink
11280         functions instead of returning TRUE.
11281         FLUSH events can travel up and downstream
11282
11283
11284 2005-05-30  Wim Taymans  <wim@fluendo.com>
11285
11286         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11287         (gst_basesink_activate):
11288         Handle EOS in preroll.
11289
11290 2005-05-30  Wim Taymans  <wim@fluendo.com>
11291
11292         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11293         (gst_queue_loop), (gst_queue_handle_src_event):
11294         Remove old pieces of code
11295         Flushing the queue in an upstream event is a very bad idea.
11296
11297 2005-05-26  Andy Wingo  <wingo@pobox.com>
11298
11299         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11300         gst_value_set_mini_object so as to add a ref on the object (which
11301         will be removed when the value is unset).
11302
11303         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11304         arg type in ::handoff.
11305
11306         * gst/gstelement.c (gst_element_change_state): Also deactivate
11307         pads in READY->NULL, just in case the element didn't make it to
11308         PAUSED. Wingo tested, Wim approved.
11309
11310 2005-05-26  Wim Taymans  <wim@fluendo.com>
11311
11312         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11313         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11314         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11315         A flushing pad cannot be used to alloc_buffer from.
11316
11317 2005-05-26  Wim Taymans  <wim@fluendo.com>
11318
11319         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11320         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11321         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11322         (gst_bus_create_watch), (gst_bus_add_watch_full):
11323         * gst/gstbus.h:
11324         Implement a real GSource and use g_main_context_wakeup() to
11325         signal new messages instead of the socketpair.
11326
11327 2005-05-25  Wim Taymans  <wim@fluendo.com>
11328
11329         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11330         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11331         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11332         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11333         (gst_pad_send_event), (gst_pad_start_task):
11334         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11335         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11336         (gst_queue_sink_activate), (gst_queue_src_activate),
11337         (gst_queue_change_state):
11338         * gst/gstqueue.h:
11339         Fix state changes for non sinks. We now change sinks, then elements
11340         with unconnected srcpads, then the rest.
11341         More efficient queue unlocking in flush and state changes.
11342         Set the pad activate mode even if it does not have an activate
11343         function.
11344
11345 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11346
11347         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11348           Don't go in pull mode for non-seekable sources.
11349         * gst/elements/gsttypefindelement.h:
11350         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11351         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11352         (free_entry), (stop_typefinding),
11353         (gst_type_find_element_handle_event), (find_peek),
11354         (gst_type_find_element_chain), (do_pull_typefind),
11355         (gst_type_find_element_change_state):
11356           Allow typefinding (w/o seeking) in push-mode, simplified version
11357           of what was in 0.8.
11358         * gst/gstutils.c: (gst_buffer_join):
11359         * gst/gstutils.h:
11360           gst_buffer_join() from 0.8.
11361
11362 2005-05-25  Wim Taymans  <wim@fluendo.com>
11363
11364         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11365         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11366         (gst_pad_send_event), (gst_pad_start_task):
11367         Disable attempt at mode switching until it is figured out.
11368
11369 2005-05-25  Wim Taymans  <wim@fluendo.com>
11370
11371         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11372         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11373         (gst_basesink_finish_preroll), (gst_basesink_chain),
11374         (gst_basesink_loop), (gst_basesink_activate),
11375         (gst_basesink_change_state):
11376         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11377         (gst_basesrc_get_range), (gst_basesrc_loop),
11378         (gst_basesrc_activate):
11379         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11380         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11381         (gst_real_pad_init), (gst_real_pad_set_property),
11382         (gst_real_pad_get_property), (gst_pad_set_active),
11383         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11384         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11385         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11386         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11387         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11388         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11389         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11390         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11391         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11392         (gst_pad_stop_task):
11393         * gst/gstpad.h:
11394         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11395         (gst_queue_loop), (gst_queue_src_activate):
11396         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11397         (gst_task_get_state):
11398         * gst/gsttask.h:
11399         * gst/schedulers/threadscheduler.c:
11400         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11401         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11402         in task function.
11403         Remove ACTIVE pad flag, use FLUSHING everywhere
11404         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11405         functions.
11406         Add locks around IS_FLUSHING when reading.
11407         Take STREAM lock in chain(), get_range() functions so plugins
11408         don't need to take it anymore.
11409         
11410
11411
11412 2005-05-25  Wim Taymans  <wim@fluendo.com>
11413
11414         * tools/gst-launch.c: (event_loop):
11415         Unref message after using its contents instead of
11416         before.
11417
11418 2005-05-24  Wim Taymans  <wim@fluendo.com>
11419
11420         * docs/design/draft-ghostpads.txt:
11421         * docs/design/draft-push-pull.txt:
11422         * docs/design/draft-query.txt:
11423         * docs/design/part-overview.txt:
11424         Docs updates, added general overview doc.
11425
11426 2005-05-21  David Schleef  <ds@schleef.org>
11427
11428         * docs/gst/tmpl/old/GstBin.sgml:
11429         * docs/gst/tmpl/old/GstBuffer.sgml:
11430         * docs/gst/tmpl/old/GstCaps.sgml:
11431         * docs/gst/tmpl/old/GstClock.sgml:
11432         * docs/gst/tmpl/old/GstCompat.sgml:
11433         * docs/gst/tmpl/old/GstData.sgml:
11434         * docs/gst/tmpl/old/GstElement.sgml:
11435         * docs/gst/tmpl/old/GstEvent.sgml:
11436         * docs/gst/tmpl/old/GstIndex.sgml:
11437         * docs/gst/tmpl/old/GstStructure.sgml:
11438         * docs/gst/tmpl/old/GstTag.sgml:
11439         * docs/gst/tmpl/old/cothreads.sgml:
11440         * docs/gst/tmpl/old/cothreads_compat.sgml:
11441         * docs/gst/tmpl/old/gettext.sgml:
11442         * docs/gst/tmpl/old/gobject2gtk.sgml:
11443         * docs/gst/tmpl/old/grammar.tab.sgml:
11444         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11445         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11446         * docs/gst/tmpl/old/gst_private.sgml:
11447         * docs/gst/tmpl/old/gstaggregator.sgml:
11448         * docs/gst/tmpl/old/gstarch.sgml:
11449         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11450         * docs/gst/tmpl/old/gstbufferstore.sgml:
11451         * docs/gst/tmpl/old/gstdata_private.sgml:
11452         * docs/gst/tmpl/old/gstdisksink.sgml:
11453         * docs/gst/tmpl/old/gstdisksrc.sgml:
11454         * docs/gst/tmpl/old/gstelementfactory.sgml:
11455         * docs/gst/tmpl/old/gstextratypes.sgml:
11456         * docs/gst/tmpl/old/gstfakesink.sgml:
11457         * docs/gst/tmpl/old/gstfakesrc.sgml:
11458         * docs/gst/tmpl/old/gstfdsink.sgml:
11459         * docs/gst/tmpl/old/gstfdsrc.sgml:
11460         * docs/gst/tmpl/old/gstfilesink.sgml:
11461         * docs/gst/tmpl/old/gstfilesrc.sgml:
11462         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11463         * docs/gst/tmpl/old/gstidentity.sgml:
11464         * docs/gst/tmpl/old/gstindexfactory.sgml:
11465         * docs/gst/tmpl/old/gstmarshal.sgml:
11466         * docs/gst/tmpl/old/gstmd5sink.sgml:
11467         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11468         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11469         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11470         * docs/gst/tmpl/old/gstpipefilter.sgml:
11471         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11472         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11473         * docs/gst/tmpl/old/gstshaper.sgml:
11474         * docs/gst/tmpl/old/gstspider.sgml:
11475         * docs/gst/tmpl/old/gstspideridentity.sgml:
11476         * docs/gst/tmpl/old/gststatistics.sgml:
11477         * docs/gst/tmpl/old/gsttee.sgml:
11478         * docs/gst/tmpl/old/gsttimecache.sgml:
11479         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11480         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11481         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11482         * docs/gst/tmpl/old/types.sgml:
11483           I didn't intend to add these or check them in.
11484
11485 2005-05-19  David Schleef  <ds@schleef.org>
11486
11487         * configure.ac: Use -no-common everywhere.  In a sane world, it
11488           would be the default in libtool, because without it, you can't
11489           build DLLs on Windows.
11490         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11491         * docs/gst/gstreamer-sections.txt:
11492         * docs/gst/tmpl/gstcpu.sgml:
11493         * docs/gst/tmpl/gstdata.sgml:
11494         * docs/gst/tmpl/gstthread.sgml:
11495
11496 2005-05-19  David Schleef  <ds@schleef.org>
11497
11498         * gst/gstminiobject.c: (gst_value_set_mini_object),
11499         (gst_value_take_mini_object), (gst_value_get_mini_object):
11500         * gst/gstminiobject.h: Add GValue set/get functions.
11501
11502 2005-05-19  Wim Taymans  <wim@fluendo.com>
11503
11504         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11505         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11506         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11507         * gst/gstbuffer.h:
11508         * gst/gstbus.c: (gst_bus_post):
11509         * gst/gstelement.c: (gst_element_get_random_pad):
11510         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11511         Make subbufer unref the parent in finalize.
11512         some more debugging info.
11513
11514
11515 2005-05-19  Wim Taymans  <wim@fluendo.com>
11516
11517         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11518         (gst_basesink_init), (gst_basesink_finalize),
11519         (gst_basesink_activate), (gst_basesink_change_state):
11520         Don't free preroll queue too early.
11521
11522 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11523
11524         * gst/Makefile.am:
11525         * gst/ROADMAP:
11526           Hi, I'm outdated. Please shoot me.
11527
11528 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11529
11530         * gst/gstpipeline.c: (gst_pipeline_send_event):
11531           Do not access variables after they have been deleted.
11532
11533 2005-05-19  Wim Taymans  <wim@fluendo.com>
11534
11535         * tools/gst-inspect.c: (print_plugin_features):
11536         A plugin feature does unfortunatly not use the
11537         object name yet...
11538
11539 2005-05-18  Wim Taymans  <wim@fluendo.com>
11540
11541         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11542         Port _span() functions to new subbuffers.
11543
11544 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11545
11546         * gst/gstbin.c: (gst_bin_add_func):
11547           Fix clock settery in bins when adding kids after the clock has
11548           been selected.
11549
11550 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11551
11552         * gst/elements/gstidentity.c: (gst_identity_class_init):
11553           Workaround until signals support GstMiniObject.
11554
11555 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11556
11557         * gst/gstbuffer.c:
11558         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11559
11560 2005-05-18  Wim Taymans  <wim@fluendo.com>
11561
11562         * gst/base/Makefile.am:
11563         * gst/base/gstadapter.c: (gst_adapter_base_init),
11564         (gst_adapter_class_init), (gst_adapter_init),
11565         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11566         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11567         (gst_adapter_flush), (gst_adapter_available),
11568         (gst_adapter_available_fast):
11569         * gst/base/gstadapter.h:
11570         Ported and added adapter to the base classes.
11571
11572 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11573
11574         * gst/gst.c:
11575         * gst/gstmessage.c:
11576           Make sure the class is reffed/unreffed once before threads can be
11577           used.  Fixes #304551.
11578
11579 2005-05-17  Wim Taymans  <wim@fluendo.com>
11580
11581         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11582         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11583         * gst/gstminiobject.c: (gst_mini_object_get_type),
11584         (gst_mini_object_free):
11585         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11586         (gst_pad_push), (gst_pad_push_event):
11587         * gst/gstqueue.c: (gst_queue_change_state):
11588         Don't queue buffers in basesink when we are flushing.
11589         Unref buffer when flushing in basesink.
11590         Flush queue when going to READY
11591         Unref buffer when _push() returns an error.
11592         Don't free MiniObject instance when refcount is incremented
11593         in _finalize() so that we can recover objects.
11594
11595 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11596
11597         * docs/manual/advanced-schedulers.xml:
11598         * docs/manual/appendix-checklist.xml:
11599         * docs/pwg/advanced-clock.xml:
11600         * docs/pwg/advanced-interfaces.xml:
11601         * docs/pwg/advanced-request.xml:
11602         * docs/pwg/advanced-types.xml:
11603         * docs/pwg/intro-preface.xml:
11604         * examples/plugins/example.c: (gst_example_get_type),
11605         (gst_example_class_init), (gst_example_chain),
11606         (gst_example_set_property), (gst_example_get_property),
11607         (gst_example_change_state), (plugin_init):
11608         * examples/plugins/example.h:
11609           small doc fixes
11610
11611 2005-05-17  Wim Taymans  <wim@fluendo.com>
11612
11613         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11614         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11615         * gst/gstqueue.c: (gst_queue_change_state):
11616         Clear queue when going to READY.
11617         Remove IN_SETCAPS flag too.
11618
11619 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11620
11621         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11622           Remove implicit cast from gboolean to GstElementStateReturn;
11623           make sure we still return failure in paused => ready case if
11624           the parent class fails to change state and our own stop 
11625           vfunc succeeds.
11626
11627 2005-05-17  Wim Taymans  <wim@fluendo.com>
11628
11629         * tools/gst-launch.c: (event_loop):
11630         Message was unreffed too soon.
11631
11632 2005-05-16  Andy Wingo  <wingo@pobox.com>
11633
11634         * gst/gstbin.c (sink_iterator_filter): Err... um...
11635
11636         * check/gst/gstbin.c (test_ghost_pads): New test for the
11637         ghosting-if-elements-not-in-same-bin behavior.
11638
11639 2005-05-16  David Schleef  <ds@schleef.org>
11640
11641         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11642         accessing refcount directly.
11643
11644 2005-05-15  David Schleef  <ds@schleef.org>
11645
11646         * check/Makefile.am: remove GstData checks
11647         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11648         * gst/Makefile.am: add miniobject, remove data
11649         * gst/gst.h: add miniobject, remove data
11650         * gst/gstdata.c: remove
11651         * gst/gstdata.h: remove
11652         * gst/gstdata_private.h: remove
11653         * gst/gsttypes.h: remove GstEvent and GstMessage
11654         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11655         * gst/gstmarshal.list: change BOXED -> OBJECT
11656
11657         Implement GstMiniObject.
11658         * gst/gstminiobject.c:
11659         * gst/gstminiobject.h:
11660
11661         Modify to be subclasses of GstMiniObject.
11662         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11663         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11664         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11665         (gst_subbuffer_get_type), (gst_subbuffer_init),
11666         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11667         (gst_buffer_span):
11668         * gst/gstbuffer.h:
11669         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11670         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11671         (_gst_event_copy), (gst_event_new):
11672         * gst/gstevent.h:
11673         * gst/gstmessage.c: (_gst_message_initialize),
11674         (gst_message_get_type), (gst_message_class_init),
11675         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11676         (gst_message_new), (gst_message_new_error),
11677         (gst_message_new_warning), (gst_message_new_tag),
11678         (gst_message_new_state_changed), (gst_message_new_application):
11679         * gst/gstmessage.h:
11680         * gst/gstprobe.c: (gst_probe_perform),
11681         (gst_probe_dispatcher_dispatch):
11682         * gst/gstprobe.h:
11683         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11684         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11685         (_gst_query_copy), (gst_query_new):
11686
11687         Update elements for GstData -> GstMiniObject changes
11688         * gst/gstquery.h:
11689         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11690         (gst_queue_chain), (gst_queue_loop):
11691         * gst/elements/gstbufferstore.c:
11692         (gst_buffer_store_add_buffer_func),
11693         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11694         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11695         (gst_fakesink_render):
11696         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11697         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11698         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11699         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11700         (gst_filesrc_create_read):
11701         * gst/elements/gstidentity.c: (gst_identity_class_init):
11702         * gst/elements/gsttypefindelement.c:
11703         (gst_type_find_element_src_event), (free_entry_buffers),
11704         (gst_type_find_element_handle_event):
11705         * libs/gst/dataprotocol/dataprotocol.c:
11706         (gst_dp_header_from_buffer):
11707         * libs/gst/dataprotocol/dataprotocol.h:
11708         * libs/gst/dataprotocol/dp-private.h:
11709
11710 2005-05-15  David Schleef  <ds@schleef.org>
11711
11712         * gst/elements/gstelements.c: Don't include headers that were
11713         just removed.
11714
11715 2005-05-15  David Schleef  <ds@schleef.org>
11716
11717         * gst/elements/Makefile.am: Remove some elements that don't
11718         need to be in the core (or even exist at all).
11719         * gst/elements/gstaggregator.c:
11720         * gst/elements/gstaggregator.h:
11721         * gst/elements/gstmd5sink.c:
11722         * gst/elements/gstmd5sink.h:
11723         * gst/elements/gstmultifilesrc.c:
11724         * gst/elements/gstmultifilesrc.h:
11725         * gst/elements/gstpipefilter.c:
11726         * gst/elements/gstpipefilter.h:
11727         * gst/elements/gstshaper.c:
11728         * gst/elements/gstshaper.h:
11729         * gst/elements/gststatistics.c:
11730         * gst/elements/gststatistics.h:
11731         * po/POTFILES.in: Remove above files.
11732
11733 2005-05-14  Andy Wingo  <wingo@pobox.com>
11734
11735         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11736         so as to get the refs right.
11737         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11738         unreffing objects that don't pass the filter.
11739
11740         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11741         gst_element_set_bus.
11742         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11743         normal cases, this will destroy the bus.
11744
11745         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11746         object.
11747
11748         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11749         has no sinks.
11750
11751 2005-05-13  Andy Wingo  <wingo@pobox.com>
11752
11753         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11754         gst_pad_link, call pad_link_maybe_ghosting,
11755         (pad_link_maybe_ghosting): Links pads, making sure that the
11756         elements being linked are in the same bin.
11757         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11758         Helpers for pad_link_maybe_ghosting.
11759
11760 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11761
11762         * configure.ac:
11763           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11764
11765 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11766
11767         * docs/design/part-element-source.txt:
11768           Mention GstPushSrc
11769
11770 2005-05-12  Wim Taymans  <wim@fluendo.com>
11771
11772         * gst/base/gstbasesink.c: (gst_basesink_init),
11773         (gst_basesink_activate):
11774         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11775         (gst_basesrc_is_seekable):
11776         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11777         (bin_element_is_sink), (gst_bin_change_state):
11778         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11779         * gst/gstelement.h:
11780         Identify sinks by their flag to avoid overly complicated
11781         checks (fow now).
11782         Do state changes even for elements not reachable from the
11783         sinks.
11784         BaseSink is a sink now :)
11785         Some more debugging info in the basesrc.
11786
11787
11788 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11789
11790         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11791           Implement _query on a bin, similar to _send_event.
11792
11793 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11794
11795         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11796           Discont event offset format should be GST_FORMAT_BYTES,
11797           not GST_FORMAT_TIME.
11798
11799 2005-05-12  Wim Taymans  <wim@fluendo.com>
11800
11801         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11802         Same fix as Ronald's but without the signal. 
11803
11804 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11805
11806         * gst/gstutils.c: (gst_element_query_position):
11807           No, an element is not a pad.
11808
11809 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11810
11811         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11812         (gst_bin_get_state):
11813           If a child is removed from a bin while we remove the child from
11814           the bin and while we're retrieving its state, signal this to the
11815           get_state function so we abort the wait (instead of waiting for
11816           a timeout) and can immediately re-iterate over all other elements.
11817
11818 2005-05-12  Wim Taymans  <wim@fluendo.com>
11819
11820         * gst/base/Makefile.am:
11821         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11822         (gst_basesrc_start):
11823         * gst/base/gstbasesrc.h:
11824         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11825         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11826         (gst_pushsrc_init), (gst_pushsrc_create):
11827         * gst/base/gstpushsrc.h:
11828         Added is_seekable to BaseSrc
11829         Added simple PushSrc.
11830
11831 2005-05-11  Wim Taymans  <wim@fluendo.com>
11832
11833         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11834         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11835         (gst_element_link_pads), (gst_element_query_position),
11836         (gst_element_query_convert), (intersect_caps_func),
11837         (gst_pad_query_position), (gst_pad_query_convert):
11838         Fix refcounting in utils function.
11839         No point in trying to activate a pad when it's added, it could
11840         be added from the state change function and then we deadlock, the
11841         element has to decide what to do.
11842
11843 2005-05-10  Andy Wingo  <wingo@pobox.com>
11844
11845         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11846         *all* the arguments.
11847
11848         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11849         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11850         lock (according to the docs -- if this is wrong change the docs).
11851
11852         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11853         flush messages in the NULL state.
11854
11855         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11856         message immediately and return.
11857         (gst_bus_set_flushing): New function. If a bus is flushing, it
11858         flushes out any queued messages and immediately unrefs new
11859         messages. This is so when an element goes to NULL, all of the
11860         unhandled messages coming from it can be freed, and their
11861         references to the element dropped. In other words: message source
11862         ref considered harmful :P
11863
11864         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11865         we're finished with it.
11866
11867         * gst/gstmessage.c (gst_message_new_state_changed): 
11868
11869 2005-05-10  Wim Taymans  <wim@fluendo.com>
11870
11871         * gst/gstvalue.c: (gst_value_compare_flags),
11872         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11873         (_gst_value_initialize):
11874         Added flags serialize/deserialize/compare code.
11875
11876 2005-05-09  Andy Wingo  <wingo@pobox.com>
11877
11878         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11879         Intersect the peer's caps with our caps.
11880
11881 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11882
11883         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11884         * gst/elements/gsttypefindelement.c: (find_peek):
11885           Handle negative offsets better. Fixes decodebin.
11886
11887 2005-05-09  Wim Taymans  <wim@fluendo.com>
11888
11889         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11890         (gst_base_transform_event):
11891         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11892         Implement accept_caps.
11893         Fix silly lock/unlock mismatch in base class.
11894
11895 2005-05-09  Wim Taymans  <wim@fluendo.com>
11896
11897         * docs/design/draft-push-pull.txt:
11898         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11899         * gst/elements/gstfilesink.c: (gst_filesink_init),
11900         (gst_filesink_query):
11901         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11902         (gst_type_find_handle_src_query), (find_element_get_length):
11903         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11904         * gst/gstelement.h:
11905         * gst/gstmessage.c:
11906         * gst/gstmessage.h:
11907         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11908         (gst_real_pad_get_caps_unlocked),
11909         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11910         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11911         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11912         (gst_real_pad_dispose), (gst_real_pad_finalize),
11913         (gst_pad_load_and_link), (gst_pad_save_thyself),
11914         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11915         (gst_pad_check_pull_range), (gst_pad_pull_range),
11916         (gst_pad_template_get_type), (gst_pad_template_class_init),
11917         (gst_pad_template_init), (gst_pad_template_dispose),
11918         (name_is_valid), (gst_static_pad_template_get),
11919         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11920         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11921         (gst_pad_get_element_private), (gst_pad_start_task),
11922         (gst_pad_pause_task), (gst_pad_stop_task),
11923         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11924         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11925         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11926         (gst_ghost_pad_new):
11927         * gst/gstpad.h:
11928         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11929         (gst_query_new_position), (gst_query_set_position),
11930         (gst_query_parse_position), (gst_query_new_convert),
11931         (gst_query_set_convert), (gst_query_parse_convert):
11932         * gst/gstquery.h:
11933         * gst/gstqueryutils.c:
11934         * gst/gstqueryutils.h:
11935         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11936         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11937         (gst_queue_handle_src_query):
11938         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11939         (gst_element_query_position), (gst_element_query_convert),
11940         (intersect_caps_func), (gst_pad_query_position),
11941         (gst_pad_query_convert):
11942         * gst/gstutils.h:
11943         * tools/gst-inspect.c: (print_pad_info):
11944         * tools/gst-xmlinspect.c: (print_element_info):
11945         Remove old query functions. Ported old code.
11946         Added position/convert helper functions to gstutils.
11947         Reordered gstpad.c code, grouping relevant things.
11948         Remove gst_message_new(), always need to speficy a specific
11949         message.
11950
11951
11952 2005-05-09  Andy Wingo  <wingo@pobox.com>
11953
11954         * gst/gstiterator.h: Add some includes.
11955
11956         * gst/gstqueryutils.h: Include more headers.
11957
11958         * gst/gstpad.h:
11959         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11960         some uses of gst_pad_query.
11961
11962         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11963         NULL out parameters.
11964         (gst_query_new_position): New proc, allocates a new position
11965         query.
11966
11967         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11968         gstqueryutils.c to the build.
11969
11970         * gst/gststructure.c (gst_structure_set_valist): Implement with
11971         the generic G_VALUE_COLLECT.
11972         
11973 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11974
11975         * gst/Makefile.am: (gst_headers):
11976         Added gstqueryutils.h to the list of headers to install, that was
11977         a 'nachty' move wingo :)
11978
11979 2005-05-06  Andy Wingo  <wingo@pobox.com>
11980
11981         * gst/gstquery.h
11982         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11983         GstData, init a memchunk.
11984         (standard_definitions): Add a few query types, deprecate a few.
11985         (gst_query_get_type): New proc.
11986         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11987         implementation.
11988         (gst_query_new_application, gst_query_get_structure): New public
11989         procs.
11990
11991         * docs/design/draft-query.txt: Removed LINKS from the query types,
11992         because all the rest can be dispatched to other pads -- seemed
11993         ugly to have a query that couldn't be dispatched. internal_links
11994         is fine as a pad method.
11995
11996         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11997         in gstpad.c, but maintain binary compatibility for the moment.
11998         Will fix before 0.9 is out.
11999
12000         * gst/gstqueryutils.c: 
12001         * gst/gstqueryutils.h: New files, implement 3 methods for each
12002         query type: parse_query, parse_response, and set. Probably need an
12003         allocator as well.
12004
12005         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12006
12007         * gst/elements/gstfilesink.c (gst_filesink_query2):
12008         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12009         query_types, and formats methods.
12010
12011         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12012         (gst_pad_set_query2_function): New functions.
12013         (gst_real_pad_init): Set query2_default as the default query2
12014         function. Basically just dispatches to internally linked pads.
12015
12016         Needs review!
12017         
12018         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12019         without using the atomic operations. Only one thread can possibly
12020         be accessing the data at this point. Changed so as to avoid
12021         gst_atomic operations.
12022
12023 2005-05-06  Wim Taymans  <wim@fluendo.com>
12024
12025         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12026         Also set caps if we use the fallback buffer alloc.
12027
12028 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12029
12030         * docs/gst/Makefile.am:
12031         * docs/gst/gstreamer-docs.sgml:
12032         * docs/gst/gstreamer-sections.txt:
12033         * docs/gst/tmpl/gstatomic.sgml:
12034         * docs/gst/tmpl/gstmemchunk.sgml:
12035         * testsuite/elements/struct_i386.h:
12036         * win32/GStreamer.vcproj:
12037         * win32/Makefile:
12038           Purge GstAtomic stuff from docs and win32 makefiles as well
12039
12040 2005-05-06  Wim Taymans  <wim@fluendo.com>
12041
12042         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12043         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12044         * gst/gstpad.c: (gst_pad_peer_get_caps):
12045         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12046         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12047         (gst_queue_src_activate), (gst_queue_change_state):
12048         * gst/gstqueue.h:
12049         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12050         (intersect_caps_func):
12051         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12052         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12053         Some fixes for the peer_get_caps() change.
12054
12055 2005-05-06  Wim Taymans  <wim@fluendo.com>
12056
12057         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12058         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12059         (gst_basesink_activate):
12060         Actually do something with error codes returned from the push
12061         functions.
12062
12063 2005-05-06  Wim Taymans  <wim@fluendo.com>
12064
12065         * docs/design/part-element-sink.txt:
12066         * docs/design/part-element-source.txt:
12067         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12068         (gst_basesink_event), (gst_basesink_activate):
12069         * gst/base/gstbasesink.h:
12070         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12071         (gst_basesrc_activate):
12072         * gst/base/gstbasesrc.h:
12073         * gst/gstelement.c: (gst_element_pads_activate):
12074         Some more documentation.
12075         Fixed scheduling decision in _pads_activate().
12076
12077 2005-05-05  Andy Wingo  <wingo@pobox.com>
12078
12079         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12080         the test suite.
12081
12082 2005-05-05  Wim Taymans  <wim@fluendo.com>
12083
12084         * gst/base/Makefile.am:
12085         * gst/base/gstbasesink.h:
12086         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12087         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12088         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12089         (gst_collectpads_class_init), (gst_collectpads_init),
12090         (gst_collectpads_finalize), (gst_collectpads_new),
12091         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12092         (find_pad), (gst_collectpads_remove_pad),
12093         (gst_collectpads_is_active), (gst_collectpads_collect),
12094         (gst_collectpads_collect_range), (gst_collectpads_start),
12095         (gst_collectpads_stop), (gst_collectpads_peek),
12096         (gst_collectpads_pop), (gst_collectpads_available),
12097         (gst_collectpads_read), (gst_collectpads_flush),
12098         (gst_collectpads_chain):
12099         * gst/base/gstcollectpads.h:
12100         * gst/elements/Makefile.am:
12101         * gst/elements/gstelements.c:
12102         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12103         (gst_fakesink_get_times), (gst_fakesink_event),
12104         (gst_fakesink_preroll), (gst_fakesink_render):
12105         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12106         (gst_filesink_init), (gst_filesink_set_location),
12107         (gst_filesink_open_file), (gst_filesink_close_file),
12108         (gst_filesink_pad_query), (gst_filesink_event),
12109         (gst_filesink_render), (gst_filesink_change_state):
12110         * gst/elements/gstfilesink.h:
12111         Added object to help in making collect pad based elements.
12112         Ported filesink.
12113         Make event function in sink baseclass return gboolean.
12114
12115 2005-05-05  Wim Taymans  <wim@fluendo.com>
12116
12117         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12118         (gst_bin_get_by_name):
12119         * gst/gstbuffer.h:
12120         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12121         (gst_clock_finalize):
12122         * gst/gstdata.c: (gst_data_replace):
12123         * gst/gstdata.h:
12124         * gst/gstelement.c: (gst_element_request_pad),
12125         (gst_element_pads_activate):
12126         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12127         (gst_object_unref):
12128         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12129         (gst_pad_set_checkgetrange_function),
12130         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12131         (gst_pad_check_pull_range), (gst_pad_pull_range),
12132         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12133         (gst_pad_pause_task), (gst_pad_stop_task):
12134         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12135         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12136         Fix name lookup in GstBin.
12137         Added _data_replace() function and _buffer_replace()
12138         Use finalize method to clean up clock.
12139         Fix refcounting on request pads.
12140         Fix pad schedule mode error.
12141         Some more object refcounting debug info,
12142
12143
12144 2005-05-04  Andy Wingo <wingo@pobox.com>
12145
12146         * check/Makefile.am:
12147         * docs/gst/tmpl/gstatomic.sgml:
12148         * docs/gst/tmpl/gstplugin.sgml:
12149         * gst/base/gstbasesink.c: (gst_basesink_activate):
12150         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12151         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12152         (gst_basesrc_query), (gst_basesrc_set_property),
12153         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12154         (gst_basesrc_activate):
12155         * gst/base/gstbasesrc.h:
12156         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12157         (gst_base_transform_src_activate):
12158         * gst/elements/gstelements.c:
12159         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12160         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12161         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12162         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12163         (gst_type_find_element_checkgetrange),
12164         (gst_type_find_element_activate):
12165         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12166         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12167         (gst_caps_load_thyself):
12168         * gst/gstelement.c: (gst_element_pads_activate),
12169         (gst_element_save_thyself), (gst_element_restore_thyself):
12170         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12171         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12172         * gst/gstpad.h:
12173         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12174         (gst_xml_parse_file), (gst_xml_parse_memory),
12175         (gst_xml_get_element), (gst_xml_make_element):
12176         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12177         (_file_index_id_save_xml), (gst_file_index_commit):
12178         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12179         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12180         (load_paths):
12181         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12182         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12183         * tools/gst-complete.c: (main):
12184         * tools/gst-compprep.c: (main):
12185         * tools/gst-inspect.c: (print_element_properties_info):
12186         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12187         * tools/gst-xmlinspect.c: (print_element_properties):
12188         GCC 4 fixen.
12189         
12190 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12191
12192         * gst/gstplugin.c: (gst_plugin_check_module),
12193         (gst_plugin_check_file), (gst_plugin_load_file):
12194             apply patch from #172526 to make register work on MacOSX
12195
12196 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12197
12198         * docs/gst/tmpl/gstconfig.sgml:
12199         * gst/gstconfig.h.in:
12200           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12201         * testsuite/debug/printf_extension.c: (main):
12202           Do not use GST_PTR_FORMAT on pointers to types with
12203           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12204         * testsuite/elements/property.h:
12205           use correct printf format
12206
12207 2005-05-02  Wim Taymans  <wim@fluendo.com>
12208
12209         * docs/design/draft-push-pull.txt:
12210         * docs/design/draft-query.txt:
12211         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12212         (gst_basesrc_start):
12213         Added draft for new query API.
12214         Added draft for better selecting scheduling methods.
12215         Make basesrc ignore length if the subclass does not support
12216         it.
12217
12218 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12219
12220         * gst/Makefile.am:
12221           possible fixes for automake-1.5 - _LIBADD is reserved
12222
12223 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12224
12225         * docs/faq/Makefile.am:
12226         * docs/manual/Makefile.am:
12227         * docs/manuals.mak:
12228         * docs/pwg/Makefile.am:
12229         * gst/Makefile.am:
12230           possible fixes for automake-1.5
12231
12232 2005-04-28  Wim Taymans  <wim@fluendo.com>
12233
12234         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12235         (gst_basesink_pad_getcaps), (gst_basesink_init),
12236         (gst_basesink_do_sync):
12237         * gst/gstclock.c: (gst_clock_entry_new):
12238         * gst/gstevent.c: (gst_event_discont_get_value):
12239         * gst/gstpipeline.c: (pipeline_bus_handler),
12240         (gst_pipeline_change_state):
12241         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12242         Better debugging of clocking info.
12243         Allow NULL values when getting discont values.
12244
12245 2005-04-27  Wim Taymans  <wim@fluendo.com>
12246
12247         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12248         * check/gst/gstpad.c: (gst_pad_suite):
12249         Increase timeout for checks.
12250
12251 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12252
12253         * check/Makefile.am:
12254           fix the broken rule for cleanup.  Apparently this rule is
12255           only needed on FC2, so maybe this warrants further autotool
12256           inspection.
12257
12258 2005-04-26  Wim Taymans  <wim@fluendo.com>
12259
12260         * gst/gsttrashstack.h:
12261         Ooohh. a nasty one! After having a failed pop() from the stack,
12262         it's possible that the stack is empty. In that case, don't
12263         follow the NULL pointer.
12264
12265 2005-04-25  Wim Taymans  <wim@fluendo.com>
12266
12267         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12268         (gst_pad_set_checkgetrange_function),
12269         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12270         (gst_pad_check_pull_range), (gst_pad_pull_range),
12271         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12272         (gst_pad_pause_task), (gst_pad_stop_task):
12273         * gst/gstplugin.c: (gst_plugin_load):
12274         * gst/gstplugin.h:
12275         Remove gst_library_load as it does more harm than good with
12276         the new g_module flags.
12277         Revert bogus caps template check in pad linking, pad caps
12278         are important when linking not the template, which is more
12279         general than the current caps.
12280
12281 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12282
12283         * gst/autoplug/.cvsignore:
12284         * gst/autoplug/Makefile.am:
12285         * gst/autoplug/gstsearchfuncs.c:
12286         * gst/autoplug/gstsearchfuncs.h:
12287         * gst/autoplug/gstspider.c:
12288         * gst/autoplug/gstspider.h:
12289         * gst/autoplug/gstspideridentity.c:
12290         * gst/autoplug/gstspideridentity.h:
12291         * gst/autoplug/spidertest.c:
12292           Die, spider, die.
12293
12294 2005-04-25  Wim Taymans  <wim@fluendo.com>
12295
12296         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12297         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12298         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12299         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12300         * gst/gstpad.h:
12301         Added stubs for unimplemented functions. 
12302
12303 2005-04-24  David Schleef  <ds@schleef.org>
12304
12305         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12306         please fix.
12307
12308 2005-04-24  David Schleef  <ds@schleef.org>
12309
12310         Convert everything from GstAtomicInt to g_atomic_int_*, and
12311         remove gstatomic.
12312         * gst/Makefile.am:
12313         * gst/gstatomic.c:
12314         * gst/gstatomic.h:
12315         * gst/gstatomic_impl.h:
12316         * gst/gstbuffer.c:
12317         * gst/gstcaps.c:
12318         * gst/gstcaps.h:
12319         * gst/gstclock.c:
12320         * gst/gstclock.h:
12321         * gst/gstdata.c:
12322         * gst/gstdata.h:
12323         * gst/gstdata_private.h:
12324         * gst/gstevent.c:
12325         * gst/gstinfo.c:
12326         * gst/gstinfo.h:
12327         * gst/gstmessage.c:
12328         * gst/gstobject.c:
12329         * gst/gstobject.h:
12330         * gst/gststructure.c:
12331         * gst/gststructure.h:
12332         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12333         * gst/gstutils.h:
12334
12335 2005-04-24  David Schleef  <ds@schleef.org>
12336
12337         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12338         make the regressions tests work.  Remove some code that is no
12339         longer true.
12340         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12341         Disable warning for pads without templates.
12342
12343 2005-04-24  David Schleef  <ds@schleef.org>
12344
12345         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12346         functions that handle filtered links.
12347         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12348         removed functions.
12349         * gst/gstutils.c: Fix/remove utility functions that handle
12350         filtered caps.
12351         * gst/gstutils.h:
12352         * gst/gstvalue.c: Add serialization/deserialization of caps
12353         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12354         requires fixing so that the filter caps notation creates
12355         a capsfilter element and sets the filter_caps property.  I
12356         think everyone probably wants to keep the shorthand notation.
12357         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12358         * docs/gst/tmpl/gstpad.sgml:
12359
12360         * gst/elements/gstelements.c: Register capsfilter element.
12361         * gst/Makefile.am: fix spacing
12362         * docs/random/ds/0.9-suggested-changes: random
12363
12364 2005-04-23  David Schleef  <ds@schleef.org>
12365
12366         * gst/elements/Makefile.am:
12367         * gst/elements/gstcapsfilter.c: New element that acts like an
12368         identity, but filters caps.  Will eventually replace filtered
12369         caps in pad linking.
12370         * gst/gstutils.c: (gst_element_create_all_pads): New function
12371         to create all the ALWAYS pads that are registered with an
12372         element class.  This functionality should eventually be
12373         merged in with GstElement initialization.
12374         * gst/gstutils.h:
12375         * testsuite/trigger/README: part of trigger test code that should
12376         have been checked in a long time ago.
12377
12378 2005-04-23  David Schleef  <ds@schleef.org>
12379
12380         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12381         needed with new versions of libtool (nobody will confirm this),
12382         and hard to carry around.
12383         * gst/autoplug/Makefile.am:
12384         * gst/base/Makefile.am:
12385         * gst/elements/Makefile.am:
12386         * gst/indexers/Makefile.am:
12387         * gst/schedulers/Makefile.am:
12388         * libs/gst/bytestream/Makefile.am:
12389         * libs/gst/control/Makefile.am:
12390         * libs/gst/dataprotocol/Makefile.am:
12391         * libs/gst/getbits/Makefile.am:
12392
12393 2005-04-21  Wim Taymans  <wim@fluendo.com>
12394
12395         * docs/design/draft-push-pull.txt:
12396         * docs/design/part-MT-refcounting.txt:
12397         * docs/design/part-TODO.txt:
12398         * docs/design/part-caps.txt:
12399         * docs/design/part-events.txt:
12400         * docs/design/part-gstbus.txt:
12401         * docs/design/part-gstpipeline.txt:
12402         * docs/design/part-messages.txt:
12403         * docs/design/part-push-pull.txt:
12404         * docs/design/part-query.txt:
12405         Some more docs.
12406
12407 2005-04-21  Wim Taymans  <wim@fluendo.com>
12408
12409         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12410         (gst_message_new), (gst_message_new_error),
12411         (gst_message_new_warning), (gst_message_new_tag),
12412         (gst_message_new_state_changed), (gst_message_new_application),
12413         (gst_message_get_structure):
12414         * gst/gstmessage.h:
12415         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12416         (gst_structure_copy_conditional):
12417         Use parent refcount in GstMessage to ensure GstStructure
12418         consistency.
12419         Cleaned up headers a bit.
12420         
12421
12422 2005-04-20  Wim Taymans  <wim@fluendo.com>
12423
12424         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12425         (gst_basesink_pad_getcaps), (gst_basesink_init),
12426         (gst_basesink_chain_unlocked):
12427         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12428         (gst_type_find_helper):
12429         * gst/elements/gsttypefindelement.c:
12430         (gst_type_find_element_have_type), (gst_type_find_element_init),
12431         (stop_typefinding), (gst_type_find_element_handle_event),
12432         (find_suggest), (gst_type_find_element_chain),
12433         (gst_type_find_element_checkgetrange),
12434         (gst_type_find_element_getrange), (do_typefind),
12435         (gst_type_find_element_activate):
12436         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12437         (gst_buffer_default_free), (gst_buffer_default_copy),
12438         (gst_buffer_set_caps):
12439         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12440         (gst_caps_replace):
12441         * gst/gstmessage.c: (gst_message_new),
12442         (gst_message_new_state_changed):
12443         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12444         (gst_pad_set_checkgetrange_function),
12445         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12446         (gst_pad_set_caps), (gst_pad_check_pull_range),
12447         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12448         * gst/gstpad.h:
12449         * gst/gsttypefind.c: (gst_type_find_register):
12450         Make gst_caps_replace() work like other _replace() functions.
12451         Use _caps_replace() where possible.
12452         Make sure _message_new() initialises its field.
12453         Add gst_static_pad_template_get_caps()
12454
12455
12456 2005-04-18  Andy Wingo  <wingo@pobox.com>
12457
12458         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12459         on the peer, not the pad. I think that was a typo. Pass an extra
12460         arg to see if random access is possible. Activate the pads as
12461         PULL_RANGE if possible.
12462
12463         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12464
12465         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12466         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12467         to PROP_....
12468
12469 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12470
12471         * docs/faq/using.xml:
12472           Add note on gstreamer-properties (#154996).
12473
12474 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12475
12476         * docs/random/bbb/optional-properties:
12477           Some analysis on optional properties.
12478
12479 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12480
12481         * docs/gst/tmpl/gstelementfactory.sgml:
12482         * gst/gstelement.h:
12483         * gst/gstelementfactory.c: (gst_element_factory_init),
12484         (gst_element_factory_cleanup), (gst_element_register),
12485         (__gst_element_factory_add_static_pad_template),
12486         (gst_element_factory_get_static_pad_templates),
12487         (gst_element_factory_can_src_caps),
12488         (gst_element_factory_can_sink_caps):
12489         * gst/registries/Makefile.am:
12490         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12491         (gst_xml_registry_class_init), (gst_xml_registry_init),
12492         (gst_xml_registry_new), (gst_xml_registry_set_property),
12493         (gst_xml_registry_get_property), (get_time), (make_dir),
12494         (gst_xml_registry_get_perms_func),
12495         (plugin_times_older_than_recurse), (plugin_times_older_than),
12496         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12497         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12498         (add_to_char_array), (read_string), (read_uint), (read_enum),
12499         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12500         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12501         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12502         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12503         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12504         (gst_xml_registry_rebuild):
12505         * gst/registries/gstlibxmlregistry.h:
12506         * tools/gst-compprep.c: (main):
12507         * tools/gst-inspect.c: (print_pad_templates_info):
12508         * tools/gst-xmlinspect.c: (print_element_info):
12509           Use libxml2 for registry parsing, use staticpadtemplates in
12510           elementfactories. Makes gst_init() +/- 10x faster.
12511
12512 2005-04-12  Wim Taymans  <wim@fluendo.com>
12513
12514         * gst/base/Makefile.am:
12515         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12516         (gst_basesink_pad_getcaps), (gst_basesink_init),
12517         (gst_basesink_event), (gst_basesink_change_state):
12518         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12519         (gst_basesrc_init), (gst_basesrc_query),
12520         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12521         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12522         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12523         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12524         (gst_basesrc_stop), (gst_basesrc_activate),
12525         (gst_basesrc_change_state):
12526         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12527         (helper_find_suggest), (gst_type_find_helper):
12528         * gst/base/gsttypefindhelper.h:
12529         * gst/elements/Makefile.am:
12530         * gst/elements/gstelements.c:
12531         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12532         (gst_fakesink_get_times), (gst_fakesink_event),
12533         (gst_fakesink_preroll), (gst_fakesink_render):
12534         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12535         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12536         (gst_fakesrc_get_property), (gst_fakesrc_create),
12537         (gst_fakesrc_start), (gst_fakesrc_stop):
12538         * gst/elements/gstfakesrc.h:
12539         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12540         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12541         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12542         (gst_filesrc_create_read), (gst_filesrc_create),
12543         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12544         (gst_filesrc_start):
12545         * gst/elements/gsttypefindelement.c:
12546         (gst_type_find_element_have_type), (gst_type_find_element_init),
12547         (start_typefinding), (stop_typefinding), (push_buffer_store),
12548         (gst_type_find_element_handle_event),
12549         (gst_type_find_element_chain),
12550         (gst_type_find_element_checkgetrange),
12551         (gst_type_find_element_getrange), (do_typefind),
12552         (gst_type_find_element_activate),
12553         (gst_type_find_element_change_state):
12554         * gst/elements/gsttypefindelement.h:
12555         * gst/gstpipeline.c: (pipeline_bus_handler):
12556         Added typefind helper.
12557         Small preroll fix in the base sink.
12558         Disable typefind code in basesrc.
12559         Crude port of typefindelement.
12560         Fakesrc cleanups.
12561
12562
12563 2005-04-11  Wim Taymans  <wim@fluendo.com>
12564
12565         * check/gst/gstbus.c: (gstbus_suite):
12566         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12567         * check/gstcheck.h:
12568           Fix up the timeout so that the test does not fail.
12569
12570 2005-04-06  Wim Taymans  <wim@fluendo.com>
12571
12572         * gst/base/README:
12573         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12574         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12575         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12576         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12577         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12578         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12579         (gst_basesrc_stop), (gst_basesrc_activate),
12580         (gst_basesrc_change_state), (basesrc_find_peek),
12581         (basesrc_find_suggest), (gst_basesrc_type_find):
12582         * gst/base/gstbasesrc.h:
12583         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12584         (gst_filesrc_class_init), (gst_filesrc_init),
12585         (gst_filesrc_finalize), (gst_filesrc_set_location),
12586         (gst_filesrc_set_property), (gst_filesrc_get_property),
12587         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12588         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12589         (gst_filesrc_create_read), (gst_filesrc_create),
12590         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12591         * gst/elements/gstfilesrc.h:
12592         * gst/gstelement.c: (gst_element_get_state_func),
12593         (gst_element_lost_state), (gst_element_pads_activate):
12594         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12595         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12596         (gst_pad_pull_range):
12597         * gst/gstpad.h:
12598         More work on the generic source base class, implement seeking,
12599         query.
12600         Make filesrc extend the base source class.
12601         Added gst_pad_set_checkgetrange_function to GstPad.
12602
12603 2005-04-06  Andy Wingo  <wingo@pobox.com>
12604
12605         * pkgconfig/gstreamer-base.pc.in:
12606         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12607
12608         * pkgconfig/Makefile.am:
12609         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12610
12611 2005-04-04  Wim Taymans  <wim@fluendo.com>
12612
12613         * gst/base/Makefile.am:
12614         * gst/base/README:
12615         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12616         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12617         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12618         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12619         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12620         (gst_basesrc_base_init), (gst_basesrc_class_init),
12621         (gst_basesrc_init), (gst_basesrc_get_formats),
12622         (gst_basesrc_get_query_types), (gst_basesrc_query),
12623         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12624         (gst_basesrc_set_property), (gst_basesrc_get_property),
12625         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12626         (gst_basesrc_loop), (gst_basesrc_activate),
12627         (gst_basesrc_change_state):
12628         * gst/base/gstbasesrc.h:
12629         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12630         (gst_fakesrc_class_init), (gst_fakesrc_init),
12631         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12632         (gst_fakesrc_get_property), (gst_fakesrc_create):
12633         * gst/elements/gstfakesrc.h:
12634         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12635         (gst_filesrc_open_file), (gst_filesrc_loop),
12636         (gst_filesrc_activate), (filesrc_find_peek),
12637         (gst_filesrc_type_find):
12638         Made base source class, make fakesrc extend it.
12639         Add comments to basesink class.
12640         Some filesrc cleanup.
12641
12642 2005-03-31  David Schleef  <ds@schleef.org>
12643
12644         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12645         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12646         expected to link against libgstreamer.
12647         * gst/base/Makefile.am: link against libgstreamer
12648         * gst/elements/Makefile.am: same
12649
12650 2005-03-31  Andy Wingo  <wingo@pobox.com>
12651
12652         * tests/instantiate/Makefile.am:
12653         * tests/instantiate/caps.c: Add test to test speed of caps copy
12654         and free.
12655
12656         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12657         GMemChunk to be fair.
12658
12659         * gst/gsttrashstack.h: Remove warning about using the fallback
12660         trash stack implementation, it's still faster than malloc.
12661
12662 2005-03-30  Andy Wingo  <wingo@pobox.com>
12663
12664         * tests/complexity.c: Add a copyright.
12665
12666 2005-03-31  Wim Taymans  <wim@fluendo.com>
12667
12668         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12669         (gst_base_transform_class_init), (gst_base_transform_init),
12670         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12671         (gst_base_transform_get_property),
12672         (gst_base_transform_sink_activate),
12673         (gst_base_transform_src_activate),
12674         (gst_base_transform_change_state):
12675         * gst/base/gstbasetransform.h:
12676         * gst/elements/gstidentity.c: (gst_identity_class_init),
12677         (gst_identity_event), (gst_identity_check_perfect),
12678         (gst_identity_transform), (gst_identity_start),
12679         (gst_identity_stop):
12680         Added start/stop methods to transform base class so subclasses 
12681         don't need to deal with state changes even.
12682
12683 2005-03-31  Wim Taymans  <wim@fluendo.com>
12684
12685         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12686         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12687         * gst/gstevent.h:
12688         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12689         (gst_pad_pull_range):
12690         Added rate to the discont event to prepare for variable speed
12691         and reverse playback.
12692
12693 2005-03-29  David Schleef  <ds@schleef.org>
12694
12695         * configure.ac:
12696         * testsuite/trigger/Makefile.am:
12697         * testsuite/trigger/trigger.c: A little example program to show
12698         how trigger-based elements can work.
12699
12700 2005-03-29  Wim Taymans  <wim@fluendo.com>
12701
12702         * gst/base/Makefile.am:
12703         * gst/base/README:
12704         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12705         (gst_basesink_base_init), (gst_basesink_class_init),
12706         (gst_basesink_pad_getcaps), (gst_basesink_init),
12707         (gst_basesink_activate), (gst_basesink_change_state):
12708         * gst/base/gstbasesink.h:
12709         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12710         (gst_base_transform_base_init), (gst_base_transform_finalize),
12711         (gst_base_transform_class_init), (gst_base_transform_init),
12712         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12713         (gst_base_transform_event), (gst_base_transform_getrange),
12714         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12715         (gst_base_transform_set_property),
12716         (gst_base_transform_get_property),
12717         (gst_base_transform_sink_activate),
12718         (gst_base_transform_src_activate),
12719         (gst_base_transform_change_state):
12720         * gst/base/gstbasetransform.h:
12721         * gst/elements/gstidentity.c: (gst_identity_finalize),
12722         (gst_identity_class_init), (gst_identity_init),
12723         (gst_identity_event), (gst_identity_check_perfect),
12724         (gst_identity_transform), (gst_identity_set_property),
12725         (gst_identity_get_property), (gst_identity_change_state):
12726         * gst/elements/gstidentity.h:
12727         * gst/gstelement.c: (gst_element_get_state_func),
12728         (gst_element_lost_state), (gst_element_pads_activate):
12729         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12730         (gst_pad_check_pull_range), (gst_pad_pull_range):
12731         * gst/gstpad.h:
12732         Simplify pad activation.
12733         Added function to check if pull_range can be performed.
12734         Error out when pulling inactive or flushing pads.
12735         Removed const from refcounted types as it does not make sense.
12736         Simplify pad templates in basesink
12737         Added base class for simple 1-to-1 transforms.
12738         Make identity subclass the base transform.
12739
12740 2005-03-29  Andy Wingo  <wingo@pobox.com>
12741
12742         * docs/libs/gstreamer-libs-overrides.txt: 
12743         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12744         really don't understand what's going on, but like whatever. I want
12745         green buildbot!
12746
12747         * docs/gst/Makefile.am:
12748         * docs/libs/Makefile.am: Dist the overrides files.
12749
12750         * check/Makefile.am (clean-local): Remove .libs directories.
12751
12752         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12753         elements to EXTRA_DIST, so po/ files are happy.
12754
12755         * po/POTFILES.in: Er, remove it here.
12756
12757         * po/POTFILES: Remove gstspider.c.
12758
12759         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12760
12761         * docs/libs/gstreamer-libs-docs.sgml: 
12762         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12763         bytestream.
12764
12765         * tests/complexity.c (main): Set the length of the preroll queue
12766         on the sinks to prevent a lockup.
12767
12768         * libs/gst/dataprotocol/Makefile.am: 
12769         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12770         the same as the one in check/gst-libs/gdp.c.
12771
12772         * po/, docs/gst/: Commit automatic changes to docs and po files.
12773
12774         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12775         the versioned libgstbase.
12776
12777         * check/Makefile.am: Depend on an unversioned gst-register, seems
12778         to make autoconf happier.
12779
12780         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12781
12782 2005-03-28  Wim Taymans  <wim@fluendo.com>
12783
12784         * configure.ac:
12785         * docs/design/part-gstelement.txt:
12786         * docs/design/part-negotiation.txt:
12787         * docs/design/part-preroll.txt:
12788         * docs/design/part-scheduling.txt:
12789         * docs/design/part-states.txt:
12790         * gst/Makefile.am:
12791         * gst/base/Makefile.am:
12792         * gst/base/README:
12793         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12794         (gst_basesink_base_init), (gst_basesink_class_init),
12795         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12796         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12797         (gst_basesink_set_pad_functions),
12798         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12799         (gst_basesink_set_property), (gst_basesink_get_property),
12800         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12801         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12802         (gst_basesink_preroll_queue_push),
12803         (gst_basesink_preroll_queue_empty),
12804         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12805         (gst_basesink_event), (gst_basesink_get_times),
12806         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12807         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12808         (gst_basesink_loop), (gst_basesink_activate),
12809         (gst_basesink_change_state):
12810         * gst/base/gstbasesink.h:
12811         * gst/elements/Makefile.am:
12812         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12813         (gst_fakesink_class_init), (gst_fakesink_init),
12814         (gst_fakesink_set_property), (gst_fakesink_get_property),
12815         (gst_fakesink_get_times), (gst_fakesink_event),
12816         (gst_fakesink_preroll), (gst_fakesink_render),
12817         (gst_fakesink_change_state):
12818         * gst/elements/gstfakesink.h:
12819         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12820         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12821         * gst/gstelement.c: (gst_element_add_pad),
12822         (gst_element_get_state_func), (gst_element_abort_state),
12823         (gst_element_commit_state), (gst_element_lost_state),
12824         (gst_element_set_state), (gst_element_pads_activate):
12825         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12826         * gst/gstpipeline.c: (gst_pipeline_send_event),
12827         (gst_pipeline_change_state):
12828         Added state change code.
12829         Added/updated docs.
12830         Added sink base class, make fakesink extend the base class.
12831         Small cleanups in GstPipeline.
12832
12833 2005-03-26  David Schleef  <ds@schleef.org>
12834
12835         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12836         is broken and should be implemented in a different library.
12837         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12838         * gst/gst.h: remove gstcpu.h
12839         * gst/gstcpu.c: remove
12840         * gst/gstcpu.h: remove
12841         * gst/Makefile.am.future: Remove this file.  It's ancient.
12842
12843 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12844
12845         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12846         (gst_bin_send_event):
12847           Add default event/set_manager handlers. The set_manager handler
12848           takes care that the manager is distributed over kids that were
12849           already in the bin before the manager was set. The event handler
12850           is a utility virtual function that sends the event over all sinks,
12851           so that gst_element_send_event (bin, event); has the expected
12852           behaviour.
12853         * gst/gstpad.c: (gst_pad_event_default):
12854           Re-install default event handling for discontinuities, so that
12855           seeking works without requiring hacks in applications or extra
12856           code in sinks.
12857         * gst/gstpipeline.c: (gst_pipeline_class_init),
12858         (gst_pipeline_send_event):
12859           Half hack, half utility: set a pipeline to PAUSED for seek events,
12860           since that is the only way we can guarantee a/v sync. Means that
12861           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12862           and it "just works".
12863
12864 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12865
12866         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12867           Lock/unlock mismatch.
12868
12869 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12870
12871         * docs/faq/gst-uninstalled:
12872           add gst-plugins-base
12873         * docs/gst/Makefile.am:
12874           don't error out until docs are fixed
12875         * docs/gst/gstreamer.types:
12876           remove thread
12877
12878 2005-03-22  Wim Taymans  <wim@fluendo.com>
12879
12880         * check/Makefile.am:
12881         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12882         * gst/gststructure.c: (gst_structure_set_valist),
12883         (gst_structure_copy_conditional):
12884         Activated more tests.
12885         Added message test.
12886         Added G_TYPE_POINTER to GstStructure.
12887         
12888
12889 2005-03-22  Wim Taymans  <wim@fluendo.com>
12890
12891         * docs/design/part-TODO.txt:
12892         * docs/design/part-events.txt:
12893         * docs/design/part-gstbin.txt:
12894         * docs/design/part-gstbus.txt:
12895         * docs/design/part-gstpipeline.txt:
12896         * docs/design/part-messages.txt:
12897         * gst/gstbus.c:
12898         * gst/gstmessage.c:
12899         Docs updates
12900
12901 2005-03-21  Wim Taymans  <wim@fluendo.com>
12902
12903         * gst/gstbus.c: (gst_bus_post):
12904         Fix copy-and-paste error.
12905
12906 2005-03-21  Wim Taymans  <wim@fluendo.com>
12907
12908         * check/Makefile.am:
12909         * gst/Makefile.am:
12910         * gst/elements/Makefile.am:
12911         * gst/elements/gstelements.c:
12912         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12913         (gst_fakesink_event), (gst_fakesink_chain):
12914         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12915         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12916         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12917         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12918         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12919         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12920         (gst_fakesrc_loop), (gst_fakesrc_activate),
12921         (gst_fakesrc_change_state):
12922         * gst/elements/gstfakesrc.h:
12923         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12924         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12925         (gst_filesrc_open_file), (gst_filesrc_loop),
12926         (gst_filesrc_activate), (gst_filesrc_change_state),
12927         (filesrc_find_peek), (filesrc_find_suggest),
12928         (gst_filesrc_type_find):
12929         * gst/elements/gstidentity.c: (gst_identity_finalize),
12930         (gst_identity_class_init), (gst_identity_init),
12931         (gst_identity_proxy_getcaps), (identity_queue_push),
12932         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12933         (gst_identity_getrange), (gst_identity_chain),
12934         (gst_identity_sink_loop), (gst_identity_src_loop),
12935         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12936         (gst_identity_set_property), (gst_identity_get_property),
12937         (gst_identity_change_state):
12938         * gst/elements/gstidentity.h:
12939         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12940         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12941         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12942         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12943         (gst_tee_sink_activate):
12944         * gst/elements/gsttee.h:
12945         * gst/gst.c: (gst_register_core_elements), (init_post):
12946         * gst/gst.h:
12947         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12948         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12949         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12950         (gst_bin_change_state):
12951         * gst/gstbin.h:
12952         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12953         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12954         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12955         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12956         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12957         (bus_watch_callback), (bus_watch_destroy),
12958         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12959         (poll_timeout), (gst_bus_poll):
12960         * gst/gstbus.h:
12961         * gst/gstcaps.h:
12962         * gst/gstdata.h:
12963         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12964         (gst_element_post_message), (gst_element_message_full),
12965         (gst_element_get_state_func), (gst_element_get_state),
12966         (gst_element_abort_state), (gst_element_commit_state),
12967         (gst_element_lost_state), (gst_element_set_state),
12968         (gst_element_pads_activate), (gst_element_change_state),
12969         (gst_element_dispose), (gst_element_set_manager_func),
12970         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12971         (gst_element_set_manager), (gst_element_get_manager),
12972         (gst_element_set_bus), (gst_element_get_bus),
12973         (gst_element_set_scheduler), (gst_element_get_scheduler):
12974         * gst/gstelement.h:
12975         * gst/gstevent.c: (gst_event_new_segment_seek),
12976         (gst_event_new_flush):
12977         * gst/gstevent.h:
12978         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12979         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12980         (gst_message_new_eos), (gst_message_new_error),
12981         (gst_message_new_warning), (gst_message_new_tag),
12982         (gst_message_new_state_changed), (gst_message_new_application),
12983         (gst_message_get_structure), (gst_message_parse_tag),
12984         (gst_message_parse_state_changed), (gst_message_parse_error),
12985         (gst_message_parse_warning):
12986         * gst/gstmessage.h:
12987         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12988         (gst_real_pad_set_property), (gst_pad_set_active),
12989         (gst_pad_is_active), (gst_pad_set_blocked_async),
12990         (gst_pad_set_blocked), (gst_pad_is_blocked),
12991         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12992         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12993         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12994         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12995         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12996         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12997         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12998         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12999         (gst_pad_set_caps), (gst_pad_configure_sink),
13000         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13001         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13002         (gst_real_pad_dispose), (gst_real_pad_finalize),
13003         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13004         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13005         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13006         * gst/gstpad.h:
13007         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13008         (pipeline_bus_handler), (gst_pipeline_change_state),
13009         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13010         * gst/gstpipeline.h:
13011         * gst/gstprobe.h:
13012         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13013         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13014         (gst_queue_link_src), (gst_queue_bufferalloc),
13015         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13016         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13017         (gst_queue_loop), (gst_queue_handle_src_event),
13018         (gst_queue_handle_src_query), (gst_queue_src_activate),
13019         (gst_queue_change_state):
13020         * gst/gstqueue.h:
13021         * gst/gstscheduler.c: (gst_scheduler_init),
13022         (gst_scheduler_dispose), (gst_scheduler_create_task),
13023         (gst_scheduler_factory_create):
13024         * gst/gstscheduler.h:
13025         * gst/gststructure.c: (gst_structure_get_type),
13026         (gst_structure_copy_conditional):
13027         * gst/gststructure.h:
13028         * gst/gsttaginterface.h:
13029         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13030         (gst_task_init), (gst_task_dispose), (gst_task_create),
13031         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13032         (gst_task_pause):
13033         * gst/gsttask.h:
13034         * gst/gstthread.c:
13035         * gst/gstthread.h:
13036         * gst/gsttypes.h:
13037         * gst/schedulers/Makefile.am:
13038         * gst/schedulers/cothreads_compat.h:
13039         * gst/schedulers/entryscheduler.c:
13040         * gst/schedulers/faircothreads.c:
13041         * gst/schedulers/faircothreads.h:
13042         * gst/schedulers/fairscheduler.c:
13043         * gst/schedulers/gstbasicscheduler.c:
13044         * gst/schedulers/gstoptimalscheduler.c:
13045         * gst/schedulers/gthread-cothreads.h:
13046         * gst/schedulers/threadscheduler.c:
13047         (gst_thread_scheduler_task_get_type),
13048         (gst_thread_scheduler_task_class_init),
13049         (gst_thread_scheduler_task_init),
13050         (gst_thread_scheduler_task_start),
13051         (gst_thread_scheduler_task_stop),
13052         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13053         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13054         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13055         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13056         (plugin_init):
13057         * libs/gst/Makefile.am:
13058         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13059         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13060         (gst_file_pad_parent_set):
13061         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13062         (gst_dp_event_from_packet):
13063         * tests/complexity.c: (main):
13064         * tests/mass_elements.c: (main):
13065         * testsuite/states/locked.c: (message_received), (main):
13066         * testsuite/states/parent.c: (main):
13067         * tools/gst-inspect.c: (print_element_flag_info),
13068         (print_implementation_info), (print_pad_info):
13069         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13070         (main):
13071         * tools/gst-md5sum.c: (event_loop), (main):
13072         * tools/gst-typefind.c: (main):
13073         * tools/gst-xmlinspect.c: (print_element_info):
13074         Next big merge.
13075         Added GstBus for mainloop integration.
13076         Added GstMessage for sending notifications on the bus.
13077         Added GstTask as an abstraction for pipeline entry points.
13078         Removed GstThread.
13079         Removed Schedulers.
13080         Simplified GstQueue for multithreaded core.
13081         Made _link threadsafe, removed old capsnego.
13082         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13083         Added pad blocking functions.
13084         Reworked scheduling functions in GstPad to prepare for
13085         scheduling updates soon.
13086         Moved events out of data stream.
13087         Simplified GstEvent types.
13088         Added return values to push/pull.
13089         Removed clocking from GstElement.
13090         Added prototypes for state change function for next merge.
13091         Removed iterate from bins and state change management.
13092         Fixed some elements, disabled others for now.
13093         Fixed -inspect and -launch.
13094         Added check for GstBus.
13095
13096 2005-03-10  Wim Taymans  <wim@fluendo.com>
13097
13098         * docs/design/part-MT-refcounting.txt:
13099         * docs/design/part-clocks.txt:
13100         * docs/design/part-gstelement.txt:
13101         * docs/design/part-gstobject.txt:
13102         * docs/design/part-standards.txt:
13103         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13104         (gst_bin_remove_func), (gst_bin_remove):
13105         * gst/gstbin.h:
13106         * gst/gstbuffer.c:
13107         * gst/gstcaps.h:
13108         * testsuite/clock/clock1.c: (main):
13109         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13110         (main):
13111         * testsuite/dlopen/loadgst.c: (do_test):
13112         * testsuite/refcounting/bin.c: (add_remove_test1),
13113         (add_remove_test2), (main):
13114         * testsuite/refcounting/element.c: (main):
13115         * testsuite/refcounting/element_pad.c: (main):
13116         * testsuite/refcounting/pad.c: (main):
13117         * tools/gst-launch.c: (sigint_handler_sighandler):
13118         * tools/gst-typefind.c: (main):
13119         Doc updates.
13120         Added doc about clock.
13121         removed gst_bin_iterate_recurse_up(), marked methods
13122         for removal.
13123         Fix more testsuites.
13124
13125 2005-03-09  Wim Taymans  <wim@fluendo.com>
13126
13127         * gst/gstpad.c: (gst_pad_get_direction),
13128         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13129         (gst_pad_collect_valist):
13130         * testsuite/bins/interface.c: (main):
13131         * testsuite/caps/audioscale.c: (test_caps):
13132         * testsuite/caps/caps.c: (test1), (test2), (test3):
13133         * testsuite/caps/deserialize.c: (main):
13134         * testsuite/caps/enumcaps.c: (main):
13135         * testsuite/caps/filtercaps.c: (main):
13136         * testsuite/caps/intersect2.c: (main):
13137         * testsuite/caps/random.c: (main):
13138         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13139         * testsuite/caps/sets.c: (check_caps):
13140         * testsuite/caps/simplify.c: (check_caps), (main):
13141         * testsuite/caps/subtract.c: (check_caps):
13142         Fix _pad_get_direction wrt ghostpads.
13143         Fix caps testsuite.
13144
13145 2005-03-09  Wim Taymans  <wim@fluendo.com>
13146
13147         * check/Makefile.am:
13148         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13149         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13150         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13151         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13152         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13153         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13154         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13155         (bin_element_is_sink), (gst_bin_iterate_sinks),
13156         (gst_bin_iterate_all_by_interface):
13157         * gst/gstbin.h:
13158         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13159         (gst_element_change_state), (gst_element_dispose),
13160         (gst_element_finalize), (gst_element_set_loop_function):
13161         * gst/gstelement.h:
13162         * gst/gstiterator.c: (find_custom_fold_func):
13163         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13164         (gst_pad_collectv), (gst_pad_collect_valist),
13165         (gst_pad_template_new):
13166         * gst/gstpipeline.c: (gst_pipeline_class_init),
13167         (gst_pipeline_dispose), (gst_pipeline_set_property),
13168         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13169         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13170         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13171         * gst/gstutils.h:
13172         * gst/schedulers/entryscheduler.c:
13173         * gst/schedulers/gstbasicscheduler.c:
13174         (gst_basic_scheduler_cothreaded_chain),
13175         (gst_basic_scheduler_chain_add_element):
13176         * testsuite/bins/interface.c: (main):
13177         Added GstBin test.
13178         Added GstSystemClock test.
13179         Implemented clock distribution code in GstBin.
13180         Implemented iterate sinks method for future use.
13181         Rearranged gstelement.h
13182         Fix GstIterator comparison bug.
13183         Moved some code to GstPipeline, mostly clocking related.
13184
13185 2005-03-09  Wim Taymans  <wim@fluendo.com>
13186
13187         * configure.ac:
13188         * gst/gst_private.h:
13189         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13190         (gst_bin_remove_func), (gst_bin_remove),
13191         (gst_bin_get_by_name_recurse_up):
13192         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13193         (gst_clock_id_compare_func), (gst_clock_id_wait),
13194         (gst_clock_id_wait_async), (gst_clock_init),
13195         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13196         * gst/gstelement.h:
13197         * gst/gstinfo.c: (_gst_debug_init):
13198         * gst/gstobject.h:
13199         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13200         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13201         * gst/gstpad.h:
13202         Bump version number, we're now 0.9.0
13203         Add future debugging category.
13204         Fix NULL _unref() in _get_by_name_recurse_up
13205         Rearrange gstpad.h.
13206         Update some docs.
13207
13208 2005-03-08  Wim Taymans  <wim@fluendo.com>
13209
13210         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13211         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13212         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13213         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13214         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13215         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13216         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13217         * gst/elements/gstidentity.c: (gst_identity_class_init):
13218         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13219         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13220         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13221         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13222         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13223         (gst_tee_link):
13224         * gst/gstelement.c: (gst_element_class_init),
13225         (gst_element_base_class_init), (gst_element_init),
13226         (gst_element_get_random_pad), (gst_element_wait_state_change),
13227         (gst_element_change_state), (gst_element_dispose),
13228         (gst_element_finalize), (gst_element_set_loop_function):
13229         * gst/gstelement.h:
13230         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13231         * gst/gstthread.c: (gst_thread_class_init),
13232         (gst_thread_release_children_locks), (gst_thread_change_state):
13233         * gst/schedulers/gstbasicscheduler.c:
13234         (gst_basic_scheduler_loopfunc_wrapper),
13235         (gst_basic_scheduler_chain_wrapper),
13236         (gst_basic_scheduler_src_wrapper),
13237         (gst_basic_scheduler_remove_element):
13238         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13239         Remove threadsafe properties. Fix elements because GObject
13240         complains when installing a property before declaring a
13241         set/get_property handler.
13242         Rearrange gstelement.h file, use STATE macros for state locks.
13243         Free mutexes in the finalize method instead of dispose.
13244
13245 2005-03-08  Wim Taymans  <wim@fluendo.com>
13246
13247         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13248         * gst/gstthread.c: (gst_thread_release_children_locks):
13249         Added parentage check.
13250         Fix build og GstThread again.
13251
13252 2005-03-08  Wim Taymans  <wim@fluendo.com>
13253
13254         * docs/design/part-MT-refcounting.txt:
13255         * docs/design/part-conventions.txt:
13256         * docs/design/part-gstobject.txt:
13257         * docs/design/part-relations.txt:
13258         * docs/design/part-standards.txt:
13259         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13260         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13261         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13262         (gst_bin_iterate_all_by_interface):
13263         * gst/gstbuffer.h:
13264         * gst/gstclock.h:
13265         * gst/gstelement.c: (gst_element_class_init),
13266         (gst_element_change_state), (gst_element_set_loop_function):
13267         * gst/gstelement.h:
13268         * gst/gstiterator.c:
13269         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13270         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13271         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13272         (gst_object_set_parent), (gst_object_unparent),
13273         (gst_object_check_uniqueness):
13274         * gst/gstobject.h:
13275         Docs updates, clean up some headers.
13276
13277 2005-03-07  Wim Taymans  <wim@fluendo.com>
13278
13279         * check/.cvsignore:
13280         * check/Makefile.am:
13281         * check/gst-libs/.cvsignore:
13282         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13283         * check/gst/.cvsignore:
13284         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13285         (START_TEST), (gstbus_suite), (main):
13286         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13287         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13288         (gst_data_suite), (main):
13289         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13290         (add_fold_func), (gstiterator_suite), (main):
13291         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13292         (thread_name_object), (thread_name_object_default),
13293         (gst_object_name_compare), (gst_object_suite), (main):
13294         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13295         (gst_pad_suite), (main):
13296         * check/gstcheck.c: (gst_check_log_message_func),
13297         (gst_check_log_critical_func), (gst_check_init):
13298         * check/gstcheck.h:
13299         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13300         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13301         Added checks.
13302
13303 2005-03-07  Wim Taymans  <wim@fluendo.com>
13304
13305         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13306         (gst_list_iterator_next), (gst_list_iterator_resync),
13307         (gst_list_iterator_free), (gst_iterator_new_list),
13308         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13309         (gst_iterator_free), (gst_iterator_push), (filter_next),
13310         (filter_resync), (filter_uninit), (filter_free),
13311         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13312         (gst_iterator_foreach), (find_custom_fold_func),
13313         (gst_iterator_find_custom):
13314         * gst/gstiterator.h:
13315         Added missing files.
13316
13317 2005-03-07  Wim Taymans  <wim@fluendo.com>
13318
13319         * Makefile.am:
13320         * configure.ac:
13321         * docs/design/part-MT-refcounting.txt:
13322         * docs/design/part-conventions.txt:
13323         * docs/design/part-gstobject.txt:
13324         * docs/design/part-relations.txt:
13325         * examples/mixer/mixer.c: (main):
13326         * examples/thread/thread.c: (eos), (main):
13327         * gst/Makefile.am:
13328         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13329         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13330         (gst_spider_plug_from_srcpad):
13331         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13332         (gst_spider_identity_change_state),
13333         (gst_spider_identity_sink_loop_type_finding):
13334         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13335         * gst/elements/gstidentity.c: (gst_identity_init):
13336         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13337         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13338         * gst/elements/gsttypefindelement.c: (free_entry):
13339         * gst/gst.c:
13340         * gst/gst.h:
13341         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13342         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13343         (gst_bin_set_index), (gst_bin_set_element_sched),
13344         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13345         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13346         (gst_bin_iterate_elements), (iterate_child_recurse),
13347         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13348         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13349         (compare_interface), (gst_bin_get_by_interface),
13350         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13351         * gst/gstbin.h:
13352         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13353         (gst_buffer_default_free), (gst_buffer_default_copy),
13354         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13355         (gst_buffer_create_sub):
13356         * gst/gstbuffer.h:
13357         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13358         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13359         (gst_caps_unref), (gst_static_caps_get),
13360         (gst_caps_remove_and_get_structure), (gst_caps_append),
13361         (gst_caps_append_structure), (gst_caps_remove_structure),
13362         (gst_caps_copy_nth), (gst_caps_set_simple),
13363         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13364         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13365         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13366         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13367         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13368         (gst_caps_structure_figure_out_union),
13369         (gst_caps_switch_structures), (gst_caps_do_simplify),
13370         (gst_caps_replace), (gst_caps_from_string),
13371         (gst_caps_copy_conditional):
13372         * gst/gstcaps.h:
13373         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13374         (_gst_clock_id_free), (gst_clock_id_unref),
13375         (gst_clock_id_compare_func), (gst_clock_id_wait),
13376         (gst_clock_id_wait_async), (gst_clock_class_init),
13377         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13378         (gst_clock_get_time), (gst_clock_set_time_adjust),
13379         (gst_clock_set_property), (gst_clock_get_property):
13380         * gst/gstclock.h:
13381         * gst/gstcompat.h:
13382         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13383         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13384         * gst/gstdata.h:
13385         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13386         (gst_element_requires_clock), (gst_element_provides_clock),
13387         (gst_element_set_clock), (gst_element_clock_wait),
13388         (gst_element_wait), (gst_element_set_time_delay),
13389         (gst_element_is_indexable), (gst_element_add_pad),
13390         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13391         (pad_compare_name), (gst_element_get_static_pad),
13392         (gst_element_request_pad), (gst_element_get_request_pad),
13393         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13394         (gst_element_class_get_pad_template_list),
13395         (gst_element_class_get_pad_template), (gst_element_error_func),
13396         (gst_element_get_random_pad), (gst_element_get_event_masks),
13397         (gst_element_send_event), (gst_element_seek),
13398         (gst_element_get_query_types), (gst_element_query),
13399         (gst_element_get_formats), (gst_element_convert),
13400         (gst_element_is_locked_state), (gst_element_set_locked_state),
13401         (gst_element_sync_state_with_parent), (gst_element_change_state),
13402         (gst_element_finalize), (gst_element_yield),
13403         (gst_element_interrupt), (gst_element_set_scheduler),
13404         (gst_element_get_scheduler), (gst_element_set_loop_function):
13405         * gst/gstelement.h:
13406         * gst/gstevent.h:
13407         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13408         (gst_format_get_by_nick), (gst_format_get_details),
13409         (gst_format_iterate_definitions):
13410         * gst/gstformat.h:
13411         * gst/gstindex.c: (gst_index_gtype_resolver):
13412         * gst/gstinfo.c:
13413         * gst/gstinfo.h:
13414         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13415         (gst_mem_chunk_free):
13416         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13417         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13418         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13419         (gst_object_dispatch_properties_changed),
13420         (gst_object_set_name_default), (gst_object_set_name),
13421         (gst_object_get_name), (gst_object_set_name_prefix),
13422         (gst_object_get_name_prefix), (gst_object_set_parent),
13423         (gst_object_get_parent), (gst_object_unparent),
13424         (gst_object_check_uniqueness), (gst_object_save_thyself),
13425         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13426         (gst_object_set_property), (gst_object_get_property),
13427         (gst_object_get_path_string):
13428         * gst/gstobject.h:
13429         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13430         (gst_real_pad_init), (gst_real_pad_get_property),
13431         (gst_pad_custom_new), (gst_pad_get_direction),
13432         (gst_pad_set_active), (gst_pad_is_active),
13433         (gst_pad_set_event_function), (gst_pad_is_linked),
13434         (gst_pad_link_free), (gst_pad_link_intersect),
13435         (gst_pad_link_fixate), (gst_pad_set_caps),
13436         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13437         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13438         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13439         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13440         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13441         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13442         (gst_pad_realize), (gst_pad_get_allowed_caps),
13443         (gst_real_pad_dispose), (gst_real_pad_finalize),
13444         (gst_pad_collectv), (gst_pad_collect_valist),
13445         (gst_pad_template_dispose), (gst_pad_template_new),
13446         (gst_pad_get_internal_links):
13447         * gst/gstpad.h:
13448         * gst/gstpipeline.c: (gst_pipeline_dispose),
13449         (gst_pipeline_change_state):
13450         * gst/gstpipeline.h:
13451         * gst/gstplugin.c:
13452         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13453         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13454         * gst/gstpluginfeature.h:
13455         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13456         * gst/gstquery.c: (_gst_query_type_initialize),
13457         (gst_query_type_register), (gst_query_type_get_by_nick),
13458         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13459         * gst/gstquery.h:
13460         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13461         * gst/gstscheduler.c: (gst_scheduler_add_element),
13462         (gst_scheduler_factory_create):
13463         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13464         (gst_structure_free), (gst_structure_set_name),
13465         (gst_structure_id_set_value), (gst_structure_set_value),
13466         (gst_structure_set_valist), (gst_structure_remove_field),
13467         (gst_structure_remove_fields),
13468         (gst_structure_remove_fields_valist),
13469         (gst_structure_remove_all_fields), (gst_structure_foreach),
13470         (gst_structure_map_in_place),
13471         (gst_caps_structure_fixate_field_nearest_int),
13472         (gst_caps_structure_fixate_field_nearest_double):
13473         * gst/gststructure.h:
13474         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13475         (gst_system_clock_init), (gst_system_clock_dispose),
13476         (gst_system_clock_async_thread),
13477         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13478         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13479         * gst/gstsystemclock.h:
13480         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13481         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13482         * gst/gsttaginterface.c:
13483         * gst/gstthread.c: (gst_thread_dispose),
13484         (gst_thread_release_children_locks), (gst_thread_change_state),
13485         (gst_thread_main_loop):
13486         * gst/gsttrashstack.h:
13487         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13488         * gst/gsttypes.h:
13489         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13490         (gst_element_request_pad), (gst_element_get_pad_from_template),
13491         (gst_element_request_compatible_pad),
13492         (gst_element_get_compatible_pad_filtered),
13493         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13494         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13495         (gst_element_link_many), (gst_element_link),
13496         (gst_element_link_pads), (gst_element_unlink_pads),
13497         (gst_element_unlink_many), (gst_element_unlink),
13498         (gst_pad_can_link_filtered), (gst_pad_can_link),
13499         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13500         (gst_object_default_error), (gst_bin_add_many),
13501         (gst_bin_remove_many), (gst_element_populate_std_props),
13502         (gst_element_class_install_std_props), (gst_buffer_merge),
13503         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13504         (link_fold_func), (gst_pad_proxy_setcaps):
13505         * gst/gstutils.h:
13506         * gst/gstvalue.c: (gst_value_deserialize_string):
13507         * gst/parse/grammar.y:
13508         * gst/schedulers/gstbasicscheduler.c:
13509         (gst_basic_scheduler_cothreaded_chain),
13510         (gst_basic_scheduler_chain_recursive_add),
13511         (gst_basic_scheduler_pad_link):
13512         * gst/schedulers/gstoptimalscheduler.c:
13513         (get_group_schedule_function),
13514         (gst_opt_scheduler_state_transition),
13515         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13516         * libs/gst/bytestream/bytestream.c:
13517         * libs/gst/dataprotocol/dataprotocol.c:
13518         (gst_dp_header_from_buffer):
13519         * po/nb.po:
13520         * po/ru.po:
13521         * tests/threadstate/threadstate2.c: (eos):
13522         * tools/gst-compprep.c: (main):
13523         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13524         (print_pad_info), (print_children_info):
13525         * tools/gst-launch.c: (idle_func), (main):
13526         * tools/gst-md5sum.c: (idle_func), (main):
13527         * tools/gst-xmlinspect.c: (print_element_info):
13528         First THREADED backport attempt, focusing on adding locks and
13529         making sure the API is threadsafe. Needs more work. More docs
13530         follow this week.
13531
13532 2005-02-24  Andy Wingo  <wingo@pobox.com>
13533
13534         * tests/bench-complexity.scm:
13535         * tests/complexity.gnuplot: New files, good for running complexity
13536         benchmarks.
13537
13538         * tests/Makefile.am:
13539         * tests/complexity.c: New test, sets up N elements, at each level
13540         teeing into M streams per element. Eeeenteresting.
13541
13542         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13543         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13544         running bench-mass_elements.scm.
13545
13546         * tests/bench-mass_elements.scm: New script, runs mass_elements
13547         for various numbers of identities, outputting the results to a
13548         file. Requires guile 1.6. Just for testing.
13549
13550 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13551
13552         * gst/schedulers/fairscheduler.c:
13553           compile with debug disabled
13554
13555 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13556
13557         * configure.ac:
13558           hunting season on 0.9 is now OPEN