tests/examples/: convert comments again
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2
3         * tests/examples/controller/audio-example.c: (main):
4         * tests/examples/launch/Makefile.am:
5           convert comments again
6
7 2005-12-12  Wim Taymans  <wim@fluendo.com>
8
9         * libs/gst/base/gstpushsrc.c:
10         Fix typo.
11
12 2005-12-12  Wim Taymans  <wim@fluendo.com>
13
14         * docs/libs/gstreamer-libs-sections.txt:
15         Added new symbol to docs.
16
17         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18         (gst_base_src_init), (gst_base_src_set_format),
19         (gst_base_src_default_query), (gst_base_src_query),
20         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
21         (gst_base_src_perform_seek), (gst_base_src_send_event),
22         (gst_base_src_default_event), (gst_base_src_event_handler),
23         (gst_base_src_set_property), (gst_base_src_get_property),
24         (gst_base_src_wait), (gst_base_src_do_sync),
25         (gst_base_src_update_length), (gst_base_src_get_range),
26         (gst_base_src_check_get_range), (gst_base_src_loop),
27         (gst_base_src_default_negotiate), (gst_base_src_start),
28         (gst_base_src_activate_push), (gst_base_src_activate_pull),
29         (gst_base_src_change_state):
30         * libs/gst/base/gstbasesrc.h:
31         Implement seeking to other formats than _BYTES.
32         Implement more seeking methods correctly.
33         Doc updates.
34         Added query vmethod.
35         Added do_seek vmethod to make life easier for subclasses
36         when seeking.
37         API addition: gst_base_src_set_format()
38
39 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
40
41         * tests/examples/Makefile.am:
42           added that too
43
44 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
45
46         * configure.ac:
47         * docs/random/ensonic/media-device-daemon.txt:
48         * tests/examples/controller/.cvsignore:
49         * tests/examples/controller/Makefile.am:
50         * tests/examples/controller/audio-example.c: (main):
51         * tests/examples/helloworld/.cvsignore:
52         * tests/examples/helloworld/Makefile.am:
53         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
54         * tests/examples/launch/.cvsignore:
55         * tests/examples/launch/Makefile.am:
56         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
57         * tests/examples/metadata/.cvsignore:
58         * tests/examples/metadata/Makefile.am:
59         * tests/examples/metadata/read-metadata.c: (message_loop),
60         (make_pipeline), (print_tag), (main):
61         * tests/examples/queue/.cvsignore:
62         * tests/examples/queue/Makefile.am:
63         * tests/examples/queue/queue.c: (event_loop), (main):
64         * tests/examples/typefind/.cvsignore:
65         * tests/examples/typefind/Makefile.am:
66         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
67         (main):
68         * tests/examples/xml/.cvsignore:
69         * tests/examples/xml/Makefile.am:
70         * tests/examples/xml/createxml.c: (object_saved), (main):
71         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
72         * tests/old/examples/Makefile.am:
73         * tests/old/examples/TODO:
74         * tests/old/examples/controller/.cvsignore:
75         * tests/old/examples/controller/Makefile.am:
76         * tests/old/examples/controller/audio-example.c:
77         * tests/old/examples/helloworld/.cvsignore:
78         * tests/old/examples/helloworld/Makefile.am:
79         * tests/old/examples/helloworld/helloworld.c:
80         * tests/old/examples/launch/.cvsignore:
81         * tests/old/examples/launch/Makefile.am:
82         * tests/old/examples/launch/mp3parselaunch.c:
83         * tests/old/examples/launch/mp3play:
84         * tests/old/examples/manual/Makefile.am:
85         * tests/old/examples/metadata/Makefile.am:
86         * tests/old/examples/metadata/read-metadata.c:
87         * tests/old/examples/queue/.cvsignore:
88         * tests/old/examples/queue/Makefile.am:
89         * tests/old/examples/queue/queue.c:
90         * tests/old/examples/typefind/.cvsignore:
91         * tests/old/examples/typefind/Makefile.am:
92         * tests/old/examples/typefind/typefind.c:
93         * tests/old/examples/xml/.cvsignore:
94         * tests/old/examples/xml/Makefile.am:
95         * tests/old/examples/xml/createxml.c:
96         * tests/old/examples/xml/runxml.c:
97           applied some simple fixing to some examples
98           re-enabled the working examples
99
100 2005-12-12  Wim Taymans  <wim@fluendo.com>
101
102         * gst/gstsegment.c: (gst_segment_init),
103         (gst_segment_set_last_stop), (gst_segment_set_seek),
104         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
105         (gst_segment_to_running_time):
106         Added more documentation.
107         Make sure the last_pos value is updated properly.
108         Make sure to_stream_time and to_running_time don't
109         operate on wrong values.
110
111         * tests/check/gst/gstsegment.c: (GST_START_TEST):
112         Update check.
113
114 2005-12-12  Michael Smith  <msmith@fluendo.com>
115
116         * plugins/elements/gsttypefindelement.c: (free_entry),
117         (gst_type_find_element_chain):
118           Now that we're not leaking factories, make sure we keep references
119           to them while we need them.
120
121 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
122
123         * tests/check/gst/struct_i386.h:
124           ifdef out the XML structs
125
126 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
127
128         * gst/gstvalue.c: (gst_value_transform_double_fraction):
129           floor is not needed, F is always positive; this obviates the
130           need for adding -lm when building without libxml
131
132 2005-12-12  Wim Taymans  <wim@fluendo.com>
133
134         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
135         Take current playback rate into account when reporting
136         the position.
137
138 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
139
140         * docs/manual/mime-world.fig:
141           Let's try this again, this time with a file that is
142           actually in XFig format.
143
144 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
145
146         * docs/manual/mime-world.fig:
147           Add audioconvert element to diagram so that it
148           matches the text and the code (fixes #319526).
149
150 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
151
152         * docs/pwg/building-chainfn.xml:
153         * docs/pwg/building-pads.xml:
154         * docs/pwg/building-state.xml:
155         * docs/pwg/other-source.xml:
156           Update state change stuff for 0.10 (fixes #322969).
157
158 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
159
160         * docs/manual/advanced-dataaccess.xml:
161         * docs/manual/appendix-checklist.xml:
162         * docs/manual/appendix-programs.xml:
163         * docs/manual/basics-pads.xml:
164         * docs/manual/highlevel-components.xml:
165         * docs/manual/manual.xml:
166           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
167           add converters in front of pipelines; remove curly
168           brackets for threads stuff, they no longer exist; use
169           GST_TYPE_FRACTION for framerates; update some pieces of
170           code to 0.10, but there's plenty more to do.
171
172         * docs/manual/appendix-porting.xml:
173           Expand on asynchroneous state changes; s/0.9/0.10/;
174           mention disappearance of gst_init_get_popt_table()
175           (fixes #322916).
176
177 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
178
179         * docs/faq/using.xml:
180           Spider no longer exists, and neither does gst-launch-ext.
181           Update examples to use decodebin and playbin and put
182           converters in front of sinks (fixes #323726).
183
184 2005-12-09  Michael Smith  <msmith@fluendo.com>
185
186         * plugins/elements/gsttypefindelement.c: (find_peek),
187         (gst_type_find_element_chain):
188           Fix leaking element factories in typefinding.
189           Fix problem where we forgot about a probable type on non-seekable
190           files, and thus later mis-typefound it.
191
192 2005-12-09  Michael Smith  <msmith@fluendo.com>
193
194         * common/m4/gst-makecontext.m4:
195         * common/m4/gst-mcsc.m4:
196         * configure.ac:
197         * win32/common/config.h:
198         * win32/common/config.h.in:
199           Remove makecontext stuff; not used in 0.10 and causes problems on
200           HPUX according to bug #322441
201
202 2005-12-07  Wim Taymans  <wim@fluendo.com>
203
204         * tests/check/Makefile.am:
205         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
206         (main):
207         * tests/check/libs/struct_i386.h:
208         Added ABI check for libs
209
210 2005-12-07  Wim Taymans  <wim@fluendo.com>
211
212         * tests/check/Makefile.am:
213         And add the struct_i386.h to dist.
214
215 2005-12-07  Wim Taymans  <wim@fluendo.com>
216
217         * tests/check/Makefile.am:
218         * tests/check/gst/.cvsignore:
219         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
220         (main):
221         * tests/check/gst/struct_i386.h:
222         Added check for ABI compatibility.
223
224 2005-12-07  Wim Taymans  <wim@fluendo.com>
225
226         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
227         (gst_fake_src_get_times), (gst_fake_src_create):
228         Fix broken sync option, fixes #323259
229
230 2005-12-07  Wim Taymans  <wim@fluendo.com>
231
232         * gst/gstbuffer.c:
233         Small docs update.
234
235         * gst/gstcaps.c: (gst_caps_is_equal):
236         Don't assert on NULL <--> X. Fixes #323260
237
238         * gst/gstminiobject.c: (gst_mini_object_replace):
239         If we're doing atomic operations, we might just as well use
240         the proper way to get an atomic pointer.
241
242         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
243         Clean up debugging.
244
245 2005-12-07  Michael Smith  <msmith@fluendo.com>
246
247         * gst/parse/grammar.y:
248           Remove handling of { } for threads.
249
250 2005-12-06  David Schleef  <ds@schleef.org>
251
252         * libs/gst/base/gstbasetransform.c: speling fix.
253
254 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
255
256         * docs/libs/tmpl/gstdataprotocol.sgml:
257         * docs/random/omega/testing/gstobject.c:
258         * gst/gst.c:
259         * gst/gstclock.c:
260         * gst/gstelement.c:
261         * gst/gstelementfactory.c:
262         * gst/gsterror.c:
263         * gst/gstevent.c:
264         * gst/gstghostpad.c:
265         * gst/gstinfo.c:
266         * gst/gstpadtemplate.c:
267         * gst/gstregistryxml.c:
268         * gst/gsttaglist.c:
269         * gst/gsttagsetter.c:
270         * gst/gsttypefind.c:
271         * gst/gstvalue.c:
272         * libs/gst/base/gstbasesrc.c:
273         * libs/gst/net/gstnetclientclock.c:
274         * libs/gst/net/gstnettimeprovider.c:
275         * plugins/elements/gstfakesrc.c:
276         * plugins/elements/gstfdsrc.c:
277         * plugins/elements/gstfilesrc.c:
278         * plugins/elements/gstidentity.c:
279         * plugins/elements/gstqueue.c:
280         * plugins/elements/gsttypefindelement.c:
281         * plugins/indexers/gstfileindex.c:
282         * plugins/indexers/gstmemindex.c:
283         * tests/check/gst/gsttag.c:
284         * tests/old/examples/cutter/cutter.c:
285         * tests/old/examples/mixer/mixer.c:
286         * tests/old/examples/xml/runxml.c: (main):
287         * tests/old/testsuite/caps/normalisation.c:
288         * tests/old/testsuite/debug/global.c:
289         * tests/old/testsuite/parse/parse1.c:
290         * tools/gst-xmlinspect.c:
291         * win32/common/dirent.c:
292           expand tabs
293
294 === release 0.10.0 ===
295
296 2005-12-05   <thomas (at) apestaart (dot) org>
297
298         * configure.ac:
299           releasing 0.10.0, "Maroilles"
300
301 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
302
303         submitted by: Funda Wang <fundawang@linux.net.cn>
304
305         * po/LINGUAS:
306         * po/zh_CN.po:
307           added Chinese (Traditional) translation
308
309 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
310
311         * docs/gst/gstreamer-sections.txt:
312         * docs/libs/tmpl/gstdataprotocol.sgml:
313         * docs/random/thomasvs/TODO:
314         * gst/gstutils.c:
315         * gst/gstutils.h:
316           fix docs
317
318 2005-12-05  Andy Wingo  <wingo@pobox.com>
319
320         patch by: Wim Taymans <wim@fluendo.com>
321
322         * libs/gst/base/gstbasetransform.c
323         (gst_base_transform_prepare_output_buf)
324         (gst_base_transform_buffer_alloc):
325         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
326         alloc_buffer_and_set_caps.
327
328         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
329         set_caps on the source pad.
330         (gst_pad_alloc_buffer_and_set_caps): New function, does what
331         alloc_buffer used to do. Fixes #322874.
332
333         * docs/gst/gstreamer-sections.txt: 
334         * docs/design/part-negotiation.txt: 
335         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
336         changes.
337
338 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
339
340         patch by: Sebastien Moutte
341
342         * win32/MANIFEST:
343         * win32/common/config.h.in:
344         * win32/vs6/libgstcontroller.dsp:
345           win32 build fixes
346
347 2005-12-05  Wim Taymans  <wim@fluendo.com>
348
349         * gst/gstcaps.c: (gst_caps_is_equal):
350         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
351         (gst_fake_src_create):
352         Back out previous code changes, leave doc updates, file bugs 
353         instead. 
354
355 2005-12-05  Wim Taymans  <wim@fluendo.com>
356
357         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
358         (gst_fake_src_get_times), (gst_fake_src_create):
359         * plugins/elements/gstfakesrc.h:
360         Fix broken sync code.
361
362 2005-12-05  Wim Taymans  <wim@fluendo.com>
363
364         * gst/gstcaps.c: (gst_caps_is_equal):
365         Comparing NULL against !NULL yields different caps, not a
366         failure.
367
368 2005-12-05  Wim Taymans  <wim@fluendo.com>
369
370         * gst/gstpipeline.c:
371         Fix small typo in docs.
372
373 2005-12-05  Andy Wingo  <wingo@pobox.com>
374
375         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
376
377         * gst/gst.c (init_post): remove hard-coded 0.9 location for
378         registries/plugins with a MAJORMINOR one.
379         (plugin_desc): Rename library from gstcoreleements to
380         staticelements. Fixes #323222.
381
382 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
383
384         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
385           Change debug category to 'collectpads' from 'collect_pads'
386           (fixes #323250).
387
388 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
389
390         patch by: Sebastien Moutte
391
392         * libs/gst/controller/gstinterpolation.c:
393           use convert function for uint64/double
394         * win32/vs6/libgstcontroller.dsp:
395           link to GLib
396
397 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
398
399         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
400         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
401         * gst/gstutils.h:
402         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
403           add tests that seem to show that the guint64/gdouble conversions
404           are correct.
405
406 2005-12-02  Wim Taymans  <wim@fluendo.com>
407
408         * gst/gstregistry.c: (gst_registry_add_path):
409         * gst/gstregistry.h:
410         * gst/gstregistryxml.c:
411         Fix docs again.
412
413 2005-12-02  Wim Taymans  <wim@fluendo.com>
414
415         * gst/gstutils.c: (gst_util_uint64_scale_int64),
416         (gst_util_uint64_scale_int):
417         Small cleanup.
418
419         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
420         Add debug log line.
421
422         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
423         Add FIXME.
424
425 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
426
427         * win32/MANIFEST:
428         * win32/common/config.h:
429         * win32/vs6/gstreamer.dsw:
430         * win32/vs6/libgstcoreelements.dsp:
431         * win32/vs6/libgstelements.dsp:
432           renamed core elements plugin
433
434 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
435
436         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
437         (get_candidates):
438           do piece-wise major/minor comparison so 0.9 < 0.10
439           also allow .exe extensions for tools
440
441 2005-12-02  Michael Smith  <msmith@fluendo.com>
442
443         * gst/gst.c:
444           Escape a % to make gtkdoc happier; bug 322958.
445
446 === release 0.9.7 ===
447
448 2005-12-01   <thomas (at) apestaart (dot) org>
449
450         * configure.ac:
451           releasing 0.9.7, "My Dog Has No Nose"
452
453 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
454
455         * common/gst-xmlinspect.py:
456         * configure.ac:
457         * docs/libs/tmpl/gstdataprotocol.sgml:
458         * docs/random/release:
459         * po/af.po:
460         * po/az.po:
461         * po/bg.po:
462         * po/ca.po:
463         * po/cs.po:
464         * po/de.po:
465         * po/en_GB.po:
466         * po/fr.po:
467         * po/it.po:
468         * po/nb.po:
469         * po/nl.po:
470         * po/ru.po:
471         * po/sq.po:
472         * po/sr.po:
473         * po/sv.po:
474         * po/tr.po:
475         * po/uk.po:
476         * po/vi.po:
477         * win32/common/config.h:
478         * win32/common/config.h.in:
479         * win32/vs6/gst_inspect.dsp:
480         * win32/vs6/gst_launch.dsp:
481         * win32/vs6/libgstbase.dsp:
482         * win32/vs6/libgstelements.dsp:
483         * win32/vs6/libgstreamer.dsp:
484         * win32/vs7/GStreamer.vcproj:
485         * win32/vs7/gst-inspect.vcproj:
486         * win32/vs7/gst-launch.vcproj:
487         * win32/vs7/libgstbase.vcproj:
488           bump GST_MAJORMINOR to 0.10
489           reset libtool version
490
491 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
492
493         * po/LINGUAS:
494         * po/bg.po:
495           Added Bulgarian translation by (Alexander Shopov)
496
497 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
498
499         * tests/check/gst/gstplugin.c:
500           fix test
501
502 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
503
504         * common/gst-xmlinspect.py:
505         * common/gtk-doc-plugins.mak:
506         * configure.ac:
507         * docs/Makefile.am:
508         * docs/gst/Makefile.am:
509         * docs/gst/gstreamer-docs.sgml:
510         * docs/gst/gstreamer-sections.txt:
511         * docs/gst/gstreamer.types:
512         * docs/gst/gstreamer.types.in:
513         * docs/plugins/Makefile.am:
514         * docs/plugins/gstreamer-plugins-docs.sgml:
515         * docs/plugins/gstreamer-plugins-sections.txt:
516         * docs/plugins/gstreamer-plugins.types:
517         * docs/plugins/inspect.stamp:
518         * docs/plugins/inspect/plugin-coreelements.xml:
519         * docs/plugins/inspect/plugin-coreindexers.xml:
520         * docs/plugins/scanobj-build.stamp:
521         * gstreamer.spec.in:
522         * plugins/elements/Makefile.am:
523         * plugins/elements/gstelements.c:
524         * plugins/elements/gstfakesink.c:
525         * plugins/elements/gstfakesrc.c:
526         * plugins/elements/gstfilesink.c:
527         * plugins/elements/gstfilesrc.c:
528         * plugins/elements/gstqueue.c:
529         * plugins/indexers/Makefile.am:
530         * plugins/indexers/gstindexers.c:
531           document core plugins in a separate document just like all the
532           others
533           rename these plugins to something starting with core
534
535 2005-12-01  Andy Wingo  <wingo@pobox.com>
536
537         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
538         padding here before, but it missed the commit.
539
540 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
541
542         * libs/gst/controller/gstinterpolation.c:
543           whitespace prices have crashed, we should feel free to use some now
544           use gst_guint64_to_gdouble
545
546 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
547
548         * libs/gst/controller/gstcontroller.c:
549         * libs/gst/controller/gsthelper.c:
550         * libs/gst/controller/gstinterpolation.c:
551         * libs/gst/controller/lib.c:
552           wrap config.h include
553
554 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
555
556         * docs/gst/gstreamer-sections.txt:
557           update docs
558
559 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
560
561         * plugins/elements/gstelements.c:
562         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
563         (gst_fd_sink__class_init), (gst_fd_sink__init),
564         (gst_fd_sink__chain), (gst_fd_sink__set_property),
565         (gst_fd_sink__get_property):
566         * plugins/elements/gstfdsink.h:
567         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
568         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
569         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
570         (gst_fd_src_unlock), (gst_fd_src_set_property),
571         (gst_fd_src_get_property), (gst_fd_src_create),
572         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
573         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
574         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
575         (gst_fd_src_uri_handler_init):
576         * plugins/elements/gstfdsrc.h:
577         * plugins/elements/gstqueue.c: (gst_queue_get_type):
578           more anal cleanup
579
580 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
581
582         * docs/gst/Makefile.am:
583         * docs/gst/gstreamer.types.in:
584         * gst/Makefile.am:
585           fix the docs build
586
587 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
588
589         * configure.ac:
590         * gst/Makefile.am:
591         * gst/gst.c:
592         * gst/gstplugin.h:
593         * gst/gstregistry.h:
594         * tests/benchmarks/complexity.c:
595         * tests/benchmarks/mass-elements.c:
596         * tests/check/Makefile.am:
597         * tools/Makefile.am:
598         * tools/gst-inspect.c:
599         * tools/gst-xmlinspect.c:
600           various fixes to make
601           --disable-nls --disable-registry --disable-loadsave
602           --disable-parse --disable-gst-debug
603           work and get the core .so down to 360444 bytes after stripping
604
605 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
606
607         * Makefile.am:
608         * configure.ac:
609           descend into tests
610         * docs/random/thomasvs/TODO:
611         * tests/Makefile.am:
612         * tests/README:
613           add a README
614
615 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
616
617         * win32/GStreamer.vcproj:
618         * win32/MANIFEST:
619         * win32/Makefile:
620         * win32/Makefile.inspect:
621         * win32/Makefile.launch:
622         * win32/Makefile.register:
623         * win32/README.txt:
624         * win32/gst-inspect.vcproj:
625         * win32/gst-launch.vcproj:
626         * win32/gst-register.vcproj:
627         * win32/gstelements.vcproj:
628         * win32/gstgetbits.def:
629         * win32/gstgetbits.vcproj:
630         * win32/gstreamer-dbg.def:
631         * win32/gstreamer.def:
632         * win32/libgstbase.def:
633         * win32/libgstbase.vcproj:
634         * win32/link_oldruntime.c:
635         * win32/mman.c:
636         * win32/mman.h:
637         * win32/mman.inl:
638         * win32/msvc71.sln:
639           move even more stuff, win32/ is nice and clean now
640
641 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
642
643         * libs/gst/control/.cvsignore:
644         * win32/MANIFEST:
645         * win32/config.h:
646         * win32/dirent.c:
647         * win32/dirent.h:
648         * win32/gstbytestream.def:
649         * win32/gstbytestream.vcproj:
650         * win32/gstconfig.h:
651         * win32/gstenumtypes.c:
652         * win32/gstenumtypes.h:
653         * win32/gstoptimalscheduler.vcproj:
654         * win32/gstversion.h:
655         * win32/gtchar.h:
656         * win32/testsuite/bins.vcproj:
657         * win32/testsuite/bytestream.vcproj:
658         * win32/testsuite/caps.vcproj:
659         * win32/testsuite/cleanup.vcproj:
660         * win32/testsuite/clock.vcproj:
661         * win32/testsuite/debug.vcproj:
662         * win32/testsuite/dlopen.vcproj:
663         * win32/testsuite/dynparams.vcproj:
664         * win32/testsuite/elements.vcproj:
665         * win32/testsuite/ghostpads.vcproj:
666         * win32/testsuite/indexers.vcproj:
667         * win32/testsuite/negotiation.vcproj:
668         * win32/testsuite/parse.vcproj:
669         * win32/testsuite/plugin.vcproj:
670         * win32/testsuite/refcounting.vcproj:
671         * win32/testsuite/schedulers.vcproj:
672         * win32/testsuite/states.vcproj:
673         * win32/testsuite/tags.vcproj:
674         * win32/testsuite/threads.vcproj:
675           remove old win32 stuff that isn't maintained and should be
676           reorganized
677
678 2005-11-30  Andy Wingo  <wingo@pobox.com>
679
680         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
681         loading the gst.interfaces python module bork.
682
683         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
684         available since GLib 2.2. Fixes #318031.
685
686 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
687
688         * Makefile.am:
689         * check/.cvsignore:
690         * check/Makefile.am:
691         * check/elements/.cvsignore:
692         * check/elements/fakesrc.c:
693         * check/elements/fdsrc.c:
694         * check/elements/identity.c:
695         * check/generic/.cvsignore:
696         * check/generic/states.c:
697         * check/gst-libs/.cvsignore:
698         * check/gst-libs/controller.c:
699         * check/gst-libs/gdp.c:
700         * check/gst/.cvsignore:
701         * check/gst/capslist.h:
702         * check/gst/gst.c:
703         * check/gst/gstbin.c:
704         * check/gst/gstbuffer.c:
705         * check/gst/gstbus.c:
706         * check/gst/gstcaps.c:
707         * check/gst/gstelement.c:
708         * check/gst/gstevent.c:
709         * check/gst/gstghostpad.c:
710         * check/gst/gstiterator.c:
711         * check/gst/gstmessage.c:
712         * check/gst/gstminiobject.c:
713         * check/gst/gstobject.c:
714         * check/gst/gstpad.c:
715         * check/gst/gstpipeline.c:
716         * check/gst/gstplugin.c:
717         * check/gst/gstsegment.c:
718         * check/gst/gststructure.c:
719         * check/gst/gstsystemclock.c:
720         * check/gst/gsttag.c:
721         * check/gst/gstutils.c:
722         * check/gst/gstvalue.c:
723         * check/net/.cvsignore:
724         * check/net/gstnetclientclock.c:
725         * check/net/gstnettimeprovider.c:
726         * check/pipelines/.cvsignore:
727         * check/pipelines/cleanup.c:
728         * check/pipelines/simple_launch_lines.c:
729         * check/pipelines/stress.c:
730         * check/states/.cvsignore:
731         * check/states/sinks.c:
732         * configure.ac:
733         * examples/Makefile.am:
734         * examples/appreader/.cvsignore:
735         * examples/appreader/Makefile.am:
736         * examples/appreader/appreader.c:
737         * examples/controller/.cvsignore:
738         * examples/controller/Makefile.am:
739         * examples/controller/audio-example.c:
740         * examples/cutter/.cvsignore:
741         * examples/cutter/Makefile.am:
742         * examples/cutter/cutter.c:
743         * examples/cutter/cutter.h:
744         * examples/events/Makefile.am:
745         * examples/events/seek.c:
746         * examples/helloworld/.cvsignore:
747         * examples/helloworld/Makefile.am:
748         * examples/helloworld/helloworld.c:
749         * examples/helloworld2/.cvsignore:
750         * examples/helloworld2/Makefile.am:
751         * examples/helloworld2/helloworld2.c:
752         * examples/launch/.cvsignore:
753         * examples/launch/Makefile.am:
754         * examples/launch/mp3parselaunch.c:
755         * examples/launch/mp3play:
756         * examples/manual/.cvsignore:
757         * examples/manual/Makefile.am:
758         * examples/manual/extract.pl:
759         * examples/metadata/Makefile.am:
760         * examples/metadata/read-metadata.c:
761         * examples/mixer/.cvsignore:
762         * examples/mixer/Makefile.am:
763         * examples/mixer/mixer.c:
764         * examples/mixer/mixer.h:
765         * examples/pingpong/.cvsignore:
766         * examples/pingpong/Makefile.am:
767         * examples/pingpong/pingpong.c:
768         * examples/plugins/.cvsignore:
769         * examples/plugins/Makefile.am:
770         * examples/plugins/example.c:
771         * examples/plugins/example.h:
772         * examples/pwg/.cvsignore:
773         * examples/pwg/Makefile.am:
774         * examples/pwg/extract.pl:
775         * examples/queue/.cvsignore:
776         * examples/queue/Makefile.am:
777         * examples/queue/queue.c:
778         * examples/queue2/.cvsignore:
779         * examples/queue2/Makefile.am:
780         * examples/queue2/queue2.c:
781         * examples/queue3/.cvsignore:
782         * examples/queue3/Makefile.am:
783         * examples/queue3/queue3.c:
784         * examples/queue4/.cvsignore:
785         * examples/queue4/Makefile.am:
786         * examples/queue4/queue4.c:
787         * examples/retag/.cvsignore:
788         * examples/retag/Makefile.am:
789         * examples/retag/retag.c:
790         * examples/retag/transcode.c:
791         * examples/thread/.cvsignore:
792         * examples/thread/Makefile.am:
793         * examples/thread/thread.c:
794         * examples/typefind/.cvsignore:
795         * examples/typefind/Makefile.am:
796         * examples/typefind/typefind.c:
797         * examples/xml/.cvsignore:
798         * examples/xml/Makefile.am:
799         * examples/xml/createxml.c:
800         * examples/xml/runxml.c:
801         * tests/Makefile.am:
802         * tests/check/Makefile.am:
803         * testsuite/.cvsignore:
804         * testsuite/Makefile.am:
805         * testsuite/Rules:
806         * testsuite/caps/.cvsignore:
807         * testsuite/caps/Makefile.am:
808         * testsuite/caps/app_fixate.c:
809         * testsuite/caps/audioscale.c:
810         * testsuite/caps/caps.c:
811         * testsuite/caps/caps.h:
812         * testsuite/caps/caps_strings:
813         * testsuite/caps/compatibility.c:
814         * testsuite/caps/deserialize.c:
815         * testsuite/caps/enumcaps.c:
816         * testsuite/caps/eratosthenes.c:
817         * testsuite/caps/filtercaps.c:
818         * testsuite/caps/fixed.c:
819         * testsuite/caps/fraction-convert.c:
820         * testsuite/caps/fraction-multiply-and-zero.c:
821         * testsuite/caps/intersect2.c:
822         * testsuite/caps/intersection.c:
823         * testsuite/caps/normalisation.c:
824         * testsuite/caps/random.c:
825         * testsuite/caps/renegotiate.c:
826         * testsuite/caps/sets.c:
827         * testsuite/caps/simplify.c:
828         * testsuite/caps/string-conversions.c:
829         * testsuite/caps/structure.c:
830         * testsuite/caps/subtract.c:
831         * testsuite/caps/union.c:
832         * testsuite/debug/.cvsignore:
833         * testsuite/debug/Makefile.am:
834         * testsuite/debug/category.c:
835         * testsuite/debug/commandline.c:
836         * testsuite/debug/global.c:
837         * testsuite/debug/output.c:
838         * testsuite/debug/printf_extension.c:
839         * testsuite/dlopen/.cvsignore:
840         * testsuite/dlopen/Makefile.am:
841         * testsuite/dlopen/dlopen_gst.c:
842         * testsuite/dlopen/loadgst.c:
843         * testsuite/elements/.cvsignore:
844         * testsuite/elements/Makefile.am:
845         * testsuite/elements/gst-inspect-check.in:
846         * testsuite/elements/struct_i386.h:
847         * testsuite/elements/struct_size.c:
848         * testsuite/indexers/.cvsignore:
849         * testsuite/indexers/Makefile.am:
850         * testsuite/indexers/cache1.c:
851         * testsuite/indexers/indexdump.c:
852         * testsuite/parse/.cvsignore:
853         * testsuite/parse/Makefile.am:
854         * testsuite/parse/parse1.c:
855         * testsuite/parse/parse2.c:
856         * testsuite/plugin/.cvsignore:
857         * testsuite/plugin/Makefile.am:
858         * testsuite/plugin/README:
859         * testsuite/plugin/dynamic.c:
860         * testsuite/plugin/linked.c:
861         * testsuite/plugin/loading.c:
862         * testsuite/plugin/registry.c:
863         * testsuite/plugin/static.c:
864         * testsuite/plugin/static2.c:
865         * testsuite/plugin/testplugin.c:
866         * testsuite/plugin/testplugin2.c:
867         * testsuite/plugin/testplugin2_s.c:
868         * testsuite/plugin/testplugin_s.c:
869         * testsuite/refcounting/.cvsignore:
870         * testsuite/refcounting/Makefile.am:
871         * testsuite/refcounting/bin.c:
872         * testsuite/refcounting/element.c:
873         * testsuite/refcounting/element_pad.c:
874         * testsuite/refcounting/mainloop.c:
875         * testsuite/refcounting/mem.c:
876         * testsuite/refcounting/mem.h:
877         * testsuite/refcounting/object.c:
878         * testsuite/refcounting/pad.c:
879         * testsuite/refcounting/sched.c:
880         * testsuite/refcounting/thread.c:
881         * testsuite/states/.cvsignore:
882         * testsuite/states/Makefile.am:
883         * testsuite/states/bin.c:
884         * testsuite/states/locked.c:
885         * testsuite/states/parent.c:
886         * testsuite/threads/.cvsignore:
887         * testsuite/threads/159566.c:
888         * testsuite/threads/159852.c:
889         * testsuite/threads/Makefile.am:
890         * testsuite/threads/queue.c:
891         * testsuite/threads/signals.c:
892         * testsuite/threads/staticrec.c:
893         * testsuite/threads/thread.c:
894         * testsuite/threads/threadb.c:
895         * testsuite/threads/threadc.c:
896         * testsuite/threads/threadd.c:
897         * testsuite/threads/threade.c:
898         * testsuite/threads/threadf.c:
899         * testsuite/threads/threadg.c:
900         * testsuite/threads/threadh.c:
901         * testsuite/threads/threadi.c:
902           move all of these under tests
903
904 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
905
906         * configure.ac:
907         * tests/Makefile.am:
908           fix distcheck
909
910 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
911
912         * docs/gst/gstreamer-sections.txt:
913         * tests/sched/.cvsignore:
914         * tests/sched/Makefile.am:
915         * tests/sched/cases/(fs-fs).xml:
916         * tests/sched/cases/(fs-i-fs).xml:
917         * tests/sched/cases/(fs-i-i-fs).xml:
918         * tests/sched/cases/(fs-i-q[i-fs]).xml:
919         * tests/sched/dynamic-pipeline.c:
920         * tests/sched/interrupt1.c:
921         * tests/sched/interrupt2.c:
922         * tests/sched/interrupt3.c:
923         * tests/sched/runtestcases:
924         * tests/sched/runxml.c:
925         * tests/sched/sched-stress.c:
926         * tests/sched/sort.c:
927         * tests/sched/testcases:
928         * tests/sched/testcases1.tc:
929         * tests/seeking/.cvsignore:
930         * tests/seeking/Makefile.am:
931         * tests/seeking/seeking1.c:
932         * tests/threadstate/.cvsignore:
933         * tests/threadstate/Makefile.am:
934         * tests/threadstate/test1.c:
935         * tests/threadstate/test2.c:
936         * tests/threadstate/threadstate1.c:
937         * tests/threadstate/threadstate2.c:
938         * tests/threadstate/threadstate3.c:
939         * tests/threadstate/threadstate4.c:
940         * tests/threadstate/threadstate5.c:
941           remove obsolete tests
942         * configure.ac:
943         * tests/bench-complexity.scm:
944         * tests/bench-mass_elements.scm:
945         * tests/complexity.c:
946         * tests/complexity.gnuplot:
947         * tests/instantiate/.cvsignore:
948         * tests/instantiate/Makefile.am:
949         * tests/instantiate/caps.c:
950         * tests/mass_elements.c:
951         * tests/network-clock-utils.scm:
952         * tests/network-clock.scm:
953         * tests/plot-data:
954         First pass at cleaning up tests/ dir before moving the rest
955         Combined with CVS surgery
956
957 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
958
959         * po/POTFILES.in:
960           queue has moved, update
961
962 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
963
964         * docs/gst/gstreamer-sections.txt:
965           remove double entries from the docs
966         * gst/gst_private.h:
967         * gst/gstinfo.c: (_gst_debug_init):
968           remove the THREAD debug category
969         * gst/Makefile.am:
970         * gst/gstqueue.c:
971         * gst/gstqueue.h:
972         * docs/gst/gstreamer.types:
973         * plugins/elements/gstqueue.c: (gst_queue_get_type),
974         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
975           completely move queue and fix up debugging categories
976
977 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
978
979         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
980           make initialization portable, using LL is not
981
982 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
983
984         * win32/common/gstconfig.h:
985           add large padding
986
987 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
988
989         * win32/common/libgstreamer.def:
990           rename symbols; sort base section
991
992 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
993
994         * gst/gstclock.c: (do_linear_regression):
995           remove crack non-portable handrolled DEBUG macro
996
997 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
998
999         * docs/random/release:
1000           update notes
1001         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1002         (gst_object_flags_get_type), (register_gst_bin_flags),
1003         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1004         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1005         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1006         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1007         (gst_caps_flags_get_type), (register_gst_clock_return),
1008         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1009         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1010         (gst_clock_flags_get_type), (register_gst_state),
1011         (gst_state_get_type), (register_gst_state_change_return),
1012         (gst_state_change_return_get_type), (register_gst_state_change),
1013         (gst_state_change_get_type), (register_gst_element_flags),
1014         (gst_element_flags_get_type), (register_gst_core_error),
1015         (gst_core_error_get_type), (register_gst_library_error),
1016         (gst_library_error_get_type), (register_gst_resource_error),
1017         (gst_resource_error_get_type), (register_gst_stream_error),
1018         (gst_stream_error_get_type), (register_gst_event_type_flags),
1019         (gst_event_type_flags_get_type), (register_gst_event_type),
1020         (gst_event_type_get_type), (register_gst_seek_type),
1021         (gst_seek_type_get_type), (register_gst_seek_flags),
1022         (gst_seek_flags_get_type), (register_gst_format),
1023         (gst_format_get_type), (register_gst_index_certainty),
1024         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1025         (gst_index_entry_type_get_type),
1026         (register_gst_index_lookup_method),
1027         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1028         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1029         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1030         (gst_index_flags_get_type), (register_gst_debug_level),
1031         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1032         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1033         (gst_iterator_result_get_type), (register_gst_iterator_item),
1034         (gst_iterator_item_get_type), (register_gst_message_type),
1035         (gst_message_type_get_type), (register_gst_mini_object_flags),
1036         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1037         (gst_pad_link_return_get_type), (register_gst_flow_return),
1038         (gst_flow_return_get_type), (register_gst_activate_mode),
1039         (gst_activate_mode_get_type), (register_gst_pad_direction),
1040         (gst_pad_direction_get_type), (register_gst_pad_flags),
1041         (gst_pad_flags_get_type), (register_gst_pad_presence),
1042         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1043         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1044         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1045         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1046         (gst_plugin_flags_get_type), (register_gst_rank),
1047         (gst_rank_get_type), (register_gst_query_type),
1048         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1049         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1050         (gst_tag_flag_get_type), (register_gst_task_state),
1051         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1052         (gst_alloc_trace_flags_get_type),
1053         (register_gst_type_find_probability),
1054         (gst_type_find_probability_get_type), (register_gst_uri_type),
1055         (gst_uri_type_get_type), (register_gst_parse_error),
1056         (gst_parse_error_get_type):
1057         * win32/common/gstenumtypes.h:
1058         * win32/common/gstversion.h:
1059           update visual studio generated files
1060
1061 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1062
1063         * win32/vs6/libgstbase.dsp:
1064         * win32/vs6/libgstelements.dsp:
1065           update project files for new locations
1066
1067 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1068
1069         * Makefile.am:
1070           remove some files
1071         * README:
1072           reinstate and update
1073         * DEVEL:
1074         * REQUIREMENTS:
1075           removed
1076         * LICENSE:
1077         * docs/random/LICENSE:
1078           moved to random
1079
1080 2005-11-30  Edward Hervey  <edward@fluendo.com>
1081
1082         * gst/gsttypefind.c: (gst_type_find_register):
1083         * gst/gsttypefind.h:
1084         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1085         (gst_type_find_factory_dispose):
1086         * gst/gsttypefindfactory.h:
1087         Fix memory leak in GstTypeFindFactory.
1088
1089 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1090
1091         * gst/gst.c:
1092         * plugins/elements/Makefile.am:
1093         * plugins/elements/gstelements.c:
1094         * plugins/elements/gstqueue.c:
1095           move queue from core to the elements plugin
1096
1097 2005-11-29  Andy Wingo  <wingo@pobox.com>
1098
1099         * libs/gst/base/gstbasetransform.h: 
1100         * libs/gst/base/gstbasesrc.h: 
1101         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1102
1103         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1104         of pointers by which to pad very extensible base classes (like the
1105         ones in libs/gst/base).
1106
1107 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1108
1109         * docs/gst/gstreamer-docs.sgml:
1110         * docs/gst/gstreamer-sections.txt:
1111         * docs/libs/gstreamer-libs-docs.sgml:
1112         * docs/libs/gstreamer-libs-sections.txt:
1113           moving documentation from core to lib
1114
1115 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1116
1117         * check/Makefile.am:
1118         * configure.ac:
1119         * docs/gst/Makefile.am:
1120         * gst/Makefile.am:
1121         * gst/base/.cvsignore:
1122         * gst/base/Makefile.am:
1123         * gst/base/README:
1124         * gst/base/gstadapter.c:
1125         * gst/base/gstadapter.h:
1126         * gst/base/gstbasesink.c:
1127         * gst/base/gstbasesink.h:
1128         * gst/base/gstbasesrc.c:
1129         * gst/base/gstbasesrc.h:
1130         * gst/base/gstbasetransform.c:
1131         * gst/base/gstbasetransform.h:
1132         * gst/base/gstcollectpads.c:
1133         * gst/base/gstcollectpads.h:
1134         * gst/base/gstpushsrc.c:
1135         * gst/base/gstpushsrc.h:
1136         * gst/base/gsttypefindhelper.c:
1137         * gst/base/gsttypefindhelper.h:
1138         * gst/check/Makefile.am:
1139         * gst/check/gstcheck.c:
1140         * gst/check/gstcheck.h:
1141         * gst/net/Makefile.am:
1142         * gst/net/gstnet.h:
1143         * gst/net/gstnetclientclock.c:
1144         * gst/net/gstnetclientclock.h:
1145         * gst/net/gstnettimepacket.c:
1146         * gst/net/gstnettimepacket.h:
1147         * gst/net/gstnettimeprovider.c:
1148         * gst/net/gstnettimeprovider.h:
1149         * libs/gst/Makefile.am:
1150         * libs/gst/base/Makefile.am:
1151         * libs/gst/base/gstbasetransform.c:
1152         * libs/gst/check/Makefile.am:
1153         * plugins/elements/Makefile.am:
1154         * po/POTFILES.in:
1155           CVS surgery + support to move base, check, and net out of gst
1156           and into libs/gst
1157
1158 2005-11-29  Andy Wingo  <wingo@pobox.com>
1159
1160         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1161
1162         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1163         padding.
1164
1165         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1166
1167         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1168
1169         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1170
1171         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1172         padding; reduces object size by about 30%. We don't expect
1173         anything else to go into gstobject.
1174
1175         * gst/gstminiobject.h (struct _GstMiniObject)
1176         (struct _GstMiniObjectClass): Only one pointer of padding; the
1177         payload is only a pointer and two ints anyway. For the class there
1178         are only two methods as well.
1179         
1180         * gst/gstelement.h (struct _GstElementClass): Removed
1181         the state_changed signal callback, it is not used.
1182
1183 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1184
1185         * docs/gst/gstreamer.types:
1186           fix includes, though they are a little dinky
1187
1188 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1189
1190         * check/Makefile.am:
1191           look in the right place for elements, a lot more chance of
1192           success
1193         * gst/Makefile.am:
1194           remove indexers and elements subdirs
1195         * plugins/Makefile.am:
1196           make indexers conditional
1197
1198 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1199
1200         * Makefile.am:
1201         * configure.ac:
1202         * plugins/elements/Makefile.am:
1203         * plugins/elements/gstcapsfilter.c:
1204         * plugins/elements/gstfilesink.c:
1205         * plugins/elements/gstfilesrc.c:
1206         * plugins/elements/gstidentity.c:
1207         * plugins/indexers/Makefile.am:
1208           do CVS surgery and related build fixery to move elements
1209           and indexers in a new gstreamer/plugins directory, out of the
1210           gst/ directory
1211
1212 2005-11-29  Andy Wingo  <wingo@pobox.com>
1213
1214         * check/Makefile.am:
1215         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1216         * pkgconfig/gstreamer-net.pc.in:
1217         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1218         #322257.
1219
1220 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1221
1222         * tools/Makefile.am:
1223         * tools/gst-complete.1.in:
1224         * tools/gst-complete.c:
1225         * tools/gst-compprep.1.in:
1226         * tools/gst-compprep.c:
1227           removing -compprep and -complete
1228
1229 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1230
1231         * gst/gstevent.c: (gst_event_new_new_segment),
1232         (gst_event_parse_new_segment):
1233         * gst/gstevent.h:
1234           fix #320529 - clean up new_segment API and structure.
1235           Let's hope everyone was using the methods, and not the structure.
1236
1237 2005-11-29  Edward Hervey  <edward@fluendo.com>
1238
1239         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1240         (gst_base_sink_event), (gst_base_sink_do_sync),
1241         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1242         Properly handle non GST_FORMAT_TIME segment
1243         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1244         Properly handle non GST_FORMAT_TIME segment
1245         * gst/gstsegment.c:
1246         This function is valid if the accumulator is 0 and the format
1247         is different from the requested format.
1248         
1249 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1250
1251         * docs/gst/gstreamer-sections.txt:
1252         Add gst_query_new_seeking and gst_query_parse_seeking to the
1253         docs.
1254
1255 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1256
1257         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1258           Treat a pad alloc with new caps the same as if we were not
1259           negotiated, in order to allow a changing upstream output
1260           to produce a new format of data.
1261
1262 2005-11-29  Edward Hervey  <edward@fluendo.com>
1263
1264         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1265         (gst_base_transform_event), (gst_base_transform_eventfunc):
1266         The event virtual method is now properly implemented, with a default
1267         handler
1268         Sub classes should call the parent_class event method. They should
1269         return FALSE if they had a problem handling the given event, or don't
1270         want GstBaseTransform to send that even downstream
1271         * gst/elements/gstidentity.c: (gst_identity_class_init),
1272         (gst_identity_init), (gst_identity_event),
1273         (gst_identity_transform_ip), (gst_identity_set_property),
1274         (gst_identity_get_property):
1275         * gst/elements/gstidentity.h:
1276         Added the single-segment boolean property.
1277         If set to TRUE, it will output a single segment of data, starting from
1278         0, will eat up all incoming newsegment, and modify the timestamp of the
1279         buffers accordingly
1280
1281 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1282
1283         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1284           Don't ref NULL target pad (#322751). Improve docs.
1285
1286 2005-11-29  Michael Smith  <msmith@fluendo.com>
1287
1288         * gst/gstregistryxml.c: (load_plugin):
1289           Don't crash if we failed to load a feature from a plugin. 
1290
1291 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1292
1293         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1294         (GST_START_TEST):
1295           use more check API and less GLib API
1296
1297 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1298
1299         * Makefile.am:
1300           don't run checks if we don't have check
1301         * common/check.mak:
1302           remove the registry when running make torture
1303         * docs/gst/gstreamer-sections.txt:
1304           remove second multiply
1305         * gst/gstqueue.c: (gst_queue_loop):
1306           fix a compile warning when disabling debug
1307
1308 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1309
1310         * gst/gstinfo.h:
1311         Hey! Let's print the pad name if the pointer != NULL instead
1312         of when it == NULL :-)
1313
1314 2005-11-28  Wim Taymans  <wim@fluendo.com>
1315
1316         * check/gst/gstutils.c: (GST_START_TEST):
1317         Updated check, add some scaling accuracy checking code.
1318
1319         * gst/gstutils.c: (gst_util_div128_64),
1320         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1321         (gst_util_uint64_scale_int):
1322         Fix 6 times faster division code. Optimize for common 
1323         1/1 and less common X/1 cases.
1324
1325 2005-11-28  Wim Taymans  <wim@fluendo.com>
1326
1327         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1328         More checks.
1329
1330         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1331         (do_linear_regression), (gst_clock_add_observation):
1332         Cleanups.
1333         Release lock when the clock cannot be slaved.
1334         Catch the case where the regression returned an invalid denominator.
1335
1336         * gst/gstutils.c: (gst_util_div128_64_iterate),
1337         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1338         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1339         Add protentially more performant non-iterative 128/64 divide function
1340         that unfortunatly does not work yet.
1341         Shortcut the trivial 0/X = 0 case.
1342         Remove the warnings on overflow.
1343
1344 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1345
1346         * gst/gstplugin.c: (gst_plugin_register_func):
1347           everything causing a plugin not to load should be at least a WARNING
1348
1349 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1350
1351         * docs/random/ensonic/dparams.txt:
1352           some TODOs for the next dev cycle
1353         * libs/gst/controller/gstcontroller.c:
1354         (gst_controlled_property_set_interpolation_mode),
1355         (gst_controlled_property_new):
1356         * libs/gst/controller/gstcontroller.h:
1357           use base type to assign acccessor functions
1358
1359 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1360
1361         * check/Makefile.am:
1362         Oops, that should have been top_srcdir
1363
1364 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1365
1366         * check/Makefile.am:
1367         * check/elements/fdsrc.c: (GST_START_TEST):
1368         Use a cmdline define to specify the location of a file to use for
1369         testing, to avoid breaking distcheck.
1370
1371 2005-11-28  Andy Wingo  <wingo@pobox.com>
1372
1373         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1374
1375 2005-11-28  Edward Hervey  <edward@fluendo.com>
1376
1377         * tools/gst-launch.c: (main):
1378         Clarify the output strings, makes it easier to translate.
1379         Fixes #322626
1380
1381 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1382
1383         * gst/Makefile.am:
1384           don't try and build net if we don't even have <sys/socket.h>
1385
1386 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1387
1388         * check/Makefile.am:
1389         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1390         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1391           Add tests for fdsrc seekability
1392
1393         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1394         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1395         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1396         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1397         * gst/elements/gstfdsrc.h:
1398           fdsrc should not be a 'live' source.
1399           Implement seeking on seekable fd's.
1400
1401         * gst/gstquery.c: (gst_query_new_seeking),
1402         (gst_query_parse_seeking):
1403         * gst/gstquery.h:
1404           Implement SEEKING query functions: 
1405             *_new_seeking and *_parse_seeking
1406
1407 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1408
1409         * gst/gstelement.c: (gst_element_dispose):
1410           don't loop forever
1411
1412         * gst/gstiterator.c:
1413         * gst/gststructure.c:
1414           doc fixes
1415
1416         * libs/gst/controller/gstcontroller.c:
1417         (gst_controlled_property_set_interpolation_mode):
1418         * libs/gst/controller/gstcontroller.h:
1419         * libs/gst/controller/gstinterpolation.c:
1420         (interpolate_none_get_enum_value_array):
1421           support controlling enums
1422
1423 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1424
1425         * gst/gstvalue.c:
1426           Improve documentation for gst_value_union().
1427
1428         * gst/gstvalue.h:
1429           Change return value for union, intersect and subtract functions
1430           from gint to gboolean.
1431
1432 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1433
1434         * gst/gstvalue.c: (gst_value_serialize_any_list),
1435         (gst_value_transform_any_list_string),
1436         (gst_value_deserialize_list), (gst_value_deserialize_array),
1437         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1438         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1439         (gst_value_set_fraction_range_full),
1440         (gst_value_deserialize_fraction_range),
1441         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1442         (gst_value_deserialize_boolean),
1443         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1444         (gst_value_serialize_float), (gst_value_deserialize_float),
1445         (gst_string_wrap), (gst_value_deserialize_string),
1446         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1447         (gst_value_union_int_range_int_range),
1448         (gst_value_intersect_int_range_int_range),
1449         (gst_value_intersect_double_range_double_range),
1450         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1451         (gst_value_subtract_int_range_int_range),
1452         (gst_value_subtract_double_double_range),
1453         (gst_value_subtract_double_range_double_range),
1454         (gst_value_deserialize_fraction):
1455         * gst/gstvalue.h:
1456           Use gint, gdouble and gchar in our API instead of int, double and
1457           char (and make usage in gstvalue.c more consistent).
1458
1459 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1460
1461         * check/Makefile.am:
1462         * libs/gst/controller/Makefile.am:
1463         * libs/gst/dataprotocol/Makefile.am:
1464           fix up Makefile.am and remove GST_ENABLE_NEW
1465
1466 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1467
1468         * configure.ac:
1469         * gst/Makefile.am:
1470         * gst/base/Makefile.am:
1471         * gst/check/Makefile.am:
1472         * gst/elements/Makefile.am:
1473         * gst/net/Makefile.am:
1474           update LDFLAGS use some more
1475
1476 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1477
1478         * common/m4/gst-doc.m4:
1479           Fixes #312589
1480
1481 2005-11-26  Edward Hervey  <edward@fluendo.com>
1482
1483         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1484         This shouldn't issue a g_warning since it returns NULL if it
1485         couldn't find the plugin, and all functions using this behave
1486         properly on a NULL return. Switching to a GST_WARNING.
1487
1488 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1489
1490         * gst/gstbin.c: (gst_bin_handle_message_func):
1491         Don't leak clock messages.
1492
1493 2005-11-25  Wim Taymans  <wim@fluendo.com>
1494
1495         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1496         (gst_util_uint64_scale_int):
1497         Optimisations, remove unneeded vars.
1498
1499 2005-11-25  Wim Taymans  <wim@fluendo.com>
1500
1501         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1502         Added more checks for the high precision uint64 cases.
1503
1504         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1505         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1506         Implement high precision (guint64 * guint64) / guint64.
1507
1508 2005-11-24  Wim Taymans  <wim@fluendo.com>
1509
1510         * gst/base/gstbasesrc.c: (gst_base_src_query):
1511         Fix wrong percentage query.
1512
1513         * gst/gstutils.c: (gst_util_uint64_scale),
1514         (gst_util_uint64_scale_int):
1515         Add some more common cases that can be handled 
1516         efficiently to _scale.
1517
1518 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1519
1520         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1521         (gst_mini_object_suite):
1522           don't use check calls from threads; check probably isn't
1523           threadsafe and using a lock to make it threadsafe would
1524           defeat the purpose of this check
1525         * gst/check/gstcheck.c:
1526         * gst/check/gstcheck.h:
1527           use GST_DEBUG some more
1528
1529 2005-11-24  Wim Taymans  <wim@fluendo.com>
1530
1531         * gst/gstutils.c: (gst_util_uint64_scale),
1532         (gst_util_uint64_scale_int):
1533         Chain trivial case to _scale_int.
1534
1535 2005-11-24  Wim Taymans  <wim@fluendo.com>
1536
1537         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1538         Added test for scaling.
1539
1540         * gst/gstclock.h:
1541         Small doc fix.
1542
1543         * gst/gstutils.c: (gst_util_uint64_scale_int):
1544         Implemented high precision scaling code.
1545
1546 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1547
1548         * gst/gstinfo.h:
1549           do not crash on pad==NULL
1550
1551 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1552
1553         Patch by: Stefan Kost
1554
1555         * common/gtk-doc.mak:
1556         * docs/gst/Makefile.am:
1557         * docs/libs/Makefile.am:
1558           Fix distcheck issues for the libraries docs build
1559           Closes #319599.
1560
1561 2005-11-24  Michael Smith <msmith@fluendo.com>
1562
1563         * docs/manual/basics-helloworld.xml:
1564           Fix bug #315027: memory leak in example code in docs.
1565
1566 2005-11-24  Michael Smith <msmith@fluendo.com>
1567
1568         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1569           Unlock the PREROLL_LOCK in a failure case.
1570
1571 2005-11-24  Wim Taymans  <wim@fluendo.com>
1572
1573         * docs/gst/gstreamer-sections.txt:
1574         * gst/base/gstadapter.h:
1575         * gst/base/gstbasesink.h:
1576         * gst/base/gstbasesrc.h:
1577         * gst/base/gstbasetransform.h:
1578         * gst/base/gstpushsrc.h:
1579         * gst/elements/gstfakesink.h:
1580         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1581         * gst/elements/gstfakesrc.h:
1582         * gst/elements/gstfilesink.h:
1583         * gst/elements/gstfilesrc.h:
1584         * gst/gst.c:
1585         * gst/gstbin.c:
1586         * gst/gstbuffer.c: (_gst_buffer_copy):
1587         * gst/gstbus.h:
1588         * gst/gstcaps.c:
1589         * gst/gstchildproxy.c:
1590         * gst/gstclock.c:
1591         * gst/gstelement.c:
1592         * gst/gstelementfactory.c:
1593         * gst/gstelementfactory.h:
1594         * gst/gstevent.c:
1595         * gst/gstghostpad.h:
1596         * gst/gstindex.h:
1597         * gst/gstinterface.h:
1598         * gst/gstminiobject.c:
1599         * gst/gstminiobject.h:
1600         * gst/gstpad.c:
1601         * gst/gstpad.h:
1602         * gst/gstpadtemplate.h:
1603         * gst/gstpipeline.h:
1604         * gst/gstpluginfeature.h:
1605         * gst/gstquery.h:
1606         * gst/gstqueue.h:
1607         * gst/gsttaglist.c:
1608         * gst/gsttaglist.h:
1609         * gst/gsttagsetter.c:
1610         * gst/gsttagsetter.h:
1611         * gst/gsttrace.c:
1612         * gst/gsttrace.h:
1613         * gst/gsttypefind.h:
1614         * gst/gsturi.h:
1615         * gst/gstvalue.c:
1616         * gst/net/gstnetclientclock.c:
1617         * gst/net/gstnetclientclock.h:
1618         * gst/net/gstnettimepacket.c:
1619         * gst/net/gstnettimeprovider.c:
1620         * gst/net/gstnettimeprovider.h:
1621         Doc fixes.
1622
1623 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1624
1625         * configure.ac: back to HEAD
1626
1627 === release 0.9.6 ===
1628
1629 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1630
1631         * configure.ac:
1632           releasing 0.9.6, "Always On Time"
1633
1634 2005-11-23  Wim Taymans  <wim@fluendo.com>
1635
1636         * docs/gst/gstreamer-sections.txt:
1637         * gst/glib-compat.c:
1638         * gst/gsttagsetter.c:
1639         * gst/gstvalue.c:
1640         * gst/net/gstnetclientclock.c:
1641         * gst/net/gstnettimepacket.h:
1642         Doc updates.
1643
1644 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1645
1646         * docs/faq/using.xml:
1647         * docs/libs/tmpl/gstcontrol.sgml:
1648         * docs/manual/advanced-dparams.xml:
1649         * docs/manual/appendix-checklist.xml:
1650         * docs/manual/basics-elements.xml:
1651         * docs/pwg/other-source.xml:
1652         * docs/random/moving-plugins:
1653         * gst/gstpad.c:
1654         * tools/gst-launch.1.in:
1655           remove mentions of sinesrc
1656
1657 2005-11-23  Michael Smith <msmith@fluendo.com>
1658
1659         * docs/gst/gstreamer-sections.txt:
1660           Update for new API and API changes.
1661         * gst/gstobject.h:
1662           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1663         * gst/gstvalue.c:
1664           Documentation typo fix.
1665         * gst/net/gstnettimepacket.c:
1666           Documentation fixes for arguments.
1667
1668 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1669
1670         * gst/gststructure.c: (gst_structure_get_fraction),
1671         (gst_structure_parse_value),
1672         (gst_structure_fixate_field_nearest_fraction):
1673         * gst/gststructure.h:
1674         * gst/gstutils.c: (gst_util_uint64_scale_int):
1675         * gst/gstutils.h:
1676         * scripts/update-funcnames:
1677         API Changes. 
1678         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1679         Make gst_structure_fixate_field_nearest_fraction take a numerator
1680         and denominator argument instead of a GValue
1681         add gst_structure_get_fraction helper function.
1682
1683 2005-11-23  Wim Taymans  <wim@fluendo.com>
1684
1685         * docs/design/part-TODO.txt:
1686         Update TODO.
1687
1688         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1689         * gst/net/gstnetclientclock.h:
1690         Use parent fields for timeout and window_size.
1691
1692 2005-11-23  Andy Wingo  <wingo@pobox.com>
1693
1694         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1695         rate_num/rate_denom change.
1696
1697         * gst/net/gstnetclientclock.c
1698         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1699         OBJECT_LOCK. Don't call add_observation with the lock.
1700
1701         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1702         fraction.
1703         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1704         rate fraction.
1705         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1706         deal with rate as a fraction whose numerator and denominator are
1707         GstClockTime values.
1708         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1709         master; the other fields are protected by the SLAVE_LOCK.
1710         (do_linear_regression): Note that this must be called with the
1711         SLAVE_LOCK.
1712         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1713         OBJECT_LOCK. Call set_calibration instead of touching the
1714         variables directly.
1715         (gst_clock_set_property, gst_clock_get_property): Protect
1716         master/slave parameters with the SLAVE_LOCK.
1717
1718         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1719         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1720         note that all of the instance variables that add_observation and
1721         the set_master functions use are protected by that lock and not
1722         the OBJECT_LOCK.
1723         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1724
1725         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1726         the caller to take the object lock.
1727
1728 2005-11-23  Wim Taymans  <wim@fluendo.com>
1729
1730         * gst/gsterror.c: (_gst_core_errors_init):
1731         * gst/gsterror.h:
1732         Add error for clock stuff.
1733
1734         * gst/gstpipeline.c: (gst_pipeline_change_state),
1735         (gst_pipeline_set_clock):
1736         Post clock error when clock cannot be used in a pipeline.
1737
1738 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1739
1740         * docs/gst/gstreamer-sections.txt:
1741           make two symbols from gstinfo private for the docs
1742         * gst/base/gstcollectpads.h:
1743         * gst/gstutils.c:
1744           fix doc typos, update docs
1745
1746 2005-11-22  Wim Taymans  <wim@fluendo.com>
1747
1748         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1749         (gst_base_sink_wait), (gst_base_sink_do_sync),
1750         (gst_base_sink_handle_event):
1751         * gst/base/gstbasesink.h:
1752         No need to store the clock, the parent element class already
1753         has it.
1754
1755         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1756         Updates for clock_set returning a gboolean
1757
1758         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1759         (gst_clock_id_wait_async), (gst_clock_class_init),
1760         (gst_clock_init), (gst_clock_finalize),
1761         (gst_clock_get_internal_time), (gst_clock_get_time),
1762         (gst_clock_slave_callback), (gst_clock_set_master),
1763         (gst_clock_get_master), (do_linear_regression),
1764         (gst_clock_add_observation), (gst_clock_set_property),
1765         (gst_clock_get_property):
1766         * gst/gstclock.h:
1767         Implement master/slave. When setting a clock as a slave, a
1768         periodic timeout is scheduled to sample master and slave times.
1769         Then the slave clock is recalibrated to match offset and rate
1770         of the master clock.
1771         Update logging a bit.
1772         Add flag so that a clock can state that is cannot be slaved to
1773         another clock.
1774
1775         * gst/gstelement.c: (gst_element_set_clock):
1776         * gst/gstelement.h:
1777         The set clock returns a gboolean for when an element cannot
1778         deal with the selected clock in the pipeline. 
1779
1780         * gst/gstpipeline.c: (gst_pipeline_change_state),
1781         (gst_pipeline_set_clock):
1782         * gst/gstpipeline.h:
1783         Handle the case where the selected clock cannot be set on
1784         the pipeline.
1785
1786         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1787         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1788         (gst_net_client_clock_set_property),
1789         (gst_net_client_clock_get_property),
1790         (gst_net_client_clock_observe_times):
1791         * gst/net/gstnetclientclock.h:
1792         Use regression code in GstClock parent, remove duplicated
1793         functionality.
1794
1795 2005-11-22  Michael Smith <msmith@fluendo.com>
1796
1797         * gst/gstutils.c: (gst_util_clock_time_scale):
1798         * gst/gstutils.h:
1799         * docs/gst/gstreamer-sections.txt:
1800           Rename method to have extra underscore.
1801
1802 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1803
1804         * gst/elements/Makefile.am:
1805         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1806         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1807         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1808         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1809         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1810         * gst/elements/gstfakesrc.h:
1811         * gst/gstqueue.c: (queue_leaky_get_type):
1812           correctly fix GEnumValues so that nick is the short lowercase
1813           dashed tag
1814         * tools/gst-inspect.c: (print_element_properties_info):
1815           also show the nick, since it's useful to use from parse_launch
1816           syntax
1817           Fixes #322139
1818
1819 2005-11-22  Michael Smith <msmith@fluendo.com>
1820
1821         * gst/gstutils.c: (gst_util_clocktime_scale):
1822         * gst/gstutils.h:
1823         * docs/gst/gstreamer-sections.txt:
1824           Add util method for scaling a clocktime by a fraction. Useful 
1825           implementation is left as an exercise for the reader.
1826
1827 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1828
1829         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1830         If needed, allocate storage in the destination value during
1831         collection.
1832
1833 2005-11-22  Edward Hervey  <edward@fluendo.com>
1834
1835         * docs/gst/gstreamer-sections.txt:
1836         * gst/Makefile.am:
1837         * gst/gst.h:
1838         * gst/gsturitype.c:
1839         * gst/gsturitype.h:
1840         * gst/gstutils.c: (gst_util_set_object_arg):
1841         * tools/gst-compprep.c: (main):
1842         * tools/gst-inspect.c: (print_element_properties_info):
1843         Removed GstURI, closes bug #321061
1844
1845 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1846
1847         * check/gst/gststructure.c: (GST_START_TEST):
1848         * gst/gststructure.c: (gst_structure_parse_value):
1849           Oops, broke automatic string type parsing.
1850           Add a test to catch it in future.
1851
1852 2005-11-22  Andy Wingo  <wingo@pobox.com>
1853
1854         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1855         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1856         Actually rename the function implementations. Grr.
1857
1858 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1859
1860         * check/gst/capslist.h:
1861           Comment test cases
1862         * check/gst/gststructure.c: (GST_START_TEST),
1863         (gst_structure_suite):
1864           Test automatic value type detection in gst_structure_from_string.
1865         * gst/gststructure.c: (gst_structure_parse_value):
1866           Add fraction as a type we try and guess automatically in
1867           caps/structure strings.
1868
1869 2005-11-22  Andy Wingo  <wingo@pobox.com>
1870
1871         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1872
1873         * gst/gsttagsetter.h:
1874         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1875         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1876         (gst_tag_setter_add_tag_valist)
1877         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1878         _add_values, _add_valist, and _add_valist_values. Since this is an
1879         interface the function suffixes should be more explicit so
1880         language binding don't end up with element.add_valist ->
1881         gst_tag_setter_add_valist, for example. Fixes #322069.
1882
1883 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1884
1885         * check/gst/gstcaps.c: (GST_START_TEST):
1886           Extend caps string tests to check that a caps to string
1887           conversion is reversible and produces the same caps.
1888
1889         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1890           Output "fraction" as the generic type fraction range, so caps
1891           serialisation and deserialisation works.
1892         * check/gst/capslist.h:
1893         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1894           Support 'MIN' and 'MAX' for deserialising fractions.
1895
1896 2005-11-22  Andy Wingo  <wingo@pobox.com>
1897
1898         * gst/gstevent.h (gst_event_new_new_segment)
1899         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1900         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1901         Renamed from *_newsegment, *_buffersize, *_notarget.
1902
1903         * scripts/update-funcnames: New script, performs the changes
1904         listed above.
1905
1906 2005-11-22  Wim Taymans  <wim@fluendo.com>
1907
1908         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1909         Make sure the GstFlowReturn is returned.
1910
1911         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1912         (gst_bus_add_signal_watch):
1913         * gst/gstbus.h:
1914         add gst_bus_add_signal_watch_full.
1915
1916         * gst/gstplugin.c: (gst_plugin_load_file):
1917         Small style cleanup.
1918
1919 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1920
1921         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1922           Block the fakesrc srcpad when we send an event, to avoid
1923           contention on the stream_lock causing random test failures.
1924
1925 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1926
1927         * check/gst/gstvalue.c: (GST_START_TEST):
1928         * gst/gstvalue.c: (gst_value_fraction_subtract):
1929           Fix subtraction.
1930
1931 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1932
1933         * gst/gst.h:
1934           include "gstchildproxy.h"
1935         * gst/gstchildproxy.h:
1936         * libs/gst/controller/gstcontroller.h:
1937           use G_GNUC_NULL_TERMINATED
1938
1939 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1940
1941         * check/gst/capslist.h:
1942         * check/gst/gstcaps.c: (GST_START_TEST):
1943         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1944         * gst/gststructure.c: (gst_structure_parse_range),
1945         (gst_structure_fixate_field_nearest_fraction):
1946         * gst/gststructure.h:
1947         * gst/gstvalue.c: (gst_value_init_fraction_range),
1948         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1949         (gst_value_collect_fraction_range),
1950         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1951         (gst_value_set_fraction_range_full),
1952         (gst_value_get_fraction_range_min),
1953         (gst_value_get_fraction_range_max),
1954         (gst_value_serialize_fraction_range),
1955         (gst_value_transform_fraction_range_string),
1956         (gst_value_compare_fraction_range),
1957         (gst_value_deserialize_fraction_range),
1958         (gst_value_intersect_fraction_fraction_range),
1959         (gst_value_intersect_fraction_range_fraction_range),
1960         (gst_value_subtract_fraction_fraction_range),
1961         (gst_value_subtract_fraction_range_fraction),
1962         (gst_value_subtract_fraction_range_fraction_range),
1963         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1964         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1965         (gst_value_transform_string_fraction), (_gst_value_initialize):
1966         * gst/gstvalue.h:
1967           Implement fraction ranges and extend GstFraction to support
1968           arithmetic subtraction, as well as deserialization from integer
1969           strings such as "100"
1970           Add a testsuite as for int and double range set operations
1971
1972 2005-11-21  Andy Wingo  <wingo@pobox.com>
1973
1974         * gst/gsttaglist.h: 
1975         * gst/gstcaps.h: 
1976         * gst/gststructure.h: Add glib-compat.h.
1977
1978 2005-11-21  Wim Taymans  <wim@fluendo.com>
1979
1980         * gst/gstbin.c: (gst_bin_change_state_func):
1981         Fix for #321595
1982
1983 2005-11-21  Wim Taymans  <wim@fluendo.com>
1984
1985         * gst/gstsegment.h:
1986         And add a nice define too.
1987
1988 2005-11-21  Wim Taymans  <wim@fluendo.com>
1989
1990         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1991         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1992         (gst_segment_set_duration), (gst_segment_set_last_stop),
1993         (gst_segment_set_seek), (gst_segment_set_newsegment),
1994         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1995         (gst_segment_clip):
1996         * gst/gstsegment.h:
1997         Make binding friendly.
1998
1999 2005-11-21  Andy Wingo  <wingo@pobox.com>
2000
2001         * gst/gsttagsetter.h: 
2002         * gst/gsttaglist.h: 
2003         * gst/gststructure.h: 
2004         * gst/gstcaps.h: 
2005         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2006         #319940.
2007
2008         * gst/gsterror.c (_gst_core_errors_init):
2009         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2010         category.
2011
2012         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2013         (noinst_HEADERS): noinst the -private.
2014
2015 2005-11-21  Michael Smith <msmith@fluendo.com>
2016
2017         * gst/gstplugin.h:
2018         * gst/gstregistry.h:
2019           Remove unimplemented declarations for which we can see no sensible
2020           use.
2021
2022 2005-11-21  Andy Wingo  <wingo@pobox.com>
2023
2024         * gst/gst.h: Include glib-compat.h.
2025
2026         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2027
2028         * gst/glib-compat.c: Include the public and the private header.
2029
2030         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2031
2032         * gst/gstvalue.c: 
2033         * gst/gstpad.c: 
2034         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2035
2036         * check/gst/gstevent.c (create_custom_events): Check that
2037         FLUSH_STOP is serialized.
2038
2039         * check/elements/identity.c (event_func): 
2040         * check/elements/fakesrc.c (event_func): No stream lock, the core
2041         takes it.
2042
2043         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2044         stream lock taking, yay.
2045
2046         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2047         ensure that core takes the stream lock.
2048
2049         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2050         lock name change.
2051
2052         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2053         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2054         it already. For the flush start we do take it though so we get the
2055         right preroll state change messages.
2056
2057         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2058         the stream lock here, the core does it for us.
2059
2060         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2061         GST_STREAM_GET_LOCK.
2062         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2063         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2064         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2065         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2066         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2067         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2068
2069         * gst/gstpad.c: Update for stream lock name change.
2070
2071         * gst/base/gstbasesink.c: Update for preroll lock name change.
2072
2073 2005-11-21  Wim Taymans  <wim@fluendo.com>
2074
2075         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2076         (gst_clock_get_master):
2077         * gst/gstclock.h:
2078         * gst/gstsystemclock.c: (gst_system_clock_init):
2079         Convert Clock flags to object flags.
2080         Added methods to manage master/slave clocks.
2081
2082 2005-11-21  Wim Taymans  <wim@fluendo.com>
2083
2084         * check/gst/gstsegment.c: (GST_START_TEST):
2085         * docs/design/part-TODO.txt:
2086         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2087         (gst_base_sink_event), (gst_base_sink_do_sync),
2088         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2089         (gst_base_sink_query), (gst_base_sink_change_state):
2090         * gst/base/gstbasesink.h:
2091         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2092         (gst_base_src_default_newsegment),
2093         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2094         (gst_base_src_get_range), (gst_base_src_loop),
2095         (gst_base_src_change_state):
2096         * gst/base/gstbasesrc.h:
2097         * gst/base/gstbasetransform.c:
2098         (gst_base_transform_prepare_output_buf),
2099         (gst_base_transform_event), (gst_base_transform_change_state):
2100         * gst/base/gstbasetransform.h:
2101         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2102         (gst_collect_pads_event):
2103         * gst/base/gstcollectpads.h:
2104         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2105         (gst_fake_src_create):
2106         * gst/elements/gstfakesrc.h:
2107         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2108         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2109         (gst_segment_set_last_stop), (gst_segment_set_seek),
2110         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2111         (gst_segment_to_running_time), (gst_segment_clip):
2112         * gst/gstsegment.h:
2113         More segment updates, replace code in plugins with segment
2114         helper functions.
2115
2116 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2117
2118         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2119         Don't ignore sscanf results
2120
2121 2005-11-21  Andy Wingo  <wingo@pobox.com>
2122
2123         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2124
2125         * *.h:
2126         * *.c: Ran scripts/update-macros. Oh yes.
2127
2128         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2129         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2130         GST_GET_LOCK, etc.
2131
2132         * scripts/update-macros: New script. Run it on your files to
2133         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2134         well.
2135
2136 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2137
2138         * docs/gst/Makefile.am:
2139         * docs/gst/gstreamer-docs.sgml:
2140         * docs/gst/gstreamer-sections.txt:
2141         * docs/gst/gstreamer.types:
2142         * gst/gstinfo.h:
2143           more docs fixes, add new api to the docs
2144
2145 2005-11-21  Andy Wingo  <wingo@pobox.com>
2146
2147         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2148         state_broadcast call.
2149
2150         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2151
2152 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2153
2154         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2155         function calls for arrays.
2156
2157 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2158
2159         * docs/random/ensonic/media-device-daemon.txt:
2160           wild idea, can this be done?
2161         * docs/gst/gstreamer-sections.txt:
2162         * gst/gsterror.h:
2163         * gst/gstfilter.c:
2164         * gst/gstfilter.h:
2165         * gst/gstplugin.h:
2166         * gst/gstpluginfeature.c:
2167         * gst/gsttrace.c:
2168         * gst/gstvalue.c:
2169         * gst/gstvalue.h:
2170           doc fixes and additions
2171
2172 2005-11-21  Andy Wingo  <wingo@pobox.com>
2173
2174         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2175         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2176         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2177         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2178         private to the basesrc implementation.
2179
2180         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2181         behalf of event function if necessary. It should no longer be
2182         necessary to take the stream lock in pad's event functions. Fixes
2183         #320299.
2184
2185 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2186         * docs/gst/gstreamer-sections.txt:
2187         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2188         (gst_structure_fixate_field_nearest_double),
2189         (gst_structure_fixate_field_boolean):
2190         * gst/gststructure.h:
2191         * win32/common/libgstreamer.def:
2192         * win32/gstreamer.def:
2193
2194         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2195         (#322027)
2196
2197 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2198
2199         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2200         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2201         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2202         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2203         (gst_fdsrc_uri_handler_init):
2204         * gst/elements/gstfdsrc.h:
2205           Port fd:// URI handler from 0.8 to fdsrc
2206
2207 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2208
2209         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2210         (gst_value_serialize_fourcc):
2211         * gst/gstvalue.h:
2212           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2213           consistent with our other format defines (#320324).
2214
2215 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2216
2217         * gst/gstvalue.c: (gst_value_is_fixed):
2218           Revert previous commit. Value lists are by definition
2219           not fixed, as they are a list of possible values.
2220
2221 2005-11-21  Andy Wingo  <wingo@pobox.com>
2222
2223         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2224         during the stable series if we need it. Fixes #319178.
2225
2226         * gst/gstevent.c (gst_event_new_filler): Removed.
2227
2228         * check/gst/gstevent.c: Update comment about filler events.
2229
2230 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2231
2232         * gst/gstvalue.c: (gst_value_is_fixed):
2233           Should handle both value arrays and value lists.
2234
2235 2005-11-21  Andy Wingo  <wingo@pobox.com>
2236
2237         patch by: Alessandro Dessina <alessandro nnva org>
2238
2239         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2240         functions to access arrays. Fixes #321962.
2241
2242 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2243
2244         * docs/gst/gstreamer.types:
2245           gst_collectpads_get_type => gst_collect_pads_get_type.
2246           
2247         * gst/base/gstbasetransform.c:
2248           Remove unused SIGNAL_HANDOFF enum.
2249
2250 2005-11-21  Andy Wingo  <wingo@pobox.com>
2251
2252         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2253         the event type (upstream, downstream, serialized). Renamed
2254         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2255         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2256         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2257
2258         * gst/gstevent.c: Update for new CUSTOM event names.
2259
2260         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2261
2262         * gst/gstevent.h:
2263         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2264         bug #319392.
2265
2266 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2267
2268         * docs/gst/gstreamer-sections.txt:
2269         * win32/common/libgstbase.def:
2270         * win32/libgstbase.def:
2271         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2272         (gst_collect_pads_class_init), (gst_collect_pads_init),
2273         (gst_collect_pads_finalize), (gst_collect_pads_new),
2274         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2275         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2276         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2277         (gst_collect_pads_start), (gst_collect_pads_stop),
2278         (gst_collect_pads_peek), (gst_collect_pads_pop),
2279         (gst_collect_pads_available), (gst_collect_pads_read),
2280         (gst_collect_pads_flush), (gst_collect_pads_event),
2281         (gst_collect_pads_chain):
2282         * gst/base/gstcollectpads.h:
2283           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2284           unimplemented functions as unimplemented. Add padding to
2285           GstCollectData. (#320766, #320423)
2286
2287 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2288
2289         * gst/gstmessage.c:
2290           Improve docs for DURATION message (usage of duration parameter)
2291           (#320113)
2292
2293 2005-11-20  Wim Taymans  <wim@fluendo.com>
2294
2295         * check/Makefile.am:
2296         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2297         (main):
2298         * gst/Makefile.am:
2299         * gst/gst.h:
2300         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2301         (gst_segment_set_seek), (gst_segment_set_newsegment),
2302         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2303         (gst_segment_clip):
2304         * gst/gstsegment.h:
2305         Added segment helper structure and methods. Not fully implemented
2306         yet.
2307         Added segment check.
2308
2309 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2310
2311         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2312           Add a deserialisation test for fractions
2313         * examples/metadata/read-metadata.c: (message_loop),
2314         (make_pipeline), (main):
2315           Fix up metadata reading sample.
2316         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2317           Debug format fix
2318         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2319           Don't try and fixate empty caps
2320         * gst/gst_private.h:
2321           Wrap in G_BEGIN_DECLS/G_END_DECLS
2322         * gst/gstvalue.c: (gst_value_collect_fraction),
2323         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2324         (gst_value_transform_string_fraction),
2325         (gst_value_compare_fraction):
2326           Add some extra guards to ensure that we don't end up 
2327           with an invalid denominator of 0 in a gstfraction and
2328           that fractions always get reduced.
2329
2330 2005-11-20  Wim Taymans  <wim@fluendo.com>
2331
2332         * docs/gst/gstreamer-sections.txt:
2333         * gst/gstbuffer.h:
2334         * gst/gstelement.c:
2335         * gst/gstformat.c:
2336         * gst/gstformat.h:
2337         * gst/gstindex.h:
2338         * gst/gstquery.c:
2339         * gst/gstquery.h:
2340         * gst/gstvalue.c:
2341         Doc fixes.
2342
2343 2005-11-20  Wim Taymans  <wim@fluendo.com>
2344
2345         * docs/design/part-TODO.txt:
2346         * gst/gstcaps.h:
2347         Make a proper enum of the flag.
2348
2349 2005-11-19  Wim Taymans  <wim@fluendo.com>
2350
2351         * docs/design/part-TODO.txt:
2352         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2353         (gst_format_to_quark), (gst_format_register):
2354         * gst/gstformat.h:
2355         * gst/gstquery.c: (_gst_query_initialize),
2356         (gst_query_type_get_name), (gst_query_type_to_quark),
2357         (gst_query_type_register):
2358         * gst/gstquery.h:
2359         Add type to quark and type to string conversions.
2360
2361 2005-11-19  Andy Wingo  <wingo@pobox.com>
2362
2363         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2364         #320097.
2365
2366 2005-11-19  Wim Taymans  <wim@fluendo.com>
2367
2368         * docs/design/part-TODO.txt:
2369         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2370         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2371         (gst_bin_handle_message_func):
2372         * gst/gstbin.h:
2373         Make message handling overridable.
2374
2375 2005-11-19  Andy Wingo  <wingo@pobox.com>
2376
2377         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2378
2379         * gst/gstclock.h:
2380         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2381         be a GstClockTime.
2382         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2383         is a GstClockTime. Fixes #321710.
2384
2385         * gst/gstclock.h (GstClock): Remove offset property. Add
2386         internal_calibration and external_calibration. Fix padding. Pad
2387         also by GstClockTime so we don't run into problems.
2388
2389         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2390         (gst_clock_get_rate_offset): Remove.
2391         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2392
2393         * gst/gstutils.h:
2394         * gst/gstutils.c (g_static_rec_cond_wait)
2395         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2396
2397         * gst/gstbin.c: Remove terrible continue_state prototype.
2398
2399         * gst/gstelement.h (gst_element_continue_state): Make public.
2400
2401         * gst/gstelement.h:
2402         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2403         by continue_state. Fixes #319389.
2404
2405         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2406         Really fixes #168438. However I don't see anywhere where the
2407         filter function is called... stupid GStreamer...
2408         
2409         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2410         don't have a dispose function, so it won't get called when the
2411         object is unreffed, but oh well!
2412
2413         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2414         allows a destroy function to be set so user_data can be freed.
2415         Fixes #168438.
2416         (gst_index_set_filter): Call gst_index_set_filter_full.
2417
2418         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2419
2420         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2421         string should produce an error, given the lack of a way to
2422         represent NULL strings. Fixes #165650.
2423         
2424         * gst/gstvalue.h: 
2425         * gst/gstvalue.c (gst_value_array_append_value) 
2426         (gst_value_array_prepend_value, gst_value_array_get_size) 
2427         (gst_value_array_get_value): New API, copied from
2428         gst_value_list_*, only operates on arrays.
2429         (gst_value_list_append_value, gst_value_list_prepend_value) 
2430         (gst_value_list_concat, gst_value_list_get_size) 
2431         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2432
2433         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2434         init_list, because it works on both.
2435         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2436         (gst_value_copy_list_or_array): Renamed from copy_list.
2437         (gst_value_free_list_or_array): Renamed from free_list.
2438         (gst_value_collect_list_or_array): Renamed from collect_list.
2439         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2440         (gst_value_list_or_array_peek_pointer): Renamed from
2441         list_peek_pointer.
2442         (_gst_value_array_value_table, _gst_value_list_value_table):
2443         Update value table functions.
2444         (gst_value_compare_list_or_array): Renamed from compare_list.
2445
2446         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2447         some constness.
2448
2449         * gst/gsttaglist.c:
2450         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2451         GstTagList*. Fixes #143472.
2452
2453         * gst/gststructure.h: Clarify what the foreach/map functions can
2454         or can't do to their arguments.
2455
2456 2005-11-18  Wim Taymans  <wim@fluendo.com>
2457
2458         * gst/gstclock.c: (gst_clock_set_calibration),
2459         (gst_clock_get_calibration):
2460         Doc and API fixes.
2461         Calibration can be set with internal time equal to current
2462         internal time too.
2463
2464 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2465
2466         * gst/gsterror.c:
2467         * gst/gsterror.h:
2468           document
2469
2470 2005-11-18  Andy Wingo  <wingo@pobox.com>
2471
2472         * configure.ac: 
2473         * pkgconfig/gstreamer-net.pc.in:
2474         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2475         * pkgconfig/Makefile.am: Add net pkgconfig files.
2476
2477 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2478
2479         * gst/gstcaps.c:
2480         * gst/gstghostpad.c:
2481         * gst/gsttrace.c:
2482         * gst/gstvalue.c:
2483         * gst/gstvalue.h:
2484           docs fixes
2485
2486 2005-11-18  Andy Wingo  <wingo@pobox.com>
2487
2488         * gst/net/gstnetclientclock.c: Turn off debugging.
2489
2490         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2491         times connverge somewhat. Can't make a real test.
2492
2493         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2494         integer arithmetic. Return the minimum of the domain, which can be
2495         set as "internal" for gst_clock_set_calibration.
2496         (gst_net_client_clock_observe_times): Call _set_calibration.
2497         (gst_net_client_clock_new): Call _set_calibration instead of
2498         rate_offset.
2499
2500         * check/net/gstnetclientclock.c (test_functioning): Use the right
2501         adjustment api.
2502
2503         * gst/gstclock.h:
2504         * gst/gstclock.c (gst_clock_get_calibration) 
2505         (gst_clock_set_calibration): New functions, obsolete the ones I
2506         added yesterday. Doh. Precision issues mean we have to extrapolate
2507         from a point in the more recent past than 1970.
2508         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2509         obsolete.
2510         (gst_clock_adjust_unlocked): Use the right calibration data.
2511
2512 2005-11-18  Edward Hervey  <edward@fluendo.com>
2513
2514         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2515         Also reset the ->current_* values in READY->PAUSED
2516
2517 2005-11-18  Andy Wingo  <wingo@pobox.com>
2518
2519         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2520         Whoops, check the right fd. Also add some debugging.
2521         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2522         (do_linear_regression): Add a crapload of debugging. Subtract off
2523         the minimum values from the input series to discard unneeded bits.
2524         Use only int arithmetic. There is still double arithmetic when
2525         calculating the intercept that needs fixing. Return boolean to
2526         indicate success; FALSE would mean the domain or range is too
2527         great. Still needs fixes.
2528
2529 2005-11-18  Wim Taymans  <wim@fluendo.com>
2530
2531         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2532         For the current position in stream time, we need to subtract
2533         accumulated time.
2534         
2535         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2536         Release lock before calling the callback function of async
2537         entries.
2538
2539 2005-11-18  Andy Wingo  <wingo@pobox.com>
2540
2541         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2542         Port goes all the way to MAXUINT16.
2543
2544         * gst/net/gstnettimeprovider.c: Make the port range the same as
2545         for the kernel: 0 assigns, otherwise ports are less than
2546         MAXUINT16.
2547
2548         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2549         port change.
2550
2551         * check/net/gstnetclientclock.c (test_functioning): Add the start
2552         of another test. 
2553
2554 2005-11-18  Wim Taymans  <wim@fluendo.com>
2555
2556         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2557         (gst_bin_remove_func), (bin_bus_handler):
2558         * gst/gstbin.h:
2559         Removing a clock provider from a bin, triggers a clock lost message
2560         so that a new clock will be selected.
2561         Adding a clock to a bin triggers a clock provider message.
2562         Make sure we reselect a clock when we received a clock lost message.
2563         Keep a reference to the element that provided the clock.
2564
2565 2005-11-18  Andy Wingo  <wingo@pobox.com>
2566
2567         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2568         the clock initially so it produces values around the base time.
2569         (gst_net_client_clock_class_init): Typo fix.
2570         (gst_net_client_clock_thread): Add note on when the socket gets
2571         closed.
2572
2573 2005-11-17  Wim Taymans  <wim@fluendo.com>
2574
2575         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2576         Free remote and local time arrays.
2577
2578 2005-11-17  Wim Taymans  <wim@fluendo.com>
2579
2580         * gst/net/gstnetclientclock.c: (do_linear_regression),
2581         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2582         Fix compilation, uninitialized vars and a forgotten continue.
2583
2584 2005-11-17  Andy Wingo  <wingo@pobox.com>
2585
2586         * check/Makefile.am (check_PROGRAMS): 
2587         * check/net/gstnetclientclock.c: Add a most minimal test for the
2588         net client clock. More to come later.
2589
2590         * gst/net/gstnet.h: 
2591         * gst/net/Makefile.am: Add netclientclock.
2592
2593         * gst/net/gstnetclientclock.h:
2594         * gst/net/gstnetclientclock.c: New files, implement an untested
2595         GstClock that takes its time from a network time provider.
2596         Implements the algorithm in network-clock.scm.
2597
2598         * tests/network-clock.scm (*window-size*): Rename from
2599         *queue-length*.
2600         * tests/network-clock.scm (network-time): 
2601         * tests/network-clock-utils.scm (q-push): Update callers.
2602
2603 2005-11-17  Wim Taymans  <wim@fluendo.com>
2604
2605         * gst/gstbin.c: (gst_bin_provide_clock_func),
2606         (gst_bin_sort_iterator_new):
2607         And unref the child too..
2608
2609 2005-11-17  Wim Taymans  <wim@fluendo.com>
2610
2611         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2612         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2613         Refactor the sort iterator so it can be used while holding the
2614         LOCK too.
2615         Make clock selection select a clock closest to the source.
2616
2617 2005-11-17  Michael Smith <msmith@fluendo.com>
2618
2619         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2620         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2621         * gst/gstclock.h:
2622           Anonymous structs are a gcc (and some other compilers) extension, so
2623           don't use them. Since this is only for ABI-compatibility, and our
2624           API/ABI freeze is over in a few days, this whole thing will only
2625           last a few days, so don't bother trying to think up a meaningful
2626           name for the struct.
2627
2628 2005-11-17  Andy Wingo  <wingo@pobox.com>
2629
2630         * gst/gstclock.h (GstClock): Add rate and offset properties,
2631         preserving ABI stability. Add rate/offset accessors. Will file bug
2632         for the freeze break.
2633
2634         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2635         and offset, trying to keep precision and avoiding
2636         underflow/overflow.
2637         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2638         functions. Make gst_clock_set_time_adjust obsolete.
2639         (gst_clock_set_time_adjust): Note that this function is obsolete.
2640         Will file bug soon.
2641
2642         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2643         greppable by using GST_PADDING-1+1.
2644
2645 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2646
2647         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2648
2649         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2650           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2651
2652         * gst/gstpadtemplate.h:
2653         * gst/gstpluginfeature.h:
2654           Don't use c++ style comments in headers (#321638).
2655
2656 2005-11-16  Andy Wingo  <wingo@pobox.com>
2657
2658         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2659         buffer.
2660
2661         * check/net/gstnettimeprovider.c: Check to see that the time
2662         provider actually provides times. Works, yo!
2663
2664 2005-11-16  Wim Taymans  <wim@fluendo.com>
2665
2666         * check/Makefile.am:
2667         Enable more tests.
2668
2669         * check/elements/fakesrc.c: (GST_START_TEST):
2670         Set element to NULL before disposing it.
2671
2672 2005-11-16  Andy Wingo  <wingo@pobox.com>
2673
2674         * gst/net/Makefile.am:
2675         * gst/net/gstnet.h:
2676         * gst/net/gstnettimeprovider.c: 
2677         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2678         provider, include it from gstnet.h, and add it to the build.
2679
2680         * gst/net/gstnettimepacket.h: 
2681         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2682         sending and receiving.
2683
2684 2005-11-16  Wim Taymans  <wim@fluendo.com>
2685
2686         * check/Makefile.am:
2687         Enable valgrind check.
2688
2689         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2690         (gst_fake_src_alloc_buffer):
2691         Fix memleak.
2692
2693 2005-11-16  Wim Taymans  <wim@fluendo.com>
2694
2695         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2696         Call parent finalize too.
2697
2698 2005-11-16  Wim Taymans  <wim@fluendo.com>
2699
2700         * check/Makefile.am:
2701         Enable valgrind check that should work fine now.
2702
2703         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2704         * gst/gstqueue.c: (gst_queue_init):
2705         Fix memleaks in pad allocation.
2706
2707 2005-11-16  Andy Wingo  <wingo@pobox.com>
2708
2709         * gst/net/Makefile.am:
2710         * gst/net/gstnet.h: New part of core to hold network elements and
2711         objects. Put in core because it exposes API that applications want
2712         to use. The library is named libgstnet-tempname right now because
2713         of the existing libgstnet in gst-plugins-base. Solution is
2714         probably to rename the one in plugins-base; will file a bug for
2715         the freeze break.
2716
2717         * gst/net/gstnettimeprovider.c: 
2718         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2719         get_time call over the network.
2720
2721         * configure.ac: 
2722         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2723
2724         * check/Makefile.am:
2725         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2726         get additions shortly.
2727
2728 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2729
2730         * gst/gstpad.c: (gst_pad_new_from_static_template):
2731         * gst/gstpad.h:
2732           add gst_pad_new_from_static_template functions
2733         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2734         (gst_check_setup_sink_pad):
2735         * gst/elements/gsttee.c: (gst_tee_init):
2736           and use them
2737
2738 2005-11-16  Wim Taymans  <wim@fluendo.com>
2739
2740         * gst/gstpad.c: (gst_pad_pause_task):
2741         Removed warning, it's not really an error either.
2742
2743 2005-11-16  Wim Taymans  <wim@fluendo.com>
2744
2745         * gst/base/gstbasetransform.c:
2746         (gst_base_transform_prepare_output_buf),
2747         (gst_base_transform_event):
2748         Check if the caps are NULL, this can happen if the element
2749         is shutting down and the pad caps are set to NULL.
2750
2751 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2752
2753         * gst/elements/gsttee.c: (gst_tee_init):
2754           fix pad template leak in tee
2755
2756 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2757
2758         * gst/glib-compat.c: (g_value_dup_gst_object):
2759         * gst/glib-compat.h:
2760         * gst/gstpad.c: (gst_pad_set_property):
2761           use gst_object_ref when setting the pad template; this will
2762           trigger the pad template leaks on GLib 2.6 and the slaves
2763
2764 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2765
2766         * gst/glib-compat.c: (gst_flags_get_first_value):
2767         * gst/glib-compat.h:
2768         * gst/gstregistryxml.c:
2769           remove functions copied from GLib 2.6
2770
2771 2005-11-16  Michael Smith <msmith@fluendo.com>
2772
2773         * gst/Makefile.am:
2774           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2775           do, but only breaks with newer valgrind versions. We're not a
2776           valgrind tool, we have no link-time dependencies on libcoregrind.
2777
2778 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2779
2780         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2781           some debug changes
2782         * gst/gstmessage.h:
2783           typo fixes
2784
2785 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2786
2787         * gst/base/gstbasesrc.c: (gst_base_src_init):
2788         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2789         * gst/gstqueue.c: (gst_queue_init):
2790         * gst/gstregistryxml.c: (load_feature):
2791           Revert all these unrefs, they don't even pass make check !
2792
2793 2005-11-15  Johan Dahlin  <johan@gnome.org>
2794
2795         * gst/base/gstbasesrc.c: (gst_base_src_init):
2796         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2797         * gst/gstqueue.c: (gst_queue_init): 
2798         Free pad templates, fixes a couple of leaks.
2799
2800 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2801
2802         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2803
2804         * gst/gstpad.c: (gst_pad_get_property):
2805           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2806           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2807           (#321452)
2808
2809 2005-11-15  Wim Taymans  <wim@fluendo.com>
2810
2811         * gst/gstevent.c:
2812         Small doc update.
2813
2814 2005-11-15  Andy Wingo  <wingo@pobox.com>
2815
2816         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2817
2818         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2819         using GST_CLOCK_TIME_NONE to disable base time management.
2820         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2821         time if it was NONE before.
2822         (gst_pipeline_change_state): Only munge the base time if
2823         stream_time != GST_CLOCK_TIME_NONE.
2824
2825         * check/gst/gstpipeline.c (test_base_time): Punt around the
2826         problem of the probe not being called, because that's not the
2827         issue I'm looking at. Add a check that setting stream_time to NONE
2828         disables base time management.
2829         
2830 2005-11-15  Wim Taymans  <wim@fluendo.com>
2831
2832         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2833         segment_stop == -1 at startup.
2834
2835         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2836         (gst_base_transform_change_state):
2837         Init segment values at start.
2838
2839 2005-11-15  Wim Taymans  <wim@fluendo.com>
2840
2841         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2842         0 segment values are 0 in any format.
2843
2844         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2845         * gst/base/gstbasetransform.h:
2846         Parse newsegment correctly in basetransform
2847
2848         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2849         Sync to clock using updated segment values.
2850
2851 2005-11-15  Andy Wingo  <wingo@pobox.com>
2852
2853         * check/gst/gstpipeline.c (test_base_time): Add check that the
2854         base time and stream time are reset correctly.
2855
2856 2005-11-15  Wim Taymans  <wim@fluendo.com>
2857
2858         * docs/design/part-TODO.txt:
2859         Some more TODO items.
2860
2861 2005-11-15  Andy Wingo  <wingo@pobox.com>
2862
2863         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2864         error if the user selected "no clock" as the clocking method.
2865
2866         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2867         timestamps with live capture.
2868
2869         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2870         is 0 but we are a live source, timestamp the buffers using the
2871         element's clock.
2872
2873 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2874
2875         * docs/gst/gstreamer-sections.txt:
2876         * gst/gsterror.c:
2877         * gst/gstghostpad.c:
2878         * gst/gstobject.h:
2879         * gst/gstxml.c:
2880           more section docs
2881
2882 2005-11-14  Wim Taymans  <wim@fluendo.com>
2883
2884         * common/gst.supp:
2885           add suppressions from Wim's Debian machine
2886
2887 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2888
2889         * common/gst.supp:
2890           add suppressions from Andy's AMD64 Ubuntu machine
2891
2892 2005-11-14  Andy Wingo  <wingo@pobox.com>
2893
2894         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2895         STATE_LOCK not necessary. Fixes #311489.
2896
2897         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2898         #305291.
2899
2900         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2901         this function is not implemented.
2902
2903 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2904
2905         * gst/base/gstbasetransform.c:
2906         (gst_base_transform_prepare_output_buf):
2907         Ref the source pad caps while we need them.
2908         Fixes (#321386)
2909
2910 2005-11-11  Wim Taymans  <wim@fluendo.com>
2911
2912         * docs/gst/gstreamer-sections.txt:
2913         Added some docs for GstCollectData.
2914
2915         * gst/base/gstadapter.c:
2916         Some small code example fix.
2917
2918         * gst/base/gstcollectpads.c:
2919         * gst/base/gstcollectpads.h:
2920         Document some more.
2921
2922 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2923
2924         * configure.ac: back to HEAD
2925
2926 === release 0.9.5 ===
2927
2928 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2929
2930         * configure.ac:
2931           releasing 0.9.5, "Bike Lunch Day"
2932
2933 2005-11-11  Wim Taymans  <wim@fluendo.com>
2934
2935         * gst/gstbuffer.c: (_gst_buffer_copy):
2936         Copy more flags.
2937
2938         * gst/gstcaps.c: (gst_caps_is_equal):
2939         Fix some docs.
2940         Make _is_equal fast in the trivial cases.
2941
2942         * gst/gstminiobject.c:
2943         * gst/gstminiobject.h:
2944         More docs. Spifify .h file.
2945
2946         * gst/gstutils.c:
2947         Small doc update.
2948
2949 2005-11-11  Wim Taymans  <wim@fluendo.com>
2950
2951         * gst/base/gstbasetransform.c:
2952         (gst_base_transform_prepare_output_buf),
2953         (gst_base_transform_handle_buffer):
2954         Small cleanups.
2955         If we're processing a buffer and need to allocate an output
2956         buffer, we cannot accept a format change. If we did get a 
2957         format change, we have to alloc a buffer ourselves of the 
2958         right size.
2959
2960 2005-11-11  Wim Taymans  <wim@fluendo.com>
2961
2962         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2963         While checking the flag for reentrancy in the gstcaps function
2964         is nice to detect recursive invocations, it also makes it 
2965         impossible to call getcaps from multiple threads, which must be
2966         possible. So, checking for recursive calls has to go.
2967
2968 2005-11-11  Michael Smith <msmith@fluendo.com>
2969
2970         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2971           Don't sync on buffers that fall partially outside our current
2972           segment. Prevents an assertion failure/abort playing some files.
2973
2974 2005-11-10  Andy Wingo  <wingo@pobox.com>
2975
2976         * check/gst/gstbin.c (test_message_state_changed_children): Style
2977         fix..
2978
2979         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2980         gst_bus_poll with the signal watch. Ensures that poll and a signal
2981         watch see the same messages.
2982
2983         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2984         a poll and a watch at the same time get the same messages.
2985
2986 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2987
2988         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2989         * gst/gstcaps.c: (gst_caps_intersect):
2990           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2991           and it's not needed.
2992
2993 2005-11-10  Wim Taymans  <wim@fluendo.com>
2994
2995         * docs/design/part-TODO.txt:
2996         Updated todo.
2997
2998 2005-11-10  Wim Taymans  <wim@fluendo.com>
2999
3000         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3001         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3002         (gst_base_src_do_sync), (gst_base_src_get_range):
3003         Implement clock sync in base class.
3004
3005 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3006
3007         patch by: Tim-Philipp Müller <tim at centricular dot net>
3008
3009         * gst/gststructure.c: (gst_structure_parse_field),
3010         (gst_structure_from_string):
3011           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3012           so that gst_parse_launch() can deal with spaces in filtered link
3013           caps (fixes #164479)
3014         * check/gst/capslist.h:
3015         * check/gst/gststructure.c: (GST_START_TEST):
3016           add unit tests for this change
3017
3018 2005-11-10  Wim Taymans  <wim@fluendo.com>
3019
3020         * docs/gst/gstreamer-sections.txt:
3021         * gst/gstelement.c:
3022         * gst/gstelement.h:
3023         Fix docs, move some STATE macros to private.
3024
3025 2005-11-10  Wim Taymans  <wim@fluendo.com>
3026
3027         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3028         Added check for bug #317341
3029
3030         * gst/gstbuffer.c:
3031         * gst/gstbuffer.h:
3032         Some more spiffifying.
3033
3034         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3035         Call peer linkfunction if we are a source pad. Totally fixes
3036         #317341
3037
3038         * gst/gstpad.c:
3039         Update docs, source pads should call the peer linkfunction
3040         so they can atomically perform the pad link.
3041
3042 2005-11-09  Wim Taymans  <wim@fluendo.com>
3043
3044         * gst/gstbuffer.c:
3045         * gst/gstbuffer.h:
3046         Uber-spiffy-spiffify some more.
3047
3048 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3049
3050         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3051         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3052         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3053         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3054         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3055         * gst/gstpad.c: (gst_pad_init):
3056           Use GST_DEBUG_FUNCPTR() more extensively.
3057
3058 2005-11-09  Wim Taymans  <wim@fluendo.com>
3059
3060         * gst/gstobject.c: (gst_object_class_init):
3061         * gst/gstobject.h:
3062         Documentation fixes.
3063
3064 2005-11-09  Edward Hervey  <edward@fluendo.com>
3065
3066         * gst/gsttypefindfactory.c:
3067         Fix docs.
3068         
3069 2005-11-09  Edward Hervey  <edward@fluendo.com>
3070
3071         * gst/base/gsttypefindhelper.c:
3072         * gst/gsttypefind.c:
3073         * gst/gsttypefind.h:
3074         Fix docs.
3075
3076 2005-11-09  Wim Taymans  <wim@fluendo.com>
3077
3078         * gst/gstiterator.c:
3079         Fix revision data.
3080
3081         * gst/gsttask.c:
3082         * gst/gsttask.h:
3083         Fix docs.
3084
3085 2005-11-09  Wim Taymans  <wim@fluendo.com>
3086
3087         * gst/gstevent.h:
3088         * gst/gsturi.h:
3089         Fix docs.
3090
3091 2005-11-09  Wim Taymans  <wim@fluendo.com>
3092
3093         * docs/gst/gstreamer-sections.txt:
3094         Moved the message async delivery private lock and cond
3095         to the private section.
3096
3097         * gst/gstmessage.c:
3098         * gst/gstmessage.h:
3099         Fixed docs.
3100
3101 2005-11-09  Edward Hervey  <edward@fluendo.com>
3102
3103         * docs/gst/gstreamer-sections.txt:
3104         * gst/gsturi.c:
3105         * gst/gsturi.h:
3106         Document GstURIHandler
3107
3108 2005-11-09  Wim Taymans  <wim@fluendo.com>
3109
3110         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3111         (gst_iterator_find_custom):
3112         * gst/gstiterator.h:
3113         Fix iterator docs.
3114
3115 2005-11-09  Wim Taymans  <wim@fluendo.com>
3116
3117         * gst/gstbin.h:
3118         Document another field.
3119
3120         * gst/gststructure.c:
3121         * gst/gststructure.h:
3122         Document.
3123
3124 2005-11-09  Wim Taymans  <wim@fluendo.com>
3125
3126         * gst/gstbin.h:
3127         Documented structs.
3128
3129 2005-11-09  Wim Taymans  <wim@fluendo.com>
3130
3131         * docs/gst/gstreamer-sections.txt:
3132         Added some new macros.
3133
3134         * gst/gstclock.c:
3135         * gst/gstclock.h:
3136         * gst/gstobject.h:
3137         Docs updates.
3138
3139 2005-11-09  Wim Taymans  <wim@fluendo.com>
3140
3141         * docs/design/part-TODO.txt:
3142         Some more items for the TODO
3143
3144         * gst/gstcaps.c:
3145         * gst/gstcaps.h:
3146         Document GstCaps.
3147
3148 2005-11-09  Andy Wingo  <wingo@pobox.com>
3149
3150         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3151         to work on something else now tho...
3152
3153         * gst/base/gstadapter.c: More adapter docs.
3154
3155         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3156         (gst_file_sink_stop): New functions, replace the state change
3157         handler.
3158         (gst_file_sink_class_init): Hook up the start and stop functions.
3159         (gst_file_sink_base_init): Don't set the state change handler any
3160         more. It was a bit ugly too, being set from here...
3161         (gst_file_sink_get_property, gst_file_sink_set_property):
3162         Cleanups...
3163         (gst_file_sink_set_location): More robust check that doesn't call
3164         GST_STATE. Ugggggg.
3165
3166 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3167
3168         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3169           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3170
3171 2005-11-08  Wim Taymans  <wim@fluendo.com>
3172
3173         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3174         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3175         (gst_base_sink_chain), (gst_base_sink_change_state):
3176         * gst/base/gstbasesink.h:
3177         * gst/base/gstbasesrc.h:
3178         * gst/gstelement.h:
3179         * gst/gstevent.h:
3180         Avoid excessive typechecking in macros.
3181
3182         * gst/gstminiobject.c: (gst_mini_object_get_type),
3183         (gst_mini_object_init), (gst_mini_object_new),
3184         (gst_mini_object_free):
3185         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3186         (gst_object_finalize):
3187         Remove cruft code, optimize alloc_trace.
3188
3189 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3190
3191         * docs/faq/gst-uninstalled:
3192           fix up PS1 for systems that try to reset it
3193
3194 2005-11-07  Wim Taymans  <wim@fluendo.com>
3195
3196         * gst/base/gstbasesrc.c: (gst_base_src_init),
3197         (gst_base_src_get_range):
3198         Set the segment_end to -1 initially. Fixed typefind.
3199
3200 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3201
3202         * gst/base/gstadapter.c:
3203           Debug category should be 'adapter', not 'GstAdapter'.
3204           
3205         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3206         (gst_collectpads_class_init), (gst_collectpads_init),
3207         (gst_collectpads_peek), (gst_collectpads_pop),
3208         (gst_collectpads_event), (gst_collectpads_chain):
3209           Add debug category and some debugging output. Use boilerplate
3210           macros. Remove some extraneous words from docs.
3211
3212 2005-11-05  Andy Wingo  <wingo@pobox.com>
3213
3214         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3215         macro.
3216
3217 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3218
3219         * docs/gst/gstreamer-sections.txt:
3220         * gst/gstcaps.h:
3221         * gst/gstinfo.c:
3222         * gst/gstminiobject.h:
3223         * gst/gstobject.h:
3224         * gst/gstutils.h:
3225           more docs added
3226
3227 2005-11-04  Wim Taymans  <wim@fluendo.com>
3228
3229         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3230         Small update to stop at the configured segment_end
3231         position.
3232
3233 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3234
3235         * gst/gstregistry.c:
3236         * gst/gstregistry.h:
3237           added missing docs
3238
3239 2005-11-04  Edward Hervey  <edward@fluendo.com>
3240
3241         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3242         Check if we are doing a segment seek and have arrived at the
3243         end of that segment.
3244
3245 2005-11-04  Wim Taymans  <wim@fluendo.com>
3246
3247         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3248         Don't leak a mutex unlock in case of an error.
3249
3250         * gst/gstbus.h:
3251         Doc fixes.
3252
3253 2005-11-04  Wim Taymans  <wim@fluendo.com>
3254
3255         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3256         (gst_bus_post):
3257         Get the context to wake up only once.
3258
3259 2005-11-03  Wim Taymans  <wim@fluendo.com>
3260
3261         * check/states/sinks.c: (GST_START_TEST):
3262         Uncomment fixed check.
3263
3264         * docs/design/part-TODO.txt:
3265         Updated TODO.
3266
3267         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3268         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3269         (gst_base_sink_get_position):
3270         If we are going to PLAYING, post the right pending state
3271         when we post the intermediate paused message.
3272
3273         * gst/gstelement.c: (gst_element_continue_state),
3274         (gst_element_set_state_func), (gst_element_change_state):
3275         Don't post state changes that were between the same state
3276         and were not ASYNC.
3277
3278 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3279
3280         * docs/gst/gstreamer-sections.txt:
3281         * gst/gstcaps.h:
3282         * gst/gstinfo.c:
3283         * gst/gstminiobject.h:
3284         * gst/gstobject.h:
3285         * gst/gstutils.h:
3286           more docs and doc style fixes
3287
3288 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3289
3290         * docs/gst/gstreamer-sections.txt:
3291         * gst/gstelement.c:
3292         * gst/gstminiobject.c:
3293         doc fixes
3294
3295 2005-11-03  Andy Wingo  <wingo@pobox.com>
3296
3297         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3298         state-changed messages actually have the right order and the right
3299         values.
3300
3301 2005-11-03  Wim Taymans  <wim@fluendo.com>
3302
3303         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3304         Added some more checks. Specifically the case where NO_PREROLL
3305         elements are in the pipeline.
3306
3307         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3308         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3309         (gst_base_sink_get_position):
3310         Post READY->PAUSED state change messages too.
3311         Fix bug where VOID was posted as pending state...
3312
3313         * gst/gstbin.c: (gst_bin_recalc_state):
3314         use _element_continue_state() to continue the state change.
3315
3316         * gst/gstelement.c: (gst_element_continue_state),
3317         (gst_element_commit_state), (gst_element_set_state_func),
3318         (gst_element_change_state), (gst_element_change_state_func):
3319         Lots of state change cleanups, assign the STATE_RETURN in
3320         a new continue_state() function that also propagates the
3321         last return value from a state change to the app.
3322         Update some debug statements with proper category.
3323
3324 2005-11-03  Wim Taymans  <wim@fluendo.com>
3325
3326         * docs/design/part-events.txt:
3327         * docs/design/part-gstpipeline.txt:
3328         * docs/design/part-messages.txt:
3329         * docs/design/part-overview.txt:
3330         * docs/design/part-seeking.txt:
3331         * docs/design/part-states.txt:
3332         * docs/design/part-trickmodes.txt:
3333         * docs/manual/advanced-position.xml:
3334         Small docs updates.
3335
3336         * gst/gstobject.h:
3337         People think !! is ugly, this looks better.
3338
3339         * gst/gstpad.c: (gst_pad_set_blocked_async):
3340         Remove !! since it's fixed elsewhere now.
3341
3342 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3343
3344         * gst/gstminiobject.h:
3345         * gst/gstobject.h:
3346           Add !! to _FLAG_IS_SET macros to make the result boolean.
3347
3348 2005-11-03  Edward Hervey  <edward@fluendo.com>
3349
3350         * gst/gstpad.c: (gst_pad_set_blocked_async):
3351         comparing a flag and a gboolean rarely returns coherent results...
3352         Added two characters (!!) to make that work correctly.
3353         
3354 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3355
3356         * gst/gstbus.c: (gst_bus_class_init):
3357           Fix some typos.
3358           
3359         * gst/gstqueue.c: (gst_queue_loop):
3360           Don't assume a miniobject that isn't a buffer is an
3361           event (it could be that there is a refcounting
3362           problem somewhere and the pointer is stale and
3363           refers to an already destroyed miniobject).
3364
3365 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3366
3367         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3368
3369 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3370
3371         * docs/manual/advanced-position.xml:
3372           Update seek example and explanations to current 0.9 API.
3373
3374         * gst/elements/gsttypefindelement.c:
3375         (gst_type_find_element_activate):
3376           Remove FIXME comment now that the found caps
3377           are unreffed.
3378
3379 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3380
3381         * gst/gstregistryxml.c: (load_feature):
3382           Add another GST_STR_NULL instance
3383
3384 2005-11-02  Edward Hervey  <edward@fluendo.com>
3385
3386         * gst/gstpad.c: (handle_pad_block):
3387         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3388         
3389 2005-11-02  Wim Taymans  <wim@fluendo.com>
3390
3391         * gst/gstbin.c:
3392         Fix typo in docs.
3393
3394         * gst/gstelement.c: (gst_element_commit_state):
3395         Remove unused value.
3396
3397         * gst/gstiterator.c:
3398         Mention that the returned element is reffed in the docs.
3399
3400 2005-11-02  Wim Taymans  <wim@fluendo.com>
3401
3402         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3403         (gst_pad_push), (gst_pad_push_event):
3404         Unlock blocked pads when they are flushed.
3405
3406 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3407
3408         * docs/README:
3409         * docs/gst/gstreamer-sections.txt:
3410         * gst/gstbin.c:
3411           doc updates
3412         * gst/gstregistry.c: (gst_registry_scan_path_level):
3413           fix for a nasty little missed situation where an installed plug-in
3414           which was in the cache did not get overridden by an uninstalled one
3415           which was earlier in the plugin path because the newly created plugin
3416           for the uninstalled one (not in the registry) didn't get its
3417           ->registered set to TRUE
3418
3419 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3420
3421         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3422         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3423         (gst_collectpads_is_active), (gst_collectpads_collect),
3424         (gst_collectpads_collect_range), (gst_collectpads_start),
3425         (gst_collectpads_stop), (gst_collectpads_peek),
3426         (gst_collectpads_pop), (gst_collectpads_available),
3427         (gst_collectpads_read), (gst_collectpads_flush):
3428           Guard public API with assertions.
3429         
3430         * gst/gstpad.c:
3431           Fix docs for gst_pad_set_link_function().
3432
3433 2005-11-02  Johan Dahlin  <johan@gnome.org>
3434
3435         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3436         Unref found_caps after we used it.
3437
3438 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3439
3440         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3441           Don't try to ref NULL.
3442
3443 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3444
3445         * win32/common/config.h.in:
3446           provide a GST_FUNCTION that just gives a string for now
3447
3448 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3449
3450         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3451         (gst_object_flags_get_type), (register_gst_bin_flags),
3452         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3453         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3454         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3455         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3456         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3457         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3458         (gst_clock_flags_get_type), (register_gst_state),
3459         (gst_state_get_type), (register_gst_state_change_return),
3460         (gst_state_change_return_get_type), (register_gst_state_change),
3461         (gst_state_change_get_type), (register_gst_element_flags),
3462         (gst_element_flags_get_type), (register_gst_core_error),
3463         (gst_core_error_get_type), (register_gst_library_error),
3464         (gst_library_error_get_type), (register_gst_resource_error),
3465         (gst_resource_error_get_type), (register_gst_stream_error),
3466         (gst_stream_error_get_type), (register_gst_event_type),
3467         (gst_event_type_get_type), (register_gst_seek_type),
3468         (gst_seek_type_get_type), (register_gst_seek_flags),
3469         (gst_seek_flags_get_type), (register_gst_format),
3470         (gst_format_get_type), (register_gst_index_certainty),
3471         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3472         (gst_index_entry_type_get_type),
3473         (register_gst_index_lookup_method),
3474         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3475         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3476         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3477         (gst_index_flags_get_type), (register_gst_debug_level),
3478         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3479         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3480         (gst_iterator_result_get_type), (register_gst_iterator_item),
3481         (gst_iterator_item_get_type), (register_gst_message_type),
3482         (gst_message_type_get_type), (register_gst_mini_object_flags),
3483         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3484         (gst_pad_link_return_get_type), (register_gst_flow_return),
3485         (gst_flow_return_get_type), (register_gst_activate_mode),
3486         (gst_activate_mode_get_type), (register_gst_pad_direction),
3487         (gst_pad_direction_get_type), (register_gst_pad_flags),
3488         (gst_pad_flags_get_type), (register_gst_pad_presence),
3489         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3490         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3491         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3492         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3493         (gst_plugin_flags_get_type), (register_gst_rank),
3494         (gst_rank_get_type), (register_gst_query_type),
3495         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3496         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3497         (gst_tag_flag_get_type), (register_gst_task_state),
3498         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3499         (gst_alloc_trace_flags_get_type),
3500         (register_gst_type_find_probability),
3501         (gst_type_find_probability_get_type), (register_gst_uri_type),
3502         (gst_uri_type_get_type), (register_gst_parse_error),
3503         (gst_parse_error_get_type):
3504         * win32/common/gstversion.h:
3505           update win32 copies
3506
3507 2005-11-01  Luca Ognibene  <luogni@tin.it>
3508
3509         * gst/gst.c:
3510           fix docs. popt is dead, long live GOption.
3511
3512 2005-10-31  Wim Taymans  <wim@fluendo.com>
3513
3514         * gst/gstbuffer.h:
3515         Small doc fix.
3516
3517 2005-10-31  Andy Wingo  <wingo@pobox.com>
3518
3519         * Boo!
3520
3521         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3522
3523         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3524         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3525         the possibility of deadlocks here if code calling notify() or
3526         set() has a lock that can be taken in another notify handler (ABBA
3527         with class lock and e.g. python GIL state lock).
3528
3529 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3530
3531         * gst/gstbus.c: Doc updates.
3532
3533 2005-10-28  Wim Taymans  <wim@fluendo.com>
3534
3535         * docs/design/part-TODO.txt:
3536         * gst/gstiterator.c:
3537         * gst/gstsystemclock.c:
3538         * gst/gstsystemclock.h:
3539         Doc updates.
3540
3541 2005-10-28  Edward Hervey  <edward@fluendo.com>
3542
3543         * docs/gst/gstreamer-docs.sgml:
3544         * docs/gst/gstreamer-sections.txt:
3545         the GstURIType documentation page is private, it only defines GstURIType
3546         which should be defined in the GstURIHandler page
3547         
3548 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3549
3550         * gst/gstbin.c: (gst_bin_class_init):
3551         * gst/gstbin.h:
3552         * gst/gstutils.c:
3553         Documentation updates.
3554
3555 2005-10-28  Wim Taymans  <wim@fluendo.com>
3556
3557         * docs/gst/gstreamer-sections.txt:
3558         * gst/gstclock.c:
3559         * gst/gstclock.h:
3560         Documented the clocks.
3561
3562 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3563
3564         * docs/gst/gstreamer-sections.txt:
3565           move some macros to private sections
3566         * gst/gstminiobject.c:
3567         * gst/gstminiobject.h:
3568           add descriptions provided by ds and some more
3569         * gst/gstpad.h:
3570           mark macro as to be removed
3571
3572 2005-10-28  Wim Taymans  <wim@fluendo.com>
3573
3574         * docs/design/part-TODO.txt:
3575         Add an item to TODO.
3576
3577         * gst/gstiterator.c: (gst_iterator_fold),
3578         (gst_iterator_find_custom):
3579         * gst/gstiterator.h:
3580         Add iterator docs.
3581
3582 2005-10-28  Wim Taymans  <wim@fluendo.com>
3583
3584         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3585         (gst_base_transform_init):
3586         Don't leak class.
3587
3588         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3589         An EOS event marks the queue as completely filled.
3590
3591 2005-10-27  Wim Taymans  <wim@fluendo.com>
3592
3593         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3594         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3595         Some more debugging.
3596
3597         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3598         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3599         (gst_base_transform_event), (gst_base_transform_getrange),
3600         (gst_base_transform_chain):
3601         * gst/base/gstbasetransform.h:
3602         Fix debugging,
3603         Protect transform and concurrent buffer alloc with a new lock.
3604         Try not to break ABI/API.
3605
3606 2005-10-27  Wim Taymans  <wim@fluendo.com>
3607
3608         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3609         (gst_base_src_init), (gst_base_src_query),
3610         (gst_base_src_default_newsegment),
3611         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3612         (gst_base_src_send_event), (gst_base_src_event_handler),
3613         (gst_base_src_pad_get_range), (gst_base_src_loop),
3614         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3615         (gst_base_src_start), (gst_base_src_deactivate),
3616         (gst_base_src_activate_push), (gst_base_src_change_state):
3617         Move some stuff around and cleanup things.
3618
3619 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3620
3621         * gst/base/gstbasesrc.c: (gst_base_src_query):
3622           Add missing break statements.
3623
3624 2005-10-27  Wim Taymans  <wim@fluendo.com>
3625
3626         * check/gst/gstbin.c: (GST_START_TEST):
3627         An extra refcount is taken in basesrc.
3628
3629         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3630         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3631         (gst_base_src_loop):
3632         Small cleanups, check for flushing after being unlocked from the 
3633         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3634         Don't send out EOS when going to READY.
3635
3636 2005-10-27  Wim Taymans  <wim@fluendo.com>
3637
3638         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3639         (gst_base_sink_get_position):
3640         Some more debug.
3641
3642         * gst/gstbin.c: (message_check), (bin_replace_message),
3643         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3644         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3645         (bin_query_duration_init), (bin_query_duration_fold),
3646         (bin_query_duration_done), (bin_query_generic_fold),
3647         (gst_bin_query):
3648         * tools/gst-launch.c: (main):
3649         Remove old option.
3650
3651 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3652
3653         * examples/controller/audio-example.c: (main):
3654         * examples/queue/queue.c: (event_loop):
3655         * gst/base/gstbasetransform.h:
3656         * gst/gstelement.c: (gst_element_send_event):
3657         * gst/gstevent.h:
3658         * gst/gstpad.c: (gst_pad_send_event):
3659           fixing examples
3660           fixing docs typos
3661           changing log priority in error situations
3662
3663 2005-10-25  Wim Taymans  <wim@fluendo.com>
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         Some doc and debug updates.
3672         Cache previously requested query DURATION for speed. invalidate
3673         cached duration if element posts a DURATION message.
3674
3675 2005-10-25  Wim Taymans  <wim@fluendo.com>
3676
3677         * docs/design/part-TODO.txt:
3678         Update TODO.
3679
3680         * gst/gstbin.c: (message_check), (bin_replace_message),
3681         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3682         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3683         (bin_query_duration_init), (bin_query_duration_fold),
3684         (bin_query_duration_done), (bin_query_generic_fold),
3685         (gst_bin_query):
3686         Handle SEGMENT_START/DONE messages correctly.
3687         More evolved query algorithm that handles duration queries
3688         correctly.
3689
3690         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3691         (gst_element_get_state_func), (gst_element_abort_state),
3692         (gst_element_commit_state), (gst_element_lost_state):
3693         Some more debugging.
3694
3695         * gst/gstmessage.h:
3696         Added doc.
3697
3698 2005-10-25  Wim Taymans  <wim@fluendo.com>
3699
3700         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3701         Don't use invalid stream_time.
3702
3703         * gst/gstevent.c: (gst_event_new_newsegment):
3704         stream_time in newsegment cannot be undefined.
3705
3706 2005-10-24  Wim Taymans  <wim@fluendo.com>
3707
3708         * gst/gstbus.c:
3709         Doc fix.
3710
3711         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3712         (gst_queue_loop):
3713         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3714
3715 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3716
3717         * docs/libs/tmpl/gstdparam.sgml:
3718         * docs/libs/tmpl/gstdplinint.sgml:
3719         * docs/libs/tmpl/gstdpman.sgml:
3720         * docs/libs/tmpl/gstdpsmooth.sgml:
3721         * docs/libs/tmpl/gstunitconvert.sgml:
3722           these are obsolete
3723
3724 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3725
3726         * configure.ac:
3727           back to HEAD
3728
3729 === release 0.9.4 ===
3730
3731 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3732
3733         * configure.ac:
3734           releasing 0.9.4, "Tyrannosaurus Rex"
3735
3736 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3737
3738         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3739         (gst_file_sink_get_current_offset):
3740           Use fseeko() and ftello() if available. When falling back on
3741           lseek() to get the current offset, fflush() first to make sure
3742           everything is up-to-date and we get the right offset.
3743
3744 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3745
3746         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3747         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3748         * gst/gsterror.c: (_gst_stream_errors_init):
3749         * gst/gsterror.h:
3750         * gst/gstqueue.c: (gst_queue_loop):
3751         * po/POTFILES.in:
3752           remove prematurely added error category and clean up the instances
3753
3754 2005-10-21  Wim Taymans  <wim@fluendo.com>
3755
3756         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3757         (gst_base_sink_get_position), (gst_base_sink_query),
3758         (gst_base_sink_change_state):
3759         Simply set the right flag when going to playing, that's all
3760         we need to do instead of calling a function inside the object
3761         lock (that could take the lock as well and deadlock)
3762
3763 2005-10-21  Wim Taymans  <wim@fluendo.com>
3764
3765         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3766         (gst_base_src_loop):
3767         Don't warn, the peer element knows what to do best when
3768         the seek failed, it might try something else.
3769
3770 2005-10-21  Wim Taymans  <wim@fluendo.com>
3771
3772         * gst/base/gstbasesrc.c: (gst_base_src_init),
3773         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3774         Fix seeking.
3775
3776 2005-10-21  Wim Taymans  <wim@fluendo.com>
3777
3778         * docs/design/part-segments.txt:
3779         More docs.
3780
3781         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3782         Correctly set caps, even on the subbufer.
3783
3784 2005-10-21  Wim Taymans  <wim@fluendo.com>
3785
3786         * docs/gst/gstreamer-docs.sgml:
3787         * docs/gst/gstreamer-sections.txt:
3788         * gst/gstelement.h:
3789         * gst/gstevent.c:
3790         * gst/gstevent.h:
3791         * gst/gstmessage.h:
3792         * gst/gstpad.h:
3793         * gst/gstparse.h:
3794         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3795         * gst/gsttask.h:
3796         * gst/gstutils.c:
3797         * gst/gstutils.h:
3798         And 2% more doc coverage.
3799
3800 2005-10-21  Andy Wingo  <wingo@pobox.com>
3801
3802         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3803         position reporting.
3804
3805 2005-10-20  Wim Taymans  <wim@fluendo.com>
3806
3807         * gst/gsterror.c: (gst_error_get_message):
3808         * gst/gstparse.h:
3809         * gst/gstquery.h:
3810         * gst/gststructure.c:
3811         * gst/gsttrace.c:
3812         * gst/gstutils.c:
3813         More docs.
3814
3815 2005-10-20  Wim Taymans  <wim@fluendo.com>
3816
3817         * gst/gstbuffer.h:
3818         * gst/gstpad.c:
3819         * gst/gstparse.c:
3820         Another 1% more coverage.
3821
3822 2005-10-20  Wim Taymans  <wim@fluendo.com>
3823
3824         * docs/gst/gstreamer-sections.txt:
3825         * gst/gstelement.c: (gst_element_get_state_func),
3826         (gst_element_abort_state), (gst_element_commit_state),
3827         (gst_element_lost_state):
3828         * gst/gstevent.h:
3829         * gst/gstquery.c: (gst_query_set_position),
3830         (gst_query_parse_position), (gst_query_set_duration),
3831         (gst_query_parse_duration), (gst_query_new_convert):
3832         * gst/gstutils.c:
3833         Yay! 1% more docs coverage.
3834
3835 2005-10-20  Wim Taymans  <wim@fluendo.com>
3836
3837         * gst/gstpad.h:
3838         * gst/gstquery.c: (gst_query_set_position),
3839         (gst_query_parse_position), (gst_query_set_duration),
3840         (gst_query_parse_duration), (gst_query_new_convert):
3841         * gst/gstquery.h:
3842         * gst/gstutils.c: (gst_element_query_convert):
3843         * gst/gstutils.h:
3844         Docs and consistency fixes.
3845
3846 2005-10-20  Wim Taymans  <wim@fluendo.com>
3847
3848         * gst/gsttask.c:
3849         * gst/gsttask.h:
3850         More docs.
3851
3852 2005-10-20  Wim Taymans  <wim@fluendo.com>
3853
3854         * gst/gstbin.c: (message_check), (bin_replace_message),
3855         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3856         (update_degree), (gst_bin_sort_iterator_next),
3857         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3858         Reworked the message handling a bit, cache the messages instead of
3859         only the senders. alows us to do more in the future.
3860
3861 2005-10-20  Wim Taymans  <wim@fluendo.com>
3862
3863         * docs/design/part-TODO.txt:
3864         Update TODO
3865
3866         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3867         (gst_base_sink_query):
3868         Don't use clock time to report position when in EOS.
3869
3870 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3871
3872         * tools/gst-inspect.c: (print_interfaces),
3873         (print_element_properties_info), (print_element_info):
3874           Fix interface output with gst-inspect -a; don't print
3875           newlines after double/float properties.
3876
3877 2005-10-20  Wim Taymans  <wim@fluendo.com>
3878
3879         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3880         (gst_base_sink_query):
3881         Speed up current position calculation.
3882
3883         * gst/base/gstbasesrc.c: (gst_base_src_query),
3884         (gst_base_src_default_newsegment):
3885         Correctly set stream position in newsegment.
3886
3887         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3888         (update_degree), (gst_bin_sort_iterator_next),
3889         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3890         * gst/gstmessage.c: (gst_message_new_custom):
3891         Clean up debugging info
3892
3893         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3894         (gst_queue_loop), (gst_queue_handle_src_query):
3895         Pause task faster.
3896
3897 2005-10-19  Wim Taymans  <wim@fluendo.com>
3898
3899         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3900         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3901         Fix query handling again.
3902
3903 2005-10-19  Wim Taymans  <wim@fluendo.com>
3904
3905         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3906         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3907         * gst/base/gstbasesrc.c: (gst_base_src_query):
3908         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3909         * gst/elements/gsttypefindelement.c:
3910         (gst_type_find_handle_src_query), (find_element_get_length),
3911         (gst_type_find_element_activate):
3912         API change fix.
3913
3914         * gst/gstquery.c: (gst_query_new_position),
3915         (gst_query_set_position), (gst_query_parse_position),
3916         (gst_query_new_duration), (gst_query_set_duration),
3917         (gst_query_parse_duration), (gst_query_set_segment),
3918         (gst_query_parse_segment):
3919         * gst/gstquery.h:
3920         Bundling query position/duration is not a good idea since duration
3921         does not change much and we don't want to recalculate it for every
3922         position query, so they are separated again..
3923         Base value in segment query is not needed.
3924
3925         * gst/gstqueue.c: (gst_queue_handle_src_query):
3926         * gst/gstutils.c: (gst_element_query_position),
3927         (gst_element_query_duration), (gst_pad_query_position),
3928         (gst_pad_query_duration):
3929         * gst/gstutils.h:
3930         Updates for query API change.
3931         Added some docs here and there.
3932
3933 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3934
3935         * check/gst/gstbin.c: (GST_START_TEST):
3936         * check/gst/gstghostpad.c: (GST_START_TEST):
3937         * check/pipelines/cleanup.c: (GST_START_TEST):
3938           wait on thread to die so we can check refcount correctly
3939
3940 2005-10-18  Wim Taymans  <wim@fluendo.com>
3941
3942         * check/pipelines/stress.c: (GST_START_TEST):
3943         Make check a little more time consuming.
3944
3945 2005-10-18  Wim Taymans  <wim@fluendo.com>
3946
3947         * check/Makefile.am:
3948         * check/pipelines/stress.c: (GST_START_TEST),
3949         (simple_launch_lines_suite), (main):
3950         Small state change torture test.
3951
3952         * docs/design/part-states.txt:
3953         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3954         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3955         (gst_base_sink_change_state):
3956         Never take state lock from streaming thread, clean up ugly
3957         hacks. Unfortunatly core does not yet support nice ways to
3958         async commit state.
3959         
3960         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3961         (bin_bus_handler):
3962         Start state recalc if a STATE_DIRTY message is posted, but only
3963         on the toplevel bin.
3964
3965         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3966         (gst_element_get_state_func), (gst_element_abort_state),
3967         (gst_element_commit_state), (gst_element_lost_state),
3968         (gst_element_set_state_func), (gst_element_change_state):
3969         * gst/gstelement.h:
3970         State variables are now protected with the LOCK, the state
3971         lock is only used to serialize _set_state().
3972
3973 2005-10-18  Wim Taymans  <wim@fluendo.com>
3974
3975         * check/gst/gstbin.c: (GST_START_TEST):
3976         * check/gst/gstmessage.c: (GST_START_TEST):
3977         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3978         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3979         (bin_bus_handler):
3980         * gst/gstelement.c: (gst_element_abort_state),
3981         (gst_element_commit_state), (gst_element_lost_state):
3982         * gst/gstmessage.c: (gst_message_new_state_changed),
3983         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3984         (gst_message_new_segment_done), (gst_message_new_duration),
3985         (gst_message_parse_state_changed),
3986         (gst_message_parse_segment_start),
3987         (gst_message_parse_segment_done), (gst_message_parse_duration):
3988         * gst/gstmessage.h:
3989         * tools/gst-launch.c: (event_loop):
3990         Seriously, this is better than a previous commit as we only need
3991         to notify the fact that an element changed state in a streaming
3992         thread, marking the state of the parents dirty, hence the 
3993         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3994         message.
3995
3996 2005-10-18  Wim Taymans  <wim@fluendo.com>
3997
3998         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3999         (gst_bin_recalc_func):
4000         * gst/gstelement.c: (gst_element_set_clock),
4001         (gst_element_abort_state), (gst_element_lost_state):
4002         Cleanups, prepare for state change fixes.
4003
4004 2005-10-18  Wim Taymans  <wim@fluendo.com>
4005
4006         * gst/gstbin.h:
4007         * gst/gstelement.c: (gst_element_class_init),
4008         (gst_element_set_state), (gst_element_set_state_func):
4009         * gst/gstelement.h:
4010         Pending ABI changes.
4011         GThreadPool in GstBinClass to monitor async state changes.
4012         state_cookie in GstElement to detect concurrent gst/set state.
4013         set_state is now virtual too in case a very complicated element
4014         has to be constructed.
4015
4016 2005-10-18  Wim Taymans  <wim@fluendo.com>
4017
4018         * check/gst/gstbin.c: (GST_START_TEST):
4019         * check/gst/gstmessage.c: (GST_START_TEST):
4020         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4021         * gst/gstbin.c: (bin_bus_handler):
4022         * gst/gstelement.c: (gst_element_commit_state),
4023         (gst_element_lost_state):
4024         * gst/gstmessage.c: (gst_message_new_state_changed),
4025         (gst_message_new_segment_start), (gst_message_new_segment_done),
4026         (gst_message_new_duration), (gst_message_parse_state_changed),
4027         (gst_message_parse_segment_start),
4028         (gst_message_parse_segment_done), (gst_message_parse_duration):
4029         * gst/gstmessage.h:
4030         * tools/gst-launch.c: (event_loop):
4031         Make messages future proof.
4032         state-change gets a flag if it was a message comming from the
4033         streaming thread.
4034         segment-start/stop can also be specified in other formats.
4035         A message to notify an app that a pipeline changed playback 
4036         duration.
4037         Also fix a GstMessage leak in -launch
4038
4039 2005-10-18  Andy Wingo  <wingo@pobox.com>
4040
4041         * gst/gstelement.c (gst_element_dispose): More helpful message.
4042
4043 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4044
4045         reviewed by: <delete if not using a buddy>
4046
4047         * common/gtk-doc.mak:
4048
4049 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4050
4051         * gst/gstregistry.c: (gst_registry_scan_path_level):
4052           unref a plug-in we get that was already initialized
4053
4054 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4055
4056         * docs/gst/gstreamer-sections.txt:
4057         * docs/libs/gstreamer-libs-sections.txt:
4058         * gst/gstelement.h:
4059           add new api entries
4060           hide internal macro
4061
4062 2005-10-17  Andy Wingo  <wingo@pobox.com>
4063
4064         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4065         cleanup.
4066
4067         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4068
4069         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4070
4071         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4072         (gst_element_get_state_func): Better debug message.
4073         (gst_element_commit_state): s/INFO/DEBUG/.
4074         (gst_element_lost_state, gst_element_change_state): 
4075
4076         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4077         (gst_message_new_custom): s/INFO/LOG/.
4078
4079 2005-10-17  Michael Smith <msmith@fluendo.com>
4080
4081         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4082           Check if end time is valid using end time, not start time.
4083
4084 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4085
4086         * check/gst-libs/controller.c: (GST_START_TEST),
4087         (gst_controller_suite):
4088         * libs/gst/controller/gstcontroller.c:
4089         (gst_controlled_property_set_interpolation_mode):
4090         * libs/gst/controller/gstcontroller.h:
4091         * libs/gst/controller/gstinterpolation.c:
4092         * testsuite/controller/.cvsignore:
4093         * testsuite/controller/Makefile.am:
4094         * testsuite/controller/interpolator.c:
4095           merge controller testsuites
4096           fix broken tests
4097           remove mem-chunk from docs
4098
4099 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4100
4101         * gst/gstmemchunk.c:
4102         * gst/gstmemchunk.h:
4103         * gst/gsttrashstack.c:
4104         * gst/gsttrashstack.h:
4105           out.  get out.  you're fired.  to the Attic !
4106
4107 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4108
4109         * gst/gstcaps.c: (gst_caps_intersect):
4110           fix signedness issues in a (hopefully) correct way
4111         * gst/gstelement.c: (gst_element_pads_activate):
4112           some debugging
4113         * gst/gstobject.c: (gst_object_set_parent):
4114           some debugging
4115
4116 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4117
4118         * gst/gstvalue.h: Fix prototypes.
4119
4120 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4121
4122         * docs/gst/gstreamer-sections.txt:
4123         * gst/gst.c: (gst_version_string):
4124         * gst/gst.h:
4125         * gst/gstversion.h.in:
4126         * win32/common/libgstreamer.def:
4127           add gst_version_string ()
4128
4129 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4130
4131         * configure.ac:
4132           clean up further
4133         * gst/gst.c: (init_post):
4134         * win32/common/config.h.in:
4135           it's PLUGINDIR now
4136         * gst/gstcaps.c: (gst_caps_intersect):
4137           use gint64, the range could be bigger than a guint
4138
4139 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4140
4141         * gst/gstclock.h:
4142           document potential problem in 2038
4143
4144 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4145
4146         * gst/gstcaps.c: (gst_caps_intersect):
4147           Fix guint j diving under 0
4148
4149 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4150
4151         * configure.ac:
4152         * win32/common/config.h:
4153         * win32/common/config.h.in:
4154           check for process.h, declares getpid() on Windows
4155         * gst/gstinfo.c:
4156           include process.h if we have it
4157         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4158         * gst/gstmemchunk.h:
4159           fix signedness issues
4160         * win32/common/libgstreamer.def:
4161           fix get_type's
4162
4163 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4164
4165         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4166         fix. Because of unsigned ints, caps intersection was going nuts and
4167         trying to access structures with G_MAXUINT index. That fixes
4168         videotestsrc ! ffmpegcolorspace ! fakesink
4169         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4170         consistency.
4171
4172 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4173
4174         * configure.ac:
4175           use the gettext macro
4176         * gst/elements/gstelements.c:
4177         * gst/gst.c:
4178         * gst/indexers/gstindexers.c:
4179           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4180         * win32/common/config.h:
4181           updated config.h
4182         * win32/common/config.h.in:
4183           add the template to generate config.h
4184         * win32/common/gstenumtypes.c:
4185         * win32/common/gstversion.h:
4186           updated copies
4187
4188 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4189
4190         * gst/gst.c: (gst_version):
4191         * gst/gstversion.h.in:
4192           add the nano
4193
4194 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4195
4196         * gst/gstevent.h:
4197           Oops, add missing closing bracket.
4198
4199 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4200
4201         * configure.ac:
4202           use common m4's for argument checking
4203
4204 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4205
4206         * docs/gst/gstreamer-sections.txt:
4207         * gst/gstevent.h:
4208           Add GST_EVENT_TYPE_NAME() macro.
4209
4210 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4211
4212         * gst/gstinfo.c:
4213         * gst/gstpluginfeature.c:
4214         * gst/gsttask.c:
4215           privatize more symbols
4216
4217 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4218
4219         * configure.ac:
4220           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4221           everything that uses GStreamer API should have the includes
4222
4223 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4224
4225         * docs/gst/gstreamer-sections.txt:
4226         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4227         * gst/gstvalue.h:
4228           give each value a _get_type, removes the DATA exports
4229
4230 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4231
4232         * gst/gst.c:
4233         * gst/gst.h:
4234           remove _gst_registry_auto_load, not used anymore
4235         * gst/gstbin.c: (gst_bin_get_type):
4236         * gst/gstbin.h:
4237         * gst/gstelement.c: (gst_element_get_type):
4238         * gst/gstelement.h:
4239         * gst/gstobject.c: (gst_object_get_type):
4240         * gst/gstobject.h:
4241         * gst/gstpad.c: (gst_pad_get_type):
4242         * gst/gstpad.h:
4243           make _get_type functions similar, fixes data export from library
4244
4245 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4246
4247         * configure.ac:
4248           correctly make conditionals
4249         * gst/elements/Makefile.am:
4250         * gst/elements/gstelements.c:
4251           fix typo causing fdsrc not to build
4252
4253 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4254
4255         * testsuite/Makefile.am:
4256         * testsuite/bytestream/.cvsignore:
4257         * testsuite/bytestream/Makefile.am:
4258         * testsuite/bytestream/filepadsink.c:
4259         * testsuite/bytestream/gstbstest.c:
4260         * testsuite/bytestream/test1.c:
4261         * testsuite/bytestream/testfile1:
4262         * testsuite/caps/normalisation.c:
4263         * testsuite/caps/random.c: (main):
4264         * testsuite/cleanup/.cvsignore:
4265         * testsuite/cleanup/Makefile.am:
4266         * testsuite/cleanup/cleanup1.c:
4267         * testsuite/cleanup/cleanup2.c:
4268         * testsuite/cleanup/cleanup3.c:
4269         * testsuite/cleanup/cleanup4.c:
4270         * testsuite/cleanup/cleanup5.c:
4271         * testsuite/controller/interpolator.c:
4272         * testsuite/debug/printf_extension.c: (main):
4273         * testsuite/elements/tee.c:
4274         * testsuite/negotiation/.cvsignore:
4275         * testsuite/negotiation/Makefile.am:
4276         * testsuite/negotiation/pad_link.c:
4277         * testsuite/pad/Makefile.am:
4278         * testsuite/pad/chainnopull.c:
4279         * testsuite/pad/getnopush.c:
4280         * testsuite/pad/link.c:
4281         * testsuite/refcounting/sched.c: (create_pipeline):
4282         * testsuite/registry/Makefile.am:
4283         * testsuite/registry/gst-print-formats.c:
4284         * testsuite/schedulers/.cvsignore:
4285         * testsuite/schedulers/142183-2.c:
4286         * testsuite/schedulers/142183.c:
4287         * testsuite/schedulers/143777-2.c:
4288         * testsuite/schedulers/143777.c:
4289         * testsuite/schedulers/147713.c:
4290         * testsuite/schedulers/147819.c:
4291         * testsuite/schedulers/147894-2.c:
4292         * testsuite/schedulers/147894.c:
4293         * testsuite/schedulers/Makefile.am:
4294         * testsuite/schedulers/group_link.c:
4295         * testsuite/schedulers/queue_link.c:
4296         * testsuite/schedulers/relink.c:
4297         * testsuite/schedulers/unlink.c:
4298         * testsuite/schedulers/unref.c:
4299         * testsuite/schedulers/useless_iteration.c:
4300         * testsuite/states/bin.c:
4301           clean out/remove some stuff from the testsuite directories
4302
4303 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4304
4305         * configure.ac:
4306           check for some headers
4307         * gst/elements/Makefile.am:
4308         * gst/elements/gstelements.c:
4309           don't compile fdsrc without sys/socket.h
4310         * gst/indexers/Makefile.am:
4311         * gst/indexers/gstindexers.c: (plugin_init):
4312           don't compile fileindex without mmap
4313
4314 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4315
4316         * configure.ac:
4317           reorganize
4318           clean up
4319           document more
4320           remove cruft
4321         * check/Makefile.am:
4322         * docs/gst/Makefile.am:
4323         * examples/helloworld/Makefile.am:
4324         * gst/Makefile.am:
4325         * gst/base/Makefile.am:
4326         * gst/check/Makefile.am:
4327         * gst/elements/Makefile.am:
4328         * gst/indexers/Makefile.am:
4329         * gst/parse/Makefile.am:
4330         * libs/gst/controller/Makefile.am:
4331         * libs/gst/dataprotocol/Makefile.am:
4332         * examples/helloworld/helloworld.c: (event_loop):
4333           compile fixes, though it's not being compiled currently
4334
4335 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4336
4337         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4338           Add some simple tests for the new taglist date API.
4339
4340 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4341
4342         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4343         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4344           Beautify 'last-message' output: print 'none' for buffer timestamps
4345           and durations if none is set; improve alignment with next messages.
4346
4347 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4348
4349         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4350         * gst/gstpluginfeature.h:
4351         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4352         * gst/gstregistry.h:
4353         * docs/gst/gstreamer-sections.txt:
4354           Add new API to check plugin feature version requirements.
4355
4356         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4357           Some basic tests for the above.         
4358
4359 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4360
4361         * gst/gststructure.c: (gst_structure_to_string):
4362           guard against NULL printf - happens when for example
4363           a message structure with GstClock gets serialized
4364
4365 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4366
4367         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4368           Fix presumable copy'n'pasto.
4369
4370 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4371
4372         * gst/elements/gstfakesrc.h:
4373         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4374         * gst/elements/gsttypefindelement.c:
4375           fix some signedness
4376         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4377           I wonder if this could actually write +2GB files before
4378
4379 2005-10-13  Andy Wingo  <wingo@pobox.com>
4380
4381         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4382         Fix Timmeke Waymans bug.
4383         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4384         string of the proper length to gst_caps_from_string. There's a
4385         potential for, before this fix, that this could cause someone
4386         connecting over the network to cause a segfault if the payload is
4387         not NUL-terminated.
4388
4389 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4390
4391         * docs/design/draft-push-pull.txt:
4392         * docs/design/part-overview.txt:
4393         * docs/random/TODO-pre-0.9:
4394         * docs/random/old/ChangeLog.gstreamer:
4395         * gst/base/gstpushsrc.c:
4396         * gst/gstclock.c:
4397           fixed typos
4398
4399 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4400
4401         * gst/glib-compat.c: (gst_flags_get_first_value):
4402         * gst/glib-compat.h:
4403         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4404         (gst_value_compare_double), (gst_value_serialize_flags):
4405           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4406           infinite loop
4407
4408 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4409
4410         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4411         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4412           fix up debugging
4413         * tools/gst-launch.c: (event_loop):
4414           print out clock nicely
4415
4416 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4417
4418         * docs/gst/gstreamer-sections.txt:
4419         * gst/gsttaglist.h:
4420         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4421         (gst_tag_list_get_date_index):
4422           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4423           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4424
4425 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4426
4427         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4428         (gst_collectpads_chain):
4429         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4430         in CollectData.
4431
4432 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4433
4434         * docs/gst/gstreamer-sections.txt:
4435         * gst/gst.c:
4436         * gst/gsterror.h:
4437         * tools/gst-inspect.c: (main):
4438         * tools/gst-launch.c: (main):
4439         * tools/gst-run.c: (main):
4440         * tools/gst-xmlinspect.c: (main):
4441           fix GOption context leaks
4442           doc fixes
4443
4444 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4445
4446         * gst/gstbus.c:
4447           use HAVE_UNISTD_H
4448         * win32/common/config.h:
4449           update config
4450         * win32/vs6/grammar.dsp:
4451         * win32/vs6/libgstelements.dsp:
4452         * win32/vs6/libgstreamer.dsp:
4453           update vs6 files
4454
4455 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4456
4457         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4458         * gst/base/gstbasesrc.c: (gst_base_src_query):
4459           fix more guint64<->gdouble conversions
4460
4461 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4462
4463         * Makefile.am:
4464           add win32-update target
4465         * win32/common/gstconfig.h:
4466         * win32/common/gstenumtypes.c:
4467         * win32/common/gstenumtypes.h:
4468         * win32/common/gstversion.h:
4469           add files that visual studio can't generate
4470
4471 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4472
4473         * Makefile.am:
4474           add a win32-update target
4475         * configure.ac:
4476
4477 2005-10-12  Wim Taymans  <wim@fluendo.com>
4478
4479         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4480         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4481         * gst/gstelement.c: (gst_element_commit_state),
4482         (gst_element_set_state):
4483         Protect flags with proper lock.
4484         unref provided cached clock in dispose.
4485
4486 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4487
4488         * gst/gst.c:
4489         * gst/gstminiobject.h:
4490         * gst/gstpad.h:
4491         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4492           removed unused flags from miniobject
4493           doc fixes
4494
4495 2005-10-12  Wim Taymans  <wim@fluendo.com>
4496
4497         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4498         (gst_file_sink_event), (gst_file_sink_render):
4499         Flush before seeking.
4500
4501 2005-10-12  Andy Wingo  <wingo@pobox.com>
4502
4503         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4504         always been the case.
4505
4506 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4507
4508         * check/gst/gstbin.c: (GST_START_TEST):
4509         * docs/gst/gstreamer-sections.txt:
4510         * gst/base/gstbasesink.c: (gst_base_sink_init):
4511         * gst/base/gstbasesrc.c: (gst_base_src_init),
4512         (gst_base_src_get_range), (gst_base_src_check_get_range),
4513         (gst_base_src_start), (gst_base_src_stop):
4514         * gst/base/gstbasesrc.h:
4515         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4516         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4517         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4518         (bin_bus_handler):
4519         * gst/gstbin.h:
4520         * gst/gstbuffer.h:
4521         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4522         * gst/gstbus.h:
4523         * gst/gstelement.c: (gst_element_is_locked_state),
4524         (gst_element_set_locked_state), (gst_element_commit_state),
4525         (gst_element_set_state):
4526         * gst/gstelement.h:
4527         * gst/gstindex.c: (gst_index_init):
4528         * gst/gstindex.h:
4529         * gst/gstminiobject.h:
4530         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4531         (gst_object_set_parent):
4532         * gst/gstobject.h:
4533         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4534         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4535         * gst/gstpad.h:
4536         * gst/gstpadtemplate.h:
4537         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4538         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4539         * gst/gstpipeline.h:
4540         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4541         (gst_file_index_commit):
4542         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4543         * testsuite/pad/link.c: (gst_test_src_init),
4544         (gst_test_filter_init), (gst_test_sink_init):
4545         * testsuite/states/locked.c: (main):
4546           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4547           moved bitshift from macro to enum definition
4548
4549 2005-10-12  Wim Taymans  <wim@fluendo.com>
4550
4551         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4552         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4553         (gst_file_sink_render):
4554         Some more debugging info.
4555
4556 2005-10-12  Wim Taymans  <wim@fluendo.com>
4557
4558         * docs/design/part-states.txt:
4559         * tools/gst-launch.c: (main):
4560         Some doc updates.
4561         Revert non-intentional change.
4562
4563 2005-10-12  Wim Taymans  <wim@fluendo.com>
4564
4565         * check/gst/gstbin.c: (GST_START_TEST):
4566         * check/gst/gstelement.c: (GST_START_TEST):
4567         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4568         * check/gst/gstghostpad.c: (GST_START_TEST):
4569         * check/gst/gstpipeline.c: (GST_START_TEST):
4570         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4571         * check/states/sinks.c: (GST_START_TEST):
4572         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4573         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4574         (gst_bin_remove_func), (gst_bin_get_state_func),
4575         (gst_bin_recalc_state), (gst_bin_change_state_func),
4576         (bin_bus_handler):
4577         * gst/gstelement.c: (gst_element_get_state_func),
4578         (gst_element_get_state), (gst_element_abort_state),
4579         (gst_element_commit_state), (gst_element_set_state),
4580         (gst_element_change_state), (gst_element_change_state_func):
4581         * gst/gstelement.h:
4582         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4583         (gst_pipeline_provide_clock_func):
4584         * gst/gstutils.c: (gst_element_link_pads_filtered):
4585         * tools/gst-launch.c: (main):
4586         * tools/gst-typefind.c: (main):
4587         Use GstClockTime in _get_state() instead of GTimeVal.
4588         Remove old code in gstutils.c
4589
4590 2005-10-12  Andy Wingo  <wingo@pobox.com>
4591
4592         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4593         removed.
4594
4595         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4596         there is no task. Shouldn't affect any code, as nothing in our
4597         plugins checks this return value.
4598         (gst_pad_stop_task): Also take the stream lock if the pad has no
4599         task. Docs updated.
4600
4601 2005-10-12  Wim Taymans  <wim@fluendo.com>
4602
4603         * gst/gstpad.c: (pre_activate), (post_activate),
4604         (gst_pad_activate_pull), (gst_pad_activate_push):
4605         Cleanup activation code. Reset old state if
4606         activation failed.
4607
4608 2005-10-12  Wim Taymans  <wim@fluendo.com>
4609
4610         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4611         (gst_base_sink_change_state):
4612         No need to prerol after receiving EOS.
4613
4614         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4615         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4616         * gst/elements/gstidentity.c: (gst_identity_event):
4617         Print events more verbosely.
4618
4619 2005-10-12  Wim Taymans  <wim@fluendo.com>
4620
4621         * check/Makefile.am:
4622         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4623         * check/states/sinks2.c:
4624         Moved sinks2 testcode in sinks check.
4625
4626         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4627         (gst_bin_remove_func), (gst_bin_recalc_state),
4628         (gst_bin_change_state_func), (bin_bus_handler):
4629         Fix potential race condition when _get_state() iterated over an
4630         ASYNC element right before it posted a state completion.
4631
4632         * gst/gstclock.h:
4633         Do proper cast here.
4634
4635         * gst/gstevent.c: (gst_event_new_newsegment),
4636         (gst_event_parse_newsegment):
4637         A playback rate of 0.0 is not allowed.
4638
4639 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4640
4641         * win32/common/config.h:
4642         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4643         (_trewinddir), (_ttelldir), (_tseekdir):
4644         * win32/common/dirent.h:
4645         * win32/common/gtchar.h:
4646         * win32/common/libgstbase.def:
4647         * win32/common/libgstreamer.def:
4648         * win32/vs6/grammar.dsp:
4649         * win32/vs6/gst_inspect.dsp:
4650         * win32/vs6/gst_launch.dsp:
4651         * win32/vs6/gstreamer.dsw:
4652         * win32/vs6/libgstbase.dsp:
4653         * win32/vs6/libgstelements.dsp:
4654         * win32/vs6/libgstreamer.dsp:
4655           Visual Studio 6 project files, and a new common directory.
4656           Phear.
4657
4658 2005-10-11  Wim Taymans  <wim@fluendo.com>
4659
4660         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4661         (gst_base_sink_do_sync), (gst_base_sink_query),
4662         (gst_base_sink_change_state):
4663         * gst/base/gstbasesink.h:
4664         Correctly parse newsegment info.
4665
4666 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4667
4668         * gst/gst.c: (init_post):
4669           split plugin paths correctly
4670
4671 2005-10-11  Wim Taymans  <wim@fluendo.com>
4672
4673         * check/gst/gstevent.c: (GST_START_TEST):
4674         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4675         (gst_base_sink_change_state):
4676         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4677         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4678         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4679         * gst/gstevent.c: (gst_event_new_newsegment),
4680         (gst_event_parse_newsegment):
4681         * gst/gstevent.h:
4682         Added extra flag to newsegment for future API freeze.
4683         Updated check and base elements.
4684
4685 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4686
4687         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4688         (gst_collectpads_add_pad), (gst_collectpads_pop),
4689         (gst_collectpads_event), (gst_collectpads_chain):
4690         * gst/base/gstcollectpads.h: Handle EOS correctly.
4691
4692 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4693
4694         * tools/gst-launch.c: (main):
4695           more null protecting
4696
4697 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4698
4699         * gst/gst-i18n-lib.h:
4700           check for ENABLE_NLS, not GETTEXT_PACKAGE
4701         * gst/gstregistry.c: (gst_registry_add_plugin),
4702         (gst_registry_scan_path_level),
4703         (_gst_registry_remove_cache_plugins):
4704           protect possibly NULL strings
4705         * gst/parse/types.h:
4706           config.h already included before
4707         * tools/gst-inspect.c: (main):
4708           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4709           check for ENABLE_NLS, not GETTEXT_PACKAGE
4710         * tools/gst-launch.c: (main):
4711           check for ENABLE_NLS, not GETTEXT_PACKAGE
4712
4713 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4714
4715         * configure.ac:
4716           if we don't have glib, fail before testing 2.8
4717         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4718           fix a leak, should fix plugins-base testsuite
4719
4720 2005-10-11  Andy Wingo  <wingo@pobox.com>
4721
4722         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4723         take the mode we're going to as an arg. Go head and set the mode
4724         and flushing flags now, so that if the activate function starts a
4725         thread all the flags will be in the right state.
4726         (post_activate): Renamed also. Just handle making sure streaming
4727         finishes for the deactivation case, and setting the deactivated
4728         mode.
4729         (gst_pad_set_active): Complain loudly if deactivation fails.
4730         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4731         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4732         remove the terrible hack.
4733
4734 2005-10-11  Wim Taymans  <wim@fluendo.com>
4735
4736         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4737         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4738         (gst_bin_recalc_state), (gst_bin_change_state_func),
4739         (gst_bin_dispose), (bin_bus_handler):
4740         * gst/gstbin.h:
4741         Prepare to make current EOS message queue more generic.
4742         Fix some typos.
4743
4744         * gst/gstevent.c: (gst_event_new_newsegment),
4745         (gst_event_parse_newsegment):
4746         * gst/gstevent.h:
4747         Rename base to stream_time.
4748
4749         * gst/gstmessage.h:
4750         Fix typo in docs.
4751
4752 2005-10-11  Wim Taymans  <wim@fluendo.com>
4753
4754         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4755         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4756         (gst_bin_change_state_func), (bin_bus_handler):
4757         * gst/gstbin.h:
4758         Work on proper clock selection.
4759
4760 2005-10-11  Edward Hervey  <edward@fluendo.com>
4761
4762         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4763         * libs/gst/controller/gstcontroller.h:
4764         Added GList* version of _remove_properties() in order to be able to wrap
4765         it in bindings.
4766
4767 2005-10-11  Wim Taymans  <wim@fluendo.com>
4768
4769         * docs/design/part-states.txt:
4770         Some more docs.
4771
4772         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4773         (gst_bin_change_state_func), (bin_bus_handler):
4774         Doc updates. Don't distribute the same clock over and over again.
4775
4776         * gst/gstclock.c:
4777         * gst/gstclock.h:
4778         Doc updates.
4779
4780         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4781         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4782         (gst_pad_send_event):
4783         * gst/gstpad.h:
4784         Make probe emission threadsafe again.
4785         Register quarks and move _get_name() from utils.
4786         Doc updates.
4787
4788         * gst/gstpipeline.c: (gst_pipeline_class_init),
4789         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4790         Only redistribute the clock of it changed.
4791
4792         * gst/gstsystemclock.h:
4793         Doc updates. 
4794
4795         * gst/gstutils.c:
4796         * gst/gstutils.h:
4797         Moved the _flow_get_name() to GstPad.
4798
4799 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4800
4801         * check/gst-libs/gdp.c: (GST_START_TEST):
4802         * check/gst/gstcaps.c: (GST_START_TEST):
4803         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4804         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4805         (gst_dp_packet_from_caps):
4806           fix more valgrind warnings before turning up the heat
4807
4808 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4809
4810         * gst/parse/grammar.y:
4811           some cleanup before the hacking
4812
4813 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4814
4815         * gst/base/gstbasesrc.c: (gst_base_src_query):
4816           use conversions
4817         * gst/gstutils.c: (gst_guint64_to_gdouble),
4818         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4819         * gst/gstutils.h:
4820           externalize, basesrc uses it
4821           obviously the implementation needs testing
4822
4823 2005-10-10  Wim Taymans  <wim@fluendo.com>
4824
4825         * tests/sched/Makefile.am:
4826         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4827         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4828
4829 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4830
4831         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4832           apparently converting from guint64 to double is not implemented
4833           on MSVC
4834
4835 2005-10-10  Wim Taymans  <wim@fluendo.com>
4836
4837         * check/Makefile.am:
4838         * check/generic/states.c: (GST_START_TEST):
4839         * check/gst/gstbin.c: (GST_START_TEST):
4840         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4841         * check/states/sinks.c: (GST_START_TEST):
4842         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4843         (main):
4844         Check fixes, use API as stated in design docs, remove hacks.
4845
4846         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4847         (gst_base_sink_change_state):
4848         Catch stopping our task while we're shutting down.
4849
4850         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4851         (gst_bin_remove_func), (gst_bin_get_state_func),
4852         (gst_bin_recalc_state), (gst_bin_change_state_func),
4853         (bin_bus_handler):
4854         * gst/gstbin.h:
4855         * gst/gstelement.c: (gst_element_init),
4856         (gst_element_get_state_func), (gst_element_abort_state),
4857         (gst_element_commit_state), (gst_element_lost_state),
4858         (gst_element_set_state), (gst_element_change_state),
4859         (gst_element_change_state_func):
4860         * gst/gstelement.h:
4861         New state change algorithm (see #318116)
4862
4863         * gst/gstpipeline.c: (gst_pipeline_class_init),
4864         (gst_pipeline_init), (gst_pipeline_set_property),
4865         (gst_pipeline_get_property), (do_pipeline_seek),
4866         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4867         * gst/gstpipeline.h:
4868         Remove crude state change hacks.
4869
4870         * gst/gstutils.h:
4871         Remove crude hacks.
4872
4873         * tools/gst-launch.c: (main):
4874         Fixes for state change. Needs some more work to fully use the
4875         new stuff.
4876
4877 2005-10-10  Andy Wingo  <wingo@pobox.com>
4878
4879         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4880
4881         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4882         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4883         issue.
4884
4885 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4886
4887         * gst/gstiterator.c: (gst_iterator_new):
4888           Fix my previous commit: GTypes passed to gst_iterator_new()
4889           can be fundamental types.
4890
4891 2005-10-10  Wim Taymans  <wim@fluendo.com>
4892
4893         * gst/gstelement.c: (gst_element_iterate_pad_list),
4894         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4895         (gst_element_iterate_sink_pads):
4896         Use src/sink pads lists for the respective iterators instead
4897         of filtering.
4898
4899 2005-10-10  Andy Wingo  <wingo@pobox.com>
4900
4901         Merged in popt removal + GOption addition patch from Ronald, bug
4902         #169772.
4903
4904         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4905         GstElement macros around, remove popt-related symbols, add goption
4906         stuff.
4907
4908         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4909         
4910         * docs/gst/Makefile.am:
4911         * docs/libs/Makefile.am: No POPT_CFLAGS.
4912         
4913         * examples/manual/Makefile.am:
4914         * docs/manual/basics-init.xml: Doc updates with an example.
4915         
4916         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4917         (gst_init), (parse_one_option), (parse_goption_arg):
4918         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4919         bit of hand merging and debugging to get the GOption stuff working
4920         tho.
4921         
4922         * tests/Makefile.am:
4923         * tools/Makefile.am:
4924         * tools/gst-inspect.c: (main):
4925         * tools/gst-launch.c: (main):
4926         * tools/gst-run.c: (main):
4927         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4928
4929 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4930
4931         * gst/gstiterator.c: (gst_iterator_new):
4932           Add assertions to make sure passed GType is likely to really
4933           be a GType (as the compiler won't catch it if the size and
4934           GType arguments get mixed up, see #318447).
4935
4936 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4937
4938         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4939
4940         * gst/gstbin.c: (gst_bin_iterate_sorted):
4941           Pass GType and size arguments to gst_iterator_new() in the right
4942           order (maybe we should make _new() take the GType as first argument
4943           just like _new_list()?) (#318447).
4944           
4945
4946 2005-10-10  Wim Taymans  <wim@fluendo.com>
4947
4948         * gst/gstelement.c: (gst_element_finalize):
4949         And free the GStaticRecMutex too
4950
4951 2005-10-10  Andy Wingo  <wingo@pobox.com>
4952
4953         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4954         Allocate and free the mutex properly.
4955
4956         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4957         New macros.
4958         (GstElement): The state_lock is now recursive. Rebuild your
4959         plugins, suckers. Old macros adapted.
4960
4961         * docs/gst/gstreamer-sections.txt: Doc updates.
4962
4963         * gst/gstutils.h:
4964         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4965         (g_static_rec_cond_wait): Ported from state changes patch, while
4966         we wait on bug #317802 to be solved in a well-distributed GLib.
4967
4968         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4969         gst_element_change_state, variable name changes.
4970         (gst_element_change_state): Split out of gst_element_set_state in
4971         preparation for the state change merge. Doesn't pay attention to
4972         the 'transition' argument.
4973         (gst_element_set_state): Updates, hopefully purely cosmetic.
4974         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4975         state change patch.
4976         (gst_element_get_state_func): Renamed from get_state, cosmetic
4977         changes.
4978
4979 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4980
4981         * gst/elements/gstelements.c:
4982         * win32/GStreamer.vcproj:
4983         * win32/config.h:
4984         * win32/dirent.c: (_tseekdir):
4985         * win32/gst-inspect.vcproj:
4986         * win32/gst-launch.vcproj:
4987         * win32/gstconfig.h:
4988         * win32/gstelements.vcproj:
4989         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4990         * win32/gstreamer.def:
4991         * win32/msvc71.sln:
4992           updates for the win32 build (patch from Sebastien Moutte)
4993
4994 2005-10-10  Andy Wingo  <wingo@pobox.com>
4995
4996         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4997         gst_bin_get_state, cleaned up (but no logic changes).
4998         (bin_element_is_sink): Comment updates.
4999         (sink_iterator_filter): Remove needless cast.
5000         (gst_bin_iterate_sinks): Doc update.
5001         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5002         cleaned up (but no logic changes).
5003
5004         * check/states/sinks.c (test_src_sink): Cleanups from the state
5005         change patch.
5006         (test_livesrc_sink): Sync on the state.
5007
5008         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5009         the state change patch.
5010
5011         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5012         change patch.
5013
5014         * check/gst/gstbin.c: Merge in some style fixes and additional
5015         checks from Wim's state change patch.
5016
5017 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5018
5019         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5020         (gst_type_find_helper):
5021           Check whether we have the requested data already in our list of
5022           cached buffers before pulling a new buffer; also make the buffer
5023           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5024
5025 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5026
5027         * gst/gstcaps.c:
5028         * gst/gstevent.c:
5029           doc updates
5030         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5031           don't use long long, it's not portable.  Replacing with
5032           gint64 seems to work; let's hope no skeletons fall out of the closet.
5033
5034 2005-10-10  Andy Wingo  <wingo@pobox.com>
5035
5036         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5037
5038 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5039
5040         * docs/gst/gstreamer-sections.txt:
5041         * gst/gstevent.c:
5042         * gst/gstevent.h:
5043         * gst/gstinfo.c:
5044         * gst/gstinfo.h:
5045         * gst/gstmessage.c: (gst_message_parse_state_changed):
5046         * gst/gstpad.c:
5047         * gst/gstpad.h:
5048           more docs, fix compilation
5049
5050 2005-10-09  Philippe Khalaf <burger@speedy.org>
5051         * gst/gstmessage.c:
5052           Fixed a few forgotten variables on previous commit
5053
5054 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5055
5056         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5057           Fix evil typefind crasher: getrange() might return a short
5058           buffer at the end of a file, but gst_type_find_peek() must
5059           either return the full data as requested or NULL, but
5060           never a short buffer.
5061
5062 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5063
5064         * gst/gstmessage.c: (gst_message_new_state_changed),
5065         (gst_message_parse_state_changed):
5066         * gst/gstmessage.h:
5067           don't use "new", it's a C++ keyword
5068
5069 2005-10-08  Wim Taymans  <wim@fluendo.com>
5070
5071         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5072         * gst/gstelement.c: (gst_element_post_message):
5073         * gst/gstpipeline.c: (gst_pipeline_change_state):
5074         Small docs and debug updates.
5075
5076 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5077
5078         * docs/gst/gstreamer-sections.txt:
5079         * gst/gstelementfactory.c:
5080         * gst/gstevent.c:
5081         * gst/gsttaglist.c:
5082           more docs
5083
5084 2005-10-08  Wim Taymans  <wim@fluendo.com>
5085
5086         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5087         (gst_bin_dispose), (bin_bus_handler):
5088         Fix typos, add comments.
5089         Clear EOS list when going to PAUSED from any direction and do it
5090         in a threadsafe way.
5091         Get base time in a threadsafe way too.
5092         Fix confusing debug in the change_state function.
5093         Various other small cleanups.
5094         
5095         * gst/gstelement.c: (gst_element_post_message):
5096         Fix very verbose bus posting code.
5097
5098         * gst/gstpipeline.c: (gst_pipeline_class_init),
5099         (gst_pipeline_set_property), (gst_pipeline_get_property),
5100         (gst_pipeline_change_state):
5101         Small ARG_ -> PROP_ cleanup
5102
5103 2005-10-08  Wim Taymans  <wim@fluendo.com>
5104
5105         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5106         Do a less CPU demanding EOS check because we can.
5107
5108 2005-10-08  Wim Taymans  <wim@fluendo.com>
5109
5110         * libs/gst/dataprotocol/dataprotocol.c:
5111         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5112         (gst_dp_packet_from_event):
5113         * libs/gst/dataprotocol/dataprotocol.h:
5114         * libs/gst/dataprotocol/dp-private.h:
5115         It's about time we bump the version number.
5116         Since event types don't fit in the guint8 anymore describing
5117         the payload type, make payload type 16 bits wide.
5118
5119 2005-10-08  Wim Taymans  <wim@fluendo.com>
5120
5121         * docs/design/part-TODO.txt:
5122         * docs/design/part-clocks.txt:
5123         * docs/design/part-events.txt:
5124         * docs/design/part-gstbin.txt:
5125         * docs/design/part-gstelement.txt:
5126         * docs/design/part-gstpipeline.txt:
5127         * docs/design/part-live-source.txt:
5128         * docs/design/part-messages.txt:
5129         * docs/design/part-overview.txt:
5130         * docs/design/part-states.txt:
5131         Many doc updates.
5132
5133 2005-10-08  Wim Taymans  <wim@fluendo.com>
5134
5135         * gst/gstevent.c:
5136         * gst/gstevent.h:
5137         Fix event quark registration.
5138         Add some space between events so we can insert them in the
5139         right groups.
5140
5141 2005-10-08  Wim Taymans  <wim@fluendo.com>
5142
5143         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5144         (gst_base_sink_handle_buffer):
5145         Better log message.
5146
5147         * gst/gstbus.h:
5148         * gst/gstelement.h:
5149         More docs.
5150
5151         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5152         (gst_queue_set_property), (gst_queue_get_property):
5153         * gst/gstqueue.h:
5154         Remove old unused properties.
5155
5156 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5157         * docs/gst/gstreamer-sections.txt:
5158         * gst/gstmessage.c:
5159         * gst/gstmessage.h:
5160         * gst/gstminiobject.c:
5161         * gst/gstminiobject.h:
5162         * gst/gstobject.h:
5163         * gst/gstpad.h:
5164         * gst/gstutils.h:
5165           lots of new docs and doc fixes
5166
5167 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5168
5169         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5170         * gst/gstplugin.h:
5171         * gst/gstregistry.c: (gst_registry_lookup_locked),
5172         (gst_registry_scan_path_level):
5173         * gst/gstregistryxml.c: (load_plugin):
5174           Only ever load one plugin for a given plugin basename.
5175           This ensures correct overriding of GST_PLUGIN_PATH over
5176           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5177           system installed plugins.
5178
5179 2005-10-08  Wim Taymans  <wim@fluendo.com>
5180
5181         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5182         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5183         Prepare for doing QOS.
5184
5185 2005-10-08  Wim Taymans  <wim@fluendo.com>
5186
5187         * check/gst/gstbin.c: (GST_START_TEST):
5188         * check/pipelines/cleanup.c: (GST_START_TEST):
5189         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5190         Allow new clock message too.
5191
5192 2005-10-08  Wim Taymans  <wim@fluendo.com>
5193
5194         * gst/gstmessage.c: (gst_message_new_error),
5195         (gst_message_new_warning), (gst_message_new_tag),
5196         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5197         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5198         (gst_message_new_segment_start), (gst_message_new_segment_done),
5199         (gst_message_parse_state_changed),
5200         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5201         (gst_message_parse_new_clock):
5202         * gst/gstmessage.h:
5203         Also carry the clock in question.
5204
5205 2005-10-08  Wim Taymans  <wim@fluendo.com>
5206
5207         * gst/gstmessage.c: (gst_message_new_custom),
5208         (gst_message_new_eos), (gst_message_new_error),
5209         (gst_message_new_warning), (gst_message_new_tag),
5210         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5211         (gst_message_new_new_clock), (gst_message_new_segment_start),
5212         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5213         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5214         * gst/gstmessage.h:
5215         Clean up.
5216         Added clock related messages.
5217
5218         * gst/gstpipeline.c: (gst_pipeline_change_state):
5219         Post message when the clock changed.
5220
5221         * tools/gst-launch.c: (event_loop):
5222         Print new clock.
5223
5224 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5225
5226         * tools/gst-inspect.c: (print_element_properties_info):
5227           Can't pass NULL strings to g_print() on windows.
5228
5229 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5230
5231         * docs/Makefile.am:
5232         * docs/gst/Makefile.am:
5233         * docs/gst/gstreamer-docs.sgml:
5234         * docs/gst/running.xml:
5235         * docs/version.entities.in:
5236           add a chapter on running GStreamer.
5237           document GST_DEBUG and GST_PLUGIN* env vars
5238
5239 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5240
5241         * Makefile.am:
5242           remove include dir
5243         * configure.ac:
5244           remove PLUGINS_BUILDDIR stuff
5245         * gst/gst.c: (init_post):
5246           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5247         * idiottest.mak:
5248           remove, it was condescending and not needed
5249
5250 2005-10-08  Wim Taymans  <wim@fluendo.com>
5251
5252         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5253         (gst_base_sink_handle_object), (gst_base_sink_event),
5254         (gst_base_sink_wait), (gst_base_sink_handle_event),
5255         (gst_base_sink_change_state):
5256         * gst/base/gstbasesink.h:
5257         Repost EOS message while going to PLAYING if still EOS.
5258         Make sure that when receiving a FLUSH_START we don't attempt
5259         to sync on the clock anymore.
5260
5261 2005-10-08  Wim Taymans  <wim@fluendo.com>
5262
5263         * tools/gst-launch.c: (event_loop):
5264         Better message printout.
5265
5266 2005-10-08  Wim Taymans  <wim@fluendo.com>
5267
5268         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5269         (gst_bin_child_proxy_get_children_count):
5270         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5271         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5272         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5273         (gst_child_proxy_set_valist):
5274         * gst/parse/grammar.y:
5275         Make ChildProxy threadsafe and fix mem leaks.
5276
5277 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5278
5279         * gst/gst.c: (init_post):
5280           debug the GST_PLUGIN_ env vars
5281
5282 2005-10-08  Wim Taymans  <wim@fluendo.com>
5283
5284         * check/gst/gstbin.c: (GST_START_TEST):
5285         * check/gst/gstmessage.c: (GST_START_TEST):
5286         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5287         * gst/gstelement.c: (gst_element_commit_state),
5288         (gst_element_lost_state):
5289         * gst/gstmessage.c: (gst_message_new_state_changed),
5290         (gst_message_parse_state_changed):
5291         * gst/gstmessage.h:
5292         * tools/gst-launch.c: (event_loop):
5293         Added extra field to STATE_CHANGE message with the pending
5294         state, which will be different from the new state soon.
5295
5296 2005-10-08  Wim Taymans  <wim@fluendo.com>
5297
5298         * gst/gstbus.c: (gst_bus_pop):
5299         * gst/gstclock.c:
5300         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5301         Small cleanups and doc updates.
5302
5303 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5304
5305         * gst/gst.c: (init_pre):
5306         * gst/gstbin.c: (gst_bin_add_func):
5307           log distributing clocks and base time
5308         * gst/gstregistry.c: (gst_registry_add_plugin),
5309         (gst_registry_scan_path_level), (gst_registry_scan_path):
5310           clean up the debugging output a little
5311         * gst/gstutils.c: (gst_element_state_get_name):
5312           warn about a memleak (I've actually seen this be used, though
5313           it was probably a bug)
5314
5315 2005-10-07  Wim Taymans  <wim@fluendo.com>
5316
5317         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5318         (gst_base_src_init), (gst_base_src_default_newsegment),
5319         (gst_base_src_newsegment), (gst_base_src_do_seek),
5320         (gst_base_src_loop), (gst_base_src_start):
5321         * gst/base/gstbasesrc.h:
5322         Make the newsegment event customizable by subclasses.
5323
5324 2005-10-07  Wim Taymans  <wim@fluendo.com>
5325
5326         * gst/gstevent.c: (gst_event_new_buffersize),
5327         (gst_event_parse_buffersize):
5328         * gst/gstevent.h:
5329         New event for future idea.
5330
5331 2005-10-07  Andy Wingo  <wingo@pobox.com>
5332
5333         * gst/gstelement.c (gst_element_post_message): Doc update.
5334
5335         * docs/gst/gstreamer-sections.txt: Update.
5336
5337         * gst/gstmessage.c (gst_message_new_application): Made into a
5338         function like honest API calls.
5339         (gst_message_new_element): New message type.
5340
5341         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5342
5343         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5344         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5345         times.
5346
5347         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5348         NO_PREROLL from gst_element_change_state to fall through.
5349
5350 2005-10-07  Wim Taymans  <wim@fluendo.com>
5351
5352         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5353         (gst_ghost_pad_do_activate_push):
5354         Activating a ghostpad with no internal pad in push mode
5355         is ok.
5356
5357 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5358
5359         * gst/gstobject.h:
5360           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5361           Fixes compilation on Windows.
5362
5363 2005-10-07  Michael Smith <msmith@fluendo.com>
5364
5365         * tools/gst-inspect.c:
5366           Print out feature and plugin count at the end when printing out
5367           all features.
5368
5369 2005-10-04  Michael Smith <msmith@fluendo.com>
5370
5371         * gst/gsterror.c: (_gst_stream_errors_init):
5372           Add another error string used in a few existing plugins.
5373
5374         * gst/gstplugin.c:
5375         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5376         * tools/gst-inspect.c: (print_element_info):
5377           When a feature disappears from a plugin (and the feature exists in
5378           the cached registry file), things went horribly wrong. This isn't a
5379           complete fix, we should actually be removing the 'missing' features
5380           from the features list when we load the actual plugin. That's not
5381           yet implemented. 
5382
5383 2005-10-04  Johan Dahlin  <johan@gnome.org>
5384
5385         * check/gst/gstiterator.c: (GST_START_TEST):
5386         * gst/gstbin.c: (gst_bin_iterate_elements),
5387         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5388         * gst/gstelement.c: (gst_element_iterate_pads):
5389         * gst/gstformat.c: (gst_format_iterate_definitions):
5390         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5391         (gst_iterator_new_list), (gst_iterator_filter):
5392         * gst/gstiterator.h:
5393         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5394         Add a GType to GstIterator, update callsites and tests.
5395
5396 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5397
5398         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5399           give events a chance to be handled by event probes when the pad
5400           is not linked
5401
5402 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5403
5404         * gst/gstevent.c: (gst_event_type_get_name),
5405         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5406         * gst/gstevent.h:
5407           add string representations for event types
5408
5409 2005-10-06  Wim Taymans  <wim@fluendo.com>
5410
5411         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5412         Don't use NULL pointers.
5413
5414 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5415
5416         * gst/gst_private.h:
5417         * gst/gstbus.c:
5418         * gst/gstelement.c:
5419         * gst/gstinfo.c:
5420         * gst/gstpluginfeature.c:
5421           widen the debug category in output to fit the biggest one we have
5422           add a bus category and use it
5423           play with the colors
5424           fix up some categories
5425
5426 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5427
5428         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5429           add push activation of sink ghost pads.
5430           Andye, please verify
5431
5432 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5433
5434         * gst/gstutils.c: (gst_element_link_pads):
5435           fix a bug in the case where neither element has a pad
5436         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5437           add a test for that case
5438
5439 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5440
5441         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5442           emit have-data before checking for peers.  This allows
5443           for probe handlers to connect elements.  This helps autopluggers.
5444         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5445         (gst_pad_suite):
5446           add six checks, linked/unlinked with no/true/false probe
5447
5448 2005-10-04  Wim Taymans  <wim@fluendo.com>
5449
5450         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5451         (gst_fake_sink_event), (gst_fake_sink_preroll),
5452         (gst_fake_sink_render), (gst_fake_sink_change_state):
5453         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5454         (gst_fake_src_get_property), (gst_fake_src_create),
5455         (gst_fake_src_stop):
5456         * gst/elements/gstidentity.c: (gst_identity_stop):
5457         Protect last_message with lock.
5458
5459 2005-10-04  Edward Hervey  <edward@fluendo.com>
5460
5461         * gst/gstformat.h: 
5462         Added precision in the comments for GST_FORMAT_DEFAULT
5463
5464 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5465
5466         * tools/gst-launch.c: (main):
5467           Don't try to run erroneous pipelines.
5468
5469 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5470
5471         * gst/gstbus.c: We don't need this header.
5472
5473 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5474
5475         * configure.ac:
5476           back to development
5477
5478 === release 0.9.3 ===
5479
5480 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5481
5482         * README:
5483         * configure.ac:
5484           Releasing 0.9.3, "Unregistered"
5485
5486 2005-10-03  Andy Wingo  <wingo@pobox.com>
5487
5488         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5489         whereby calling a pad's activatepush() function can start a thread
5490         that starts to push or pull before the pad gets the FLUSHING flag
5491         unset. Hack around it by holding the stream lock until the flag is
5492         set. Need to replace this with a proper solution. Together with
5493         the ghost pad fixes, this fixes mp3 playing/tagreading.
5494
5495         * docs/design/part-gstghostpad.txt: Add a note about activation of
5496         proxy pads outside of ghost pads.
5497
5498         * gst/gstghostpad.c: Implement the ghost pad activation design.
5499
5500 2005-10-02  Andy Wingo  <wingo@pobox.com>
5501
5502         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5503         It is volatile, after all.
5504
5505         * docs/design/part-gstghostpad.txt: Flesh out activation with
5506         ghost pads.
5507
5508         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5509         GST_DEBUG_FUNCPTR.
5510
5511 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5512
5513         * configure.ac:
5514           Fix (unused) AM_CONDITIONAL tests.
5515
5516 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5517
5518         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5519
5520         * gst/gstutils.c: (gst_pad_query_convert):
5521           Add assertion that makes sure src_val is >=0, just like
5522           gst_query_new_convert() has. (#315895)
5523
5524 2005-09-30  Edward Hervey  <edward@fluendo.com>
5525
5526         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5527         Let's not iterate pads we're not interested in, it avoids getting 
5528         sky-high refcounts on sinkpad.
5529
5530 2005-09-30  Wim Taymans  <wim@fluendo.com>
5531
5532         * gst/gstelement.c: (gst_element_set_state),
5533         (gst_element_change_state):
5534         Small tweak, element in ASYNC remains ASYNC.
5535
5536 2005-09-30  Wim Taymans  <wim@fluendo.com>
5537
5538         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5539         Only error is an error.
5540
5541         * gst/gstbin.c: (gst_bin_change_state):
5542         Better debugging.
5543
5544         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5545         Also call pad_block in pad alloc.
5546
5547         * gst/gstutils.c: (gst_flow_get_name):
5548         Better debugging.
5549
5550 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5551
5552         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5553         (gst_base_src_get_range):
5554           Fix documentation typos. Add some more debug info.
5555
5556 2005-09-29  David Schleef  <ds@schleef.org>
5557
5558         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5559           more end-user friendly.
5560         * tools/gst-inspect.c: (main): Check if command-line argument is
5561           a file and attempt to load that file as a plugin.
5562
5563 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5564
5565         * check/gst/gstbin.c:
5566         * check/states/sinks.c:
5567           fix tests for the new warning
5568         * check/gst/gstpipeline.c:
5569           add a test for pipeline and bus interaction
5570         * gst/gstelement.c:
5571           elements should be NULL if they get disposed; add a warning if not
5572
5573 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5574
5575         * gst/gstobject.c:
5576           for 2.6 refcounting, make debug log more correct by printing
5577           the actual refcounts at the time of swap (Wim)
5578
5579 2005-09-29  Andy Wingo  <wingo@pobox.com>
5580
5581         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5582         removes signal watches previously added via
5583         gst_bus_add_signal_watch.
5584         (gst_bus_add_signal_watch): Don't return the source id, just store
5585         it on the bus if there wasn't an id already.
5586
5587         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5588         add_signal_watch and remove_signal_watch.
5589
5590 2005-09-29  Edward Hervey  <edward@fluendo.com>
5591
5592         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5593         Better if we actually iterate the list :)
5594
5595 2005-09-29  Wim Taymans  <wim@fluendo.com>
5596
5597         * check/gst/gstbin.c: (GST_START_TEST):
5598         Change for new bus API.
5599
5600         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5601         (send_messages), (GST_START_TEST), (gstbus_suite):
5602         Change for new bus signal API.
5603
5604         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5605         (gst_bus_source_prepare), (gst_bus_source_check),
5606         (gst_bus_create_watch), (gst_bus_add_watch_full),
5607         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5608         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5609         * gst/gstbus.h:
5610         Remove support for multiple GSources operating on different
5611         message types as it is too complex and unneeded when using
5612         signals.
5613         Added support for receiving signals from the bus.
5614
5615 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5616
5617         * docs/libs/tmpl/gstdataprotocol.sgml:
5618         * docs/manual/advanced-dataaccess.xml:
5619         * gst/elements/gstcapsfilter.c:
5620         * gst/gstutils.c:
5621           rename filter-caps to caps property
5622
5623 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5624
5625         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5626           More robust fraction string parsing.
5627
5628         * docs/pwg/appendix-porting.xml:
5629           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5630
5631 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5632
5633         * gst/gstcaps.c: (gst_caps_do_simplify):
5634           Thou shalt not free a structure and then continue using it
5635           in the next loop iteration.
5636
5637         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5638         (gst_caps_suite):
5639           Add test case for caps simplification.
5640
5641 2005-09-29  Wim Taymans  <wim@fluendo.com>
5642
5643         * check/gst/gstbin.c: (GST_START_TEST):
5644         Oops.
5645
5646 2005-09-29  Wim Taymans  <wim@fluendo.com>
5647
5648         * check/gst/gstbin.c: (GST_START_TEST):
5649         Add bus to bin.
5650
5651         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5652         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5653         (find_element), (gst_bin_sort_iterator_next),
5654         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5655         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5656         (gst_bin_change_state), (gst_bin_dispose):
5657         A bin does not have a bus, it gets the bus from the parent.
5658
5659         * gst/gstelement.c: (gst_element_requires_clock),
5660         (gst_element_provides_clock), (gst_element_is_indexable),
5661         (gst_element_is_locked_state), (gst_element_change_state),
5662         (gst_element_set_bus_func):
5663         Small cleanups.
5664
5665         * gst/gstpipeline.c: (gst_pipeline_class_init),
5666         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5667         The pipeline provides a bus.
5668
5669 2005-09-28  Johan Dahlin  <johan@gnome.org>
5670
5671         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5672         gst_structure_get_enum instead of gst_structure_get_int
5673
5674         * gst/gststructure.c (gst_structure_get_enum): Impl.
5675
5676         * gst/gststructure.h (gst_structure_get_enum): Add
5677
5678         * docs/gst/gstreamer-sections.txt: Ditto
5679
5680         * gst/gstmessage.c (gst_message_new_state_changed): Use
5681         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5682         which does introspection.
5683         Reviewed by Christian Schaller
5684
5685 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5686
5687         * gst/gstinfo.c: (gst_debug_log_default):
5688           don't do dummy g_strdup()s
5689         * libs/gst/controller/gstcontroller.c:
5690         (on_object_controlled_property_changed),
5691         (gst_controlled_property_new), (gst_controller_new_valist),
5692         (gst_controller_new_list),
5693         (gst_controller_remove_properties_valist), (gst_controller_set),
5694         (gst_controller_get), (gst_controller_sync_values),
5695         (gst_controller_get_value_array), (_gst_controller_class_init),
5696         (gst_controller_get_type):
5697         * libs/gst/controller/gstcontroller.h:
5698         * libs/gst/controller/gstinterpolation.c:
5699         (gst_controlled_property_find_timed_value_node):
5700           convert // to /**/ comments
5701
5702 2005-09-28  Wim Taymans  <wim@fluendo.com>
5703
5704         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5705         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5706         (gst_bus_sync_signal_handler):
5707         * gst/gstbus.h:
5708         Added async-message and sync-message signals to the bus.
5709         Added helper BusFunc to emit signals for all posted messages.
5710
5711         * gst/gstmessage.c: (gst_message_type_get_name),
5712         (gst_message_type_to_quark), (gst_message_get_type):
5713         * gst/gstmessage.h:
5714         Register quarks for message names.
5715
5716 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5717
5718         * docs/libs/gstreamer-libs-sections.txt:
5719         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5720         (gst_controller_new_list):
5721         * libs/gst/controller/gstcontroller.h:
5722           added another constructor for language bindings
5723
5724 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5725
5726         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5727           add another check
5728         * gst/gstbus.c:
5729           add some doc
5730         * gst/gstinfo.c: (_gst_debug_init):
5731           slightly more readable color for refcount debugging
5732
5733 2005-09-28  Wim Taymans  <wim@fluendo.com>
5734
5735         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5736         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5737         (find_element), (gst_bin_sort_iterator_next),
5738         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5739         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5740         (gst_bin_change_state), (gst_bin_dispose):
5741         Small doc fixes. get_clock -> provide_clock.
5742
5743         * gst/gstelement.c: (gst_element_class_init),
5744         (gst_element_provides_clock), (gst_element_provide_clock),
5745         (gst_element_get_clock), (gst_element_commit_state),
5746         (gst_element_lost_state):
5747         * gst/gstelement.h:
5748         Make get/set_clock() symetric. Add provide_clock vmethod since
5749         that is actually what this function does.
5750
5751         * gst/gstpipeline.c: (gst_pipeline_class_init),
5752         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5753         (gst_pipeline_get_clock):
5754         get_clock -> provide_clock.
5755
5756 2005-09-28  Andy Wingo  <wingo@pobox.com>
5757
5758         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5759         lieu of real docs...
5760
5761         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5762
5763 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5764
5765         * gst/elements/gstcapsfilter.c:
5766         * gst/elements/gstfakesink.c:
5767         * gst/elements/gstfakesrc.c:
5768         * gst/elements/gstfdsink.c:
5769         * gst/elements/gstfdsrc.c:
5770         * gst/elements/gstfilesink.c:
5771         * gst/elements/gstfilesrc.c:
5772         * gst/elements/gstidentity.c:
5773         * gst/elements/gsttee.c:
5774         * gst/elements/gsttypefindelement.c:
5775           Make element details static.
5776
5777 2005-09-28  Wim Taymans  <wim@fluendo.com>
5778
5779         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5780         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5781         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5782         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5783         (gst_bin_change_state), (gst_bin_dispose):
5784         Some documentation updates.
5785         Clean up dispose handlers.
5786
5787         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5788         * gst/gstpad.c: (gst_pad_dispose):
5789         Clean up dispose handler.
5790
5791         * gst/gstpipeline.c: (gst_pipeline_change_state):
5792         Removed spurious UNLOCK.
5793
5794 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5795
5796         * docs/gst/gstreamer-sections.txt:
5797         * gst/base/gstbasesrc.h:
5798         * gst/gstelement.h:
5799         * gst/gstevent.h:
5800         * gst/gstobject.h:
5801         * gst/gstpad.h:
5802         * gst/gstpipeline.c:
5803         * gst/gstpipeline.h:
5804         * gst/gstutils.h:
5805         * gst/gstxml.h:
5806           added two new functions to the docs
5807                 documents all undocumented GstXXXFlags
5808                 completed some incomplete docs 
5809
5810 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5811
5812         * gst/gstbin.c: (gst_bin_dispose):
5813         * gst/gstelement.c: (gst_element_dispose):
5814           remove now useless and leaky resurrection code in dispose
5815         * gst/base/gstbasesrc.c: (gst_base_src_init):
5816         * gst/gstelementfactory.c: (gst_element_factory_create):
5817         * gst/gstobject.c: (gst_object_set_parent):
5818           add some debugging
5819
5820 2005-09-27  Wim Taymans  <wim@fluendo.com>
5821
5822         * docs/design/part-TODO.txt:
5823         Update TODO.
5824
5825         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5826         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5827         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5828         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5829         (gst_bin_change_state):
5830         * gst/gstelement.h:
5831         Remove element variable, we keep element info in the iterator now.
5832
5833 2005-09-27  Andy Wingo  <wingo@pobox.com>
5834
5835         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5836         values.
5837
5838 2005-09-27  Wim Taymans  <wim@fluendo.com>
5839
5840         * check/gst/gstbin.c: (GST_START_TEST):
5841         Enable check that works now.
5842
5843         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5844         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5845         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5846         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5847         (gst_bin_change_state):
5848         * gst/gstbin.h:
5849         Redid the state change algorithm using a topological sort algo.
5850         Handles all cases correctly.
5851         Exposed iterator for state change order.
5852
5853         * gst/gstelement.h:
5854         Temp storage for state changes. Need to get rid of this soon.
5855
5856 2005-09-27  Wim Taymans  <wim@fluendo.com>
5857
5858         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5859         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5860         (link_fold_func), (gst_pad_proxy_setcaps):
5861         Leak fixes, the fold functions need to unref the passed object and
5862         _get_parent_*() returns ref to parent.
5863
5864 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5865
5866         * check/gst/gstbuffer.c: (test_make_writable):
5867           Plug leak in test case and fix 'make check-valgrind'
5868
5869 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5870
5871         * gst/gstbuffer.c: (gst_subbuffer_init):
5872           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5873           works correctly in all circumstances (we could have just copied
5874           the parent buffer's readonly flag, but conceptually it seems
5875           cleaner to mark all subbuffers as read-only). (based on patch
5876           by Alessandro Decina, #314710).
5877         
5878         * check/gst/gstbuffer.c: (create_read_only_buffer),
5879         (test_make_writable), (test_subbuffer_make_writable),
5880         (gst_test_suite):
5881           Add some tests for gst_buffer_make_writable().
5882
5883 2005-09-27  Wim Taymans  <wim@fluendo.com>
5884
5885         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5886         use gst_object_has_ancestor().
5887
5888         * gst/gstobject.c: (gst_object_has_ancestor):
5889         * gst/gstobject.h:
5890         gst_object_has_ancestor() copied from gstbin.c as it is a
5891         usefull function.
5892
5893         * tests/instantiate/create.c: (create_all_elements):
5894         * tests/lat.c: (handoff_src), (handoff_sink):
5895         * tests/sched/runxml.c: (main):
5896         * tests/seeking/seeking1.c: (main):
5897         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5898         (main):
5899         Fix compilation of some tests.
5900
5901 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5902
5903         * gst/gsterror.h:
5904           Remove comment. GST_TYPE_G_ERROR is here to stay,
5905           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5906           (#316961, #300610).
5907
5908 2005-09-26  Wim Taymans  <wim@fluendo.com>
5909
5910         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5911         Added check that shows error in state change order.
5912
5913 2005-09-26  Wim Taymans  <wim@fluendo.com>
5914
5915         * gst/gstbin.c: (gst_bin_change_state):
5916         Make state change function use 3 queues again, we were
5917         adding elements in the wrong order.
5918
5919         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5920         Some debug info,
5921
5922         * gst/gstpad.c: (gst_pad_dispose):
5923         Added some debug info first.
5924
5925 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5926
5927         * docs/design/draft-push-pull.txt:
5928         * docs/design/part-events.txt:
5929         * docs/design/part-overview.txt:
5930         * docs/design/part-scheduling.txt:
5931           Replace all _pull_region() with _pull_range()
5932           
5933 2005-09-26  Andy Wingo  <wingo@pobox.com>
5934
5935         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5936
5937         * check/gst-libs/controller.c: Update for controller api change.
5938
5939         * configure.ac: 
5940         * tests/Makefile.am:
5941         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5942         over by GLib bug 118439.
5943         
5944         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5945         routines to a function.
5946
5947         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5948
5949         * libs/gst/controller/gsthelper.c:
5950         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5951         (gst_object_sync_values): Renamed from sink_values. Ugh.
5952
5953         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5954
5955         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5956         Renamed from controller_key, as it is exported.
5957
5958         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5959
5960 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5961
5962         * gst/Makefile.am:
5963         * gst/gst.h:
5964         * gst/gstpad.h:
5965         * gst/gstpadtemplate.h:
5966         * gst/gstquery.c:
5967         * gst/gstquery.h:
5968         * gst/gstqueryutils.c:
5969         * gst/gstqueryutils.h:
5970           remove queryutils headers after moving the two used functions
5971           to gstquery.  also fixes build problem for gstsiddec
5972
5973 2005-09-26  Michael Smith <msmith@fluendo.com>
5974
5975         * tools/gst-launch.1.in:
5976         Correct documentation in manpage of debug syntax
5977
5978 2005-09-26  Wim Taymans  <wim@fluendo.com>
5979
5980         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5981         (gst_base_src_is_seekable), (gst_base_src_change_state):
5982         Some more debugging info.
5983
5984 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5985
5986         * docs/gst/gstreamer-sections.txt:
5987         * gst/base/gstbasetransform.h:
5988         * gst/gstindex.h:
5989           added more docs
5990
5991 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5992
5993         * docs/gst/.cvsignore:
5994         * docs/gst/tmpl/.cvsignore:
5995         * docs/gst/tmpl/gstpipeline.sgml:
5996         * docs/gst/tmpl/gstplugin.sgml:
5997         * gst/gstpipeline.c:
5998         * gst/gstplugin.c:
5999         * gst/gstplugin.h:
6000           inlined the last two docs files
6001           removed the tmpl directory from cvs (no more conflicts here!)
6002
6003 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6004
6005         * docs/gst/gstreamer-sections.txt:
6006         * docs/gst/tmpl/.cvsignore:
6007         * docs/gst/tmpl/gstpad.sgml:
6008         * docs/gst/tmpl/gstpadtemplate.sgml:
6009         * gst/Makefile.am:
6010         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6011         (gst_pad_finalize), (gst_pad_set_pad_template):
6012         * gst/gstpad.h:
6013         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6014         (gst_pad_template_class_init), (gst_pad_template_init),
6015         (gst_pad_template_dispose), (name_is_valid),
6016         (gst_static_pad_template_get), (gst_pad_template_new),
6017         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6018         (gst_pad_template_pad_created):
6019         * gst/gstpadtemplate.h:
6020           inlined two more docs
6021           factored gstpadtemplate out of gstpad
6022
6023 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6024
6025         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6026         (test_children_state_change_order_semi_sink):
6027           Fix test case: we can't rely on a fixed state change order when
6028           going from READY => PAUSED because the sink might commit its 
6029           new state first when the first buffer created by the source 
6030           reaches the sink before the source has finished its change state.
6031           (Test case still fails at times, see #316856, comment 5 onwards)
6032
6033 2005-09-24  Wim Taymans  <wim@fluendo.com>
6034
6035         * docs/design/part-events.txt:
6036         * docs/design/part-gstbus.txt:
6037         * docs/design/part-gstpipeline.txt:
6038         * docs/design/part-messages.txt:
6039         * docs/design/part-overview.txt:
6040         * docs/design/part-segments.txt:
6041         * gst/gstbin.c:
6042         * gst/gstbuffer.c:
6043         * gst/gstclock.c:
6044         * gst/gstelement.c:
6045         * gst/gstevent.c:
6046         * gst/gstfilter.c:
6047         * gst/gstiterator.c:
6048         Various documentation updates.
6049
6050 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6051
6052         * gst/gstclock.h:
6053           Well, that's embarassing.  Luckily we weren't using
6054           GST_CLOCK_DIFF anywhere.
6055
6056 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6057
6058         * common/gtk-doc.mak:
6059           don't fail on building XML, FC4 slave shows a bunch of doc
6060           missing bits that I don't get
6061         * gst/gstpad.c:
6062         * gst/gstpipeline.c:
6063         * gst/gststructure.c:
6064           some doc updates
6065
6066 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6067
6068         * docs/design/part-gstbin.txt:
6069         * docs/design/part-gstbus.txt:
6070         * gst/gstbus.c:
6071           Add blurb about how the bus goes into flushing mode and
6072           drops all messages when its bin goes from READY into NULL 
6073           state.
6074
6075 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6076
6077         * docs/gst/gstreamer-sections.txt:
6078         * gst/gststructure.c: (gst_structure_get_clock_time):
6079         * gst/gststructure.h:
6080           add a method to get a GstClockTime out of a structure
6081
6082 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6083
6084         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6085         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6086           Added test to check state change order in bins (can still be made
6087           to fail here under heavy disk load; bails out with 'Push on pad
6088           fakesink:sink0, but it was not activated in push mode').
6089
6090         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6091           Fix state change order when there is only a semi sink (#316856)
6092
6093         * gst/gstbus.c: (gst_bus_class_init):
6094           Use _class_peek_parent(), not _class_ref(); fix docs to say
6095           'default main context' instead of 'mainloop' where that is
6096           what's meant.
6097
6098         * gst/gstelement.c: (gst_element_commit_state),
6099         (gst_element_set_state):
6100           Fix typos in debug messages
6101
6102 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6103
6104         * docs/README:
6105         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6106         * gst/gstpluginfeature.c:
6107         * gst/gstutils.c:
6108           various doc updates
6109         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6110           change an assert into an error until it gets fixed properly
6111
6112 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6113
6114         * docs/gst/gstreamer-sections.txt:
6115         * docs/gst/tmpl/.cvsignore:
6116         * docs/gst/tmpl/gstelement.sgml:
6117         * docs/gst/tmpl/gstinfo.sgml:
6118         * docs/gst/tmpl/gstobject.sgml:
6119         * gst/gstelement.c:
6120         * gst/gstelement.h:
6121         * gst/gstinfo.c:
6122         * gst/gstinfo.h:
6123         * gst/gstobject.c: (gst_object_class_init):
6124         * gst/gstobject.h:
6125           inlined 3 more biiiig doc files and added some missing docs on the fly
6126
6127 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6128
6129         * check/gst/.cvsignore:
6130         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6131         * gst/gstregistryxml.c: (load_plugin),
6132         (gst_registry_xml_save_plugin):
6133           put back source in registry.  add checks for find_plugin.
6134         * testsuite/states/bin.c: (assert_state), (empty_bin),
6135         (test_adding_one_element), (main):
6136         * testsuite/states/locked.c: (main):
6137           some compile/run fixes
6138
6139 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6140
6141         * check/gst/gstvalue.c: (GST_START_TEST):
6142           fix leaks in the test itself
6143
6144 2005-09-22  Wim Taymans  <wim@fluendo.com>
6145
6146         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6147         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6148         (gst_base_sink_query):
6149         Prepare for more accurate position reporting and query
6150         handling.
6151
6152         * gst/gstelement.c: (gst_element_send_event),
6153         (gst_element_set_state):
6154         Add some comment.
6155
6156 2005-09-22  Wim Taymans  <wim@fluendo.com>
6157
6158         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6159         (gst_query_parse_segment):
6160         * gst/gstquery.h:
6161         More documentation.
6162         Add segment query for future use.
6163
6164 2005-09-22  Wim Taymans  <wim@fluendo.com>
6165
6166         * gst/gstbin.c: (gst_bin_add_func):
6167         Some more debug info.
6168
6169         * gst/gstelement.c: (gst_element_send_event):
6170         Simplify send_event
6171
6172         * gst/gstelement.h:
6173         Don't know how flags got broken.
6174
6175         * gst/gstquery.h:
6176         Added new query.
6177
6178 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6179
6180         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6181           Add simplistic test suite for GST_TYPE_DATE serialisation and
6182           deserialisation.
6183
6184 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6185
6186         * docs/gst/gstreamer-sections.txt:
6187         * gst/gststructure.c: (gst_structure_set_valist),
6188         (gst_structure_get_date):
6189         * gst/gststructure.h:
6190         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6191         (gst_date_copy), (gst_value_compare_date),
6192         (gst_value_serialize_date), (gst_value_deserialize_date),
6193         (gst_value_transform_date_string),
6194         (gst_value_transform_string_date), (_gst_value_initialize):
6195         * gst/gstvalue.h:
6196           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6197           bunch of utility functions along with a hack that checks that
6198           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6199           is required. Part of the grand scheme in #170777.
6200
6201 2005-09-22  Andy Wingo  <wingo@pobox.com>
6202
6203         * gst/gstconfig.h.in: Psych out gtk-doc.
6204
6205         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6206
6207         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6208
6209         * tools/gst-inspect.c (print_element_list): Plug some
6210         inconsequential leaks.
6211
6212         * gst/gstregistry.c (gst_registry_get_default): Doc.
6213
6214         * check/gst/gstplugin.c: 
6215         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6216         * gst/gstelementfactory.c (gst_element_factory_create): 
6217         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6218         refcount changes.
6219
6220         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6221         (gst_plugin_feature_load): Doc, don't eat refs.
6222
6223         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6224         (gst_plugin_list_free): Doc.
6225         (gst_plugin_load_file): Doc updates.
6226
6227         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6228         accessors returning refcounted objects, return a ref.
6229
6230         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6231         accessor for caps. IDEMPOTENCE. Oh yes.
6232
6233 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6234
6235         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6236
6237         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6238         (_gst_debug_register_funcptr):
6239           Add mutex to serialise access to the hash table with
6240           the function pointer => function name string mapping;
6241           make that hash table static scope (#316809).
6242
6243         * gst/registries/.cvsignore:
6244           Remove left-over file.
6245
6246 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6247
6248         * docs/pwg/appendix-porting.xml:
6249           And something about newsegment events and caps-on-buffers to
6250           the porting guide (feel free to improve).
6251
6252 2005-09-21  Andy Wingo  <wingo@pobox.com>
6253
6254         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6255         data and event probes on the same pad.
6256         (test_buffer_probe_once): Test that removing probes from within
6257         the probe functions works.
6258
6259 2005-09-21  Andy Wingo  <wingo@pobox.com>
6260
6261         * check/gst/gstutils.c: New file.
6262         (test_buffer_probe_n_times): A simple buffer probe test. More to
6263         come, foolios.
6264
6265         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6266         have-data::buffer, not have-data.
6267         (gst_pad_add_event_probe): Likewise for have-data::event.
6268         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6269         peer' isn't quite right yet though.
6270         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6271         (gst_pad_remove_data_probe): Change to take the guint handler_id
6272         as their arg, not the function+data, which is more glib-like.
6273
6274         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6275         the signal emission to indicate if the data is a buffer or an
6276         event.
6277         (gst_pad_get_type): Initialize buffer and event quarks.
6278         (gst_pad_class_init): have-data is now a detailed signal, yes it
6279         is.
6280
6281 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6282
6283         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6284         * gst/gstutils.c: (gst_util_set_value_from_string),
6285         (gst_util_set_object_arg):
6286           Don't put functional code in g_return_if_fail() or
6287           g_return_val_if_fail() statements, otherwise things will 
6288           break when G_DISABLE_CHECKS is defined during compilation.
6289
6290 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6291
6292         * docs/gst/tmpl/.cvsignore:
6293         * docs/gst/tmpl/gstvalue.sgml:
6294         * gst/gstvalue.c:
6295         * gst/gstvalue.h:
6296           inlied another one and added  some obvious docs
6297
6298 2005-09-21  Wim Taymans  <wim@fluendo.com>
6299
6300         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6301         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6302         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6303         (gst_fdsrc_get_property), (gst_fdsrc_create):
6304         * gst/elements/gstfdsrc.h:
6305         Properly implement fdsrc. Removed signal and timeout,
6306         better implemented somewhere else.
6307
6308 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6309
6310         * docs/gst/tmpl/.cvsignore:
6311         * docs/gst/tmpl/gstimplementsinterface.sgml:
6312         * gst/gstinterface.c:
6313           inlined more docs
6314
6315 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6316
6317         * docs/gst/gstreamer-sections.txt:
6318         * docs/gst/tmpl/.cvsignore:
6319         * docs/gst/tmpl/gstenumtypes.sgml:
6320           remove obsolete doc file
6321
6322 2005-09-21  David Schleef  <ds@schleef.org>
6323
6324         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6325         little beer, fix a little leak.
6326
6327 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6328
6329         * docs/gst/gstreamer-docs.sgml:
6330         * docs/gst/gstreamer-sections.txt:
6331         * docs/gst/tmpl/.cvsignore:
6332         * gst/Makefile.am:
6333         * gst/gst.h:
6334         * gst/gstbin.c:
6335         * gst/gstelement.h:
6336         * gst/gstindex.c: (gst_index_class_init):
6337         * gst/gstindex.h:
6338         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6339         (gst_index_factory_class_init), (gst_index_factory_init),
6340         (gst_index_factory_finalize), (gst_index_factory_new),
6341         (gst_index_factory_destroy), (gst_index_factory_find),
6342         (gst_index_factory_create), (gst_index_factory_make):
6343         * gst/gstindexfactory.h:
6344         * gst/gstpluginfeature.c:
6345         * gst/gstpluginfeature.h:
6346         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6347           more docs inlined, splitted gstindex.{c,h}
6348
6349 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6350
6351         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6352           fix a leak
6353
6354 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6355
6356         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6357           Set sync to FALSE by default.
6358
6359 2005-09-20  Wim Taymans  <wim@fluendo.com>
6360
6361         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6362         (gst_base_sink_init):
6363         Make sync property settable from subclass.
6364
6365         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6366         (gst_fake_sink_change_state):
6367         Set sync to FALSE by default.
6368
6369 2005-09-20  Wim Taymans  <wim@fluendo.com>
6370
6371         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6372         * tools/gst-launch.c: (main):
6373         The timeout handler should have lower priority than the source
6374         so we don't timeout before popping a message with 0 timeout.
6375         Dump error messages after failed state change.
6376
6377 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6378
6379         * tools/gst-inspect.c: (print_element_properties_info):
6380           Fix two typos.
6381
6382 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6383
6384         * check/gst/gstevent.c:
6385         * gst/elements/gstfakesink.c:
6386         * gst/elements/gstfakesink.h:
6387           remove the sync property from fakesink.
6388           has the side effect of setting sync TRUE
6389           for fakesink, which is a change.  Anyone who knows how
6390           to fix this nicely in a GObject-y way, feel free.
6391
6392 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6393
6394         * docs/gst/gstreamer-docs.sgml:
6395           remove probe refsection
6396
6397 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6398
6399         * check/Makefile.am:
6400           disable valgrinding the controller test again
6401         * docs/gst/gstreamer-sections.txt:
6402           update for api-changes
6403
6404 2005-09-20  Wim Taymans  <wim@fluendo.com>
6405
6406         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6407         (gst_base_sink_set_property), (gst_base_sink_get_property),
6408         (gst_base_sink_do_sync):
6409         * gst/base/gstbasesink.h:
6410         Added sync property to basesink to disable clock sync.
6411
6412 2005-09-20  Andy Wingo  <wingo@pobox.com>
6413
6414         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6415         eating the caller's refcount.
6416
6417         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6418         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6419         refcount.
6420
6421         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6422         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6423         of GLib 2.8 public, so we can know which refcount to check in
6424         tests.
6425
6426         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6427         (gst_object_init): Only set the gst refcount if we're going ahead
6428         with the refcount hack.
6429
6430 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6431
6432         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6433         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6434           more leaks plumbed, added more debug-logging
6435         * gst/gstmacros.h:
6436           whitespace fix
6437
6438 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6439
6440         * gst/gstmessage.c:
6441           remove include of gstmemchunk.h
6442
6443 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6444
6445         * gst/gstclock.c: (_gst_clock_id_free):
6446           Commit from the Political Party For More Atomic CVS Commits,
6447           so that people don't waste too much of their day fishing
6448           out obvious leaks out of massive commits.
6449           Oh, and fix a pretty damn obvious leak in the memchunk
6450           removal code.
6451
6452 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6453
6454         * check/Makefile.am:
6455         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6456           plug mem-leak, re-add to valgrindable tests
6457
6458 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6459
6460         * gst/gstplugin.h:
6461           unbreak the build for those who have chronic arthritis
6462           and typing "make check" is just too taxing on the hands
6463
6464 2005-09-20  Andy Wingo  <wingo@pobox.com>
6465
6466         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6467         really want it out, you should fix plugins at the same time.
6468
6469 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6470
6471         * configure.ac:
6472         * docs/gst/gstreamer-sections.txt:
6473         * gst/gstobject.c:
6474           added missing symbols to api docs
6475           disable ref-count hack if we have glib >= 2.8
6476
6477 2005-09-19  David Schleef  <ds@schleef.org>
6478
6479         * docs/gst/Makefile.am: Ignore a few more internal headers
6480         * docs/gst/gstreamer-docs.sgml: Remove old sections
6481         * docs/gst/gstreamer-sections.txt: Remove old sections
6482         * docs/gst/tmpl/gstobject.sgml: update
6483         * docs/gst/tmpl/gstplugin.sgml: update
6484         * docs/gst/tmpl/gstpluginfeature.sgml: update
6485         * docs/random/ds/0.9-suggested-changes: update.
6486         * gst/Makefile.am: remove memchunk and trashstack, since they're
6487           not used.
6488         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6489         * gst/gst.h: don't include some headers
6490         * gst/gstchildproxy.c: add gstmarshal.h
6491         * gst/gstclock.c: Don't use memchunks
6492         * gst/gstminiobject.c: Add some docs
6493         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6494         * gst/gstobject.h: same
6495         * gst/gstplugin.c: include gstmacros.h
6496         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6497         * gst/gstquery.c: don't use memchunks
6498         * gst/gstregistry.c: rename gst_registry_deinit()
6499         * gst/gstregistry.h: same
6500
6501 2005-09-19  David Schleef  <ds@schleef.org>
6502
6503         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6504         * docs/libs/gstreamer-libs-sections.txt:
6505         * docs/libs/tmpl/gstgetbits.sgml:
6506         * docs/libs/tmpl/gstputbits.sgml:
6507
6508 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6509
6510         * win32/gstenumtypes.c:
6511         * win32/gstenumtypes.h:
6512           Update.
6513
6514 2005-09-19  Wim Taymans  <wim@fluendo.com>
6515
6516         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6517         Automatically PAUSE and RESUME a pipeline when a flushing seek
6518         is performed.
6519
6520 2005-09-19  Andy Wingo  <wingo@pobox.com>
6521
6522         * gst/gstregistry.h: Spacing fixen.
6523
6524 2005-09-19  Wim Taymans  <wim@fluendo.com>
6525
6526         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6527         Handle state change failure more correctly.
6528
6529 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6530
6531         * check/Makefile.am:
6532         * check/pipelines/cleanup.c: (run_pipeline):
6533         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6534         (GST_START_TEST):
6535           enable cleanup again after fixing the leak
6536         * docs/README:
6537           some more info on docs
6538
6539 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6540
6541         * check/Makefile.am:
6542           re-enable tests now that leaks are plugged
6543         * check/gst/gst.c:
6544         * check/gst/gstbin.c:
6545         * check/gst/gstpipeline.c:
6546           add some more tests while fixing leaks
6547         * common/check.mak:
6548           make sure binaries are uptodate when valgrinding/gdbing
6549         * gst/gst.c:
6550         * gst/gstelementfactory.c:
6551           remove a ref too many, and add a FIXME for when we get
6552           round to disposing of classes
6553         * gst/gstplugin.c:
6554           fix the refcounting when loading a plugin from a file and
6555           the code pretends that the pointer is the same even though
6556           of course it can change
6557         * gst/gstpluginfeature.c:
6558           unref plugins marked cached (a bit confusing as a name)
6559           as the docs state should be done
6560           various doc additions to explain refcounting
6561         * gst/gstregistry.c:
6562         * gst/gstregistryxml.c:
6563           debugging
6564
6565 2005-09-19  Wim Taymans  <wim@fluendo.com>
6566
6567         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6568         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6569         (send_messages), (GST_START_TEST), (gstbus_suite):
6570         * check/gst/gstpipeline.c: (GST_START_TEST):
6571         * check/pipelines/cleanup.c: (run_pipeline):
6572         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6573         (GST_START_TEST):
6574         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6575         (gst_bus_source_check), (gst_bus_source_dispatch),
6576         (gst_bus_create_watch), (gst_bus_add_watch_full),
6577         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6578         * gst/gstbus.h:
6579         * tools/gst-launch.c: (event_loop):
6580         * tools/gst-md5sum.c: (event_loop):
6581         GstBusHandler -> GstBusFunc, return value has the same meaning as
6582         any other GSource (FALSE == remove source).
6583         _add_watch() and _add_watch_full() now take a MessageType mask to
6584         only handle specific types of messages.
6585         _poll() returns the GstMessage instead of the message type to avoid
6586         race conditions.
6587         _have_pending() takes a MessageType mask now too.
6588         Added testsuite for multiple bus watches.
6589         Fix testsuites and applications for new bus API.
6590
6591 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6592
6593         * check/Makefile.am:
6594           mark a bunch of the tests as to fix until we fix them
6595
6596 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6597
6598         * common/check.mak:
6599           use GST_PLUGIN settings for valgrind tests as well, so we're
6600           valgrinding the correct thing
6601         * gst/gst.c: (init_post):
6602           plug another leak
6603
6604 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6605
6606         * gst/gst.c: (init_post), (gst_deinit):
6607         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6608         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6609         * gst/gstindex.c: (gst_index_factory_class_init),
6610         (gst_index_factory_finalize):
6611         * gst/gstobject.c: (gst_object_dispose):
6612         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6613         (gst_plugin_load_file), (gst_plugin_desc_free):
6614         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6615         (gst_plugin_feature_finalize):
6616         * gst/gstregistry.c: (gst_registry_class_init),
6617         (gst_registry_init), (gst_registry_finalize),
6618         (gst_registry_get_default), (gst_registry_deinit):
6619         * gst/gstregistry.h:
6620         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6621           various cleanups and memleak plugging.  make valgrind is happy now.
6622
6623 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6624
6625         * common/check.mak:
6626           add a check-valgrind target
6627
6628 2005-09-18  David Schleef  <ds@schleef.org>
6629
6630         * tools/gst-inspect.c: Revert the GOption code.
6631
6632 2005-09-17  David Schleef  <ds@schleef.org>
6633
6634         * check/Makefile.am: Fix environment variables.
6635         * check/gst/gstplugin.c: Fix for API changes.
6636         * tools/gst-inspect.c: Fix for API changes.
6637         * tools/gst-xmlinspect.c: Fix for API changes.
6638         * gst/gstelementfactory.c:
6639         * gst/gstplugin.c:
6640         * gst/gstplugin.h:
6641         * gst/gstpluginfeature.c:
6642         * gst/gstpluginfeature.h:
6643         * gst/gstregistry.c:
6644         * gst/gstregistry.h:
6645         * gst/gstregistryxml.c:
6646         * gst/gsttypefind.c:
6647         * gst/gsttypefindfactory.c:
6648         * gst/indexers/gstfileindex.c:
6649         * gst/indexers/gstmemindex.c:
6650         * gst/schedulers/Makefile.am:
6651           Change registry to keep track of both plugins and features,
6652           removing the feature tracking from plugins themselves.
6653
6654 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6655
6656         * check/Makefile.am:
6657         * tools/gst-register.1.in:
6658           remove gst-register
6659
6660 2005-09-15  David Schleef  <ds@schleef.org>
6661
6662         * check/gst/gstplugin.c:
6663         * gst/gstelementfactory.c:
6664         * gst/gstplugin.c:
6665         * gst/gstpluginfeature.c:
6666         * gst/gstregistry.c:
6667           Getting tired of debugging.  Disabled all the unreffing of
6668           plugins and features, which fixes the segfaults, but of
6669           course leaks like crazy.  At least playbin works.
6670
6671 2005-09-15  David Schleef  <ds@schleef.org>
6672
6673         * check/gst/gstplugin.c: (register_check_elements),
6674         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6675         More testing
6676         * gst/elements/gsttypefindelement.c: Fix refcounting.
6677         * gst/gsttypefind.c:
6678         * gst/gsttypefindfactory.c:
6679         * gst/gsttypefindfactory.h:
6680
6681 2005-09-15  David Schleef  <ds@schleef.org>
6682
6683         * gst/gstindex.c: get refcounting correct.
6684         * gst/gstregistry.c: Handle the case where a feature/plugin is
6685           not found.
6686
6687 2005-09-15  David Schleef  <ds@schleef.org>
6688
6689         * check/Makefile.am:
6690         * check/gst/gstplugin.c: Add test
6691         * gst/gstplugin.c: Fix problems noticed by testsuite
6692         * gst/gstplugin.h:
6693         * gst/gstregistry.c: 
6694         * gst/gstregistry.h:
6695
6696 2005-09-15  David Schleef  <ds@schleef.org>
6697
6698         * gst/gstplugin.c: Implement semi-decent recounting and locking
6699           in plugins and plugin features.
6700         * gst/gstplugin.h:
6701         * gst/gstpluginfeature.c:
6702         * gst/gstpluginfeature.h:
6703         * gst/gstregistry.c:
6704
6705 2005-09-15  Michael Smith <msmith@fluendo.com>
6706
6707         * gst/gstregistry.c: (gst_registry_get_feature_list):
6708           Implement this. Makes oggdemux work; decodebin still broken.
6709
6710 2005-09-14  David Schleef  <ds@schleef.org>
6711
6712         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6713           #316076)
6714         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6715         * gst/check/Makefile.am:
6716         * libs/gst/controller/Makefile.am:
6717         * libs/gst/dataprotocol/Makefile.am:
6718
6719 2005-09-14  David Schleef  <ds@schleef.org>
6720
6721         * configure.ac: Remove getbits library.  Nothing uses it, and
6722           it should be in something like liboil if someone did want
6723           to use it.
6724         * libs/gst/Makefile.am:
6725         * libs/gst/getbits/Makefile.am:
6726         * libs/gst/getbits/gbtest.c:
6727         * libs/gst/getbits/getbits.c:
6728         * libs/gst/getbits/getbits.h:
6729         * libs/gst/getbits/gstgetbits_generic.c:
6730         * libs/gst/getbits/gstgetbits_i386.s:
6731         * libs/gst/getbits/gstgetbits_inl.h:
6732
6733 2005-09-14  David Schleef  <ds@schleef.org>
6734
6735         * gst/Makefile.am: Dist glib-compat.h
6736
6737 2005-09-14  David Schleef  <ds@schleef.org>
6738
6739         * configure.ac: Remove gst/registries, since it's no longer used.
6740         * gst/registries/Makefile.am:
6741         * gst/registries/gstlibxmlregistry.c:
6742         * gst/registries/gstlibxmlregistry.h:
6743         * gst/registries/gstxmlregistry.c:
6744         * gst/registries/gstxmlregistry.h:
6745         * gst/registries/registrytest.c:
6746
6747 2005-09-14  David Schleef  <ds@schleef.org>
6748
6749         * gst/glib-compat.h:
6750         * gst/gstregistryxml.c:
6751           Convergence is near.  Seriously.
6752
6753 2005-09-14  David Schleef  <ds@schleef.org>
6754
6755         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6756         * gst/glib-compat.h:
6757           Attempt #4 to appease the buildbots.
6758
6759 2005-09-14  David Schleef  <ds@schleef.org>
6760
6761         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6762           Attempt #3.
6763
6764 2005-09-14  David Schleef  <ds@schleef.org>
6765
6766         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6767         Attempt #2.
6768
6769 2005-09-14  David Schleef  <ds@schleef.org>
6770
6771         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6772           the new functions.
6773
6774 2005-09-14  David Schleef  <ds@schleef.org>
6775
6776         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6777         * gst/glib-compat.h: Add some functions that are in newer versions
6778           of glib than we care to require.
6779         * gst/gstregistryxml.c: Use them.
6780
6781 2005-09-14  David Schleef  <ds@schleef.org>
6782
6783         * po/POTFILES.in: remove gst-register.c
6784
6785 2005-09-14  David Schleef  <ds@schleef.org>
6786
6787         * docs/gst/gstreamer-docs.sgml:
6788         * docs/gst/gstreamer-sections.txt:
6789         * docs/gst/gstreamer.types:
6790         * docs/gst/tmpl/gstelement.sgml:
6791         * docs/gst/tmpl/gstplugin.sgml:
6792         * docs/gst/tmpl/gstpluginfeature.sgml:
6793           Documentation updates for registry changes.
6794
6795 2005-09-14  David Schleef  <ds@schleef.org>
6796
6797         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6798           because we don't require glib-2.8.
6799
6800 2005-09-14  David Schleef  <ds@schleef.org>
6801
6802         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6803           registries directory.
6804
6805 2005-09-14  David Schleef  <ds@schleef.org>
6806
6807         * check/Makefile.am:
6808         * check/generic/states.c:
6809         * gst/Makefile.am:
6810         * gst/gst.c:
6811         * gst/gst.h:
6812         * gst/gst_private.h:
6813         * gst/gstelementfactory.c:
6814         * gst/gstindex.c:
6815         * gst/gstinfo.c:
6816         * gst/gstplugin.c:
6817         * gst/gstplugin.h:
6818         * gst/gstpluginfeature.c:
6819         * gst/gstpluginfeature.h:
6820         * gst/gstregistry.c:
6821         * gst/gstregistry.h:
6822         * gst/gstregistrypool.c: remove
6823         * gst/gstregistrypool.h: remove
6824         * gst/gsttypefind.c:
6825         * gst/gsttypefindfactory.c:
6826         * gst/gsturi.c:
6827         * tools/Makefile.am:
6828         * tools/gst-compprep.c:
6829         * tools/gst-inspect.c:
6830         * tools/gst-register.c: remove
6831         * tools/gst-xmlinspect.c:
6832           Registry rewrite.  Changes registry from being a file created
6833           by a tool into a simple cache file created automatically by 
6834           libgstreamer.  Removed gst-register (because it's no longer
6835           needed).  Remove registry pools, because we only have one
6836           registry implementation (XML).  Fix up other subsystems as
6837           necessary.
6838
6839 2005-09-13  Michael Smith <msmith@fluendo.com>
6840
6841         * gst/gstconfig.h.in:
6842           Don't Use windows linking attributes for MinGW. Fixes #316157
6843
6844 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6845
6846         * gst/gstutils.c: (set_state_async_thread_func),
6847         (gst_element_set_state_async):
6848           Apparently people think it's better if this function doesn't
6849           try to set the state to whatever state was asked for on the first
6850           call to this function for any object.  Seriously.
6851
6852 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6853
6854         * check/gst/gstpipeline.c: (GST_START_TEST):
6855         * docs/gst/gstreamer-sections.txt:
6856         * gst/gstutils.c: (set_state_async_thread_func),
6857         (gst_element_set_state_async):
6858         * gst/gstutils.h:
6859           add a "gst_element_set_state_async" method that
6860           sets the state and starts a thread to make sure the state
6861           change completes as best as it can
6862
6863 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6864
6865         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6866           codify design+behaviour in testsuite after discussion
6867
6868 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6869
6870         * docs/gst/tmpl/gstelement.sgml:
6871         * docs/manual/appendix-quotes.xml:
6872           add a quote
6873         * gst/gstelement.c: (gst_element_set_state):
6874           add some debug
6875
6876 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6877
6878         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6879         (gst_base_transform_prepare_output_buf),
6880         (gst_base_transform_handle_buffer):
6881         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6882         (gst_capsfilter_prepare_buf):
6883           Remove the requirement for sub-classes to call the parent
6884           implementation of prepare_output_buffer with a wrapper function.
6885           
6886         * gst/gsttaglist.h:
6887         * gst/gsttagsetter.h:
6888           Fix #define wrapper
6889
6890 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6891
6892         * docs/gst/gstreamer-sections.txt:
6893           more doc cleanups
6894
6895 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6896
6897         * docs/gst/gstreamer-sections.txt:
6898         * docs/gst/tmpl/gstelement.sgml:
6899         * docs/gst/tmpl/gstplugin.sgml:
6900         * gst/gstminiobject.c:
6901         * gst/gstvalue.h:
6902           docs now stop throwing warnings
6903
6904 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6905
6906         * docs/gst/gstreamer-sections.txt:
6907         * docs/gst/gstreamer.types:
6908         * docs/gst/tmpl/gstpad.sgml:
6909         * docs/gst/tmpl/gsttypes.sgml:
6910         * gst/base/gstadapter.h:
6911         * gst/base/gstbasesink.h:
6912         * gst/base/gstbasesrc.h:
6913         * gst/gstbin.h:
6914         * gst/gstbuffer.h:
6915         * gst/gstbus.h:
6916         * gst/gstcaps.h:
6917         * gst/gstclock.h:
6918         * gst/gstelement.h:
6919         * gst/gstevent.h:
6920         * gst/gstmessage.h:
6921         * gst/gstpad.h:
6922         * gst/gststructure.c:
6923         * gst/registries/gstlibxmlregistry.h:
6924           various documentation fixes
6925
6926 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6927
6928         * docs/gst/gstreamer-sections.txt:
6929         * docs/gst/tmpl/gstvalue.sgml:
6930           rearrange gstvalue section
6931         * gst/gstutils.c: (gst_element_state_get_name):
6932           NONE -> VOID
6933         * gst/gstvalue.c: (_gst_value_initialize):
6934         * gst/gstvalue.h:
6935           doc updates
6936
6937 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6938
6939         * check/gst-libs/controller.c:
6940           Header include fix.
6941         * gst/base/gstbasetransform.c:
6942         (gst_base_transform_default_prepare_buf),
6943         (gst_base_transform_handle_buffer):
6944         * gst/base/gstbasetransform.h:
6945           Some more basetransform changes and fixes to enable sub-classes
6946           that modify buffer metadata only.
6947         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6948         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6949         (gst_capsfilter_prepare_buf):
6950           If the output pad has fixed allowed caps and input buffers 
6951           don't have any, set the fixed caps on outgoing buffers.
6952
6953 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6954         * check/elements/identity.c: (GST_START_TEST):
6955           Make the error a little clearer when the test fails because
6956           identity made a copy of the buffer.
6957         * docs/gst/gstreamer-sections.txt:
6958           New symbols in gstbasetransform.h
6959         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6960         (gst_base_transform_init), (gst_base_transform_transform_size),
6961         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6962         (gst_base_transform_default_prepare_buf),
6963         (gst_base_transform_get_unit_size),
6964         (gst_base_transform_buffer_alloc),
6965         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6966         (gst_base_transform_change_state),
6967         (gst_base_transform_set_passthrough),
6968         (gst_base_transform_set_in_place),
6969         (gst_base_transform_is_in_place):
6970         * gst/base/gstbasetransform.h:
6971           Change BaseTransform to separate in_place operate from same_caps
6972           output. in_place implies that the element can perform the transform
6973           on incoming buffers in-place, even if the caps on the output are
6974           different.
6975           Sub-class elements can now implement special buffer allocation
6976           methods for outgoing buffers if they wish to.
6977           Big documentation addition.
6978         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6979         * gst/elements/gstelements.c:
6980           Changes for basetransform modifications.
6981         * gst/elements/Makefile.am:
6982         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6983           Compile fix. Extra debug output.
6984
6985 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6986
6987         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6988         (gst_pad_suite):
6989           add tests for valid pad naming
6990         * gst/check/gstcheck.c: (gst_check_log_message_func),
6991         (gst_check_log_critical_func):
6992           add ASSERT_WARNING
6993           remove printing of code, it is fragile when the code contains
6994           % and the line number is enough info
6995         * gst/check/gstcheck.h:
6996         * gst/gstpad.c: (gst_pad_template_new):
6997           fix memleaks
6998
6999 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7000
7001         * configure.ac:
7002           say what CHECK flags we use
7003         * docs/libs/gstreamer-libs.types:
7004         * libs/gst/controller/Makefile.am:
7005         * libs/gst/controller/gst-controller.c:
7006         * libs/gst/controller/gst-controller.h:
7007         * libs/gst/controller/gst-helper.c:
7008         * libs/gst/controller/gst-interpolation.c:
7009         * libs/gst/controller/gstcontroller.c:
7010         * libs/gst/controller/gsthelper.c:
7011         * libs/gst/controller/gstinterpolation.c:
7012         * tools/gst-inspect.c: (print_plugin_info):
7013           we don't use dashes in header names
7014
7015 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7016
7017         * check/Makefile.am:
7018         * check/gst/.cvsignore:
7019         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7020         (gst_pipeline_suite), (main):
7021           adding a test for pipelines and state changes
7022         * gst/gstutils.c: (get_state_func):
7023           add some debugging
7024         * gstreamer.spec.in:
7025           fix up spec file
7026
7027 2005-09-08  Michael Smith <msmith@fluendo.com>
7028
7029         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7030         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7031         (gst_file_src_is_seekable), (gst_file_src_get_size),
7032         (gst_file_src_start):
7033         * gst/elements/gstfilesrc.h:
7034           Various fixes for unseekable, unmmapable, and non-normal files, so
7035           that fallback to read() rather than mmap() works.
7036         * gst/gstevent.c: (gst_event_new_newsegment):
7037           Allow newsegment events with segment_start == segment_end, as will
7038           correctly happen if you use filesrc on a zero-size file, for
7039           example.
7040
7041 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7042
7043         * gst/gstplugin.c: (gst_plugin_load_file):
7044           Call g_module_close when we don't load the module
7045
7046         * gst/registries/gstlibxmlregistry.c:
7047         (gst_xml_registry_get_property):
7048           Port leak fix from 0.8
7049
7050 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7051
7052         * docs/gst/gstreamer-docs.sgml:
7053         * docs/gst/tmpl/.cvsignore:
7054         * docs/gst/tmpl/gsttrace.sgml:
7055         * docs/gst/tmpl/gsttrashstack.sgml:
7056         * gst/Makefile.am:
7057         * gst/gst.h:
7058         * gst/gstelement.h:
7059         * gst/gstevent.h:
7060         * gst/gstmessage.c:
7061         * gst/gstmessage.h:
7062         * gst/gsttag.c:
7063         * gst/gsttag.h:
7064         * gst/gsttaginterface.c:
7065         * gst/gsttaginterface.h:
7066         * gst/gsttaglist.c:
7067         * gst/gsttaglist.h:
7068         * gst/gsttagsetter.c:
7069         * gst/gsttagsetter.h:
7070         * gst/gsttrace.c:
7071         * gst/gsttrace.h:
7072         * gst/gsttrashstack.c:
7073           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7074           inlined docs for gsttrace, gsttrashstack
7075
7076 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7077
7078         * gst/Makefile.am:
7079         * gst/elements/gstbufferstore.h:
7080         * gst/elements/gsttypefindelement.c:
7081         * gst/elements/gsttypefindelement.h:
7082         * gst/gst.h:
7083         * gst/gsttypefind.c:
7084         * gst/gsttypefind.h:
7085         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7086         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7087         (gst_type_find_factory_dispose),
7088         (gst_type_find_factory_unload_thyself),
7089         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7090         (gst_type_find_factory_get_caps),
7091         (gst_type_find_factory_get_extensions),
7092         (gst_type_find_factory_call_function):
7093         * gst/gsttypefindfactory.h:
7094         * gst/registries/gstlibxmlregistry.c:
7095         * gst/registries/gstxmlregistry.c:
7096           splitted gsttypefind into gsttypefind, gsttypefindfactory
7097
7098 2005-09-07  Andy Wingo  <wingo@pobox.com>
7099
7100         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7101         condition whereby the pad's task function is entered before the
7102         pad_mode variable was set.
7103
7104 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7105
7106         * gst/gstpad.c: (gst_pad_alloc_buffer):
7107           Catch misbehaving pad_alloc functions that don't
7108           set up caps and do it for them.
7109
7110 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7111
7112         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7113           test for pipe!=NULL
7114         * docs/gst/tmpl/.cvsignore:
7115         * docs/gst/tmpl/gstmemchunk.sgml:
7116         * docs/gst/tmpl/gstparse.sgml:
7117         * docs/gst/tmpl/gsttaglist.sgml:
7118         * docs/gst/tmpl/gsttagsetter.sgml:
7119         * docs/gst/tmpl/gsttypefind.sgml:
7120         * docs/gst/tmpl/gsttypefindfactory.sgml:
7121         * gst/gstmemchunk.c:
7122         * gst/gstparse.c:
7123         * gst/gsttag.c:
7124         * gst/gsttaginterface.c:
7125         * gst/gsttypefind.c:
7126         * gst/gsttypefind.h:
7127           inlined more docs
7128
7129 === release 0.9.2 ===
7130
7131 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7132
7133         * NEWS:
7134         * RELEASE:
7135         * configure.ac:
7136           releasing 0.9.2, "South"
7137
7138 2005-09-05  Andy Wingo  <wingo@pobox.com>
7139
7140         * gst/registries/gstxmlregistry.h:
7141         * gst/registries/gstxmlregistry.c: Um... resurrect...
7142         
7143         * gst/registries/gstxmlregistry.h:
7144         * gst/registries/gstxmlregistry.c: and update to newer API.
7145         Incidentally they should be a bit faster now that they don't have
7146         to parse the caps.
7147         
7148 2005-09-05  Andy Wingo  <wingo@pobox.com>
7149
7150         * gst/registries/gstxmlregistry.h:
7151         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7152         replaced by the libxml registry a while back
7153
7154 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7155
7156         * docs/gst/tmpl/gstplugin.sgml:
7157         * gst/elements/gstelements.c:
7158         * gst/gst.c:
7159         * gst/gstplugin.c: (gst_plugin_register_func),
7160         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7161         (gst_plugin_get_source):
7162         * gst/gstplugin.h:
7163         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7164         (gst_xml_registry_save_plugin):
7165         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7166         (gst_xml_registry_save_plugin):
7167         * tools/gst-inspect.c: (print_plugin_info):
7168           add a "source" plugin description field, to represent the source
7169           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7170           will set it to PACKAGE, which is automake's idea of the name of
7171           the source project.
7172
7173 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7174
7175         * Makefile.am:
7176         * autogen.sh:
7177         * configure.ac:
7178         * docs/Makefile.am:
7179         * docs/faq/Makefile.am:
7180         * docs/gst/tmpl/gstelement.sgml:
7181         * docs/gst/tmpl/gsttypes.sgml:
7182         * docs/htmlinstall.mak:
7183         * docs/manual/Makefile.am:
7184         * docs/pwg/Makefile.am:
7185           reorganize doc build a little
7186           split out docbook and gtk-doc stuff
7187           have two separate --enable's and enable them through autogen
7188           but disable by default in configure (to be similar to other
7189           projects)
7190         * gstreamer.spec.in:
7191           clean up docs install
7192         * po/af.po:
7193         * po/az.po:
7194         * po/ca.po:
7195         * po/cs.po:
7196         * po/de.po:
7197         * po/en_GB.po:
7198         * po/fr.po:
7199         * po/it.po:
7200         * po/nb.po:
7201         * po/nl.po:
7202         * po/ru.po:
7203         * po/sq.po:
7204         * po/sr.po:
7205         * po/sv.po:
7206         * po/tr.po:
7207         * po/uk.po:
7208         * po/vi.po:
7209           translation updates
7210
7211 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7212
7213         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7214           Add comment.
7215           
7216         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7217         (gst_fake_sink_change_state):
7218           Make state change function thread-safe.
7219           
7220         * gst/gstpad.c: (gst_pad_alloc_buffer):
7221           Set offset on generic buffer allocated by fallback.
7222
7223 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7224
7225         * docs/gst/gstreamer-sections.txt:
7226         * docs/gst/tmpl/gstelement.sgml:
7227         * gst/gstpad.c:
7228         * libs/gst/controller/gst-controller.c:
7229         (gst_controlled_property_set_interpolation_mode),
7230         (gst_controlled_property_new),
7231         (gst_controller_find_controlled_property):
7232          run the wingo-magic script against the docs
7233
7234 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7235
7236         * docs/gst/gstreamer-docs.sgml:
7237         * docs/gst/gstreamer-sections.txt:
7238         * docs/gst/tmpl/.cvsignore:
7239         * docs/gst/tmpl/gstelementdetails.sgml:
7240         * docs/gst/tmpl/gstelementfactory.sgml:
7241         * gst/gst.c:
7242         * gst/gstbus.c:
7243         * gst/gstelementfactory.c:
7244         * gst/gstelementfactory.h:
7245           merged elementdetails docs into elementfactory docs
7246           inlined both
7247
7248 2005-09-02  Andy Wingo  <wingo@pobox.com>
7249
7250         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7251         consider this enum an enum and not a flags.
7252
7253 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7254
7255         * docs/gst/gstreamer-docs.sgml:
7256         * docs/gst/tmpl/.cvsignore:
7257         * docs/gst/tmpl/gstghostpad.sgml:
7258         * docs/gst/tmpl/gstiterator.sgml:
7259         * docs/gst/tmpl/gstmacros.sgml:
7260         * docs/gst/tmpl/gstrealpad.sgml:
7261         * docs/gst/tmpl/gstregistry.sgml:
7262         * docs/gst/tmpl/gstregistrypool.sgml:
7263         * docs/gst/tmpl/gststructure.sgml:
7264         * docs/gst/tmpl/gstsystemclock.sgml:
7265         * docs/gst/tmpl/gsttrace.sgml:
7266         * gst/gstghostpad.c:
7267         * gst/gstmacros.h:
7268         * gst/gstmemchunk.c:
7269         * gst/gstmemchunk.h:
7270         * gst/gstqueue.c:
7271         * gst/gstregistry.c:
7272         * gst/gstregistrypool.c:
7273         * gst/gststructure.c:
7274         * gst/gstsystemclock.c:
7275           more docs inlined
7276
7277 2005-09-02  Andy Wingo  <wingo@pobox.com>
7278
7279         * gst/gstelement.h (GstState): Renamed from GstElementState,
7280         changed to be a normal enum instead of flags.
7281         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7282         munged to be GST_STATE_CHANGE_*.
7283         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7284         work with the new state representation.
7285         (GstStateChange): New enumeration of possible state transitions.
7286         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7287         (GstElementClass::change_state): Pass the GstStateChange along as
7288         an argument. Helps language bindings, so they don't have to use
7289         tricky lock-needing macros like GST_STATE_CHANGE ().
7290
7291         * scripts/update-states (file): New script. Run it on a file to
7292         update it for state naming and API changes. Updates files in
7293         place.
7294
7295         * All files updated for the new API.
7296
7297 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7298
7299         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7300         * gst/gstutils.c: (gst_util_set_value_from_string),
7301         (gst_util_set_object_arg):
7302           fix a bunch of unchecked return values
7303         * tools/gst-complete.c: (main):
7304         * gstreamer.spec.in:
7305           clean up a little
7306
7307 2005-09-01  Wim Taymans  <wim@fluendo.com>
7308
7309         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7310         (gst_base_sink_event), (gst_base_sink_do_sync),
7311         (gst_base_sink_handle_event):
7312         * gst/base/gstbasesink.h:
7313         Handle newsegments more correctly.
7314
7315         * gst/gstbus.c:
7316         Fix docs.
7317
7318         * gst/gstevent.c: (gst_event_new_newsegment):
7319         A newsegment cannot have a start_time of -1
7320
7321 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7322
7323         * win32/gstenumtypes.c:
7324         * win32/gstenumtypes.h:
7325           Update
7326
7327 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7328
7329         * libs/gst/controller/gst-controller.c:
7330         (gst_controlled_property_set_interpolation_mode),
7331         (gst_controlled_property_new):
7332          fixed boolean again
7333
7334 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7335
7336         * docs/faq/gst-uninstalled:
7337           add -good
7338         * gst/gstevent.c:
7339         * gst/gstevent.h:
7340           remove wrong docs
7341         * gst/gstutils.c: (gst_element_link_filtered):
7342         * gst/gstutils.h:
7343           add gst_element_link_filtered
7344
7345 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7346
7347         * docs/gst/gstreamer-docs.sgml:
7348         * docs/gst/gstreamer-sections.txt:
7349         * docs/gst/tmpl/.cvsignore:
7350         * docs/gst/tmpl/gsterror.sgml:
7351         * docs/gst/tmpl/gstfilter.sgml:
7352         * docs/gst/tmpl/gsturihandler.sgml:
7353         * docs/gst/tmpl/gsturitype.sgml:
7354         * docs/gst/tmpl/gstutils.sgml:
7355         * docs/gst/tmpl/gstxml.sgml:
7356         * gst/gsterror.c:
7357         * gst/gsterror.h:
7358         * gst/gstfilter.c:
7359         * gst/gsturi.c:
7360         * gst/gsturitype.c:
7361         * gst/gstutils.c:
7362         * gst/gstxml.c:
7363           inlined more docs, fixed double id-ref
7364
7365 2005-08-31  Wim Taymans  <wim@fluendo.com>
7366
7367         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7368         (gst_base_transform_handle_buffer):
7369         Passthrough elements don't need the caps as they don't care.
7370
7371 2005-08-31  Wim Taymans  <wim@fluendo.com>
7372
7373         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7374         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7375         Don't leak refcounts on buffers.
7376
7377 2005-08-31  Wim Taymans  <wim@fluendo.com>
7378
7379         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7380         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7381         (gst_base_transform_chain), (gst_base_transform_change_state):
7382         * gst/base/gstbasetransform.h:
7383         Handle the case where we are not negotiated more gracefully.
7384
7385 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7386
7387         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7388         (gst_file_src_map_region):
7389           Set READONLY flag on mmap'ed buffers, otherwise
7390           gst_buffer_make_writable() won't work properly (#314708).
7391
7392 2005-08-31  Wim Taymans  <wim@fluendo.com>
7393
7394         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7395         passthrough elements can even do inplace on non writable
7396         buffers (as they don't touch them).
7397
7398 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7399
7400         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7401         (gst_test_mono_source_set_property),
7402         (gst_test_mono_source_class_init), (GST_START_TEST),
7403         (gst_controller_suite):
7404           more tests (hehe I have the most)
7405         * gst/gstbus.c:
7406           describe popping messages whenusing mulltiple sources
7407         * libs/gst/controller/gst-controller.c:
7408         (gst_controlled_property_set_interpolation_mode),
7409         (gst_controlled_property_new):
7410         * libs/gst/controller/gst-controller.h:
7411         * libs/gst/controller/gst-interpolation.c:
7412           implement boolean properties
7413
7414 2005-08-31  Wim Taymans  <wim@fluendo.com>
7415
7416         * gst/gstminiobject.c: (gst_mini_object_ref):
7417         Cannot assert that the refcount has to be positive
7418         since a disposed object can be resurrected.
7419
7420 2005-08-31  Wim Taymans  <wim@fluendo.com>
7421
7422         * gst/gstpad.c: (gst_pad_init):
7423         Revert change, need to first fix badly behaving 
7424         apps.
7425
7426 2005-08-30  Wim Taymans  <wim@fluendo.com>
7427
7428         * check/elements/fakesrc.c: (setup_fakesrc):
7429         * check/elements/identity.c: (setup_identity):
7430         Activate pads before using them.
7431
7432 2005-08-30  Wim Taymans  <wim@fluendo.com>
7433
7434         * gst/base/gstadapter.c: (gst_adapter_flush):
7435         Flushing out 0 bytes is ok for this function.
7436
7437         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7438         no newsegment gives a warning and sets the start/stop to 
7439         invalid.
7440
7441         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7442         (gst_base_transform_set_passthrough):
7443         Some debug info.
7444
7445         * gst/gstminiobject.c: (gst_mini_object_ref):
7446         Check refcount here too.
7447
7448         * gst/gstpad.c: (gst_pad_init):
7449         Pads are initially flushing and refusing data.
7450
7451         * gst/gstutils.c: (gst_element_link_pads_filtered):
7452         When adding a capsfilter element make sure it has the
7453         same state as the parent bin.
7454
7455 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7456
7457         * docs/gst/tmpl/.cvsignore:
7458         * docs/gst/tmpl/gstformat.sgml:
7459         * docs/gst/tmpl/gstversion.sgml:
7460         * gst/gstbus.h:
7461         * gst/gstformat.c:
7462         * gst/gstformat.h:
7463         * gst/gstversion.h.in:
7464           more docs and two more inlined
7465
7466 2005-08-30  Wim Taymans  <wim@fluendo.com>
7467
7468         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7469         Don't sync to clock.
7470
7471 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7472
7473         * docs/gst/gstreamer-sections.txt:
7474           ultral33t func10ns deserve to appear in the docs actually
7475         * docs/gst/tmpl/.cvsignore:
7476         * docs/gst/tmpl/gstcompat.sgml:
7477         * docs/gst/tmpl/gstconfig.sgml:
7478         * gst/check/gstcheck.c:
7479         * gst/gstcompat.h:
7480         * gst/gstconfig.h.in:
7481           inlined more docs
7482
7483 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7484
7485         * docs/gst/tmpl/.cvsignore:
7486         * docs/gst/tmpl/gstquery.sgml:
7487         * docs/gst/tmpl/gstutils.sgml:
7488         * gst/gstquery.c:
7489         * gst/gstquery.h:
7490           inlined and extended docs
7491
7492 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7493
7494         * check/gst-libs/controller.c: (GST_START_TEST),
7495         (gst_controller_suite):
7496           more tests
7497         * docs/gst/tmpl/gstutils.sgml:
7498         * docs/libs/gstreamer-libs-sections.txt:
7499         * docs/libs/tmpl/gstdataprotocol.sgml:
7500           include path fixes
7501         * examples/controller/audio-example.c: (main):
7502           controller example works now
7503         * gst/gstclock.h:
7504           doc fixes
7505         * tools/gst-inspect.c: (print_element_properties_info):
7506           show param spec flags
7507
7508 2005-08-29  Andy Wingo  <wingo@pobox.com>
7509
7510         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7511
7512 2005-08-28  Andy Wingo  <wingo@pobox.com>
7513
7514         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7515         as having two arguments instead of just one. Allows superclasses
7516         to access information on subclasses -- see the terrible for() loop
7517         in gtype.c:g_type_create_instance for the reason why. All callers
7518         changed.
7519
7520 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7521
7522         * docs/design/part-messages.txt:
7523           update info
7524         * docs/gst/tmpl/.cvsignore:
7525         * docs/gst/tmpl/gstcaps.sgml:
7526         * docs/gst/tmpl/gstclock.sgml:
7527         * gst/gstbus.c:
7528         * gst/gstcaps.c:
7529         * gst/gstcaps.h:
7530         * gst/gstclock.c:
7531         * gst/gstclock.h:
7532         * gst/gstmessage.c:
7533           added descriptions for bus and message
7534           inline caps and clock docs
7535
7536 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7537
7538         * gst/gstmessage.c:
7539         * gst/gstmessage.h:
7540           doc fixes
7541
7542 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7543
7544         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7545           fix div-by-zero
7546
7547 2005-08-26  Andy Wingo  <wingo@pobox.com>
7548
7549         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7550         element_set_state's return val.
7551         (test_2_elements): Add test that's been disabled for months.
7552
7553         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7554         can-activate-pull properties.
7555
7556         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7557         can-activate-pull properties. Implement is_seekable so fakesrc can
7558         operate in pull mode.
7559
7560         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7561         properties.
7562         (gst_base_sink_activate, gst_base_sink_activate_pull)
7563         (gst_base_sink_activate_push): Make activation mode choosing work.
7564         Cleanups.
7565         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7566         is right. Make pull mode work. Post an eos before pausing in pull
7567         mode.
7568         (gst_base_sink_change_state): Pay attention to the core's
7569         change_state() return val.
7570         
7571         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7572         has-getrange properties. Cleanups.
7573         
7574         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7575         has_getrange and replace with can_activate_pull and
7576         can_activate_push.
7577
7578         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7579         locking comments. Remove has_loop, has_chain and replace with
7580         can_activate_pull and can_activate_push.
7581
7582 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7583
7584         * configure.ac:
7585         * examples/Makefile.am:
7586         * examples/metadata/Makefile.am:
7587         * examples/metadata/read-metadata.c: (message_loop),
7588         (have_pad_handler), (make_pipeline), (print_tag), (main):
7589           Add metadata reading example that loops over a list of filenames,
7590           dumping any tags found.
7591
7592         * gst/gstbus.c: (gst_bus_dispose):
7593         * gst/gstelement.c: (gst_element_dispose):
7594           Release a few potentially-held references in dispose.
7595
7596 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7597
7598         * docs/gst/tmpl/gstminiobject.sgml:
7599           do *not* add tmpl/*.sgml files to CVS!
7600
7601 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7602
7603         * libs/gst/bytestream/.cvsignore:
7604         * libs/gst/bytestream/Makefile.am:
7605         * libs/gst/bytestream/adapter.c:
7606         * libs/gst/bytestream/adapter.h:
7607         * libs/gst/bytestream/bytestream.c:
7608         * libs/gst/bytestream/bytestream.h:
7609         * libs/gst/bytestream/filepad.c:
7610         * libs/gst/bytestream/filepad.h:
7611           removing obsolete files
7612
7613 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7614
7615         * docs/gst/gstreamer-docs.sgml:
7616         * docs/libs/gstreamer-libs-docs.sgml:
7617           disabed additional index entries again, as this makes docs-gen just
7618           slow and they aren't useful yet
7619         * docs/libs/gstreamer-libs-sections.txt:
7620           little -section.txt cleanup for libs
7621
7622 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7623
7624         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7625         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7626           fix up some debugging
7627         (gst_base_transform_get_unit_size),
7628         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7629         (gst_base_transform_handle_buffer):
7630         * gst/base/gstbasetransform.h:
7631           handle and store timed NEWSEGMENT events so that subclasses that
7632           calculate time by counting samples have a segment_start time they
7633           need to add to their timestamps - see audioresample
7634
7635 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7636
7637         * gst/gstbin.h:
7638           removed ';' from the end of macro defs
7639         * docs/gst/gstreamer-docs.sgml:
7640         * docs/gst/gstreamer-sections.txt:
7641         * docs/gst/tmpl/.cvsignore:
7642         * gst/gstbus.h:
7643         * gst/gstelement.c: (gst_element_class_init),
7644         (gst_element_set_state), (activate_pads),
7645         (gst_element_save_thyself):
7646         * gst/gstevent.c: (gst_event_new_newsegment):
7647         * gst/gstevent.h:
7648         * gst/gstiterator.c:
7649         * gst/gstiterator.h:
7650         * gst/gstpad.c:
7651         * gst/gstprobe.h:
7652         * gst/gstutils.c: (gst_pad_query_convert):
7653         * gst/gstutils.h:
7654           fixed parameter name mismatches between source, header and docs
7655           added some more docs, resolved the last batch of unused elements in
7656           docs (now someone needs to doc them)
7657
7658 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7659
7660         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7661         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7662           don't walk through the plugins backwards.  Where is all this
7663           reversed logic coming from ?
7664
7665 2005-08-25  Wim Taymans  <wim@fluendo.com>
7666
7667         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7668         (gst_base_transform_transform_size),
7669         (gst_base_transform_configure_caps),
7670         (gst_base_transform_get_unit_size),
7671         (gst_base_transform_buffer_alloc),
7672         (gst_base_transform_change_state):
7673         * gst/base/gstbasetransform.h:
7674         Cache caps unit_size.
7675         Make sure we cannot negotiate up and downstream at the
7676         same time.
7677
7678 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7679
7680         * gst/gst.c: (init_pre), (init_post):
7681           register the installed plugin path after the env var
7682         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7683         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7684           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7685           directories, so the tests can prefer uninstalled over installed
7686
7687 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7688
7689         * gst/base/gstbasetransform.h:
7690           comment
7691         * gst/gstpad.c:
7692           add to docs
7693
7694 2005-08-25  Wim Taymans  <wim@fluendo.com>
7695
7696         * gst/gstbin.c: (bin_bus_handler):
7697         Be a bit more conservative about the posted message.
7698         
7699         * gst/gstbus.c: (gst_bus_post):
7700         Some cleanups, warn wrong return values.
7701
7702 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7703
7704         * check/gst/gstbin.c: (GST_START_TEST):
7705         * gst/gstbin.c: (bin_bus_handler):
7706         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7707         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7708         (gst_message_new_warning), (gst_message_new_tag),
7709         (gst_message_new_state_changed), (gst_message_new_segment_start),
7710         (gst_message_new_segment_done), (gst_message_new_custom):
7711         * gst/gstmessage.h:
7712         * tools/gst-launch.c: (event_loop):
7713         * tools/gst-md5sum.c: (event_loop):
7714           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7715
7716 2005-08-25  Wim Taymans  <wim@fluendo.com>
7717
7718         * check/generic/states.c: (GST_START_TEST):
7719         Cleanup can be done at the end.
7720
7721         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7722         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7723         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7724         Oh boy.. Thanks for finding this, Thomas. 
7725
7726 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7727
7728         * docs/gst/gstreamer.types:
7729           added missing types
7730
7731 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7732
7733         * docs/gst/gstreamer-docs.sgml:
7734         * docs/gst/gstreamer-sections.txt:
7735         * docs/gst/tmpl/.cvsignore:
7736         * gst/gstbin.c:
7737         * gst/gstiterator.c:
7738         * gst/gstutils.c:
7739         * gst/registries/gstxmlregistry.h:
7740           added missing classes and symbols (123 more to go)
7741           removed removed symbols from section file
7742           fixed many doc-comments
7743
7744 2005-08-24  Wim Taymans  <wim@fluendo.com>
7745
7746         * check/generic/states.c: (GST_START_TEST):
7747         Make sure all tasks are stopped.
7748
7749         * check/gst/gstbin.c: (GST_START_TEST):
7750         Unref after usage for proper valgrinding.
7751
7752         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7753         Really wait for the task to stop before destroying the
7754         mutex.
7755
7756         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7757         (gst_queue_src_activate_push):
7758         Small cleanups. Don't stop the task when we did not start
7759         it.
7760
7761         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7762         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7763         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7764         (gst_task_join):
7765         * gst/gsttask.h:
7766         Protect the stream lock with the object lock.
7767         Disallow setting the stream lock when running.
7768         Add cleanup_all to wait for the threadpool to finish.
7769         Remove code to autoallocate a mutex if none was provided.
7770         Add _join() to wait for a task to stop.
7771         Protect the thread pool with a global lock.
7772
7773 2005-08-24  Wim Taymans  <wim@fluendo.com>
7774
7775         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7776         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7777         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7778         * gst/base/gstbasesink.h:
7779         Handle newsegment events correctly.
7780         Drop buffers out of the segment range.
7781
7782 2005-08-22  Andy Wingo  <wingo@pobox.com>
7783
7784         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7785         macro, implements an interface and gstimplementsinterface for a
7786         new type.
7787
7788 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7789
7790         * check/Makefile.am:
7791         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7792           add a test that does a bunch of state changes on elements
7793           needs some fixing for valgrind
7794         * check/states/sinks.c: (gst_object_suite):
7795           whitespace
7796         * gst/gstcaps.h:
7797           add prototype for gst_caps_is_equal_fixed
7798         * gst/gstplugin.c:
7799         * gst/gstregistrypool.c:
7800           doc fixes
7801
7802 2005-08-24  Andy Wingo  <wingo@pobox.com>
7803
7804         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7805         convert a negative value. Doesn't make much sense. Mostly this is
7806         here to force callers to ensure -1 maps to -1.
7807
7808 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7809
7810         * docs/pwg/advanced-types.xml:
7811           Well done to Michael for catching my deliberate introduction
7812           of this spelling mistake. 
7813         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7814         * gst/gstelement.h:
7815           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7816           unlink pads before removing the element from the bin.
7817
7818 2005-08-24  Andy Wingo  <wingo@pobox.com>
7819
7820         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7821         the same thing as GST_DEBUG=*:4.
7822         (parse_debug_level, parse_debug_category): New helper parsers.
7823
7824 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7825
7826         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7827         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7828         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7829         (gst_base_transform_buffer_alloc),
7830         (gst_base_transform_handle_buffer):
7831           use gboolean return values and pointers to size so we can use the
7832           full GST_BUFFER_SIZE range (guint) for buffer sizes
7833           use GstPadDirection for transform_caps
7834         * gst/base/gstbasetransform.h:
7835           rename get_size to get_unit_size since that's what it is
7836         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7837           use GstPadDirection for transform_caps
7838         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7839         * gst/gstutils.h:
7840           cleanup and debugging
7841
7842 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7843
7844         * gst/gstelement.c: (gst_element_class_init),
7845         (gst_element_set_state), (activate_pads),
7846         (gst_element_save_thyself):
7847         * tools/gst-compprep.c: (main):
7848         * tools/gst-inspect.c: (print_element_properties_info):
7849         * tools/gst-xmlinspect.c: (print_element_properties):
7850           Fixed long standing mem-leak
7851
7852 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7853
7854         * check/gst/gstbin.c: (GST_START_TEST):
7855         * gst/gstbin.c: (bin_bus_handler):
7856         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7857         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7858         (gst_message_new_warning), (gst_message_new_tag),
7859         (gst_message_new_state_changed), (gst_message_new_segment_start),
7860         (gst_message_new_segment_done), (gst_message_new_custom):
7861         * gst/gstmessage.h:
7862         * tools/gst-launch.c: (event_loop):
7863         * tools/gst-md5sum.c: (event_loop):
7864           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7865           that applications can sensibly post custom messages with references
7866           to their own objects.
7867
7868 2005-08-24  Andy Wingo  <wingo@pobox.com>
7869
7870         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7871         already.
7872
7873 2005-08-24  Wim Taymans  <wim@fluendo.com>
7874
7875         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7876         (gst_base_transform_transform_caps),
7877         (gst_base_transform_transform_size),
7878         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7879         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7880         (gst_base_transform_handle_buffer):
7881         * gst/base/gstbasetransform.h:
7882         Many fixes and new features added by Thomas. Can now also do
7883         transforms with variable sizes and a custom fixate_caps function.
7884
7885 2005-08-24  Wim Taymans  <wim@fluendo.com>
7886
7887         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7888         Some debugging.
7889
7890         * gst/gstclock.h:
7891         Cast to ClockTime before formatting to time.
7892
7893         * gst/gstutils.h:
7894         Cleanups.
7895
7896 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7897
7898         * check/gst-libs/controller.c: (GST_START_TEST),
7899         (gst_controller_suite):
7900         * docs/gst/tmpl/gstcaps.sgml:
7901         * docs/gst/tmpl/gstghostpad.sgml:
7902         * docs/gst/tmpl/gstquery.sgml:
7903         * docs/gst/tmpl/gstutils.sgml:
7904         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7905         (gst_object_sink_values), (gst_object_get_value_arrays),
7906         (gst_object_get_value_array):
7907           gracefully handle helper method calls to objects that are not beeing
7908           controlled, added test case for that          
7909
7910 2005-08-23  Wim Taymans  <wim@fluendo.com>
7911
7912         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7913         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7914         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7915         (gst_event_parse_qos), (gst_event_new_seek),
7916         (gst_event_parse_seek):
7917         * gst/gstevent.h:
7918         Some more debugging output and doc cleanups.
7919
7920         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7921         Fix possible deadlock.
7922
7923 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7924
7925         * docs/gst/gstreamer-docs.sgml:
7926         * docs/gst/gstreamer-sections.txt:
7927         * docs/gst/gstreamer.types:
7928         * docs/gst/tmpl/.cvsignore:
7929         * gst/gstbin.h:
7930         * gst/gstbus.c:
7931         * gst/gstelement.c:
7932         * gst/gstevent.h:
7933           added 100 symbols from gstreamer-unused.txt to the right sections
7934           fixed more broken comments
7935           added GstBus to docs
7936
7937 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7938
7939         * docs/gst/gstreamer-sections.txt:
7940         * docs/gst/tmpl/.cvsignore:
7941         * docs/gst/tmpl/gstbin.sgml:
7942         * docs/gst/tmpl/gstbuffer.sgml:
7943         * gst/base/gstbasesrc.c:
7944         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7945         * gst/gstbuffer.c:
7946         * gst/gstbuffer.h:
7947         * tools/gst-launch.1.in:
7948           inlined more doc comments, added missing comments and fixed comments
7949           fixed typos
7950
7951 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7952
7953         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7954           some debugging
7955         * gst/gstcaps.h:
7956           whitespace fixes
7957         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7958           more debugging
7959         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7960         * gst/gststructure.h:
7961           add a fixate function for booleans; add a FIXME that these func
7962           names should probably be gst_structure_fixate_*
7963
7964 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7965
7966         * docs/gst/gstreamer-docs.sgml:
7967         * docs/gst/gstreamer-sections.txt:
7968         * gst/Makefile.am:
7969         * gst/gstbin.c: (gst_bin_get_type),
7970         (gst_bin_child_proxy_get_child_by_index),
7971         (gst_bin_child_proxy_get_children_count),
7972         (gst_bin_child_proxy_init):
7973         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7974         (gst_child_proxy_get_child_by_index),
7975         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7976         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7977         (gst_child_proxy_get), (gst_child_proxy_set_property),
7978         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7979         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7980         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7981         * gst/gstchildproxy.h:
7982         * gst/parse/grammar.y:
7983         * tools/gst-inspect.c: (print_interfaces),
7984         (print_element_properties_info), (print_element_info):
7985           ported gstchildproxy over from 0.8
7986           ported gst-inspect fixes and enhancements over from 0.8
7987
7988 2005-08-22  Wim Taymans  <wim@fluendo.com>
7989
7990         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7991         (gst_base_transform_handle_buffer):
7992         Also call the transform function if we have ANY caps.
7993
7994         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7995         Fix debug info.
7996
7997 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7998
7999         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8000           Don't pretend to handle seek events if the source is not seekable
8001
8002 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8003
8004         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8005           Remove extra parameter to debug output
8006
8007         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8008         (gst_base_src_do_seek), (gst_base_src_activate_push):
8009           Fix seek event handling.
8010
8011         * gst/gstpipeline.c: (gst_pipeline_change_state):
8012         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8013         (gst_queue_src_activate_push):
8014           Don't start the src pad task on FLUSH_STOP if the pad
8015           isn't linked.
8016           Debug changes.
8017
8018 2005-08-22  Wim Taymans  <wim@fluendo.com>
8019
8020         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8021         Added check for gst_static_caps_get() refcounting.
8022
8023 2005-08-22  Wim Taymans  <wim@fluendo.com>
8024
8025         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8026         Make _static_caps_get() refcounting sane.
8027         
8028         * gst/gstelement.c: (gst_element_set_state):
8029         Add g_return_val_if_fail() to protect against segfaults.
8030
8031 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8032
8033         * docs/gst/tmpl/gstevent.sgml:
8034         * gst/gstevent.c:
8035         * gst/gstevent.h:
8036           inlined remaining docs, added missing doc comments
8037
8038 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8039
8040         * check/gst/gstbin.c: (GST_START_TEST):
8041           since we don't know when preroll is done, use refcount range
8042           check for the sink
8043         * gst/check/gstcheck.h:
8044           add macro for checking refcount range
8045
8046 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8047
8048         * check/Makefile.am:
8049           clean up environment for when registry gets built versus
8050           when actual tests are run; valgrind seems to not report
8051           leaks if GST_PLUGIN_PATH is set to some specific values
8052         * check/gst/gstbin.c: (GST_START_TEST):
8053           add more refcounting checks; maybe this exposes a
8054           preroll lock bug ?
8055         * common/check.mak:
8056         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8057         * gst/check/gstcheck.h:
8058         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8059         (gst_bin_change_state):
8060         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8061           add/fix debugging/whitespace
8062
8063 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8064
8065         * check/gst/gstevent.c: (event_probe), (test_event),
8066         (GST_START_TEST):
8067          Er, don't call gst_bin_watch_for_state_change you idiot.
8068
8069 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8070
8071         * check/Makefile.am:
8072           Use CHECK_CFLAGS and CHECK_LIBS
8073         * check/gst/gstevent.c: (event_probe), (test_event),
8074         (GST_START_TEST):
8075           Don't leak events.
8076         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8077         (gst_base_src_start), (gst_base_src_stop),
8078         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8079         (gst_base_src_change_state):
8080           Sprinkle gst_base_src_stop liberally around error paths to fix
8081           problems reusing a source after failed state changes.
8082         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8083         (helper_find_suggest), (gst_type_find_helper):
8084           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8085         * gst/gstevent.h:
8086         * docs/gst/tmpl/gstevent.sgml:
8087           Migrate part of the docs from the SGML file. Wait for ensonic to
8088           tell me how I did it wrong ;)
8089         * tools/gst-typefind.c: (main):
8090           Extra robustness to state changes between files.
8091
8092 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8093
8094         * check/Makefile.am:
8095           don't valgrind the controller test - it's leaking - Stefan, HELP
8096         * gst/check/gstcheck.c: (gst_check_message_error),
8097         (gst_check_chain_func), (gst_check_setup_element),
8098         (gst_check_teardown_element), (gst_check_setup_src_pad),
8099         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8100         (gst_check_teardown_sink_pad):
8101         * gst/check/gstcheck.h:
8102           add a bunch of methods to set up elements, and src and sink pads
8103         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8104         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8105         (GST_START_TEST):
8106           use them
8107         * gst/gstmessage.c:
8108         * gst/gsttag.h:
8109           whitespace/doc fixes
8110
8111 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8112
8113         * gst/gstelement.h:
8114           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8115           be handled by the application and not always printed as well
8116
8117 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8118
8119         * check/Makefile.am:
8120           set GST_TOOLS_DIR
8121         * gst/check/gstcheck.c: (gst_check_message_error):
8122         * gst/check/gstcheck.h:
8123           add a fail_unless_equals_int
8124           add fail_unless for error messages
8125
8126 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8127
8128         * check/Makefile.am:
8129         * check/gst.supp:
8130         * common/Makefile.am:
8131         * common/check.mak:
8132         * common/gst.supp:
8133           factor out some of the common stuff so we can use it
8134
8135 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8136
8137         * check/Makefile.am:
8138         * check/gst/gstiterator.c: (GST_START_TEST):
8139         * check/gst/gstsystemclock.c: (GST_START_TEST),
8140         (gst_systemclock_suite):
8141         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8142         * gst/gstclock.c:
8143           valgrind more tests
8144
8145 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8146
8147         * check/elements/.cvsignore:
8148         * check/elements/gstfakesrc.c:
8149           rename to name of element
8150         * check/elements/identity.c: (chain_func), (event_func),
8151         (setup_identity), (cleanup_identity), (GST_START_TEST),
8152         (identity_suite), (main):
8153           add a test for identity
8154         * check/Makefile.am:
8155         * pkgconfig/Makefile.am:
8156         * pkgconfig/gstreamer-check.pc.in:
8157         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8158         * gst/check:
8159         * gst/Makefile.am:
8160         * configure.ac:
8161           move the check stuff to a library that gets installed
8162         * check/gst-libs/controller.c: (GST_START_TEST):
8163         * check/gst-libs/gdp.c:
8164         * check/gst/gst.c: (GST_START_TEST):
8165         * check/gst/gstbin.c:
8166         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8167         * check/gst/gstbus.c:
8168         * check/gst/gstcaps.c: (GST_START_TEST):
8169         * check/gst/gstelement.c:
8170         * check/gst/gstghostpad.c:
8171         * check/gst/gstiterator.c:
8172         * check/gst/gstmessage.c:
8173         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8174         * check/gst/gstobject.c:
8175         * check/gst/gstpad.c: (GST_START_TEST):
8176         * check/gst/gststructure.c: (GST_START_TEST):
8177         * check/gst/gstsystemclock.c: (GST_START_TEST),
8178         (gst_systemclock_suite):
8179         * check/gst/gsttag.c: (gst_tag_suite):
8180         * check/gst/gstvalue.c:
8181         * check/pipelines/cleanup.c:
8182         * check/pipelines/simple_launch_lines.c:
8183         * check/states/sinks.c:
8184           change include statement
8185
8186         * docs/gst/gstreamer-sections.txt:
8187         * docs/gst/tmpl/gstpad.sgml:
8188           document more pad stuff
8189         * gst/gstminiobject.c: (gst_mini_object_ref),
8190         (gst_mini_object_unref):
8191           debug refcounting
8192
8193 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8194
8195         * docs/gst/tmpl/gst.sgml:
8196         * gst/gst.c:
8197           eliminate another tmpl file, fix spelling in the long-description
8198
8199 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8200
8201         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8202         (test_event), (timediff), (gstevents_suite):
8203           Should fix build on 64-bit arch's
8204
8205 2005-08-18  Andy Wingo  <wingo@pobox.com>
8206
8207         Make sure that when a pipeline goes to PLAYING, that data has
8208         actually hit the sink.
8209
8210         * check/states/sinks.c (test_sink): A sink that doesn't get any
8211         data shouldn't return SUCCESS for going to either PLAYING or
8212         PAUSED. Test also the return values on the way back down.
8213
8214         * gst/gstelement.c (gst_element_set_state): When changing the
8215         state of an element currently changing state asynchronously, go to
8216         lost-state after commiting the pending state. Makes future calls
8217         to get_state continue to return ASYNC.
8218
8219         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8220         ASYNC when going to PLAYING if we still don't have preroll, as can
8221         happen with live sources.
8222
8223 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8224
8225         * docs/pwg/advanced-types.xml:
8226           Hack long paragraph into 2 chunks as a workaround for buggy
8227           jadetex version in sid and breezy that loops infinitely and
8228           eats all RAM.
8229
8230 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8231
8232         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8233         (test_event), (timediff), (gstevents_suite):
8234           Provide more error margin in clock measurements to allow for 
8235           g_get_current_time inaccuracies.
8236
8237 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8238
8239         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8240         (test_event), (timediff), (gstevents_suite):
8241            Fix error message output so I might be able to tell why the
8242            test works here but fails on the build farm.
8243
8244 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8245
8246         * check/Makefile.am:
8247         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8248         (test_event), (timediff), (gstevents_suite), (main):
8249           I wrote a test!
8250
8251         * docs/design/part-seeking.txt:
8252           Spelling correction
8253
8254         * docs/gst/tmpl/gstevent.sgml:
8255         * docs/gst/tmpl/gstfakesrc.sgml:
8256           Docs updates.
8257
8258         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8259           Treat a buffer-without-newsegment the same as a receiving 
8260           a newsegment not in time format, and disable syncing to the clock
8261           with a warning.
8262
8263         * gst/gstbus.c: (gst_bus_set_sync_handler):
8264           Assert if anyone tries to replace the existing sync_handler for bus, 
8265           as only the owner should be setting it.
8266
8267         * gst/gstevent.h:
8268           Have a fixed set of custom event enums with events identified by
8269           their structure name (as in 0.8), rather than a free-for-all
8270           allowing collisions between enum values from different plugins.
8271
8272         * gst/gstpad.c: (gst_pad_class_init):
8273           Docs change.
8274           
8275         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8276           Handle out-of-band downstream events from the sending thread.
8277
8278 2005-08-17  Andy Wingo  <wingo@pobox.com>
8279
8280         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8281         play-timeout==0 to mean no timeout at all. In that case, don't
8282         bother with a get_state or a warning, just return directly, even
8283         if it's ASYNC.
8284
8285         * gst/base/gstbasetransform.c: Debug changes.
8286
8287         * gst/gstutils.h:
8288         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8289         ensure bins post state change messages. A bit of a hack but I can't
8290         think of a way to avoid it.
8291
8292         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8293
8294 2005-08-16  Andy Wingo  <wingo@pobox.com>
8295
8296         * gst/base/gstadapter.h:
8297         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8298         peek() but you own the data. Not terribly efficient atm.
8299
8300 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8301
8302         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8303         (gst_element_found_tags):
8304         * gst/gstutils.h:
8305           Add two utility functions for tag handling.
8306
8307 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8308
8309         * docs/manual/advanced-dataaccess.xml:
8310         * docs/manual/basics-helloworld.xml:
8311           Fix docs to use _bin_add() before _link(), which fixes the examples
8312           with recent core versions (reported by Madhan Raj M
8313           <raj_madan@rediffmail.com>, #313199).
8314
8315 2005-08-16  Wim Taymans  <wim@fluendo.com>
8316
8317         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8318         Added subtract checks.
8319
8320         * docs/design/part-events.txt:
8321         Some more docs about newsegment
8322
8323         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8324         Fix FIXME
8325
8326         * gst/gstcaps.c: (gst_caps_to_string):
8327         Add comments, cleanups.
8328         
8329         * gst/gstelement.c: (gst_element_save_thyself):
8330         cleanups
8331         
8332         * gst/gstvalue.c: (gst_value_collect_int_range),
8333         (gst_string_unwrap), (gst_value_union_int_int_range),
8334         (gst_value_union_int_range_int_range),
8335         (gst_value_intersect_int_int_range),
8336         (gst_value_intersect_int_range_int_range),
8337         (gst_value_intersect_double_double_range),
8338         (gst_value_intersect_double_range_double_range),
8339         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8340         (gst_value_subtract_int_range_int),
8341         (gst_value_subtract_double_range_double),
8342         (gst_value_subtract_double_range_double_range),
8343         (gst_value_subtract_from_list), (gst_value_subtract_list),
8344         (gst_value_can_compare), (gst_value_compare_fraction):
8345         Cleanups, add comments, remove unneeded asserts.
8346
8347 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8348
8349         * tools/gst-launch.c: (event_loop):
8350           don't convert NULL structures to strings
8351
8352 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8353
8354         * docs/gst/gstreamer-sections.txt:
8355           made some defines private
8356         * docs/gst/tmpl/gstconfig.sgml:
8357         * docs/gst/tmpl/gstqueue.sgml:
8358         * docs/gst/tmpl/gsttaglist.sgml:
8359         * docs/gst/tmpl/gsttypes.sgml:
8360         * docs/gst/tmpl/gstutils.sgml:
8361         * docs/pwg/appendix-porting.xml:
8362         * gst/base/gstbasesink.h:
8363         * gst/base/gstbasesrc.c:
8364         * gst/base/gstbasesrc.h:
8365         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8366         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8367         * gst/gstelement.c: (gst_element_class_init):
8368         * gst/gstpad.c: (gst_pad_class_init):
8369         * gst/gstqueue.c: (gst_queue_class_init):
8370         * gst/gstxml.c: (gst_xml_class_init):
8371           documented all undocumented signal inline
8372         * libs/gst/controller/gst-controller.h:
8373           added padding
8374
8375 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8376
8377         * docs/pwg/appendix-porting.xml:
8378           Document _set_link_function -> _set_setcaps_function.
8379
8380 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8381
8382         * check/Makefile.am:
8383           add a .check target for running the check
8384         * check/gst-libs/controller.c: (GST_START_TEST):
8385           cosmetic fixups
8386         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8387           complete checks for gstbuffer; would be nice if I could get the
8388           gcov stuff to work so I can see if I actually completed gstbuffer.c
8389         * check/gstcheck.h:
8390           add ASSERT_BUFFER_REFCOUNT
8391
8392 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8393
8394         * docs/gst/gstreamer-sections.txt:
8395         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8396         * gst/gsttag.h:
8397           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8398           spew out a warning if a tag that is already registered
8399           is re-registered, unless it is re-registered with a 
8400           different type (#308438).
8401
8402 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8403
8404         * docs/pwg/appendix-porting.xml:
8405         * docs/pwg/building-state.xml:
8406           Add some paragraphs about state changes in 0.9 to the PWG
8407           and the porting guide, in particular about the new meaning
8408           of GST_STATE_PAUSED and how to write state change functions
8409           with concurrent access by multiple threads in mind.
8410
8411 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8412
8413         * docs/gst/gstreamer-docs.sgml:
8414         * docs/libs/gstreamer-libs-docs.sgml:
8415           added deprecation and since indexes
8416         * libs/gst/controller/gst-controller.c:
8417         * libs/gst/controller/gst-helper.c:
8418           added since tags
8419
8420
8421 2005-08-11  Wim Taymans  <wim@fluendo.com>
8422
8423         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8424         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8425         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8426         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8427         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8428         (gst_ghost_pad_set_target):
8429         Actually implement (re)setting the target on a ghostpad
8430         as described in the docs.
8431
8432 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8433
8434         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8435           Check whether GST_DEBUG_NO_COLOR environment variable is
8436           set and disable coloured debug output if that is the case.
8437
8438 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8439
8440         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8441         (gst_type_find_helper):
8442           The memory returned by gst_type_find_peek() needs to
8443           stay valid until the end of a typefind function, and
8444           typefind functions may keep results from different 
8445           offsets around, so we can't just unref the buffer from
8446           the previous _peek(), but have to save all buffers 
8447           returned by _peek() until typefinding is done and only
8448           free them then.
8449
8450 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8451
8452         * docs/gst/gstreamer-sections.txt:
8453         * gst/gstutils.h:
8454           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8455
8456 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8457
8458         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8459           Fix a pretty good memleak.
8460
8461 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8462
8463         * gst/gstiterator.h:
8464           Fix wrong include and 'make distcheck'.
8465
8466 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8467
8468         * gst/gstbin.c: (bin_bus_handler):
8469           Use gst_element_post_message() instead.
8470
8471 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8472
8473         * gst/base/gstadapter.h:
8474         * gst/base/gstbasesink.h:
8475         * gst/base/gstbasesrc.h:
8476         * gst/base/gstbasetransform.h:
8477         * gst/base/gstcollectpads.h:
8478         * gst/base/gstpushsrc.h:
8479         * gst/gstiterator.h:
8480           Add padding to our base elements' class and instance structs and
8481           to GstIterator (you will need to rebuild all plugins and apps!)
8482
8483 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8484
8485         * gst/gstbin.c: (bin_bus_handler):
8486           Make default message forwarding from child->bus to bin->bus
8487           threadsafe and make it not emit warnings if the parent has no bus.
8488
8489 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8490
8491         * gst/gstelement.c: (activate_pads):
8492           On paused->ready, set pad->caps to NULL, as is the documented
8493           behaviour in this state change. Fixes playback of series of
8494           media files when visualization is enabled in Totem.
8495
8496 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8497
8498         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8499           Allow NULL as filter-caps (which means "any").
8500
8501 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8502
8503         * docs/libs/gstreamer-libs-sections.txt:
8504         * libs/gst/controller/gst-controller.c:
8505         * libs/gst/controller/gst-controller.h:
8506         * libs/gst/controller/gst-helper.c:
8507           adding more entries to the docs and fix small doc-bugs
8508
8509 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8510
8511         * docs/gst/gstreamer-docs.sgml:
8512         * docs/gst/gstreamer-sections.txt:
8513         * docs/gst/gstreamer.types:
8514         * docs/gst/tmpl/gstbasesink.sgml:
8515         * docs/gst/tmpl/gstbasesrc.sgml:
8516         * docs/gst/tmpl/gstbasetransform.sgml:
8517         * docs/gst/tmpl/gstfakesrc.sgml:
8518         * gst/base/gstcollectpads.c:
8519         * gst/base/gstcollectpads.h:
8520         * libs/gst/controller/gst-controller.c:
8521         * libs/gst/controller/gst-controller.h:
8522         * libs/gst/controller/gst-helper.c:
8523         * libs/gst/controller/gst-interpolation.c:
8524         * libs/gst/controller/lib.c:
8525           added long/short desc for controller docs
8526           added collectpads base class docs
8527           added correct includes to base-class docs
8528
8529 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8530
8531         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8532         (gst_test_mono_source_set_property),
8533         (gst_test_mono_source_class_init), (GST_START_TEST),
8534         (gst_controller_suite):
8535         * docs/gst/gstreamer-docs.sgml:
8536         * docs/gst/gstreamer-sections.txt:
8537         * docs/gst/gstreamer.types:
8538         * docs/libs/gstreamer-libs-docs.sgml:
8539         * docs/libs/gstreamer-libs-sections.txt:
8540         * gst/base/gstadapter.c:
8541         * libs/gst/controller/gst-controller.c:
8542         (gst_controlled_property_new), (gst_controlled_property_free),
8543         (gst_controller_new_valist),
8544         (gst_controller_remove_properties_valist),
8545         (gst_controller_sink_values), (_gst_controller_finalize):
8546         * libs/gst/controller/gst-controller.h:
8547         * libs/gst/controller/gst-helper.c:
8548         (gst_object_control_properties), (gst_object_uncontrol_properties),
8549         (gst_object_get_controller), (gst_object_set_controller),
8550         (gst_object_sink_values), (gst_object_get_value_arrays),
8551         (gst_object_get_value_array):
8552           more tests (and fixes) for the controller
8553           more docs for the controller
8554           integrated companies docs for the adapter 
8555
8556 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8557
8558         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8559         (GST_START_TEST), (fakesrc_suite):
8560           add tests for sizetype
8561
8562 2005-08-04  Andy Wingo  <wingo@pobox.com>
8563
8564         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8565         fixes buffer_alloc proxying among other things.
8566
8567         * gst/base/gstbasetransform.c:
8568         * gst/base/gstbasetransform.h:
8569         Revert patch to gstbasetransform from 7-28 removing
8570         delay_configure.
8571
8572         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8573         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8574         Semantics changed, should return not the size of the output buffer
8575         but the byte size of a buffer with a given caps.
8576
8577         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8578         debug object.
8579         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8580         out) are not the pad caps until setcaps finishes.
8581         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8582         not-in-place case as well. Deal with changing from in-place to
8583         not-in-place within calling pad_alloc_buffer. Still a bit
8584         concerned about the overhead here...
8585
8586 2005-08-03  Andy Wingo  <wingo@pobox.com>
8587
8588         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8589         fixating is an error.
8590
8591 2005-08-04  Edward Hervey  <edward@fluendo.com>
8592
8593         * gst/base/gstadapter.h: 
8594         Added gst_adapter_get_type() to the header
8595
8596 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8597
8598         * check/Makefile.am:
8599         * check/gst-libs/controller.c:
8600         * libs/gst/controller/gst-controller.c:
8601         (gst_controller_new_valist):
8602           added check test suite for the controller
8603         * gst/base/gstpushsrc.c:
8604           fixed a doc typo
8605
8606 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8607
8608         * docs/gst/Makefile.am:
8609         * docs/gst/gstreamer-docs.sgml:
8610         * docs/gst/gstreamer-sections.txt:
8611         * docs/gst/gstreamer.types:
8612         * docs/gst/tmpl/gstfakesrc.sgml:
8613         * gst/base/README:
8614         * gst/base/gstbasesink.c:
8615         * gst/base/gstbasesink.h:
8616         * gst/base/gstbasesrc.c:
8617         * gst/base/gstbasesrc.h:
8618         * gst/base/gstbasetransform.c:
8619         * gst/base/gstpushsrc.c:
8620         * gst/base/gstpushsrc.h:
8621           add short/long description docs to base classes
8622           add pushsrc to the docs
8623           remove consolidated doc fragments
8624
8625 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8626
8627         * configure.ac:
8628         * docs/libs/Makefile.am:
8629         * docs/libs/gstreamer-libs-docs.sgml:
8630         * docs/libs/gstreamer-libs-sections.txt:
8631         * docs/libs/gstreamer-libs.types:
8632         * examples/Makefile.am:
8633         * examples/controller/.cvsignore:
8634         * examples/controller/Makefile.am:
8635         * examples/controller/audio-example.c: (main):
8636         * libs/gst/Makefile.am:
8637         * libs/gst/controller/.cvsignore:
8638         * libs/gst/controller/Makefile.am:
8639         * libs/gst/controller/gst-controller.c:
8640         (on_object_controlled_property_changed), (gst_timed_value_compare),
8641         (gst_timed_value_find),
8642         (gst_controlled_property_set_interpolation_mode),
8643         (gst_controlled_property_new), (gst_controlled_property_free),
8644         (gst_controller_find_controlled_property),
8645         (gst_controller_new_valist), (gst_controller_new),
8646         (gst_controller_remove_properties_valist),
8647         (gst_controller_remove_properties), (gst_controller_set),
8648         (gst_controller_set_from_list), (gst_controller_unset),
8649         (gst_controller_get), (gst_controller_get_all),
8650         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8651         (gst_controller_get_value_array),
8652         (gst_controller_set_interpolation_mode),
8653         (_gst_controller_finalize), (_gst_controller_init),
8654         (_gst_controller_class_init), (gst_controller_get_type):
8655         * libs/gst/controller/gst-controller.h:
8656         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8657         (g_object_uncontrol_properties), (g_object_get_controller),
8658         (g_object_set_controller), (g_object_sink_values),
8659         (g_object_get_value_arrays), (g_object_get_value_array):
8660         * libs/gst/controller/gst-interpolation.c:
8661         (gst_controlled_property_find_timed_value_node),
8662         (interpolate_none_get), (interpolate_trigger_get),
8663         (interpolate_trigger_get_value_array):
8664         * libs/gst/controller/lib.c: (gst_controller_init):
8665         * pkgconfig/Makefile.am:
8666         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8667         * pkgconfig/gstreamer-control.pc.in:
8668         * testsuite/Makefile.am:
8669         * testsuite/controller/.cvsignore:
8670         * testsuite/controller/Makefile.am:
8671         * testsuite/controller/interpolator.c: (main):
8672           added controller code
8673           removed dparam pc files
8674
8675 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8676         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8677         (gst_collectpads_stop):
8678           Broadcast the condition when shutting down, to make sure we wake all
8679           threads up. Shut down pads on finalize, for safety.
8680
8681 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8682         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8683         (gst_base_transform_handle_buffer),
8684         (gst_base_transform_change_state):
8685           Handle PAUSED->READY->PAUSED transition after negotiation
8686           occurred already.
8687         * gst/gstmessage.c: (gst_message_init):
8688           Extra piece of debug for new messages.
8689
8690 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8691
8692         * configure.ac:
8693         * docs/gst/tmpl/gstbasesrc.sgml:
8694         * docs/gst/tmpl/gstelement.sgml:
8695         * docs/gst/tmpl/gstevent.sgml:
8696         * docs/gst/tmpl/gstfakesrc.sgml:
8697         * docs/gst/tmpl/gstformat.sgml:
8698         * docs/gst/tmpl/gstghostpad.sgml:
8699         * docs/gst/tmpl/gstpad.sgml:
8700         * docs/gst/tmpl/gstquery.sgml:
8701         * docs/gst/tmpl/gststructure.sgml:
8702         * docs/gst/tmpl/gsttaglist.sgml:
8703         * docs/gst/tmpl/gstvalue.sgml:
8704         * docs/libs/gstreamer-libs-docs.sgml:
8705         * docs/libs/gstreamer-libs-sections.txt:
8706         * docs/libs/gstreamer-libs.types:
8707         * libs/gst/Makefile.am:
8708         * libs/gst/control/.cvsignore:
8709         * libs/gst/control/Makefile.am:
8710         * libs/gst/control/control.c:
8711         * libs/gst/control/control.h:
8712         * libs/gst/control/dparam.c:
8713         * libs/gst/control/dparam.h:
8714         * libs/gst/control/dparam_smooth.c:
8715         * libs/gst/control/dparam_smooth.h:
8716         * libs/gst/control/dparamcommon.h:
8717         * libs/gst/control/dparammanager.c:
8718         * libs/gst/control/dparammanager.h:
8719         * libs/gst/control/dplinearinterp.c:
8720         * libs/gst/control/dplinearinterp.h:
8721         * libs/gst/control/unitconvert.c:
8722         * libs/gst/control/unitconvert.h:
8723         * testsuite/Makefile.am:
8724         * testsuite/dynparams/.cvsignore:
8725         * testsuite/dynparams/Makefile.am:
8726         * testsuite/dynparams/dparamstest.c:
8727         * tools/Makefile.am:
8728         * tools/gst-inspect.c: (print_element_info), (main):
8729         * tools/gst-xmlinspect.c: (print_element_info), (main):
8730           deactivate and remove dparams (libgstcontrol)
8731
8732 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8733
8734         * gst/elements/gsttypefindelement.c:
8735         (gst_type_find_element_have_type), (gst_type_find_element_init),
8736         (stop_typefinding), (gst_type_find_element_handle_event),
8737         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8738         * gst/elements/gsttypefindelement.h:
8739           Set caps on all outgoing buffers, not just the first one.
8740
8741 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8742
8743         * gst/elements/gsttypefindelement.c:
8744         (gst_type_find_element_have_type),
8745         (gst_type_find_element_check_set_buffer_caps),
8746         (gst_type_find_element_init), (stop_typefinding),
8747         (gst_type_find_element_handle_event),
8748         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8749         * gst/elements/gsttypefindelement.h:
8750           Set caps on first outgoing buffer when we've found the type.
8751
8752 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8753
8754         * docs/gst/gstreamer-docs.sgml:
8755         * docs/gst/gstreamer-sections.txt:
8756         * docs/gst/tmpl/gstscheduler.sgml:
8757         * docs/gst/tmpl/gstschedulerfactory.sgml:
8758           Remove some old cruft from docs.
8759
8760 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8761
8762         * gst/gstpad.h:
8763           Fix inline docs for GstPadLinkReturn.
8764           
8765         * gst/gststructure.c: (gst_structure_has_name):
8766         * gst/gststructure.h:
8767         * docs/gst/gstreamer-sections.txt:
8768           New API: gst_structure_has_name().
8769
8770 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8771
8772         * configure.ac:
8773           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8774           and _LARGEFILE_SOURCE in config.h as required. Do not 
8775           export those flags in our .pc files any longer (#142209).
8776
8777           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8778
8779         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8780         (gst_file_sink_do_seek), (gst_file_sink_event),
8781         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8782           Redo seek/tell calls with large file support in mind; add some
8783           debugging messages; add log message that tells us when large
8784           file support is unavailable or not enabled for some reason.
8785
8786         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8787           Add log message that tells us when large file support 
8788           is unavailable or not enabled for some reason.
8789
8790 2005-07-29  Wim Taymans  <wim@fluendo.com>
8791
8792         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8793         Added test for removing an element with ghostpad from a bin.
8794         Fixed test as current implementation does the right thing.
8795
8796         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8797         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8798         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8799         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8800         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8801         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8802         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8803         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8804         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8805         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8806         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8807         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8808         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8809         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8810         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8811         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8812         * gst/gstghostpad.h:
8813         Clean up ghostpads, remove properties for internal stuff.
8814         Make threadsafe.
8815         Fix refcounting.
8816         Prepare for switching targets, not all use cases work yet.
8817
8818 2005-07-29  Wim Taymans  <wim@fluendo.com>
8819
8820         * docs/design/part-gstghostpad.txt:
8821         Small update.
8822
8823         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8824         (gst_bin_remove_func):
8825         Unlinking pads while holding the bin LOCK is not a good
8826         idea.
8827
8828         * gst/gstpad.c: (gst_pad_class_init),
8829         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8830         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8831         No prob setting template after creating the pad.
8832
8833 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8834
8835         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8836         (gst_bus_peek), (gst_bus_source_dispatch),
8837         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8838         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8839           gst_bus_poll may be called from other threads. Handle
8840           this nicely by not making poll_data disappear off the
8841           stack once gst_bus_poll returns.
8842           gst_bus_peek now increments the refcount on the returned
8843           message.
8844
8845 2005-07-29  Wim Taymans  <wim@fluendo.com>
8846
8847         * docs/design/part-gstghostpad.txt:
8848         Overview of current GhostPad datastructures and use
8849         cases for changing the target.
8850
8851 2005-07-28  Wim Taymans  <wim@fluendo.com>
8852
8853         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8854         Added checks for hierarchy consistency whan adding linked
8855         elements to bins.
8856
8857         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8858         Added check to test element scheduling without bin/pipeline.
8859
8860         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8861         First add elements to bin, then link.
8862         
8863         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8864         (gst_bin_remove_func):
8865         Unlink pads from elements added/removed from bin to maintain
8866         hierarchy consistency.
8867
8868 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8869
8870         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8871         (gst_base_transform_handle_buffer):
8872         * gst/base/gstbasetransform.h:
8873           Remove broken delay_configure (fixes renegotiation of software
8874           scaling pipelines); remove some leftover printf()s.
8875
8876 2005-07-28  Wim Taymans  <wim@fluendo.com>
8877
8878         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8879         Added some more tests for wrong hierarchy
8880
8881         * docs/design/part-overview.txt:
8882         Some updates.
8883
8884         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8885         Cleanups.
8886
8887         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8888         (gst_element_dispose):
8889         Some more cleanups.
8890
8891         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8892         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8893         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8894         (gst_pad_set_caps), (gst_pad_send_event):
8895         Check for correct hierarchy when linking pads. Moving to
8896         strict requirement for ghostpads when linking elements in
8897         different bins.
8898
8899         * gst/gstpad.h:
8900         Clean ups. Added WRONG_HIERARCHY return value.
8901
8902 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8903
8904         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8905           Better debug if no transform is possible.
8906
8907 2005-07-27  Wim Taymans  <wim@fluendo.com>
8908
8909         * docs/random/wtay/network-transp:
8910         Some old doc I had.
8911
8912 2005-07-27  Wim Taymans  <wim@fluendo.com>
8913
8914         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8915         (gst_dp_event_from_packet):
8916         Fix serialization of seek events.
8917
8918 2005-07-27  Wim Taymans  <wim@fluendo.com>
8919
8920         * check/gst-libs/gdp.c: (GST_START_TEST):
8921         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8922         Fix compilation and fix event serialization.
8923
8924 2005-07-27  Wim Taymans  <wim@fluendo.com>
8925
8926         * CHANGES-0.9:
8927         * docs/design/part-TODO.txt:
8928         * docs/design/part-events.txt:
8929         Some docs updates
8930
8931         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8932         (gst_base_sink_event), (gst_base_sink_do_sync),
8933         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8934         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8935         (gst_base_src_do_seek), (gst_base_src_event_handler),
8936         (gst_base_src_loop):
8937         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8938         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8939         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8940         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8941         (gst_base_transform_set_passthrough),
8942         (gst_base_transform_is_passthrough):
8943         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8944         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8945         Event updates.
8946
8947         * gst/gstbuffer.h:
8948         Use faster casts.
8949
8950         * gst/gstelement.c: (gst_element_seek):
8951         * gst/gstelement.h:
8952         Update gst_element_seek.
8953
8954         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8955         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8956         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8957         (gst_event_new_eos), (gst_event_new_newsegment),
8958         (gst_event_parse_newsegment), (gst_event_new_tag),
8959         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8960         (gst_event_parse_qos), (gst_event_new_seek),
8961         (gst_event_parse_seek), (gst_event_new_navigation):
8962         * gst/gstevent.h:
8963         Make GstEvent use GstStructure. Add parsing code, make sure the
8964         API is sufficiently generic.
8965         Mark possible directions of events and serialization.
8966
8967         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8968         (_gst_message_copy), (gst_message_new_segment_start),
8969         (gst_message_new_segment_done), (gst_message_new_custom),
8970         (gst_message_parse_segment_start),
8971         (gst_message_parse_segment_done):
8972         Small cleanups.
8973
8974         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8975         (gst_pad_set_caps), (gst_pad_send_event):
8976         Update for new events. 
8977         Catch events sent in wrong directions.
8978
8979         * gst/gstqueue.c: (gst_queue_link_src),
8980         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8981         (gst_queue_handle_src_query):
8982         Event updates.
8983
8984         * gst/gsttag.c:
8985         * gst/gsttag.h:
8986         Remove event code from this file.
8987
8988         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8989         (gst_dp_event_from_packet):
8990         Event updates.
8991
8992 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8993
8994         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8995         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8996         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8997           Make debugging actually useful.
8998
8999 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9000
9001         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9002         (gst_pad_fixate_caps):
9003           Implement default fixation once again, so that gst_pad_fixate()
9004           actually does anything at all. This probably needs to be some
9005           sort of a last resort, and use profile-based fixation first, but
9006           since that doesn't exist yet, this is the best we have. Fixes
9007           visualization in Totem.
9008
9009 2005-07-22  Wim Taymans  <wim@fluendo.com>
9010
9011         * docs/design/part-events.txt:
9012         Small update.
9013
9014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9015         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9016         (gst_base_sink_activate_pull):
9017         Some more comments.
9018
9019         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9020         (gst_fake_src_create):
9021         Fix handoff marshall.
9022
9023         * gst/elements/gstidentity.c: (gst_identity_class_init),
9024         (gst_identity_transform_ip):
9025         We're a real inplace element.
9026
9027         * gst/gstbus.c: (gst_bus_post):
9028         Added some comments.
9029
9030         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9031         * tests/muxing/case1.c: (main):
9032         * tests/sched/dynamic-pipeline.c: (main):
9033         * tests/sched/interrupt1.c: (main):
9034         * tests/sched/interrupt2.c: (main):
9035         * tests/sched/interrupt3.c: (main):
9036         * tests/sched/runxml.c: (main):
9037         * tests/sched/sched-stress.c: (main):
9038         * tests/seeking/seeking1.c: (event_received), (main):
9039         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9040         (main):
9041         * tests/threadstate/threadstate3.c: (main):
9042         * tests/threadstate/threadstate4.c: (main):
9043         * tests/threadstate/threadstate5.c: (main):
9044         Fix the tests.
9045
9046 2005-07-21  Wim Taymans  <wim@fluendo.com>
9047
9048         * docs/design/part-seeking.txt:
9049         Some small additions.
9050
9051         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9052         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9053         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9054         * gst/base/gstbasesink.h:
9055         discont values are gint64, handle the math correctly.
9056
9057         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9058         Make the basesrc report error if the source pad is not linked.
9059
9060         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9061         (gst_queue_loop), (gst_queue_handle_src_query),
9062         (gst_queue_src_activate_push):
9063         Make queue collect data even if the srcpad is not linked.
9064         Start pushing out data as soon as it is linked.
9065
9066         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9067         * gst/gstutils.h:
9068         Added gst_flow_get_name() to ease error reporting.
9069
9070 2005-07-20  Wim Taymans  <wim@fluendo.com>
9071
9072         * gst/gstmessage.c: (gst_message_new_segment_start),
9073         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9074         (gst_message_parse_segment_done):
9075         * gst/gstmessage.h:
9076         Added a bunch of messages for advanced seeking.
9077
9078         * gst/parse/grammar.y:
9079         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9080         (gst_dpman_state_changed):
9081         Fix some new-pad -> pad-added signals
9082
9083 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9084
9085         * docs/manual/appendix-porting.xml:
9086         * docs/pwg/appendix-porting.xml:
9087           Document new-pad/state-change signal renames and the FixedList
9088           type rename.
9089
9090 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9091
9092         * docs/manual/advanced-autoplugging.xml:
9093         * docs/manual/basics-helloworld.xml:
9094         * docs/manual/basics-pads.xml:
9095         * docs/random/ds/0.9-suggested-changes:
9096         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9097         * gst/gstelement.h:
9098         * gst/gstevent.h:
9099         * gst/gstformat.h:
9100         * gst/gstquery.h:
9101         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9102         (gst_structure_parse_array), (gst_structure_parse_value):
9103         * gst/gstvalue.c: (gst_type_is_fixed),
9104         (gst_value_list_prepend_value), (gst_value_list_append_value),
9105         (gst_value_list_get_size), (gst_value_list_get_value),
9106         (gst_value_transform_array_string), (gst_value_serialize_array),
9107         (gst_value_deserialize_array), (gst_value_intersect_array),
9108         (gst_value_is_fixed), (_gst_value_initialize):
9109         * gst/gstvalue.h:
9110           GstElement::new-pad -> pad-added, GstElement::state-change ->
9111           state-changed, GstValueFixedList -> GstValueArray, add format and
9112           flags as their own arguments in gst_element_seek() (should improve
9113           "bindeability"), remove function generators since they don't work
9114           under a whole bunch of compilers (they were deprecated already
9115           anyway).
9116
9117 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9118
9119         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9120         (_gst_debug_register_funcptr):
9121         * gst/gstinfo.h:
9122           Fix illegal cast on some platforms (#309253).
9123
9124 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9125
9126         * gst/gstmessage.c: (gst_message_new_custom):
9127         * gst/gstmessage.h:
9128           Add _new_custom, make _new_application a macro to _new_custom.
9129
9130 2005-07-20  Wim Taymans  <wim@fluendo.com>
9131
9132         * gst/base/gstbasesrc.c: (gst_base_src_init),
9133         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9134         * gst/base/gstbasesrc.h:
9135         Add a gboolean to decide when to push out a discont.
9136
9137         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9138         (gst_queue_loop), (gst_queue_handle_src_query),
9139         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9140         (gst_queue_set_property), (gst_queue_get_property):
9141         Some cleanups.
9142
9143         * tests/threadstate/threadstate1.c: (main):
9144         Make a thread test compile and run... very silly..
9145
9146
9147 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9148
9149         * docs/manual/appendix-porting.xml:
9150           Mention removal of libgstgconf-0.9.la and existence of gconf
9151           elements.
9152
9153 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9154
9155         * docs/pwg/advanced-clock.xml:
9156         * docs/pwg/appendix-porting.xml:
9157         * docs/pwg/intro-preface.xml:
9158         * docs/pwg/other-base.xml:
9159         * docs/pwg/other-manager.xml:
9160         * docs/pwg/other-nton.xml:
9161         * docs/pwg/other-ntoone.xml:
9162         * docs/pwg/other-oneton.xml:
9163         * docs/pwg/pwg.xml:
9164           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9165           demuxer), remove n-to-n (was never written), fix some code examples
9166           and links and update the porting section to include all this.
9167
9168 2005-07-19  Wim Taymans  <wim@fluendo.com>
9169
9170         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9171         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9172         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9173         (gst_queue_src_activate_push), (gst_queue_change_state),
9174         (gst_queue_get_property):
9175         * gst/gstqueue.h:
9176         Propagate GstFlowReturn more intelligently upstream and output
9177         an ERROR/EOS when streaming stopped due to fatal error.
9178
9179 2005-07-19  Wim Taymans  <wim@fluendo.com>
9180
9181         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9182         Don't block forever for the state change to complete, the
9183         pipeline already did with a sensible timeout.
9184
9185 2005-07-19  Wim Taymans  <wim@fluendo.com>
9186
9187         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9188         Make sure we never call the create function is we
9189         got deactivated.
9190
9191 2005-07-19  Andy Wingo  <wingo@pobox.com>
9192
9193         * gst/parse/parse.l: Attempt to solve bug #172815.
9194
9195 2005-07-19  Wim Taymans  <wim@fluendo.com>
9196
9197         * docs/design/part-clocks.txt:
9198         * docs/design/part-events.txt:
9199         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9200         Small docs updates.
9201         Only update the seeking values when we are not
9202         busy streaming.
9203
9204 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9205
9206         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9207           Oops, ignore the result of gst_pad_push_event here.
9208
9209 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9210
9211         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9212         (gst_base_src_activate_push):
9213           Send discont event from the loop function, as pads
9214           aren't activated yet in the activate_push handler.
9215
9216         * gst/gstbin.c: (bin_bus_handler):
9217           Don't leak element name.
9218
9219 2005-07-18  Andy Wingo  <wingo@pobox.com>
9220
9221         * configure.ac: Use AS_LIBTOOL_TAGS.
9222
9223 2005-07-18  Wim Taymans  <wim@fluendo.com>
9224
9225         * docs/gst/gstreamer.types:
9226         Remove deleted types.
9227
9228 2005-07-18  Wim Taymans  <wim@fluendo.com>
9229
9230         * check/elements/gstfakesrc.c: (GST_START_TEST):
9231         * configure.ac:
9232         * gst/Makefile.am:
9233         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9234         (init_popt_callback):
9235         * gst/gst.h:
9236         * gst/gst_private.h:
9237         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9238         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9239         * gst/gstbin.h:
9240         * gst/gstbus.h:
9241         * gst/gstconfig.h.in:
9242         * gst/gstelement.c: (gst_element_class_init),
9243         (gst_element_set_base_time), (gst_element_get_base_time),
9244         (iterator_fold_with_resync), (gst_element_change_state),
9245         (gst_element_dispose), (gst_element_get_bus):
9246         * gst/gstelement.h:
9247         * gst/gstelementfactory.h:
9248         * gst/gsterror.c: (_gst_core_errors_init):
9249         * gst/gsterror.h:
9250         * gst/gstevent.h:
9251         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9252         * gst/gstindex.c:
9253         * gst/gstinfo.c: (_gst_debug_init):
9254         * gst/gstmessage.c: (_gst_message_copy):
9255         * gst/gstmessage.h:
9256         * gst/gstminiobject.h:
9257         * gst/gstobject.c:
9258         * gst/gstobject.h:
9259         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9260         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9261         * gst/gstpad.h:
9262         * gst/gstparse.h:
9263         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9264         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9265         (gst_pipeline_get_last_stream_time):
9266         * gst/gstpipeline.h:
9267         * gst/gstpluginfeature.h:
9268         * gst/gstquery.h:
9269         * gst/gstscheduler.c:
9270         * gst/gstscheduler.h:
9271         * gst/gststructure.h:
9272         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9273         (gst_task_finalize), (gst_task_func), (gst_task_create),
9274         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9275         (gst_task_stop), (gst_task_pause):
9276         * gst/gsttask.h:
9277         * gst/gsttypefind.h:
9278         * gst/gsttypes.h:
9279         * gst/registries/gstlibxmlregistry.c: (load_feature),
9280         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9281         * gst/registries/gstxmlregistry.c:
9282         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9283         * gst/schedulers/threadscheduler.c:
9284         * libs/gst/control/dparammanager.h:
9285         * tools/gst-inspect.c: (print_element_list),
9286         (print_plugin_features), (print_element_features):
9287         * tools/gst-xmlinspect.c: (print_element_list),
9288         (print_plugin_info), (main):
9289         Removed plugable schedulers.
9290         Removed Scheduler/Manager from elements.
9291         Removed gsttypes.h, rearranged includes.
9292         Removed dependency pad<->element, element<>pipeline, and
9293         various others,  fix includes.
9294         implement gst_pad_get_parent() with gst_object_get_parent()
9295         Make GstTask sefcontained.
9296         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9297         timeout.
9298         Fix endless loop in iterator_fold_with_resync.
9299
9300
9301 2005-07-18  Wim Taymans  <wim@fluendo.com>
9302
9303         * gst/Makefile.am:
9304         * gst/gstarch.h:
9305         Remove old file.
9306
9307 2005-07-18  Wim Taymans  <wim@fluendo.com>
9308
9309         * gst/Makefile.am:
9310         No more cothreads.h
9311
9312 2005-07-18  Wim Taymans  <wim@fluendo.com>
9313
9314         * gst/cothreads.c:
9315         * gst/cothreads.h:
9316         Let's remove these.
9317
9318 2005-07-18  Wim Taymans  <wim@fluendo.com>
9319
9320         * docs/design/part-dynamic.txt:
9321         * docs/design/part-events.txt:
9322         * docs/design/part-seeking.txt:
9323         Some more docs in the works.
9324
9325         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9326         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9327         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9328         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9329         (gst_base_transform_handle_buffer),
9330         (gst_base_transform_sink_activate_push),
9331         (gst_base_transform_src_activate_pull),
9332         (gst_base_transform_set_passthrough),
9333         (gst_base_transform_is_passthrough):
9334         Refcounting fixes.
9335
9336         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9337         Cleanups.
9338
9339         * gst/gstevent.c: (gst_event_finalize):
9340         Set SRC to NULL.
9341
9342         * gst/gstutils.c: (gst_element_unlink),
9343         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9344         (gst_pad_proxy_setcaps):
9345         * gst/gstutils.h:
9346         Add _get_parent_element() to get a pads parent as an element.
9347
9348 2005-07-18  Wim Taymans  <wim@fluendo.com>
9349
9350         * check/gst/gstbin.c: (GST_START_TEST):
9351         Remove bogus test.
9352
9353 2005-07-18  Wim Taymans  <wim@fluendo.com>
9354
9355         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9356         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9357         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9358         (gst_base_sink_event), (gst_base_sink_do_sync),
9359         (gst_base_sink_chain), (gst_base_sink_loop),
9360         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9361         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9362         Refcounting fixes.
9363         Fix logic for returning ASYNC when not prerolled.
9364
9365 2005-07-18  Wim Taymans  <wim@fluendo.com>
9366
9367         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9368         Fix nasty refcount bug.
9369
9370 2005-07-16 Philippe Khalaf <burger@speedy.org>
9371
9372         * gst/elements/gstfdsrc.c:
9373         * gst/elements/gstfdsrc.h:
9374         * gst/elements/gstelements.c:
9375         * gst/elements/Makefile.am:
9376         Ported fdsrc to 0.9.
9377
9378 2005-07-16  Wim Taymans  <wim@fluendo.com>
9379
9380         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9381         (gst_base_sink_do_sync):
9382         Fix compile error.
9383
9384 2005-07-16  Wim Taymans  <wim@fluendo.com>
9385
9386         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9387         (gst_base_sink_event), (gst_base_sink_get_times),
9388         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9389         * gst/base/gstbasesink.h:
9390         Store and use discont values when syncing buffers as described
9391         in design docs.
9392         
9393         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9394         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9395         (gst_base_src_activate_push):
9396         Push discont event when starting.
9397
9398         * gst/elements/gstidentity.c: (gst_identity_transform):
9399         Small cleanups.
9400
9401         * gst/gstbin.c: (gst_bin_change_state):
9402         Small cleanups in base_time  distribution.
9403
9404         * gst/gstelement.c: (gst_element_set_base_time),
9405         (gst_element_get_base_time), (gst_element_change_state):
9406         * gst/gstelement.h:
9407         Added methods for the base_time of the element.
9408         Some MT fixes.
9409
9410         * gst/gstpipeline.c: (gst_pipeline_send_event),
9411         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9412         (gst_pipeline_get_last_stream_time):
9413         * gst/gstpipeline.h:
9414         MT fixes.
9415         Handle seeking as described in design doc, remove stream_time
9416         hack.
9417         Cleanups clock and stream_time selection code. Added accessors
9418         for the stream_time.
9419         
9420
9421 2005-07-16  Andy Wingo  <wingo@pobox.com>
9422
9423         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9424         (#305291).
9425
9426 2005-07-16  Wim Taymans  <wim@fluendo.com>
9427
9428         * check/gst/gstbin.c: (GST_START_TEST):
9429         Make elements silent as the deep_notify refs the
9430         parent, which might make the test fail.
9431
9432         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9433         Don't hold the lock for too long.
9434
9435 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9436
9437         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9438           Don't unref the caps we passed to gst_caps_make_writable() after
9439           passing them. gst_caps_make_writable() will do that for us.
9440
9441 2005-07-15  Andy Wingo  <wingo@pobox.com>
9442
9443         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9444         (#157311).
9445
9446         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9447         own marshalling function for the handoff signal. Properly type the
9448         buffer as a buffer. Fixes some warnings. Should do a more general
9449         solution.
9450         (gst_identity_class_init): Plug into the right marshaller.
9451
9452 2005-07-15  Wim Taymans  <wim@fluendo.com>
9453
9454         * docs/design/part-TODO.txt:
9455         * docs/design/part-clocks.txt:
9456         * docs/design/part-element-sink.txt:
9457         * docs/design/part-events.txt:
9458         * docs/design/part-gstpipeline.txt:
9459         Updated docs, mostly DISCONT related.
9460
9461 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9462
9463         * docs/pwg/building-pads.xml:
9464           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9465
9466 2005-07-15  Andy Wingo  <wingo@pobox.com>
9467
9468         * tools/gst-typefind.c: Update, add copyright block.
9469
9470         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9471         Normalize and truncate caps before fixation.
9472
9473         * gst/gstcaps.h:
9474         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9475         discards all but the first structure from its argument.
9476
9477 2005-07-15  Wim Taymans  <wim@fluendo.com>
9478
9479         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9480         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9481         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9482         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9483         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9484         (gst_base_transform_chain), (gst_base_transform_change_state),
9485         (gst_base_transform_set_passthrough),
9486         (gst_base_transform_is_passthrough):
9487         * gst/base/gstbasetransform.h:
9488         Make passthrough work using the bufferpools.
9489         Changed API a bit, subclasses have to write into a buffer
9490         provided by the base class.
9491         More debug info in nego functions.
9492         
9493         * gst/elements/gstidentity.c: (gst_identity_init),
9494         (gst_identity_transform):
9495         Port to new base class.
9496
9497 2005-07-15  Wim Taymans  <wim@fluendo.com>
9498
9499         * gst/gstmessage.c: (gst_message_new_state_changed):
9500         * tools/gst-launch.c: (event_loop), (main):
9501         Totally dump messages in -launch with the -m option.
9502         Fix message name for State messages,
9503
9504 2005-07-14  Wim Taymans  <wim@fluendo.com>
9505
9506         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9507         Post error messages on errors.
9508
9509 2005-07-14  Wim Taymans  <wim@fluendo.com>
9510
9511         * gst/gstcaps.c: (gst_caps_do_simplify):
9512         Remove debug info.
9513
9514         * gst/gsterror.h:
9515         Define error for stream stopped.
9516
9517         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9518         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9519         Do proper return values.
9520
9521         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9522         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9523         (gst_pad_get_range):
9524         Better return values.
9525
9526         * gst/gstpad.h:
9527         Reorganise return values, add macro to check for fatal errors.
9528
9529         * gst/gstqueue.c: (gst_queue_chain):
9530         Return proper GstFlowReturn values,
9531
9532 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9533
9534         * docs/gst/gstreamer-sections.txt:
9535         * docs/gst/gstreamer.types:
9536         * docs/gst/tmpl/gst.sgml:
9537         * docs/gst/tmpl/gstbasesink.sgml:
9538         * docs/gst/tmpl/gstbasesrc.sgml:
9539         * docs/gst/tmpl/gstbasetransform.sgml:
9540         * docs/gst/tmpl/gstbin.sgml:
9541         * docs/gst/tmpl/gstbuffer.sgml:
9542         * docs/gst/tmpl/gstcaps.sgml:
9543         * docs/gst/tmpl/gstclock.sgml:
9544         * docs/gst/tmpl/gstcompat.sgml:
9545         * docs/gst/tmpl/gstconfig.sgml:
9546         * docs/gst/tmpl/gstelement.sgml:
9547         * docs/gst/tmpl/gstelementdetails.sgml:
9548         * docs/gst/tmpl/gstelementfactory.sgml:
9549         * docs/gst/tmpl/gstenumtypes.sgml:
9550         * docs/gst/tmpl/gsterror.sgml:
9551         * docs/gst/tmpl/gstevent.sgml:
9552         * docs/gst/tmpl/gstfakesink.sgml:
9553         * docs/gst/tmpl/gstfakesrc.sgml:
9554         * docs/gst/tmpl/gstfilesink.sgml:
9555         * docs/gst/tmpl/gstfilesrc.sgml:
9556         * docs/gst/tmpl/gstfilter.sgml:
9557         * docs/gst/tmpl/gstformat.sgml:
9558         * docs/gst/tmpl/gstghostpad.sgml:
9559         * docs/gst/tmpl/gstimplementsinterface.sgml:
9560         * docs/gst/tmpl/gstindex.sgml:
9561         * docs/gst/tmpl/gstindexfactory.sgml:
9562         * docs/gst/tmpl/gstinfo.sgml:
9563         * docs/gst/tmpl/gstiterator.sgml:
9564         * docs/gst/tmpl/gstmacros.sgml:
9565         * docs/gst/tmpl/gstmemchunk.sgml:
9566         * docs/gst/tmpl/gstminiobject.sgml:
9567         * docs/gst/tmpl/gstobject.sgml:
9568         * docs/gst/tmpl/gstpad.sgml:
9569         * docs/gst/tmpl/gstpadtemplate.sgml:
9570         * docs/gst/tmpl/gstparse.sgml:
9571         * docs/gst/tmpl/gstpipeline.sgml:
9572         * docs/gst/tmpl/gstplugin.sgml:
9573         * docs/gst/tmpl/gstpluginfeature.sgml:
9574         * docs/gst/tmpl/gstquery.sgml:
9575         * docs/gst/tmpl/gstqueue.sgml:
9576         * docs/gst/tmpl/gstregistry.sgml:
9577         * docs/gst/tmpl/gstregistrypool.sgml:
9578         * docs/gst/tmpl/gstscheduler.sgml:
9579         * docs/gst/tmpl/gstschedulerfactory.sgml:
9580         * docs/gst/tmpl/gststructure.sgml:
9581         * docs/gst/tmpl/gstsystemclock.sgml:
9582         * docs/gst/tmpl/gsttaglist.sgml:
9583         * docs/gst/tmpl/gsttagsetter.sgml:
9584         * docs/gst/tmpl/gsttrace.sgml:
9585         * docs/gst/tmpl/gsttrashstack.sgml:
9586         * docs/gst/tmpl/gsttypefind.sgml:
9587         * docs/gst/tmpl/gsttypefindfactory.sgml:
9588         * docs/gst/tmpl/gsttypes.sgml:
9589         * docs/gst/tmpl/gsturihandler.sgml:
9590         * docs/gst/tmpl/gsturitype.sgml:
9591         * docs/gst/tmpl/gstutils.sgml:
9592         * docs/gst/tmpl/gstvalue.sgml:
9593         * docs/gst/tmpl/gstversion.sgml:
9594         * docs/gst/tmpl/gstxml.sgml:
9595         * docs/libs/tmpl/gstcontrol.sgml:
9596         * docs/libs/tmpl/gstdataprotocol.sgml:
9597         * docs/libs/tmpl/gstdparam.sgml:
9598         * docs/libs/tmpl/gstdplinint.sgml:
9599         * docs/libs/tmpl/gstdpman.sgml:
9600         * docs/libs/tmpl/gstdpsmooth.sgml:
9601         * docs/libs/tmpl/gstgetbits.sgml:
9602         * docs/libs/tmpl/gstunitconvert.sgml:
9603         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9604         (gst_push_src_base_init), (gst_push_src_class_init),
9605         (gst_push_src_init), (gst_push_src_create):
9606         * gst/base/gstpushsrc.h:
9607         * gst/elements/gstelements.c:
9608         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9609         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9610         (gst_fake_sink_init), (gst_fake_sink_set_property),
9611         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9612         (gst_fake_sink_event), (gst_fake_sink_preroll),
9613         (gst_fake_sink_render), (gst_fake_sink_change_state):
9614         * gst/elements/gstfakesink.h:
9615         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9616         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9617         (gst_fake_src_base_init), (gst_fake_src_class_init),
9618         (gst_fake_src_init), (gst_fake_src_event_handler),
9619         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9620         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9621         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9622         (gst_fake_src_create_buffer), (gst_fake_src_create),
9623         (gst_fake_src_start), (gst_fake_src_stop):
9624         * gst/elements/gstfakesrc.h:
9625         * gst/elements/gstfilesink.c: (_do_init),
9626         (gst_file_sink_base_init), (gst_file_sink_class_init),
9627         (gst_file_sink_init), (gst_file_sink_dispose),
9628         (gst_file_sink_set_location), (gst_file_sink_set_property),
9629         (gst_file_sink_get_property), (gst_file_sink_open_file),
9630         (gst_file_sink_close_file), (gst_file_sink_query),
9631         (gst_file_sink_event), (gst_file_sink_render),
9632         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9633         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9634         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9635         * gst/elements/gstfilesink.h:
9636         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9637         (gst_file_src_class_init), (gst_file_src_init),
9638         (gst_file_src_finalize), (gst_file_src_set_location),
9639         (gst_file_src_set_property), (gst_file_src_get_property),
9640         (gst_file_src_map_region), (gst_file_src_map_small_region),
9641         (gst_file_src_create_mmap), (gst_file_src_create_read),
9642         (gst_file_src_create), (gst_file_src_is_seekable),
9643         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9644         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9645         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9646         (gst_file_src_uri_handler_init):
9647         * gst/elements/gstfilesrc.h:
9648           more autistic cleanliness in functions/names/defines
9649
9650 2005-07-13  Andy Wingo  <wingo@pobox.com>
9651
9652         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9653         source couldn't negotiate.
9654
9655         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9656         connections again.
9657
9658         * gst/gstutils.h:
9659         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9660         function. I am channeling Hades. Put your boots on suckers!!!
9661
9662 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9663
9664         * testsuite/caps/Makefile.am:
9665         * testsuite/caps/value_compare.c:
9666         * testsuite/caps/value_intersect.c:
9667         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9668           move two testsuite apps over to the check dir
9669
9670 2005-07-12  Wim Taymans  <wim@fluendo.com>
9671
9672         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9673         Added more debug info in the negotiate process.
9674
9675         * gst/gstmessage.h:
9676         Prepare for segment playback.
9677
9678         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9679         Better debugging.
9680
9681         * gst/gstutils.c:
9682         Some more docs.
9683
9684         * tools/gst-launch.c: (main):
9685         NULL pipeline on errors.
9686
9687 2005-07-12  Andy Wingo  <wingo@pobox.com>
9688
9689         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9690         not it comes from a malloc region. Make sure our copy gets freed.
9691
9692 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9693
9694         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9695         * check/gst/gstmessage.c: (GST_START_TEST):
9696         * check/gst/gststructure.c: (GST_START_TEST),
9697         (gst_structure_suite), (main):
9698           more testing
9699         * gst/gstelement.c: (gst_element_message_full):
9700           clean up GError and debug string now that they get copied
9701         * gst/gstmessage.c: (gst_message_new_error),
9702         (gst_message_new_warning), (gst_message_parse_error),
9703         (gst_message_parse_warning):
9704           use GST_TYPE_G_ERROR for structure_new, and take copies of
9705           arguments, so that we don't mess up refcounting
9706
9707 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9708
9709         * check/Makefile.am:
9710           add per-test valgrind targets
9711         * check/gst-libs/gdp.c: (GST_START_TEST),
9712         (gst_data_protocol_suite), (main):
9713           clean up
9714
9715 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9716
9717         * check/Makefile.am:
9718           instate more valgrindable tests
9719         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9720         (GST_START_TEST), (fakesrc_suite):
9721         * check/gst/gstpad.c: (GST_START_TEST):
9722         * check/gst/gststructure.c: (GST_START_TEST):
9723           fix test leaks
9724         * docs/gst/tmpl/gstminiobject.sgml:
9725         * gst/gstpad.c: (gst_pad_finalize):
9726           fix the static mutex leak
9727
9728 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9729
9730         * check/Makefile.am:
9731           add two more tests for valgrinding
9732         * check/gst/gstvalue.c: (GST_START_TEST):
9733           test refcount of deserialized buffer, found a leak
9734         * docs/gst/gstreamer-docs.sgml:
9735         * docs/gst/gstreamer-sections.txt:
9736         * docs/gst/gstreamer.types:
9737         * docs/gst/tmpl/gstminiobject.sgml:
9738           add miniobject to docs
9739         * gst/gstminiobject.c:
9740           add some docs
9741         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9742         (gst_string_unwrap):
9743           fix a hard-to-find invalid write for one of the tests
9744           fix a leak for deserialized buffers
9745
9746 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9747
9748         * docs/pwg/advanced-events.xml:
9749         * docs/pwg/advanced-request.xml:
9750         * docs/pwg/advanced-scheduling.xml:
9751         * docs/pwg/appendix-porting.xml:
9752         * docs/pwg/building-boiler.xml:
9753         * docs/pwg/intro-preface.xml:
9754         * docs/pwg/other-ntoone.xml:
9755           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9756           of example code and explanation for pad activation, loop() and
9757           getrange() functions and a bit more. Remove old comments pointing
9758           to loop-functions.
9759         * examples/pwg/Makefile.am:
9760           Add loop/getrange examples.
9761
9762 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9763
9764         * configure.ac:
9765           check for valgrind binary + some fixes
9766         * check/gst.supp:
9767           valgrind suppressions for the tests
9768         * check/Makefile.am:
9769           add a valgrind: target that valgrinds the unit tests
9770         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9771         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9772         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9773         * check/gst/gstghostpad.c:
9774           added some cleanup
9775         * check/gst/gstdata.c:
9776           removed
9777         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9778         (thread_unref), (gst_mini_object_suite), (main):
9779           added
9780         * gst/gst.c: (gst_deinit):
9781         * gst/gst.h:
9782           add a method to clean up.
9783         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9784         (gst_system_clock_obtain):
9785           allow for disposing the system clock.
9786         * tools/gst-launch.c: (main):
9787           deinit
9788
9789 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9790
9791         * docs/gst/tmpl/gstbasesrc.sgml:
9792         * docs/gst/tmpl/gstfakesrc.sgml:
9793         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9794         (gst_base_src_init), (gst_base_src_set_property),
9795         (gst_base_src_get_property), (gst_base_src_get_range),
9796         (gst_base_src_start):
9797         * gst/base/gstbasesrc.h:
9798           add num-buffers property
9799         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9800         (gst_fakesrc_init), (gst_fakesrc_set_property),
9801         (gst_fakesrc_get_property), (gst_fakesrc_create),
9802         (gst_fakesrc_start):
9803           remove num-buffers property
9804
9805 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9806
9807         * docs/gst/gstreamer-sections.txt:
9808         * docs/gst/tmpl/gstbasesink.sgml:
9809         * docs/gst/tmpl/gstbasesrc.sgml:
9810         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9811         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9812         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9813         (gst_base_sink_set_property), (gst_base_sink_get_property),
9814         (gst_base_sink_handle_object), (gst_base_sink_event),
9815         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9816         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9817         (gst_base_sink_loop), (gst_base_sink_deactivate),
9818         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9819         (gst_base_sink_change_state):
9820         * gst/base/gstbasesink.h:
9821         * gst/base/gstbasesrc.h:
9822         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9823         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9824         (gst_filesink_init):
9825           more macro splitting
9826
9827 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9828
9829         * gst/gstelement.c: (gst_element_get_bus):
9830           add debug
9831         * tools/gst-launch.c: (check_intr), (event_loop):
9832           fix bus leaks
9833
9834 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9835
9836         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9837           fix a caps leak
9838
9839 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9840
9841         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9842         (gst_base_src_finalize):
9843           add finalize method and clean up properly
9844         * gst/gstpipeline.c: (gst_pipeline_dispose):
9845           add debug
9846
9847 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9848
9849         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9850         (gst_bin_suite):
9851           add more things to check
9852         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9853         * gst/gstelement.c:
9854           more debug
9855
9856 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9857
9858         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9859         (GST_START_TEST), (fakesrc_suite):
9860         * check/gst-libs/gdp.c: (GST_START_TEST):
9861         * check/gst/gst.c: (GST_START_TEST):
9862         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9863         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9864         * check/gst/gstbus.c: (GST_START_TEST):
9865         * check/gst/gstcaps.c: (GST_START_TEST):
9866         * check/gst/gstdata.c: (GST_START_TEST):
9867         * check/gst/gstelement.c: (GST_START_TEST):
9868         * check/gst/gstghostpad.c: (GST_START_TEST):
9869         * check/gst/gstiterator.c: (GST_START_TEST):
9870         * check/gst/gstmessage.c: (GST_START_TEST):
9871         * check/gst/gstobject.c: (GST_START_TEST):
9872         * check/gst/gstpad.c: (GST_START_TEST):
9873         * check/gst/gststructure.c: (GST_START_TEST):
9874         * check/gst/gstsystemclock.c: (GST_START_TEST),
9875         (gst_systemclock_suite):
9876         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9877         * check/gst/gstvalue.c: (GST_START_TEST):
9878         * check/pipelines/cleanup.c: (GST_START_TEST):
9879         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9880         * check/states/sinks.c: (GST_START_TEST):
9881         * check/gstcheck.c: (gst_check_init):
9882         * check/gstcheck.h:
9883           add debugging category
9884           use GST_START_TEST now, so we add a debug line
9885
9886 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9887
9888         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9889           add test for state change message on a bin
9890         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9891           add another test
9892         * gst/gstbin.c: (gst_bin_init):
9893         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9894         * gst/gstelement.c: (gst_element_post_message),
9895         (gst_element_set_state):
9896         * gst/gstelementfactory.c: (gst_element_factory_create):
9897         * gst/gstmessage.c: (gst_message_new):
9898         * gst/gstscheduler.c:
9899           various debugging additions and cleanups
9900
9901 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9902
9903         * check/Makefile.am:
9904         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9905         (main):
9906           adding tests for elements
9907         * gst/gstelement.c: (gst_element_dispose):
9908
9909 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9910
9911         * gst/registries/gstlibxmlregistry.c: (load_feature):
9912           plug more leaks.  A simple gst_init() now is leakfree, yay.
9913
9914 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9915
9916         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9917         (gst_xml_registry_load):
9918           plug another memleak
9919
9920 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9921
9922         * configure.ac:
9923           use GST_SET_ERROR_CFLAGS
9924         * docs/faq/cvs.xml:
9925           change to ERROR_CFLAGS
9926
9927 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9928
9929         * configure.ac:
9930           make GST_ERROR_CFLAGS overridable and re-enable Werror
9931         * docs/faq/cvs.xml:
9932           add a note about error CFLAGS
9933         * docs/gst/tmpl/gstfakesrc.sgml:
9934         * gst/elements/gstfakesrc.c:
9935           comment out some unused code
9936         * gst/gst.c: (split_and_iterate):
9937         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9938         (load_feature):
9939           plug some memleaks
9940
9941 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9942
9943         * common/Makefile.am:
9944         * common/gtk-doc.mak:
9945         * docs/gst/Makefile.am:
9946           factor out gtk-doc.mak
9947
9948 2005-07-07  Wim Taymans  <wim@fluendo.com>
9949
9950         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9951         (gst_thread_scheduler_dispose):
9952         Unlock the STREAM_LOCK completely.
9953
9954 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9955
9956         * check/Makefile.am:
9957         * check/elements/.cvsignore:
9958         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9959         (START_TEST), (fakesrc_suite), (main):
9960         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9961         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9962         (gst_fakesrc_create), (gst_fakesrc_start):
9963         * gst/elements/gstfakesrc.h:
9964           adding a first element test
9965
9966 2005-07-07  Andy Wingo  <wingo@pobox.com>
9967
9968         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9969         debug message.
9970
9971 2005-07-07  Wim Taymans  <wim@fluendo.com>
9972
9973         * gst/gstquery.c:
9974         * gst/gstquery.h:
9975         Remove old types
9976
9977 2005-07-07  Wim Taymans  <wim@fluendo.com>
9978
9979         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9980         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9981         Allow subclasses to implement their own negotiation.
9982
9983 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9984
9985         * docs/design/part-gstbin.txt:
9986         * docs/design/part-gstpipeline.txt:
9987           Update design notes to reflect the movement of
9988           responsibility for bus handling from GstPipeline to
9989           GstBin
9990
9991 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9992
9993         * configure.ac:
9994           Remove unnecessary queue2/3/4 examples.
9995
9996 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9997
9998         * examples/Makefile.am:
9999         * examples/helloworld/helloworld.c: (event_loop), (main):
10000         * examples/queue/queue.c: (event_loop), (main):
10001         * examples/queue2/queue2.c: (main):
10002           Update a couple of the examples to work again.
10003
10004         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10005         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10006          Spelling corrections and extra debug.
10007         
10008         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10009         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10010         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10011         * gst/gstbin.h:
10012         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10013         (gst_pipeline_change_state):
10014         * gst/gstpipeline.h:
10015           Move the bus handler for children to the GstBin, and create a
10016           separate bus for receiving messages from children to the one the
10017           bus sends 'upwards' on.
10018
10019 2005-07-06  Wim Taymans  <wim@fluendo.com>
10020
10021         * gst/base/README:
10022         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10023         (gst_base_sink_handle_object), (gst_base_sink_loop),
10024         (gst_base_sink_change_state):
10025         * gst/base/gstbasesink.h:
10026         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10027         (gst_base_src_init), (gst_base_src_setcaps),
10028         (gst_base_src_getcaps), (gst_base_src_loop),
10029         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10030         (gst_base_src_start), (gst_base_src_change_state):
10031         * gst/base/gstbasesrc.h:
10032         Make basesrc negotiate.
10033         Handle the case where preroll fails in basesink.
10034         Update README.
10035
10036 2005-07-06  Wim Taymans  <wim@fluendo.com>
10037
10038         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10039         Implement the fixate function.
10040         Clean up acceptcaps.
10041
10042 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10043
10044         * docs/pwg/building-filterfactory.xml:
10045         * docs/pwg/pwg.xml:
10046           Remove never-written filter-factory chapter; I'll add the various
10047           base classes to part 4 ("other element types") later on.
10048
10049 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10050
10051         * docs/pwg/advanced-negotiation.xml:
10052         * docs/pwg/building-boiler.xml:
10053         * docs/pwg/building-pads.xml:
10054         * docs/pwg/pwg.xml:
10055         * examples/pwg/Makefile.am:
10056           Add a chapter on caps negotiation, simplify the original code
10057           samples a bit w.r.t. caps negotiation, add link to the advanced
10058           section. Add a bunch of examples showing different use cases of
10059           different types of caps negotiation. Upstream renegotiation isn't
10060           fully documented yet since nobody knows how that works.
10061
10062 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10063
10064         * check/gst/gstpad.c:
10065         * check/gstcheck.c:
10066         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10067           if pad has no parent, return NULL as list of internal links
10068
10069 2005-07-05  Andy Wingo  <wingo@pobox.com>
10070
10071         * gst/elements/gstfilesrc.c:
10072         * gst/elements/gstfakesrc.c: 
10073         * gst/base/gstpushsrc.c:
10074         * gst/base/gstbasesrc.h: 
10075         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10076         
10077 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10078
10079         * Makefile.am:
10080           better report generation target (lcov needs a patch)
10081
10082 2005-07-05  Andy Wingo  <wingo@pobox.com>
10083
10084         * gst/elements, testsuite: Null if we got it...
10085
10086 2005-07-05  Wim Taymans  <wim@fluendo.com>
10087
10088         * configure.ac:
10089         * libs/gst/dataprotocol/Makefile.am:
10090         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10091         * libs/gst/dataprotocol/dataprotocol.h:
10092         * pkgconfig/Makefile.am:
10093         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10094         * pkgconfig/gstreamer-dataprotocol.pc.in:
10095         Ported dataprotol to 0.9. 
10096         Added pkgconfig files.
10097
10098 2005-07-05  Andy Wingo  <wingo@pobox.com>
10099
10100         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10101         Default to returning TRUE for the case when tranform_caps returns
10102         a fixed caps, like for identity or volume.
10103
10104         * check/gst/gstbus.c (pound_bus_with_messages): 
10105         * check/gst/gstmessage.c (START_TEST): 
10106         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10107         message API change.
10108
10109         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10110         logic weaks here: always run transform_caps, trying passthrough
10111         operation only if the original caps intersects with the transform.
10112
10113         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10114         source and sink caps.
10115
10116         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10117         Intersect the peer caps with the pad template before going into
10118         transform_caps.
10119         (gst_base_transform_transform_caps): More debugging.
10120
10121         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10122         src argument.
10123
10124 2005-07-04  Edward Hervey  <edward@fluendo.com>
10125
10126         * gst/gstutils.c:
10127         * gst/gstutils.h:
10128         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10129         in bindings.
10130
10131 2005-07-04  Andy Wingo  <wingo@pobox.com>
10132
10133         * check/gst/gstpad.c: Only set explicit caps on pads.
10134
10135 2005-07-01  Andy Wingo  <wingo@pobox.com>
10136
10137         * tests/network-clock.scm: Commentary update.
10138
10139         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10140         Didn't really make sense, not implementable with basetransform,
10141         etc.
10142         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10143         attempt at implementing the sync property, needs an unlock method.
10144
10145         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10146         New func, by default returns the same caps (the identity
10147         transformation).
10148         (gst_base_transform_getcaps): Uses transform_caps to return
10149         something sensible.
10150         (gst_base_transform_setcaps): Complicated logic to get caps on
10151         both pads, even if they are different, and to call set_caps once
10152         for every time both pads get their caps set.
10153         (gst_base_transform_handle_buffer): Give the ref to the transform
10154         function. Allows in-place modification of the buffer.
10155
10156         * gst/base/gstbasetransform.h (transform_caps): New class method.
10157         Given caps on one side, what can I do on the other.
10158         (set_caps): Take two caps, one for each side of the element.
10159
10160         * gst/gstpad.h:
10161         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10162         caps in place. This is safe because we can check the mutability of
10163         the caps, and a good idea because fixate functions are just called
10164         as a matter of last resort. (Not actually implemented.)
10165         (gst_pad_set_caps): If the caps we're setting is actually the same
10166         as the existing pad caps, just update the pointer without calling
10167         setcaps. Assert that caps is either NULL or fixed, as per the
10168         docs.
10169
10170         * gst/gstghostpad.c: Update for fixate changes.
10171
10172 2005-07-02  Andy Wingo  <wingo@pobox.com>
10173
10174         * gst/gstcaps.c:
10175         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10176         two refcounts makes it immutable, which is enough. Doc more.
10177
10178 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10179
10180         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10181           Put the mini_object into GValue as a mini_object,
10182           not a gpointer, since that's how we declared
10183           the signal.
10184
10185 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10186
10187         * examples/pwg/Makefile.am:
10188           Fix buildbot again.
10189
10190 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10191
10192         * docs/pwg/building-testapp.xml:
10193           Add extra check.
10194         * examples/pwg/Makefile.am:
10195           Fix buildbot.
10196
10197 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10198
10199         * configure.ac:
10200         * examples/Makefile.am:
10201         * examples/pwg/Makefile.am:
10202         * examples/pwg/extract.pl:
10203           Enable building the PWG examples.
10204         * docs/pwg/advanced-interfaces.xml:
10205           Add URI interface stub.
10206         * docs/pwg/advanced-types.xml:
10207         * docs/pwg/other-autoplugger.xml:
10208         * docs/pwg/appendix-porting.xml:
10209         * docs/pwg/pwg.xml:
10210           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10211         * docs/pwg/building-boiler.xml:
10212         * docs/pwg/building-chainfn.xml:
10213         * docs/pwg/building-pads.xml:
10214         * docs/pwg/building-props.xml:
10215         * docs/pwg/building-state.xml:
10216         * docs/pwg/building-testapp.xml:
10217           Update the building-*.xml parts for 0.9 changes. All examples
10218           code blocks compile in examples/pwg/*.
10219
10220 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10221
10222         * docs/manual/advanced-autoplugging.xml:
10223         * docs/manual/appendix-checklist.xml:
10224         * docs/manual/appendix-integration.xml:
10225         * docs/manual/highlevel-components.xml:
10226           Fix playbin/decodebin examples, update docs a bit, mention bus
10227           instead of signals in various places, mention kmplayer and
10228           kaffeine since they have a working GStreamer backend in the KDE
10229           section.
10230
10231 2005-06-30  Wim Taymans  <wim@fluendo.com>
10232
10233         * CHANGES-0.9:
10234         * docs/design/draft-ghostpads.txt:
10235         * docs/design/draft-push-pull.txt:
10236         * docs/design/draft-query.txt:
10237         * docs/design/part-TODO.txt:
10238         * docs/design/part-query.txt:
10239         Added CHANGES-0.9 doc, updated status of other docs.
10240         
10241         * gst/gstquery.h:
10242         Remove "hmm" macro
10243
10244 2005-06-30  Wim Taymans  <wim@fluendo.com>
10245
10246         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10247         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10248         (gst_base_sink_change_state):
10249         * gst/base/gstbasesink.h:
10250         Some tweaks, only EOS and a buffer complete a preroll.
10251
10252 2005-06-30  Andy Wingo  <wingo@pobox.com>
10253
10254         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10255         activate_push down to the internal pad as well.
10256
10257 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10258
10259         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10260
10261         * gst/gsttaginterface.c:
10262           Some documentation fixes (#307394 and #307397).
10263
10264 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10265
10266         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10267
10268         * gst/gstvalue.c: (gst_value_intersect_list):
10269           Fix memleak (#309125).
10270
10271 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10272
10273         * docs/manual/advanced-dataaccess.xml:
10274           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10275         * docs/manual/basics-pads.xml:
10276           Add reference for filtered caps to above chapter.
10277
10278 2005-06-30  Wim Taymans  <wim@fluendo.com>
10279
10280         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10281         (gst_bin_change_state):
10282         Probes are gone.
10283         Lame attempt at making the state change function a bit
10284         more readable.
10285
10286 2005-06-30  Wim Taymans  <wim@fluendo.com>
10287
10288         * docs/design/part-clocks.txt:
10289         * docs/design/part-element-sink.txt:
10290         * docs/design/part-events.txt:
10291         * docs/design/part-preroll.txt:
10292         * docs/design/part-states.txt:
10293         Some more tweeks and additions to the docs.
10294
10295 2005-06-30  Wim Taymans  <wim@fluendo.com>
10296
10297         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10298         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10299         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10300         (gst_pad_check_pull_range), (gst_pad_get_range),
10301         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10302         * gst/gstpad.h:
10303         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10304         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10305         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10306         (gst_pad_remove_buffer_probe):
10307         Removed atomic operations, use existing LOCK.
10308         Move exception handling out of main code path.
10309
10310 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10311
10312         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10313         (silly_return_true_function), (gst_pad_class_init),
10314         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10315         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10316         (gst_pad_send_event):
10317           Fix accumulator, add default value by using _emitv() instead
10318           of _emit() for signal emission.
10319
10320 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10321
10322         * docs/manual/advanced-dataaccess.xml:
10323         * examples/manual/Makefile.am:
10324           Add probe example.
10325         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10326           Make work (??).
10327
10328 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10329
10330         * gst/elements/gstfilesink.c: (gst_filesink_render):
10331           Simplify code so that we don't have to handle short
10332           writes and return GST_FLOW_ERROR if an error occured.
10333
10334 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10335
10336         * docs/gst/gstreamer-docs.sgml:
10337           Remove probes more.
10338
10339 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10340
10341         * docs/gst/gstreamer-sections.txt:
10342         * docs/gst/tmpl/gstpad.sgml:
10343         * docs/gst/tmpl/gstprobe.sgml:
10344         * gst/Makefile.am:
10345         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10346         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10347         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10348         (gst_pad_push_event), (gst_pad_send_event):
10349         * gst/gstpad.h:
10350         * gst/gstutils.c: (gst_pad_add_data_probe),
10351         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10352         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10353         (gst_pad_remove_buffer_probe):
10354         * gst/gstutils.h:
10355           Remove old probes, add new g-signal-based probes and some utility
10356           functions.
10357
10358 2005-06-29  Edward Hervey  <edward@fluendo.com>
10359
10360         * gst/gstelementfactory.c:
10361         * gst/gstutils.h:
10362         * gst/gstutils.c:
10363         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10364         the definition to the header file.
10365
10366 2005-06-29  Andy Wingo  <wingo@pobox.com>
10367
10368         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10369         plugins from the source directory.
10370
10371 2005-06-29  Wim Taymans  <wim@fluendo.com>
10372
10373         * docs/gst/tmpl/gstbuffer.sgml:
10374         * docs/gst/tmpl/gstclock.sgml:
10375         Some fixings for blantently wrong text.
10376
10377 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10378
10379         * check/Makefile.am:
10380         * gst/gst.c: (add_path_func), (init_pre):
10381         * gst/gstregistry.c: (gst_registry_add_path):
10382           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10383           only scan the GST_PLUGIN_PATH locations, and not add
10384           system locations
10385
10386 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10387
10388         * docs/gst/gstreamer-sections.txt:
10389         * docs/gst/tmpl/gstbasesrc.sgml:
10390         * gst/gstelement.c:
10391         * gst/gstelement.h:
10392         * gst/gstevent.c:
10393         * gst/gstutils.c:
10394           doc fixes
10395
10396 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10397
10398         * docs/manual/advanced-autoplugging.xml:
10399           Fix autoplugging example.
10400
10401 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10402
10403         * docs/manual/advanced-autoplugging.xml:
10404         * docs/manual/mime-world.fig:
10405           Try to get autoplugging working, fix type detection. Fix text
10406           in hello-world image.
10407
10408 2005-06-29  Wim Taymans  <wim@fluendo.com>
10409
10410         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10411         (gst_base_sink_change_state):
10412         Small debug line.
10413
10414         * gst/gstclock.h:
10415         map SIGNAL and BROADCAST to the right function.
10416
10417         * gst/gstobject.h:
10418         Remove redundant braces.
10419
10420         * gst/gstpad.c: (gst_pad_set_caps):
10421         Don't call setcaps function when reseting caps to NULL.
10422
10423         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10424         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10425         (gst_system_clock_id_unschedule):
10426         Use BROADCAST as this is what we do.
10427
10428 2005-06-29  Wim Taymans  <wim@fluendo.com>
10429
10430         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10431         We are actually prerolling before commiting the state
10432         change. 
10433
10434 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10435
10436         * docs/manual/advanced-clocks.xml:
10437         * docs/manual/advanced-interfaces.xml:
10438         * docs/manual/advanced-metadata.xml:
10439         * docs/manual/advanced-position.xml:
10440         * docs/manual/advanced-schedulers.xml:
10441         * docs/manual/advanced-threads.xml:
10442         * docs/manual/appendix-porting.xml:
10443         * docs/manual/basics-bins.xml:
10444         * docs/manual/basics-bus.xml:
10445         * docs/manual/basics-elements.xml:
10446         * docs/manual/basics-helloworld.xml:
10447         * docs/manual/basics-pads.xml:
10448         * docs/manual/highlevel-components.xml:
10449         * docs/manual/manual.xml:
10450         * docs/manual/thread.fig:
10451           Update (until threads/scheduling) Application Development Manual;
10452           remove GstThread, add GstBus, add simple porting checklist, add
10453           documentation for tag writing, clocks, make all examples until this
10454           part compile and run.
10455         * examples/manual/Makefile.am:
10456           Update from changes to Application Development Manual; add bus
10457           example, remove thread example.
10458
10459 2005-06-28  Wim Taymans  <wim@fluendo.com>
10460
10461         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10462         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10463         (gst_bus_source_dispatch):
10464         Add debugging messages.
10465         Make internal methods static.
10466         Handle the case where the bus is flushed in the handler.
10467         
10468         * gst/gstelement.c: (gst_element_get_bus):
10469         Fix refcount in _get_bus();
10470
10471         * gst/gstpipeline.c: (gst_pipeline_change_state),
10472         (gst_pipeline_get_clock_func):
10473         Clock refcounting fixes.
10474         Handle the case where preroll timed out more gracefully.
10475         
10476         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10477         Clean up the internal thread in dispose. This is needed
10478         for subclasses that actually get disposed.
10479         
10480         * gst/schedulers/threadscheduler.c:
10481         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10482         (gst_thread_scheduler_dispose):
10483         Free thread pool in dispose.
10484
10485 2005-06-28  Andy Wingo  <wingo@pobox.com>
10486
10487         * tests/network-clock-utils.scm (debug, print-event): New utils.
10488
10489         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10490         (*packet-loss*): Unified loss probability.
10491         (network-time): Report out-of-band events.
10492
10493         * tests/plot-data: Add support for out-of-band events. Hack it
10494         into this script instead of passing it down the pipe; should fix
10495         this later.
10496
10497 2005-06-28  Wim Taymans  <wim@fluendo.com>
10498
10499         * docs/gst/gstreamer.types:
10500         * docs/gst/tmpl/gstbasesrc.sgml:
10501         * docs/gst/tmpl/gstpad.sgml:
10502         Docs fixes.
10503
10504 2005-06-28  Wim Taymans  <wim@fluendo.com>
10505
10506         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10507         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10508         (gst_proxy_pad_do_fixatecaps):
10509         Correctly proxy the check_pull_range function.
10510
10511 2005-06-28  Andy Wingo  <wingo@pobox.com>
10512
10513         * tests/network-clock.scm: Removed need for slib.
10514         
10515 2005-06-28  Wim Taymans  <wim@fluendo.com>
10516
10517         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10518         (gst_basesink_preroll_queue_flush):
10519         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10520         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10521         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10522         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10523         (gst_proxy_pad_set_property):
10524         * gst/gstpad.c:
10525         * gst/gstpad.h:
10526         * gst/gstqueue.c: (gst_queue_init):
10527         The deprecated pad loop function is removed now.
10528
10529 2005-06-28  Andy Wingo  <wingo@pobox.com>
10530
10531         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10532         New parameters, simulate network packet loss.
10533
10534         * tests/network-clock-utils.scm: Initialize the RNG.
10535
10536 2005-06-28  Wim Taymans  <wim@fluendo.com>
10537
10538         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10539         (gst_basesink_event), (gst_basesink_deactivate):
10540         Flushing the preroll queue always needs to unlock the waiters.
10541
10542 2005-06-28  Edward Hervey  <edward@fluendo.com>
10543
10544         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10545         Wheen a seek was successful on a pipeline, set the stream_time to the
10546         seek offset in order to have a synchronized stream_time.
10547
10548 2005-06-28  Wim Taymans  <wim@fluendo.com>
10549
10550         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10551         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10552         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10553         (gst_proxy_pad_do_fixatecaps):
10554         Call wrapper function instead of just calling the function
10555         pointers. This takes care of any locking and whatmore.
10556
10557 2005-06-28  Wim Taymans  <wim@fluendo.com>
10558
10559         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10560         (gst_pad_pull_range):
10561         * gst/gstpad.h:
10562         CONNECTED -> LINKED.
10563
10564 2005-06-28  Andy Wingo  <wingo@pobox.com>
10565
10566         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10567         source-munging commit!!!
10568
10569         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10570         (gst_object_sink): Take gpointer arguments, not GstObject --
10571         avoids casts. Like GLib.
10572
10573         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10574         activate.
10575
10576 2005-06-27  Andy Wingo  <wingo@pobox.com>
10577
10578         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10579         remaining buffer.
10580
10581         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10582         returns a sorted copy of the trace list.
10583         (gst_alloc_trace_print_live): New API, only prints traces with
10584         live objects. Sort the list.
10585         (gst_alloc_trace_print_all): Sort the list.
10586         (gst_alloc_trace_print): Align columns.
10587
10588         * gst/elements/gstttypefindelement.c:
10589         * gst/elements/gsttee.c:
10590         * gst/base/gstbasesrc.c:
10591         * gst/base/gstbasesink.c:
10592         * gst/base/gstbasetransform.c:
10593         * gst/gstqueue.c: Adapt for pad activation changes.
10594
10595         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10596         sched.
10597         (gst_pipeline_dispose): Drop ref on sched.
10598
10599         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10600         (gst_pad_activate_default): Push mode by default.
10601         (pre_activate_switch, post_activate_switch): New stubs, things to
10602         do before and after switching activation modes on pads.
10603         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10604         the pad's activate function to choose which mode to activate.
10605         Shortcut on deactivation and call the right function directly.
10606         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10607         mode.
10608         (gst_pad_activate_push): New API, same for push mode.
10609         (gst_pad_set_activate_function) 
10610         (gst_pad_set_activatepull_function) 
10611         (gst_pad_set_activatepush_function): Setters for new API.
10612
10613         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10614         Trace all miniobjects.
10615         (gst_mini_object_make_writable): Unref the arg if we copy, like
10616         gst_caps_make_writable.
10617
10618         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10619
10620         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10621         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10622         Adapt for new pad API.
10623
10624         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10625
10626         * gst/gstelement.h:
10627         * gst/gstelement.c (gst_element_iterate_src_pads) 
10628         (gst_element_iterate_sink_pads): New API functions.
10629         
10630         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10631         should fold into gstiterator.c in some form.
10632         (gst_element_pads_activate): Simplified via use of fold and
10633         delegation of decisions to gstpad->activate.
10634
10635         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10636         help in debugging.
10637
10638         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10639         class once in init, like gstmessage. Didn't run into this issue
10640         but it seems correct. Don't initialize a trace, gstminiobject does
10641         that.
10642
10643         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10644         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10645         to the bus.
10646         (assert_live_count): New util function, uses alloc traces to check
10647         cleanup.
10648
10649         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10650         To be modified when unlink drops the internal pad.
10651
10652 2005-06-27  Wim Taymans  <wim@fluendo.com>
10653
10654         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10655         (gst_bin_change_state):
10656         Cleanup the get_state() function a little, make sure it
10657         iterates the same set of elements.
10658         Added stub iterate_state_order().
10659
10660 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10661
10662         * docs/gst/gstreamer-docs.sgml:
10663         * docs/gst/gstreamer-sections.txt:
10664         * docs/gst/gstreamer.types:
10665         * docs/gst/tmpl/gstbasesink.sgml:
10666         * docs/gst/tmpl/gstbasesrc.sgml:
10667         * docs/gst/tmpl/gstbasetransform.sgml:
10668         * docs/gst/tmpl/gstelement.sgml:
10669         * docs/gst/tmpl/gstiterator.sgml:
10670         * gst/base/gstbasesrc.c:
10671         * gst/base/gstbasesrc.h:
10672         * gst/base/gstbasetransform.h:
10673         * gst/gstelement.c:
10674         * gst/gstiterator.h:
10675           adding basetransform and iterator docs
10676
10677 2005-06-27  Andy Wingo  <wingo@pobox.com>
10678
10679         * docs/design/part-activation.txt: Notes on how activation should
10680         work -- not quite implemented yet.
10681
10682 2005-06-25  Wim Taymans  <wim@fluendo.com>
10683
10684         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10685         At least get the chain function correct, needs more
10686         fixing.
10687
10688 2005-06-25  Wim Taymans  <wim@fluendo.com>
10689
10690         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10691         (gst_basesink_handle_object), (gst_basesink_event),
10692         (gst_basesink_do_sync), (gst_basesink_handle_event),
10693         (gst_basesink_change_state):
10694         * gst/gsttask.h:
10695         Right, two problems here: ghostpads don't take locks and
10696         glib _rec_mutex_lock_full() with depth==0 still locks.
10697         Catch illegal locking and g_warn them.
10698
10699 2005-06-25  Wim Taymans  <wim@fluendo.com>
10700
10701         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10702         Have to check for completion now...
10703
10704 2005-06-25  Wim Taymans  <wim@fluendo.com>
10705
10706         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10707         (gst_basesink_handle_object), (gst_basesink_event),
10708         (gst_basesink_do_sync), (gst_basesink_handle_event),
10709         (gst_basesink_change_state):
10710         * gst/gstpad.h:
10711         Unlock STREAM_LOCK whatever the recursion was.
10712
10713 2005-06-25  Wim Taymans  <wim@fluendo.com>
10714
10715         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10716         (gst_basesink_preroll_queue_empty),
10717         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10718         (gst_basesink_event), (gst_basesink_do_sync),
10719         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10720         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10721         (gst_basesink_change_state):
10722         Reworked the base sink, handle event and buffer serialisation
10723         correctly and removed possible deadlock.
10724         Handle EOS correctly.
10725
10726 2005-06-25  Wim Taymans  <wim@fluendo.com>
10727
10728         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10729         (gst_pipeline_change_state):
10730         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10731         Allow elements to post EOS in the state change function.
10732         Fix up -launch, make it exit the poll loop when the
10733         pipeline actually changed state.
10734         Fix up warning parsing in -launch.
10735
10736 2005-06-25  Wim Taymans  <wim@fluendo.com>
10737
10738         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10739         (gst_tee_sink_activate):
10740         Core takes STREAM_LOCK for us now.
10741
10742 2005-06-25  Wim Taymans  <wim@fluendo.com>
10743
10744         * gst/gstelement.c: (gst_element_get_state_func),
10745         (gst_element_set_state):
10746         * gst/gstelement.h:
10747         * gst/gstmessage.c: (gst_message_parse_error),
10748         (gst_message_parse_warning):
10749         Keep track of current target state while performing a state
10750         change so that subclasses can do something interesting.
10751         Fix parsing of warning/error messages when GError is NULL.
10752
10753 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10754
10755         * docs/gst/Makefile.am:
10756         * docs/gst/gstreamer-docs.sgml:
10757         * docs/gst/gstreamer-sections.txt:
10758         * docs/gst/gstreamer.types:
10759         * docs/gst/tmpl/gstbasesink.sgml:
10760         * docs/gst/tmpl/gstbasesrc.sgml:
10761         * docs/gst/tmpl/gstbin.sgml:
10762         * docs/gst/tmpl/gstcompat.sgml:
10763         * docs/gst/tmpl/gstfakesink.sgml:
10764         * docs/gst/tmpl/gstfakesrc.sgml:
10765         * docs/gst/tmpl/gstfilesink.sgml:
10766         * docs/gst/tmpl/gstfilesrc.sgml:
10767         * docs/gst/tmpl/gstindex.sgml:
10768         * docs/manual/appendix-quotes.xml:
10769         * gst/base/gstbasesrc.h:
10770         * gst/elements/gstfakesrc.h:
10771         * gst/gstmessage.h:
10772           start pulling in base classes and elements in our docs
10773
10774 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10775
10776         * docs/gst/Makefile.am:
10777         * docs/libs/Makefile.am:
10778           fixed make distcheck with gtk-doc 1.3
10779
10780 2005-06-23  Wim Taymans  <wim@fluendo.com>
10781
10782         * gst/gstelement.c: (gst_element_get_state_func),
10783         (gst_element_set_state), (gst_element_change_state):
10784         When the state did not change, also report NO_PREROLL
10785         when it matters.
10786
10787 2005-06-23  Wim Taymans  <wim@fluendo.com>
10788
10789         * gst/gstpad.c: (gst_pad_event_default):
10790         * gst/gstqueue.c: (gst_queue_loop):
10791         No unsafe task pausing please.
10792
10793 2005-06-23  Wim Taymans  <wim@fluendo.com>
10794
10795         * gst/schedulers/threadscheduler.c:
10796         (gst_thread_scheduler_task_start),
10797         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10798         Ref the task before pushing it on the threadpool. This
10799         makes sure that we have a ref when the threadfunction is
10800         actually called.
10801
10802 2005-06-23  Andy Wingo  <wingo@pobox.com>
10803
10804         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10805         offset is greater than the file's size.
10806
10807         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10808         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10809         * gst/gstobject.c (gst_object_class_init): Make the class lock
10810         recursive. Wim won't let me drop deep_notify. Decodebin works
10811         again, whoopdy doo.
10812
10813         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10814         internal pad, and hacks accordingly. Doesn't do it on the target
10815         pad because we change its caps. Probably catches all cases of
10816         interest tho.
10817         (gst_ghost_pad_set_property): Connect to notify::caps as
10818         appropritate.
10819
10820         * tests/network-clock.scm (plot-simulation): Pipe data to the
10821         elite python skript.
10822
10823         * tests/network-clock-utils.scm (define-parameter): New macro,
10824         defines a parameter that can be set via the command line.
10825         (set-parameter!, parse-parameter-arguments): Command line args
10826         parser.
10827
10828         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10829         stdin.
10830
10831 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10832
10833         * gst/elements/gsttypefindelement.c:
10834         (gst_type_find_element_handle_event):
10835           Don't restart typefinding on a discont.
10836         * gst/gstelement.c: (gst_element_set_state):
10837           Debug spelling fix.
10838         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10839           Allow changing mode of an active pad.
10840           Debug output fixes.
10841         * gst/registries/gstlibxmlregistry.c: (load_feature):
10842           Don't cast a static pad template to a normal pad template.
10843
10844 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10845
10846         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10847         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10848           remove gst_strtoll completely, since it didn't actually do
10849           anything more than what g_ascii_strtoull already does.
10850           check for range errors when deserializing
10851           do a cast for the unsigned cases; but further fixing needs
10852           a decision on what the interpretation of "(int)" and
10853           deserialization should be for values that fall outside the
10854           type's boundaries (ie, refuse, or interpret as casting)
10855
10856 2005-06-23  Wim Taymans  <wim@fluendo.com>
10857
10858         * check/Makefile.am:
10859         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10860         * docs/design/part-live-source.txt:
10861         * docs/design/part-states.txt:
10862         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10863         (gst_basesrc_set_live), (gst_basesrc_is_live),
10864         (gst_basesrc_get_range), (gst_basesrc_activate),
10865         (gst_basesrc_change_state):
10866         * gst/base/gstbasesrc.h:
10867         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10868         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10869         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10870         * gst/gstelement.c: (gst_element_get_state_func),
10871         (gst_element_set_state):
10872         * gst/gstelement.h:
10873         * gst/gsttypes.h:
10874         * tools/gst-launch.c: (event_loop), (main):
10875         Added support for live sources and other elements that
10876         cannot do preroll.
10877         Updated design docs, added live-source design doc.
10878         Implemented live source functionality in basesrc
10879         Fix error condition in _bin_get_state()
10880         Implement live source handling in -launch.
10881         Added check for live sources.
10882         Fixed case in GstBin where elements were changed state
10883         multiple times.
10884
10885
10886 2005-06-23  Andy Wingo  <wingo@pobox.com>
10887
10888         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10889         borken refcounting.
10890
10891         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10892         gst_caps_replace takes care of this for us.
10893
10894         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10895         gst_pad_set_caps on the target, not just its setcaps() function.
10896
10897         * tests/network-clock.scm: 
10898         * tests/network-clock-utils.scm: A network clock simulator.
10899         Something of an algorithmic testbed before doing something in C.
10900
10901 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10902
10903         * check/Makefile.am:
10904         * check/gst/capslist.h:
10905           copy over from 0.8, and add two with bitmasks specified with
10906           (int) 0xFF...
10907         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10908           add test to parse everything from capslist.h
10909         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10910         (main):
10911           add test for structure deserialization
10912         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10913           add tests for deserialization of strings to int types
10914         * gst/gststructure.c: (gst_structure_nth_field_name):
10915         * gst/gststructure.h:
10916           add a way to get the name of a field referenced by index
10917         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10918           instead of checking if the resulting long long lies between
10919           min and max, we check if the long long would fit into
10920           a number of bytes for the final type.
10921           This fixes cases where a string represents 2^32 - 1, which
10922           when cast to int would be the (valid) -1, but is bigger than
10923           G_MAXINT
10924
10925 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10926
10927         * gst/parse/grammar.y:
10928           add a log line for type deserialization
10929
10930 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10931
10932         * check/gst/gstvalue.c: (START_TEST):
10933         * gst/gstvalue.c: (gst_value_deserialize):
10934           return long long, not int, so gint64 deserialization actually
10935           works.  Is there any flag that makes the compiler check this ?
10936           Fixes #308559
10937
10938 2005-06-22  Wim Taymans  <wim@fluendo.com>
10939
10940         * gst/gstbuffer.h:
10941         Added convenience macros for setting buffers in GValue.
10942
10943 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10944
10945         * check/gst/.cvsignore:
10946         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10947           add a test deserializing int64, and comment part out because
10948           it fails, yay !
10949
10950 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10951
10952         * check/Makefile.am:
10953         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10954         * testsuite/Makefile.am:
10955         * testsuite/caps/Makefile.am:
10956         * testsuite/caps/value_serialize.c:
10957         * testsuite/test_gst_init.c:
10958           move a value_serialize test over
10959
10960 2005-06-20  Wim Taymans  <wim@fluendo.com>
10961
10962         * gst/gstpad.c:
10963         Small doc updates.
10964         
10965         * gst/gstvalue.c: (gst_value_compare_buffer),
10966         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10967         (gst_value_compare_flags), (gst_value_serialize_flags),
10968         (gst_value_deserialize_flags), (_gst_value_initialize):
10969         Fix serialisation of buffers, they are not boxed types anymore
10970
10971 2005-06-20  Wim Taymans  <wim@fluendo.com>
10972
10973         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10974         Testcase to show error in buffer-on-caps serialisation.
10975
10976 2005-06-20  Andy Wingo  <wingo@pobox.com>
10977
10978         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10979         will be adding to later.
10980
10981         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10982         if its socks fill with rocks.
10983         (gst_system_clock_obtain): Set the name on object construction.
10984         Avoid double-checked locking.
10985
10986 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10987
10988         * gst/gsturi.c: (gst_element_make_from_uri):
10989           Fix potential endless loop.
10990
10991 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10992
10993         * check/Makefile.am:
10994           add gsttag
10995         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10996         (main):
10997           move over from testsuite dir and clean up
10998         * configure.ac:
10999         * gst/gsttag.c:
11000         * testsuite/Makefile.am:
11001         * testsuite/tags/.cvsignore:
11002         * testsuite/tags/Makefile.am:
11003         * testsuite/tags/merge.c:
11004           remove testsuite/tags
11005
11006 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11007
11008         * docs/gst/gstreamer-sections.txt:
11009         * docs/gst/tmpl/gstenumtypes.sgml:
11010         * win32/gstenumtypes.c:
11011           clean up documentation build a little
11012
11013 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11014
11015         * check/gstcheck.h:
11016           add macros for checking refcounts on objects and caps
11017         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11018           add some more unit tests
11019         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11020         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11021           fix leaked refcounts (I hope :)) so unittest works
11022         * gst/gstpad.h:
11023           whitespace removal
11024
11025 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11026
11027         * configure.ac: back to HEAD
11028
11029 === release 0.9.1 ===
11030
11031 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11032
11033         * NEWS:
11034         * RELEASE:
11035           updated
11036
11037 2005-06-17  Andy Wingo  <wingo@pobox.com>
11038
11039         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11040         assert; it's always possible that the pad gets deactivated in
11041         between the checks in gstpad.c and the implementation. Rely on
11042         finish_preroll() to return a FLUSHING or similar instead of on the
11043         assert.
11044         
11045         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11046         clock and post an EOS message if we come out of finish_preroll in
11047         the playing state.
11048
11049 2005-06-16  David Schleef  <ds@schleef.org>
11050
11051         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11052         (gst_capsfilter_set_property): Allow NULL as possible value
11053         for filter_caps property, indicating GST_CAPS_ANY.
11054
11055 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11056
11057         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11058           fix debug output
11059         * gst/schedulers/Makefile.am:
11060           use libgst prefix
11061         * gstreamer.spec.in:
11062           fix spec for it
11063
11064 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11065
11066         * gstreamer.spec.in:
11067           clean up
11068
11069 2005-06-08  Andy Wingo  <wingo@pobox.com>
11070
11071         * gst/gstutils.c: RPAD fixes all around.
11072         (gst_element_link_pads): Refcounting fixes.
11073
11074         * tools/gst-inspect.c:
11075         * tools/gst-xmlinspect.c:
11076         * parse/grammar.y:
11077         * gst/base/gsttypefindhelper.c:
11078         * gst/base/gstbasesink.c:
11079         * gst/gstqueue.c: RPAD fixes.
11080
11081         * gst/gstghostpad.h:
11082         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11083         pads. The tricky thing is they provide both source and sink
11084         interfaces, since they proxy the internal pad for the external
11085         pad, and vice versa. Implement with lower-level ProxyPad objects,
11086         with the interior proxy pad as a child of the exterior ghost pad.
11087         Should write a doc on this.
11088         
11089         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11090         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11091         gst_object API.
11092         
11093         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11094         pads are real pads. No ghost pads in this file. Not documenting
11095         the myriad s/RPAD/PAD/ and REALIZE fixes.
11096         (gst_pad_class_init): Add properties for "direction" and
11097         "template". Both are construct-only, so they can't change during
11098         the life of the pad. Fixes properly deriving from GstPad.
11099         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11100         derived objects, just set properties when creating the objects via
11101         g_object_new.
11102         (gst_pad_get_parent): Implement as a function, return NULL if the
11103         parent is not an element.
11104         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11105         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11106         
11107         * gst/gstobject.c (gst_object_class_init): Make name a construct
11108         property. Don't set it in the object init.
11109
11110         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11111         with UNKNOWN direction.
11112         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11113         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11114         (gst_element_remove_pad): Remove ghost-pad special cases.
11115         (gst_element_pads_activate): Remove rpad cruft.
11116
11117         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11118         catch the pad's-parent-not-an-element case.
11119
11120         * gst/gst.h: Include gstghostpad.h.
11121
11122         * gst/gst.c (init_post): No more real, ghost pads.
11123
11124         * gst/Makefile.am: Add gstghostpad.[ch].
11125
11126         * check/Makefile.am:
11127         * check/gst/gstbin.c:
11128         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11129         into a bin creates ghost pads, and that the refcounts are right.
11130         Partly moved from gstbin.c.
11131
11132 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11133
11134         * check/gst-libs/.cvsignore:
11135         * check/gst/.cvsignore:
11136         * check/pipelines/.cvsignore:
11137           ignore more
11138         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11139         (START_TEST), (cleanup_suite), (main):
11140           add some tests related to cleanup after running pipelines
11141
11142 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11143
11144         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11145           add a testsuite for GstBuffer
11146
11147 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11148
11149         * gst/gstminiobject.h:
11150           add defines for accessing the refcount
11151
11152 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11153
11154         * Makefile.am: added support for html unit test coverage reports
11155
11156 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11157
11158         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11159           Free existing caps if the capsfilter changes. Add a FIXME about
11160           setting those caps on the pads.
11161
11162         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11163           Before adding a ghost pad to a parent bin, check that there isn't
11164           already one for the element on the bin. Prevents infinite recursion
11165           when using decodebin in parse pipelines. Andy says he'll rewrite the
11166           way this works anyway, so ignore the hack.
11167
11168 2005-06-02  Andy Wingo  <wingo@pobox.com>
11169
11170         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11171         file size, pass it on to the type find helper.
11172
11173         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11174         segment_start and segment_end properly according to the seek
11175         method. Segment_end is still a bit flaky because offset can be
11176         negative for CUR and END cases, but it takes -1 as an "unset"
11177         value.
11178
11179 2005-06-02  Wim Taymans  <wim@fluendo.com>
11180
11181         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11182         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11183         (gst_basesink_activate):
11184         * gst/base/gstbasesink.h:
11185         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11186         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11187         (gst_pad_query), (gst_pad_start_task):
11188         * gst/gstpad.h:
11189         * gst/gstqueue.c: (gst_queue_bufferalloc),
11190         (gst_queue_handle_sink_event), (gst_queue_chain):
11191         Bufferalloc: return GstFlowReturn to more accuratly report
11192         why allocation failed.
11193
11194 2005-06-02  Wim Taymans  <wim@fluendo.com>
11195
11196         * gst/gstpipeline.c: (gst_pipeline_send_event):
11197         Take snapshot of state without blocking.
11198
11199 2005-06-02  Wim Taymans  <wim@fluendo.com>
11200
11201         * docs/design/part-TODO.txt:
11202         * docs/design/part-caps.txt:
11203         * docs/design/part-clocks.txt:
11204         * docs/design/part-negotiation.txt:
11205         * docs/design/part-preroll.txt:
11206         Small doc updates 
11207
11208 2005-05-30  Wim Taymans  <wim@fluendo.com>
11209
11210         * gst/elements/gstidentity.c: (gst_identity_event),
11211         (gst_identity_transform), (gst_identity_get_property):
11212         Protect last_message property as it is accessed from
11213         multiple threads.
11214
11215 2005-05-30  Wim Taymans  <wim@fluendo.com>
11216
11217         * gst/gstelement.c: (gst_element_init),
11218         (gst_element_pads_activate), (gst_element_change_state):
11219         Slicker pad activation code.
11220
11221 2005-05-30  Wim Taymans  <wim@fluendo.com>
11222
11223         * gst/Makefile.am:
11224         * gst/gstelement.h:
11225         * gst/gstelementfactory.h:
11226         * gst/gsttypes.h:
11227         Move elementfactory methods to separate .h file.
11228
11229 2005-05-30  Wim Taymans  <wim@fluendo.com>
11230
11231         * docs/design/part-overview.txt:
11232         * gst/gstsystemclock.h:
11233         Small typo fixes, doc updates.
11234
11235 2005-05-30  Wim Taymans  <wim@fluendo.com>
11236
11237         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11238         (init_popt_callback):
11239         Remove cpu-opt flag.
11240
11241 2005-05-30  Wim Taymans  <wim@fluendo.com>
11242
11243         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11244         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11245         * gst/gstbuffer.h:
11246         Avoid typechecking in places where not needed.
11247         Added accessor for malloc_data.
11248
11249 2005-05-30  Wim Taymans  <wim@fluendo.com>
11250
11251         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11252         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11253         (gst_pad_configure_sink), (gst_pad_configure_src),
11254         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11255         (gst_pad_start_task):
11256         Propagate errors from _set_caps() in configure_src/sink
11257         functions instead of returning TRUE.
11258         FLUSH events can travel up and downstream
11259
11260
11261 2005-05-30  Wim Taymans  <wim@fluendo.com>
11262
11263         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11264         (gst_basesink_activate):
11265         Handle EOS in preroll.
11266
11267 2005-05-30  Wim Taymans  <wim@fluendo.com>
11268
11269         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11270         (gst_queue_loop), (gst_queue_handle_src_event):
11271         Remove old pieces of code
11272         Flushing the queue in an upstream event is a very bad idea.
11273
11274 2005-05-26  Andy Wingo  <wingo@pobox.com>
11275
11276         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11277         gst_value_set_mini_object so as to add a ref on the object (which
11278         will be removed when the value is unset).
11279
11280         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11281         arg type in ::handoff.
11282
11283         * gst/gstelement.c (gst_element_change_state): Also deactivate
11284         pads in READY->NULL, just in case the element didn't make it to
11285         PAUSED. Wingo tested, Wim approved.
11286
11287 2005-05-26  Wim Taymans  <wim@fluendo.com>
11288
11289         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11290         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11291         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11292         A flushing pad cannot be used to alloc_buffer from.
11293
11294 2005-05-26  Wim Taymans  <wim@fluendo.com>
11295
11296         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11297         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11298         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11299         (gst_bus_create_watch), (gst_bus_add_watch_full):
11300         * gst/gstbus.h:
11301         Implement a real GSource and use g_main_context_wakeup() to
11302         signal new messages instead of the socketpair.
11303
11304 2005-05-25  Wim Taymans  <wim@fluendo.com>
11305
11306         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11307         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11308         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11309         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11310         (gst_pad_send_event), (gst_pad_start_task):
11311         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11312         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11313         (gst_queue_sink_activate), (gst_queue_src_activate),
11314         (gst_queue_change_state):
11315         * gst/gstqueue.h:
11316         Fix state changes for non sinks. We now change sinks, then elements
11317         with unconnected srcpads, then the rest.
11318         More efficient queue unlocking in flush and state changes.
11319         Set the pad activate mode even if it does not have an activate
11320         function.
11321
11322 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11323
11324         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11325           Don't go in pull mode for non-seekable sources.
11326         * gst/elements/gsttypefindelement.h:
11327         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11328         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11329         (free_entry), (stop_typefinding),
11330         (gst_type_find_element_handle_event), (find_peek),
11331         (gst_type_find_element_chain), (do_pull_typefind),
11332         (gst_type_find_element_change_state):
11333           Allow typefinding (w/o seeking) in push-mode, simplified version
11334           of what was in 0.8.
11335         * gst/gstutils.c: (gst_buffer_join):
11336         * gst/gstutils.h:
11337           gst_buffer_join() from 0.8.
11338
11339 2005-05-25  Wim Taymans  <wim@fluendo.com>
11340
11341         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11342         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11343         (gst_pad_send_event), (gst_pad_start_task):
11344         Disable attempt at mode switching until it is figured out.
11345
11346 2005-05-25  Wim Taymans  <wim@fluendo.com>
11347
11348         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11349         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11350         (gst_basesink_finish_preroll), (gst_basesink_chain),
11351         (gst_basesink_loop), (gst_basesink_activate),
11352         (gst_basesink_change_state):
11353         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11354         (gst_basesrc_get_range), (gst_basesrc_loop),
11355         (gst_basesrc_activate):
11356         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11357         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11358         (gst_real_pad_init), (gst_real_pad_set_property),
11359         (gst_real_pad_get_property), (gst_pad_set_active),
11360         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11361         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11362         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11363         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11364         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11365         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11366         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11367         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11368         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11369         (gst_pad_stop_task):
11370         * gst/gstpad.h:
11371         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11372         (gst_queue_loop), (gst_queue_src_activate):
11373         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11374         (gst_task_get_state):
11375         * gst/gsttask.h:
11376         * gst/schedulers/threadscheduler.c:
11377         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11378         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11379         in task function.
11380         Remove ACTIVE pad flag, use FLUSHING everywhere
11381         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11382         functions.
11383         Add locks around IS_FLUSHING when reading.
11384         Take STREAM lock in chain(), get_range() functions so plugins
11385         don't need to take it anymore.
11386         
11387
11388
11389 2005-05-25  Wim Taymans  <wim@fluendo.com>
11390
11391         * tools/gst-launch.c: (event_loop):
11392         Unref message after using its contents instead of
11393         before.
11394
11395 2005-05-24  Wim Taymans  <wim@fluendo.com>
11396
11397         * docs/design/draft-ghostpads.txt:
11398         * docs/design/draft-push-pull.txt:
11399         * docs/design/draft-query.txt:
11400         * docs/design/part-overview.txt:
11401         Docs updates, added general overview doc.
11402
11403 2005-05-21  David Schleef  <ds@schleef.org>
11404
11405         * docs/gst/tmpl/old/GstBin.sgml:
11406         * docs/gst/tmpl/old/GstBuffer.sgml:
11407         * docs/gst/tmpl/old/GstCaps.sgml:
11408         * docs/gst/tmpl/old/GstClock.sgml:
11409         * docs/gst/tmpl/old/GstCompat.sgml:
11410         * docs/gst/tmpl/old/GstData.sgml:
11411         * docs/gst/tmpl/old/GstElement.sgml:
11412         * docs/gst/tmpl/old/GstEvent.sgml:
11413         * docs/gst/tmpl/old/GstIndex.sgml:
11414         * docs/gst/tmpl/old/GstStructure.sgml:
11415         * docs/gst/tmpl/old/GstTag.sgml:
11416         * docs/gst/tmpl/old/cothreads.sgml:
11417         * docs/gst/tmpl/old/cothreads_compat.sgml:
11418         * docs/gst/tmpl/old/gettext.sgml:
11419         * docs/gst/tmpl/old/gobject2gtk.sgml:
11420         * docs/gst/tmpl/old/grammar.tab.sgml:
11421         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11422         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11423         * docs/gst/tmpl/old/gst_private.sgml:
11424         * docs/gst/tmpl/old/gstaggregator.sgml:
11425         * docs/gst/tmpl/old/gstarch.sgml:
11426         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11427         * docs/gst/tmpl/old/gstbufferstore.sgml:
11428         * docs/gst/tmpl/old/gstdata_private.sgml:
11429         * docs/gst/tmpl/old/gstdisksink.sgml:
11430         * docs/gst/tmpl/old/gstdisksrc.sgml:
11431         * docs/gst/tmpl/old/gstelementfactory.sgml:
11432         * docs/gst/tmpl/old/gstextratypes.sgml:
11433         * docs/gst/tmpl/old/gstfakesink.sgml:
11434         * docs/gst/tmpl/old/gstfakesrc.sgml:
11435         * docs/gst/tmpl/old/gstfdsink.sgml:
11436         * docs/gst/tmpl/old/gstfdsrc.sgml:
11437         * docs/gst/tmpl/old/gstfilesink.sgml:
11438         * docs/gst/tmpl/old/gstfilesrc.sgml:
11439         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11440         * docs/gst/tmpl/old/gstidentity.sgml:
11441         * docs/gst/tmpl/old/gstindexfactory.sgml:
11442         * docs/gst/tmpl/old/gstmarshal.sgml:
11443         * docs/gst/tmpl/old/gstmd5sink.sgml:
11444         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11445         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11446         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11447         * docs/gst/tmpl/old/gstpipefilter.sgml:
11448         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11449         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11450         * docs/gst/tmpl/old/gstshaper.sgml:
11451         * docs/gst/tmpl/old/gstspider.sgml:
11452         * docs/gst/tmpl/old/gstspideridentity.sgml:
11453         * docs/gst/tmpl/old/gststatistics.sgml:
11454         * docs/gst/tmpl/old/gsttee.sgml:
11455         * docs/gst/tmpl/old/gsttimecache.sgml:
11456         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11457         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11458         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11459         * docs/gst/tmpl/old/types.sgml:
11460           I didn't intend to add these or check them in.
11461
11462 2005-05-19  David Schleef  <ds@schleef.org>
11463
11464         * configure.ac: Use -no-common everywhere.  In a sane world, it
11465           would be the default in libtool, because without it, you can't
11466           build DLLs on Windows.
11467         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11468         * docs/gst/gstreamer-sections.txt:
11469         * docs/gst/tmpl/gstcpu.sgml:
11470         * docs/gst/tmpl/gstdata.sgml:
11471         * docs/gst/tmpl/gstthread.sgml:
11472
11473 2005-05-19  David Schleef  <ds@schleef.org>
11474
11475         * gst/gstminiobject.c: (gst_value_set_mini_object),
11476         (gst_value_take_mini_object), (gst_value_get_mini_object):
11477         * gst/gstminiobject.h: Add GValue set/get functions.
11478
11479 2005-05-19  Wim Taymans  <wim@fluendo.com>
11480
11481         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11482         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11483         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11484         * gst/gstbuffer.h:
11485         * gst/gstbus.c: (gst_bus_post):
11486         * gst/gstelement.c: (gst_element_get_random_pad):
11487         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11488         Make subbufer unref the parent in finalize.
11489         some more debugging info.
11490
11491
11492 2005-05-19  Wim Taymans  <wim@fluendo.com>
11493
11494         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11495         (gst_basesink_init), (gst_basesink_finalize),
11496         (gst_basesink_activate), (gst_basesink_change_state):
11497         Don't free preroll queue too early.
11498
11499 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11500
11501         * gst/Makefile.am:
11502         * gst/ROADMAP:
11503           Hi, I'm outdated. Please shoot me.
11504
11505 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11506
11507         * gst/gstpipeline.c: (gst_pipeline_send_event):
11508           Do not access variables after they have been deleted.
11509
11510 2005-05-19  Wim Taymans  <wim@fluendo.com>
11511
11512         * tools/gst-inspect.c: (print_plugin_features):
11513         A plugin feature does unfortunatly not use the
11514         object name yet...
11515
11516 2005-05-18  Wim Taymans  <wim@fluendo.com>
11517
11518         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11519         Port _span() functions to new subbuffers.
11520
11521 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11522
11523         * gst/gstbin.c: (gst_bin_add_func):
11524           Fix clock settery in bins when adding kids after the clock has
11525           been selected.
11526
11527 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11528
11529         * gst/elements/gstidentity.c: (gst_identity_class_init):
11530           Workaround until signals support GstMiniObject.
11531
11532 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11533
11534         * gst/gstbuffer.c:
11535         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11536
11537 2005-05-18  Wim Taymans  <wim@fluendo.com>
11538
11539         * gst/base/Makefile.am:
11540         * gst/base/gstadapter.c: (gst_adapter_base_init),
11541         (gst_adapter_class_init), (gst_adapter_init),
11542         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11543         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11544         (gst_adapter_flush), (gst_adapter_available),
11545         (gst_adapter_available_fast):
11546         * gst/base/gstadapter.h:
11547         Ported and added adapter to the base classes.
11548
11549 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11550
11551         * gst/gst.c:
11552         * gst/gstmessage.c:
11553           Make sure the class is reffed/unreffed once before threads can be
11554           used.  Fixes #304551.
11555
11556 2005-05-17  Wim Taymans  <wim@fluendo.com>
11557
11558         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11559         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11560         * gst/gstminiobject.c: (gst_mini_object_get_type),
11561         (gst_mini_object_free):
11562         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11563         (gst_pad_push), (gst_pad_push_event):
11564         * gst/gstqueue.c: (gst_queue_change_state):
11565         Don't queue buffers in basesink when we are flushing.
11566         Unref buffer when flushing in basesink.
11567         Flush queue when going to READY
11568         Unref buffer when _push() returns an error.
11569         Don't free MiniObject instance when refcount is incremented
11570         in _finalize() so that we can recover objects.
11571
11572 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11573
11574         * docs/manual/advanced-schedulers.xml:
11575         * docs/manual/appendix-checklist.xml:
11576         * docs/pwg/advanced-clock.xml:
11577         * docs/pwg/advanced-interfaces.xml:
11578         * docs/pwg/advanced-request.xml:
11579         * docs/pwg/advanced-types.xml:
11580         * docs/pwg/intro-preface.xml:
11581         * examples/plugins/example.c: (gst_example_get_type),
11582         (gst_example_class_init), (gst_example_chain),
11583         (gst_example_set_property), (gst_example_get_property),
11584         (gst_example_change_state), (plugin_init):
11585         * examples/plugins/example.h:
11586           small doc fixes
11587
11588 2005-05-17  Wim Taymans  <wim@fluendo.com>
11589
11590         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11591         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11592         * gst/gstqueue.c: (gst_queue_change_state):
11593         Clear queue when going to READY.
11594         Remove IN_SETCAPS flag too.
11595
11596 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11597
11598         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11599           Remove implicit cast from gboolean to GstElementStateReturn;
11600           make sure we still return failure in paused => ready case if
11601           the parent class fails to change state and our own stop 
11602           vfunc succeeds.
11603
11604 2005-05-17  Wim Taymans  <wim@fluendo.com>
11605
11606         * tools/gst-launch.c: (event_loop):
11607         Message was unreffed too soon.
11608
11609 2005-05-16  Andy Wingo  <wingo@pobox.com>
11610
11611         * gst/gstbin.c (sink_iterator_filter): Err... um...
11612
11613         * check/gst/gstbin.c (test_ghost_pads): New test for the
11614         ghosting-if-elements-not-in-same-bin behavior.
11615
11616 2005-05-16  David Schleef  <ds@schleef.org>
11617
11618         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11619         accessing refcount directly.
11620
11621 2005-05-15  David Schleef  <ds@schleef.org>
11622
11623         * check/Makefile.am: remove GstData checks
11624         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11625         * gst/Makefile.am: add miniobject, remove data
11626         * gst/gst.h: add miniobject, remove data
11627         * gst/gstdata.c: remove
11628         * gst/gstdata.h: remove
11629         * gst/gstdata_private.h: remove
11630         * gst/gsttypes.h: remove GstEvent and GstMessage
11631         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11632         * gst/gstmarshal.list: change BOXED -> OBJECT
11633
11634         Implement GstMiniObject.
11635         * gst/gstminiobject.c:
11636         * gst/gstminiobject.h:
11637
11638         Modify to be subclasses of GstMiniObject.
11639         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11640         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11641         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11642         (gst_subbuffer_get_type), (gst_subbuffer_init),
11643         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11644         (gst_buffer_span):
11645         * gst/gstbuffer.h:
11646         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11647         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11648         (_gst_event_copy), (gst_event_new):
11649         * gst/gstevent.h:
11650         * gst/gstmessage.c: (_gst_message_initialize),
11651         (gst_message_get_type), (gst_message_class_init),
11652         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11653         (gst_message_new), (gst_message_new_error),
11654         (gst_message_new_warning), (gst_message_new_tag),
11655         (gst_message_new_state_changed), (gst_message_new_application):
11656         * gst/gstmessage.h:
11657         * gst/gstprobe.c: (gst_probe_perform),
11658         (gst_probe_dispatcher_dispatch):
11659         * gst/gstprobe.h:
11660         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11661         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11662         (_gst_query_copy), (gst_query_new):
11663
11664         Update elements for GstData -> GstMiniObject changes
11665         * gst/gstquery.h:
11666         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11667         (gst_queue_chain), (gst_queue_loop):
11668         * gst/elements/gstbufferstore.c:
11669         (gst_buffer_store_add_buffer_func),
11670         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11671         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11672         (gst_fakesink_render):
11673         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11674         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11675         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11676         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11677         (gst_filesrc_create_read):
11678         * gst/elements/gstidentity.c: (gst_identity_class_init):
11679         * gst/elements/gsttypefindelement.c:
11680         (gst_type_find_element_src_event), (free_entry_buffers),
11681         (gst_type_find_element_handle_event):
11682         * libs/gst/dataprotocol/dataprotocol.c:
11683         (gst_dp_header_from_buffer):
11684         * libs/gst/dataprotocol/dataprotocol.h:
11685         * libs/gst/dataprotocol/dp-private.h:
11686
11687 2005-05-15  David Schleef  <ds@schleef.org>
11688
11689         * gst/elements/gstelements.c: Don't include headers that were
11690         just removed.
11691
11692 2005-05-15  David Schleef  <ds@schleef.org>
11693
11694         * gst/elements/Makefile.am: Remove some elements that don't
11695         need to be in the core (or even exist at all).
11696         * gst/elements/gstaggregator.c:
11697         * gst/elements/gstaggregator.h:
11698         * gst/elements/gstmd5sink.c:
11699         * gst/elements/gstmd5sink.h:
11700         * gst/elements/gstmultifilesrc.c:
11701         * gst/elements/gstmultifilesrc.h:
11702         * gst/elements/gstpipefilter.c:
11703         * gst/elements/gstpipefilter.h:
11704         * gst/elements/gstshaper.c:
11705         * gst/elements/gstshaper.h:
11706         * gst/elements/gststatistics.c:
11707         * gst/elements/gststatistics.h:
11708         * po/POTFILES.in: Remove above files.
11709
11710 2005-05-14  Andy Wingo  <wingo@pobox.com>
11711
11712         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11713         so as to get the refs right.
11714         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11715         unreffing objects that don't pass the filter.
11716
11717         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11718         gst_element_set_bus.
11719         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11720         normal cases, this will destroy the bus.
11721
11722         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11723         object.
11724
11725         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11726         has no sinks.
11727
11728 2005-05-13  Andy Wingo  <wingo@pobox.com>
11729
11730         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11731         gst_pad_link, call pad_link_maybe_ghosting,
11732         (pad_link_maybe_ghosting): Links pads, making sure that the
11733         elements being linked are in the same bin.
11734         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11735         Helpers for pad_link_maybe_ghosting.
11736
11737 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11738
11739         * configure.ac:
11740           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11741
11742 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11743
11744         * docs/design/part-element-source.txt:
11745           Mention GstPushSrc
11746
11747 2005-05-12  Wim Taymans  <wim@fluendo.com>
11748
11749         * gst/base/gstbasesink.c: (gst_basesink_init),
11750         (gst_basesink_activate):
11751         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11752         (gst_basesrc_is_seekable):
11753         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11754         (bin_element_is_sink), (gst_bin_change_state):
11755         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11756         * gst/gstelement.h:
11757         Identify sinks by their flag to avoid overly complicated
11758         checks (fow now).
11759         Do state changes even for elements not reachable from the
11760         sinks.
11761         BaseSink is a sink now :)
11762         Some more debugging info in the basesrc.
11763
11764
11765 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11766
11767         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11768           Implement _query on a bin, similar to _send_event.
11769
11770 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11771
11772         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11773           Discont event offset format should be GST_FORMAT_BYTES,
11774           not GST_FORMAT_TIME.
11775
11776 2005-05-12  Wim Taymans  <wim@fluendo.com>
11777
11778         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11779         Same fix as Ronald's but without the signal. 
11780
11781 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11782
11783         * gst/gstutils.c: (gst_element_query_position):
11784           No, an element is not a pad.
11785
11786 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11787
11788         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11789         (gst_bin_get_state):
11790           If a child is removed from a bin while we remove the child from
11791           the bin and while we're retrieving its state, signal this to the
11792           get_state function so we abort the wait (instead of waiting for
11793           a timeout) and can immediately re-iterate over all other elements.
11794
11795 2005-05-12  Wim Taymans  <wim@fluendo.com>
11796
11797         * gst/base/Makefile.am:
11798         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11799         (gst_basesrc_start):
11800         * gst/base/gstbasesrc.h:
11801         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11802         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11803         (gst_pushsrc_init), (gst_pushsrc_create):
11804         * gst/base/gstpushsrc.h:
11805         Added is_seekable to BaseSrc
11806         Added simple PushSrc.
11807
11808 2005-05-11  Wim Taymans  <wim@fluendo.com>
11809
11810         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11811         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11812         (gst_element_link_pads), (gst_element_query_position),
11813         (gst_element_query_convert), (intersect_caps_func),
11814         (gst_pad_query_position), (gst_pad_query_convert):
11815         Fix refcounting in utils function.
11816         No point in trying to activate a pad when it's added, it could
11817         be added from the state change function and then we deadlock, the
11818         element has to decide what to do.
11819
11820 2005-05-10  Andy Wingo  <wingo@pobox.com>
11821
11822         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11823         *all* the arguments.
11824
11825         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11826         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11827         lock (according to the docs -- if this is wrong change the docs).
11828
11829         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11830         flush messages in the NULL state.
11831
11832         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11833         message immediately and return.
11834         (gst_bus_set_flushing): New function. If a bus is flushing, it
11835         flushes out any queued messages and immediately unrefs new
11836         messages. This is so when an element goes to NULL, all of the
11837         unhandled messages coming from it can be freed, and their
11838         references to the element dropped. In other words: message source
11839         ref considered harmful :P
11840
11841         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11842         we're finished with it.
11843
11844         * gst/gstmessage.c (gst_message_new_state_changed): 
11845
11846 2005-05-10  Wim Taymans  <wim@fluendo.com>
11847
11848         * gst/gstvalue.c: (gst_value_compare_flags),
11849         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11850         (_gst_value_initialize):
11851         Added flags serialize/deserialize/compare code.
11852
11853 2005-05-09  Andy Wingo  <wingo@pobox.com>
11854
11855         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11856         Intersect the peer's caps with our caps.
11857
11858 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11859
11860         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11861         * gst/elements/gsttypefindelement.c: (find_peek):
11862           Handle negative offsets better. Fixes decodebin.
11863
11864 2005-05-09  Wim Taymans  <wim@fluendo.com>
11865
11866         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11867         (gst_base_transform_event):
11868         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11869         Implement accept_caps.
11870         Fix silly lock/unlock mismatch in base class.
11871
11872 2005-05-09  Wim Taymans  <wim@fluendo.com>
11873
11874         * docs/design/draft-push-pull.txt:
11875         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11876         * gst/elements/gstfilesink.c: (gst_filesink_init),
11877         (gst_filesink_query):
11878         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11879         (gst_type_find_handle_src_query), (find_element_get_length):
11880         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11881         * gst/gstelement.h:
11882         * gst/gstmessage.c:
11883         * gst/gstmessage.h:
11884         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11885         (gst_real_pad_get_caps_unlocked),
11886         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11887         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11888         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11889         (gst_real_pad_dispose), (gst_real_pad_finalize),
11890         (gst_pad_load_and_link), (gst_pad_save_thyself),
11891         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11892         (gst_pad_check_pull_range), (gst_pad_pull_range),
11893         (gst_pad_template_get_type), (gst_pad_template_class_init),
11894         (gst_pad_template_init), (gst_pad_template_dispose),
11895         (name_is_valid), (gst_static_pad_template_get),
11896         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11897         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11898         (gst_pad_get_element_private), (gst_pad_start_task),
11899         (gst_pad_pause_task), (gst_pad_stop_task),
11900         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11901         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11902         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11903         (gst_ghost_pad_new):
11904         * gst/gstpad.h:
11905         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11906         (gst_query_new_position), (gst_query_set_position),
11907         (gst_query_parse_position), (gst_query_new_convert),
11908         (gst_query_set_convert), (gst_query_parse_convert):
11909         * gst/gstquery.h:
11910         * gst/gstqueryutils.c:
11911         * gst/gstqueryutils.h:
11912         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11913         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11914         (gst_queue_handle_src_query):
11915         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11916         (gst_element_query_position), (gst_element_query_convert),
11917         (intersect_caps_func), (gst_pad_query_position),
11918         (gst_pad_query_convert):
11919         * gst/gstutils.h:
11920         * tools/gst-inspect.c: (print_pad_info):
11921         * tools/gst-xmlinspect.c: (print_element_info):
11922         Remove old query functions. Ported old code.
11923         Added position/convert helper functions to gstutils.
11924         Reordered gstpad.c code, grouping relevant things.
11925         Remove gst_message_new(), always need to speficy a specific
11926         message.
11927
11928
11929 2005-05-09  Andy Wingo  <wingo@pobox.com>
11930
11931         * gst/gstiterator.h: Add some includes.
11932
11933         * gst/gstqueryutils.h: Include more headers.
11934
11935         * gst/gstpad.h:
11936         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11937         some uses of gst_pad_query.
11938
11939         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11940         NULL out parameters.
11941         (gst_query_new_position): New proc, allocates a new position
11942         query.
11943
11944         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11945         gstqueryutils.c to the build.
11946
11947         * gst/gststructure.c (gst_structure_set_valist): Implement with
11948         the generic G_VALUE_COLLECT.
11949         
11950 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11951
11952         * gst/Makefile.am: (gst_headers):
11953         Added gstqueryutils.h to the list of headers to install, that was
11954         a 'nachty' move wingo :)
11955
11956 2005-05-06  Andy Wingo  <wingo@pobox.com>
11957
11958         * gst/gstquery.h
11959         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11960         GstData, init a memchunk.
11961         (standard_definitions): Add a few query types, deprecate a few.
11962         (gst_query_get_type): New proc.
11963         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11964         implementation.
11965         (gst_query_new_application, gst_query_get_structure): New public
11966         procs.
11967
11968         * docs/design/draft-query.txt: Removed LINKS from the query types,
11969         because all the rest can be dispatched to other pads -- seemed
11970         ugly to have a query that couldn't be dispatched. internal_links
11971         is fine as a pad method.
11972
11973         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11974         in gstpad.c, but maintain binary compatibility for the moment.
11975         Will fix before 0.9 is out.
11976
11977         * gst/gstqueryutils.c: 
11978         * gst/gstqueryutils.h: New files, implement 3 methods for each
11979         query type: parse_query, parse_response, and set. Probably need an
11980         allocator as well.
11981
11982         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11983
11984         * gst/elements/gstfilesink.c (gst_filesink_query2):
11985         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11986         query_types, and formats methods.
11987
11988         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11989         (gst_pad_set_query2_function): New functions.
11990         (gst_real_pad_init): Set query2_default as the default query2
11991         function. Basically just dispatches to internally linked pads.
11992
11993         Needs review!
11994         
11995         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11996         without using the atomic operations. Only one thread can possibly
11997         be accessing the data at this point. Changed so as to avoid
11998         gst_atomic operations.
11999
12000 2005-05-06  Wim Taymans  <wim@fluendo.com>
12001
12002         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12003         Also set caps if we use the fallback buffer alloc.
12004
12005 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12006
12007         * docs/gst/Makefile.am:
12008         * docs/gst/gstreamer-docs.sgml:
12009         * docs/gst/gstreamer-sections.txt:
12010         * docs/gst/tmpl/gstatomic.sgml:
12011         * docs/gst/tmpl/gstmemchunk.sgml:
12012         * testsuite/elements/struct_i386.h:
12013         * win32/GStreamer.vcproj:
12014         * win32/Makefile:
12015           Purge GstAtomic stuff from docs and win32 makefiles as well
12016
12017 2005-05-06  Wim Taymans  <wim@fluendo.com>
12018
12019         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12020         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12021         * gst/gstpad.c: (gst_pad_peer_get_caps):
12022         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12023         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12024         (gst_queue_src_activate), (gst_queue_change_state):
12025         * gst/gstqueue.h:
12026         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12027         (intersect_caps_func):
12028         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12029         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12030         Some fixes for the peer_get_caps() change.
12031
12032 2005-05-06  Wim Taymans  <wim@fluendo.com>
12033
12034         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12035         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12036         (gst_basesink_activate):
12037         Actually do something with error codes returned from the push
12038         functions.
12039
12040 2005-05-06  Wim Taymans  <wim@fluendo.com>
12041
12042         * docs/design/part-element-sink.txt:
12043         * docs/design/part-element-source.txt:
12044         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12045         (gst_basesink_event), (gst_basesink_activate):
12046         * gst/base/gstbasesink.h:
12047         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12048         (gst_basesrc_activate):
12049         * gst/base/gstbasesrc.h:
12050         * gst/gstelement.c: (gst_element_pads_activate):
12051         Some more documentation.
12052         Fixed scheduling decision in _pads_activate().
12053
12054 2005-05-05  Andy Wingo  <wingo@pobox.com>
12055
12056         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12057         the test suite.
12058
12059 2005-05-05  Wim Taymans  <wim@fluendo.com>
12060
12061         * gst/base/Makefile.am:
12062         * gst/base/gstbasesink.h:
12063         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12064         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12065         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12066         (gst_collectpads_class_init), (gst_collectpads_init),
12067         (gst_collectpads_finalize), (gst_collectpads_new),
12068         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12069         (find_pad), (gst_collectpads_remove_pad),
12070         (gst_collectpads_is_active), (gst_collectpads_collect),
12071         (gst_collectpads_collect_range), (gst_collectpads_start),
12072         (gst_collectpads_stop), (gst_collectpads_peek),
12073         (gst_collectpads_pop), (gst_collectpads_available),
12074         (gst_collectpads_read), (gst_collectpads_flush),
12075         (gst_collectpads_chain):
12076         * gst/base/gstcollectpads.h:
12077         * gst/elements/Makefile.am:
12078         * gst/elements/gstelements.c:
12079         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12080         (gst_fakesink_get_times), (gst_fakesink_event),
12081         (gst_fakesink_preroll), (gst_fakesink_render):
12082         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12083         (gst_filesink_init), (gst_filesink_set_location),
12084         (gst_filesink_open_file), (gst_filesink_close_file),
12085         (gst_filesink_pad_query), (gst_filesink_event),
12086         (gst_filesink_render), (gst_filesink_change_state):
12087         * gst/elements/gstfilesink.h:
12088         Added object to help in making collect pad based elements.
12089         Ported filesink.
12090         Make event function in sink baseclass return gboolean.
12091
12092 2005-05-05  Wim Taymans  <wim@fluendo.com>
12093
12094         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12095         (gst_bin_get_by_name):
12096         * gst/gstbuffer.h:
12097         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12098         (gst_clock_finalize):
12099         * gst/gstdata.c: (gst_data_replace):
12100         * gst/gstdata.h:
12101         * gst/gstelement.c: (gst_element_request_pad),
12102         (gst_element_pads_activate):
12103         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12104         (gst_object_unref):
12105         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12106         (gst_pad_set_checkgetrange_function),
12107         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12108         (gst_pad_check_pull_range), (gst_pad_pull_range),
12109         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12110         (gst_pad_pause_task), (gst_pad_stop_task):
12111         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12112         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12113         Fix name lookup in GstBin.
12114         Added _data_replace() function and _buffer_replace()
12115         Use finalize method to clean up clock.
12116         Fix refcounting on request pads.
12117         Fix pad schedule mode error.
12118         Some more object refcounting debug info,
12119
12120
12121 2005-05-04  Andy Wingo <wingo@pobox.com>
12122
12123         * check/Makefile.am:
12124         * docs/gst/tmpl/gstatomic.sgml:
12125         * docs/gst/tmpl/gstplugin.sgml:
12126         * gst/base/gstbasesink.c: (gst_basesink_activate):
12127         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12128         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12129         (gst_basesrc_query), (gst_basesrc_set_property),
12130         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12131         (gst_basesrc_activate):
12132         * gst/base/gstbasesrc.h:
12133         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12134         (gst_base_transform_src_activate):
12135         * gst/elements/gstelements.c:
12136         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12137         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12138         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12139         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12140         (gst_type_find_element_checkgetrange),
12141         (gst_type_find_element_activate):
12142         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12143         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12144         (gst_caps_load_thyself):
12145         * gst/gstelement.c: (gst_element_pads_activate),
12146         (gst_element_save_thyself), (gst_element_restore_thyself):
12147         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12148         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12149         * gst/gstpad.h:
12150         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12151         (gst_xml_parse_file), (gst_xml_parse_memory),
12152         (gst_xml_get_element), (gst_xml_make_element):
12153         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12154         (_file_index_id_save_xml), (gst_file_index_commit):
12155         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12156         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12157         (load_paths):
12158         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12159         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12160         * tools/gst-complete.c: (main):
12161         * tools/gst-compprep.c: (main):
12162         * tools/gst-inspect.c: (print_element_properties_info):
12163         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12164         * tools/gst-xmlinspect.c: (print_element_properties):
12165         GCC 4 fixen.
12166         
12167 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12168
12169         * gst/gstplugin.c: (gst_plugin_check_module),
12170         (gst_plugin_check_file), (gst_plugin_load_file):
12171             apply patch from #172526 to make register work on MacOSX
12172
12173 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12174
12175         * docs/gst/tmpl/gstconfig.sgml:
12176         * gst/gstconfig.h.in:
12177           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12178         * testsuite/debug/printf_extension.c: (main):
12179           Do not use GST_PTR_FORMAT on pointers to types with
12180           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12181         * testsuite/elements/property.h:
12182           use correct printf format
12183
12184 2005-05-02  Wim Taymans  <wim@fluendo.com>
12185
12186         * docs/design/draft-push-pull.txt:
12187         * docs/design/draft-query.txt:
12188         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12189         (gst_basesrc_start):
12190         Added draft for new query API.
12191         Added draft for better selecting scheduling methods.
12192         Make basesrc ignore length if the subclass does not support
12193         it.
12194
12195 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12196
12197         * gst/Makefile.am:
12198           possible fixes for automake-1.5 - _LIBADD is reserved
12199
12200 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12201
12202         * docs/faq/Makefile.am:
12203         * docs/manual/Makefile.am:
12204         * docs/manuals.mak:
12205         * docs/pwg/Makefile.am:
12206         * gst/Makefile.am:
12207           possible fixes for automake-1.5
12208
12209 2005-04-28  Wim Taymans  <wim@fluendo.com>
12210
12211         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12212         (gst_basesink_pad_getcaps), (gst_basesink_init),
12213         (gst_basesink_do_sync):
12214         * gst/gstclock.c: (gst_clock_entry_new):
12215         * gst/gstevent.c: (gst_event_discont_get_value):
12216         * gst/gstpipeline.c: (pipeline_bus_handler),
12217         (gst_pipeline_change_state):
12218         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12219         Better debugging of clocking info.
12220         Allow NULL values when getting discont values.
12221
12222 2005-04-27  Wim Taymans  <wim@fluendo.com>
12223
12224         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12225         * check/gst/gstpad.c: (gst_pad_suite):
12226         Increase timeout for checks.
12227
12228 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12229
12230         * check/Makefile.am:
12231           fix the broken rule for cleanup.  Apparently this rule is
12232           only needed on FC2, so maybe this warrants further autotool
12233           inspection.
12234
12235 2005-04-26  Wim Taymans  <wim@fluendo.com>
12236
12237         * gst/gsttrashstack.h:
12238         Ooohh. a nasty one! After having a failed pop() from the stack,
12239         it's possible that the stack is empty. In that case, don't
12240         follow the NULL pointer.
12241
12242 2005-04-25  Wim Taymans  <wim@fluendo.com>
12243
12244         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12245         (gst_pad_set_checkgetrange_function),
12246         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12247         (gst_pad_check_pull_range), (gst_pad_pull_range),
12248         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12249         (gst_pad_pause_task), (gst_pad_stop_task):
12250         * gst/gstplugin.c: (gst_plugin_load):
12251         * gst/gstplugin.h:
12252         Remove gst_library_load as it does more harm than good with
12253         the new g_module flags.
12254         Revert bogus caps template check in pad linking, pad caps
12255         are important when linking not the template, which is more
12256         general than the current caps.
12257
12258 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12259
12260         * gst/autoplug/.cvsignore:
12261         * gst/autoplug/Makefile.am:
12262         * gst/autoplug/gstsearchfuncs.c:
12263         * gst/autoplug/gstsearchfuncs.h:
12264         * gst/autoplug/gstspider.c:
12265         * gst/autoplug/gstspider.h:
12266         * gst/autoplug/gstspideridentity.c:
12267         * gst/autoplug/gstspideridentity.h:
12268         * gst/autoplug/spidertest.c:
12269           Die, spider, die.
12270
12271 2005-04-25  Wim Taymans  <wim@fluendo.com>
12272
12273         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12274         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12275         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12276         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12277         * gst/gstpad.h:
12278         Added stubs for unimplemented functions. 
12279
12280 2005-04-24  David Schleef  <ds@schleef.org>
12281
12282         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12283         please fix.
12284
12285 2005-04-24  David Schleef  <ds@schleef.org>
12286
12287         Convert everything from GstAtomicInt to g_atomic_int_*, and
12288         remove gstatomic.
12289         * gst/Makefile.am:
12290         * gst/gstatomic.c:
12291         * gst/gstatomic.h:
12292         * gst/gstatomic_impl.h:
12293         * gst/gstbuffer.c:
12294         * gst/gstcaps.c:
12295         * gst/gstcaps.h:
12296         * gst/gstclock.c:
12297         * gst/gstclock.h:
12298         * gst/gstdata.c:
12299         * gst/gstdata.h:
12300         * gst/gstdata_private.h:
12301         * gst/gstevent.c:
12302         * gst/gstinfo.c:
12303         * gst/gstinfo.h:
12304         * gst/gstmessage.c:
12305         * gst/gstobject.c:
12306         * gst/gstobject.h:
12307         * gst/gststructure.c:
12308         * gst/gststructure.h:
12309         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12310         * gst/gstutils.h:
12311
12312 2005-04-24  David Schleef  <ds@schleef.org>
12313
12314         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12315         make the regressions tests work.  Remove some code that is no
12316         longer true.
12317         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12318         Disable warning for pads without templates.
12319
12320 2005-04-24  David Schleef  <ds@schleef.org>
12321
12322         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12323         functions that handle filtered links.
12324         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12325         removed functions.
12326         * gst/gstutils.c: Fix/remove utility functions that handle
12327         filtered caps.
12328         * gst/gstutils.h:
12329         * gst/gstvalue.c: Add serialization/deserialization of caps
12330         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12331         requires fixing so that the filter caps notation creates
12332         a capsfilter element and sets the filter_caps property.  I
12333         think everyone probably wants to keep the shorthand notation.
12334         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12335         * docs/gst/tmpl/gstpad.sgml:
12336
12337         * gst/elements/gstelements.c: Register capsfilter element.
12338         * gst/Makefile.am: fix spacing
12339         * docs/random/ds/0.9-suggested-changes: random
12340
12341 2005-04-23  David Schleef  <ds@schleef.org>
12342
12343         * gst/elements/Makefile.am:
12344         * gst/elements/gstcapsfilter.c: New element that acts like an
12345         identity, but filters caps.  Will eventually replace filtered
12346         caps in pad linking.
12347         * gst/gstutils.c: (gst_element_create_all_pads): New function
12348         to create all the ALWAYS pads that are registered with an
12349         element class.  This functionality should eventually be
12350         merged in with GstElement initialization.
12351         * gst/gstutils.h:
12352         * testsuite/trigger/README: part of trigger test code that should
12353         have been checked in a long time ago.
12354
12355 2005-04-23  David Schleef  <ds@schleef.org>
12356
12357         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12358         needed with new versions of libtool (nobody will confirm this),
12359         and hard to carry around.
12360         * gst/autoplug/Makefile.am:
12361         * gst/base/Makefile.am:
12362         * gst/elements/Makefile.am:
12363         * gst/indexers/Makefile.am:
12364         * gst/schedulers/Makefile.am:
12365         * libs/gst/bytestream/Makefile.am:
12366         * libs/gst/control/Makefile.am:
12367         * libs/gst/dataprotocol/Makefile.am:
12368         * libs/gst/getbits/Makefile.am:
12369
12370 2005-04-21  Wim Taymans  <wim@fluendo.com>
12371
12372         * docs/design/draft-push-pull.txt:
12373         * docs/design/part-MT-refcounting.txt:
12374         * docs/design/part-TODO.txt:
12375         * docs/design/part-caps.txt:
12376         * docs/design/part-events.txt:
12377         * docs/design/part-gstbus.txt:
12378         * docs/design/part-gstpipeline.txt:
12379         * docs/design/part-messages.txt:
12380         * docs/design/part-push-pull.txt:
12381         * docs/design/part-query.txt:
12382         Some more docs.
12383
12384 2005-04-21  Wim Taymans  <wim@fluendo.com>
12385
12386         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12387         (gst_message_new), (gst_message_new_error),
12388         (gst_message_new_warning), (gst_message_new_tag),
12389         (gst_message_new_state_changed), (gst_message_new_application),
12390         (gst_message_get_structure):
12391         * gst/gstmessage.h:
12392         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12393         (gst_structure_copy_conditional):
12394         Use parent refcount in GstMessage to ensure GstStructure
12395         consistency.
12396         Cleaned up headers a bit.
12397         
12398
12399 2005-04-20  Wim Taymans  <wim@fluendo.com>
12400
12401         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12402         (gst_basesink_pad_getcaps), (gst_basesink_init),
12403         (gst_basesink_chain_unlocked):
12404         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12405         (gst_type_find_helper):
12406         * gst/elements/gsttypefindelement.c:
12407         (gst_type_find_element_have_type), (gst_type_find_element_init),
12408         (stop_typefinding), (gst_type_find_element_handle_event),
12409         (find_suggest), (gst_type_find_element_chain),
12410         (gst_type_find_element_checkgetrange),
12411         (gst_type_find_element_getrange), (do_typefind),
12412         (gst_type_find_element_activate):
12413         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12414         (gst_buffer_default_free), (gst_buffer_default_copy),
12415         (gst_buffer_set_caps):
12416         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12417         (gst_caps_replace):
12418         * gst/gstmessage.c: (gst_message_new),
12419         (gst_message_new_state_changed):
12420         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12421         (gst_pad_set_checkgetrange_function),
12422         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12423         (gst_pad_set_caps), (gst_pad_check_pull_range),
12424         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12425         * gst/gstpad.h:
12426         * gst/gsttypefind.c: (gst_type_find_register):
12427         Make gst_caps_replace() work like other _replace() functions.
12428         Use _caps_replace() where possible.
12429         Make sure _message_new() initialises its field.
12430         Add gst_static_pad_template_get_caps()
12431
12432
12433 2005-04-18  Andy Wingo  <wingo@pobox.com>
12434
12435         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12436         on the peer, not the pad. I think that was a typo. Pass an extra
12437         arg to see if random access is possible. Activate the pads as
12438         PULL_RANGE if possible.
12439
12440         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12441
12442         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12443         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12444         to PROP_....
12445
12446 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12447
12448         * docs/faq/using.xml:
12449           Add note on gstreamer-properties (#154996).
12450
12451 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12452
12453         * docs/random/bbb/optional-properties:
12454           Some analysis on optional properties.
12455
12456 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12457
12458         * docs/gst/tmpl/gstelementfactory.sgml:
12459         * gst/gstelement.h:
12460         * gst/gstelementfactory.c: (gst_element_factory_init),
12461         (gst_element_factory_cleanup), (gst_element_register),
12462         (__gst_element_factory_add_static_pad_template),
12463         (gst_element_factory_get_static_pad_templates),
12464         (gst_element_factory_can_src_caps),
12465         (gst_element_factory_can_sink_caps):
12466         * gst/registries/Makefile.am:
12467         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12468         (gst_xml_registry_class_init), (gst_xml_registry_init),
12469         (gst_xml_registry_new), (gst_xml_registry_set_property),
12470         (gst_xml_registry_get_property), (get_time), (make_dir),
12471         (gst_xml_registry_get_perms_func),
12472         (plugin_times_older_than_recurse), (plugin_times_older_than),
12473         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12474         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12475         (add_to_char_array), (read_string), (read_uint), (read_enum),
12476         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12477         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12478         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12479         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12480         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12481         (gst_xml_registry_rebuild):
12482         * gst/registries/gstlibxmlregistry.h:
12483         * tools/gst-compprep.c: (main):
12484         * tools/gst-inspect.c: (print_pad_templates_info):
12485         * tools/gst-xmlinspect.c: (print_element_info):
12486           Use libxml2 for registry parsing, use staticpadtemplates in
12487           elementfactories. Makes gst_init() +/- 10x faster.
12488
12489 2005-04-12  Wim Taymans  <wim@fluendo.com>
12490
12491         * gst/base/Makefile.am:
12492         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12493         (gst_basesink_pad_getcaps), (gst_basesink_init),
12494         (gst_basesink_event), (gst_basesink_change_state):
12495         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12496         (gst_basesrc_init), (gst_basesrc_query),
12497         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12498         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12499         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12500         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12501         (gst_basesrc_stop), (gst_basesrc_activate),
12502         (gst_basesrc_change_state):
12503         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12504         (helper_find_suggest), (gst_type_find_helper):
12505         * gst/base/gsttypefindhelper.h:
12506         * gst/elements/Makefile.am:
12507         * gst/elements/gstelements.c:
12508         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12509         (gst_fakesink_get_times), (gst_fakesink_event),
12510         (gst_fakesink_preroll), (gst_fakesink_render):
12511         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12512         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12513         (gst_fakesrc_get_property), (gst_fakesrc_create),
12514         (gst_fakesrc_start), (gst_fakesrc_stop):
12515         * gst/elements/gstfakesrc.h:
12516         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12517         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12518         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12519         (gst_filesrc_create_read), (gst_filesrc_create),
12520         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12521         (gst_filesrc_start):
12522         * gst/elements/gsttypefindelement.c:
12523         (gst_type_find_element_have_type), (gst_type_find_element_init),
12524         (start_typefinding), (stop_typefinding), (push_buffer_store),
12525         (gst_type_find_element_handle_event),
12526         (gst_type_find_element_chain),
12527         (gst_type_find_element_checkgetrange),
12528         (gst_type_find_element_getrange), (do_typefind),
12529         (gst_type_find_element_activate),
12530         (gst_type_find_element_change_state):
12531         * gst/elements/gsttypefindelement.h:
12532         * gst/gstpipeline.c: (pipeline_bus_handler):
12533         Added typefind helper.
12534         Small preroll fix in the base sink.
12535         Disable typefind code in basesrc.
12536         Crude port of typefindelement.
12537         Fakesrc cleanups.
12538
12539
12540 2005-04-11  Wim Taymans  <wim@fluendo.com>
12541
12542         * check/gst/gstbus.c: (gstbus_suite):
12543         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12544         * check/gstcheck.h:
12545           Fix up the timeout so that the test does not fail.
12546
12547 2005-04-06  Wim Taymans  <wim@fluendo.com>
12548
12549         * gst/base/README:
12550         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12551         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12552         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12553         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12554         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12555         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12556         (gst_basesrc_stop), (gst_basesrc_activate),
12557         (gst_basesrc_change_state), (basesrc_find_peek),
12558         (basesrc_find_suggest), (gst_basesrc_type_find):
12559         * gst/base/gstbasesrc.h:
12560         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12561         (gst_filesrc_class_init), (gst_filesrc_init),
12562         (gst_filesrc_finalize), (gst_filesrc_set_location),
12563         (gst_filesrc_set_property), (gst_filesrc_get_property),
12564         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12565         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12566         (gst_filesrc_create_read), (gst_filesrc_create),
12567         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12568         * gst/elements/gstfilesrc.h:
12569         * gst/gstelement.c: (gst_element_get_state_func),
12570         (gst_element_lost_state), (gst_element_pads_activate):
12571         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12572         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12573         (gst_pad_pull_range):
12574         * gst/gstpad.h:
12575         More work on the generic source base class, implement seeking,
12576         query.
12577         Make filesrc extend the base source class.
12578         Added gst_pad_set_checkgetrange_function to GstPad.
12579
12580 2005-04-06  Andy Wingo  <wingo@pobox.com>
12581
12582         * pkgconfig/gstreamer-base.pc.in:
12583         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12584
12585         * pkgconfig/Makefile.am:
12586         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12587
12588 2005-04-04  Wim Taymans  <wim@fluendo.com>
12589
12590         * gst/base/Makefile.am:
12591         * gst/base/README:
12592         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12593         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12594         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12595         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12596         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12597         (gst_basesrc_base_init), (gst_basesrc_class_init),
12598         (gst_basesrc_init), (gst_basesrc_get_formats),
12599         (gst_basesrc_get_query_types), (gst_basesrc_query),
12600         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12601         (gst_basesrc_set_property), (gst_basesrc_get_property),
12602         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12603         (gst_basesrc_loop), (gst_basesrc_activate),
12604         (gst_basesrc_change_state):
12605         * gst/base/gstbasesrc.h:
12606         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12607         (gst_fakesrc_class_init), (gst_fakesrc_init),
12608         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12609         (gst_fakesrc_get_property), (gst_fakesrc_create):
12610         * gst/elements/gstfakesrc.h:
12611         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12612         (gst_filesrc_open_file), (gst_filesrc_loop),
12613         (gst_filesrc_activate), (filesrc_find_peek),
12614         (gst_filesrc_type_find):
12615         Made base source class, make fakesrc extend it.
12616         Add comments to basesink class.
12617         Some filesrc cleanup.
12618
12619 2005-03-31  David Schleef  <ds@schleef.org>
12620
12621         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12622         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12623         expected to link against libgstreamer.
12624         * gst/base/Makefile.am: link against libgstreamer
12625         * gst/elements/Makefile.am: same
12626
12627 2005-03-31  Andy Wingo  <wingo@pobox.com>
12628
12629         * tests/instantiate/Makefile.am:
12630         * tests/instantiate/caps.c: Add test to test speed of caps copy
12631         and free.
12632
12633         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12634         GMemChunk to be fair.
12635
12636         * gst/gsttrashstack.h: Remove warning about using the fallback
12637         trash stack implementation, it's still faster than malloc.
12638
12639 2005-03-30  Andy Wingo  <wingo@pobox.com>
12640
12641         * tests/complexity.c: Add a copyright.
12642
12643 2005-03-31  Wim Taymans  <wim@fluendo.com>
12644
12645         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12646         (gst_base_transform_class_init), (gst_base_transform_init),
12647         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12648         (gst_base_transform_get_property),
12649         (gst_base_transform_sink_activate),
12650         (gst_base_transform_src_activate),
12651         (gst_base_transform_change_state):
12652         * gst/base/gstbasetransform.h:
12653         * gst/elements/gstidentity.c: (gst_identity_class_init),
12654         (gst_identity_event), (gst_identity_check_perfect),
12655         (gst_identity_transform), (gst_identity_start),
12656         (gst_identity_stop):
12657         Added start/stop methods to transform base class so subclasses 
12658         don't need to deal with state changes even.
12659
12660 2005-03-31  Wim Taymans  <wim@fluendo.com>
12661
12662         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12663         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12664         * gst/gstevent.h:
12665         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12666         (gst_pad_pull_range):
12667         Added rate to the discont event to prepare for variable speed
12668         and reverse playback.
12669
12670 2005-03-29  David Schleef  <ds@schleef.org>
12671
12672         * configure.ac:
12673         * testsuite/trigger/Makefile.am:
12674         * testsuite/trigger/trigger.c: A little example program to show
12675         how trigger-based elements can work.
12676
12677 2005-03-29  Wim Taymans  <wim@fluendo.com>
12678
12679         * gst/base/Makefile.am:
12680         * gst/base/README:
12681         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12682         (gst_basesink_base_init), (gst_basesink_class_init),
12683         (gst_basesink_pad_getcaps), (gst_basesink_init),
12684         (gst_basesink_activate), (gst_basesink_change_state):
12685         * gst/base/gstbasesink.h:
12686         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12687         (gst_base_transform_base_init), (gst_base_transform_finalize),
12688         (gst_base_transform_class_init), (gst_base_transform_init),
12689         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12690         (gst_base_transform_event), (gst_base_transform_getrange),
12691         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12692         (gst_base_transform_set_property),
12693         (gst_base_transform_get_property),
12694         (gst_base_transform_sink_activate),
12695         (gst_base_transform_src_activate),
12696         (gst_base_transform_change_state):
12697         * gst/base/gstbasetransform.h:
12698         * gst/elements/gstidentity.c: (gst_identity_finalize),
12699         (gst_identity_class_init), (gst_identity_init),
12700         (gst_identity_event), (gst_identity_check_perfect),
12701         (gst_identity_transform), (gst_identity_set_property),
12702         (gst_identity_get_property), (gst_identity_change_state):
12703         * gst/elements/gstidentity.h:
12704         * gst/gstelement.c: (gst_element_get_state_func),
12705         (gst_element_lost_state), (gst_element_pads_activate):
12706         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12707         (gst_pad_check_pull_range), (gst_pad_pull_range):
12708         * gst/gstpad.h:
12709         Simplify pad activation.
12710         Added function to check if pull_range can be performed.
12711         Error out when pulling inactive or flushing pads.
12712         Removed const from refcounted types as it does not make sense.
12713         Simplify pad templates in basesink
12714         Added base class for simple 1-to-1 transforms.
12715         Make identity subclass the base transform.
12716
12717 2005-03-29  Andy Wingo  <wingo@pobox.com>
12718
12719         * docs/libs/gstreamer-libs-overrides.txt: 
12720         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12721         really don't understand what's going on, but like whatever. I want
12722         green buildbot!
12723
12724         * docs/gst/Makefile.am:
12725         * docs/libs/Makefile.am: Dist the overrides files.
12726
12727         * check/Makefile.am (clean-local): Remove .libs directories.
12728
12729         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12730         elements to EXTRA_DIST, so po/ files are happy.
12731
12732         * po/POTFILES.in: Er, remove it here.
12733
12734         * po/POTFILES: Remove gstspider.c.
12735
12736         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12737
12738         * docs/libs/gstreamer-libs-docs.sgml: 
12739         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12740         bytestream.
12741
12742         * tests/complexity.c (main): Set the length of the preroll queue
12743         on the sinks to prevent a lockup.
12744
12745         * libs/gst/dataprotocol/Makefile.am: 
12746         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12747         the same as the one in check/gst-libs/gdp.c.
12748
12749         * po/, docs/gst/: Commit automatic changes to docs and po files.
12750
12751         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12752         the versioned libgstbase.
12753
12754         * check/Makefile.am: Depend on an unversioned gst-register, seems
12755         to make autoconf happier.
12756
12757         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12758
12759 2005-03-28  Wim Taymans  <wim@fluendo.com>
12760
12761         * configure.ac:
12762         * docs/design/part-gstelement.txt:
12763         * docs/design/part-negotiation.txt:
12764         * docs/design/part-preroll.txt:
12765         * docs/design/part-scheduling.txt:
12766         * docs/design/part-states.txt:
12767         * gst/Makefile.am:
12768         * gst/base/Makefile.am:
12769         * gst/base/README:
12770         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12771         (gst_basesink_base_init), (gst_basesink_class_init),
12772         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12773         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12774         (gst_basesink_set_pad_functions),
12775         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12776         (gst_basesink_set_property), (gst_basesink_get_property),
12777         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12778         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12779         (gst_basesink_preroll_queue_push),
12780         (gst_basesink_preroll_queue_empty),
12781         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12782         (gst_basesink_event), (gst_basesink_get_times),
12783         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12784         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12785         (gst_basesink_loop), (gst_basesink_activate),
12786         (gst_basesink_change_state):
12787         * gst/base/gstbasesink.h:
12788         * gst/elements/Makefile.am:
12789         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12790         (gst_fakesink_class_init), (gst_fakesink_init),
12791         (gst_fakesink_set_property), (gst_fakesink_get_property),
12792         (gst_fakesink_get_times), (gst_fakesink_event),
12793         (gst_fakesink_preroll), (gst_fakesink_render),
12794         (gst_fakesink_change_state):
12795         * gst/elements/gstfakesink.h:
12796         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12797         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12798         * gst/gstelement.c: (gst_element_add_pad),
12799         (gst_element_get_state_func), (gst_element_abort_state),
12800         (gst_element_commit_state), (gst_element_lost_state),
12801         (gst_element_set_state), (gst_element_pads_activate):
12802         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12803         * gst/gstpipeline.c: (gst_pipeline_send_event),
12804         (gst_pipeline_change_state):
12805         Added state change code.
12806         Added/updated docs.
12807         Added sink base class, make fakesink extend the base class.
12808         Small cleanups in GstPipeline.
12809
12810 2005-03-26  David Schleef  <ds@schleef.org>
12811
12812         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12813         is broken and should be implemented in a different library.
12814         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12815         * gst/gst.h: remove gstcpu.h
12816         * gst/gstcpu.c: remove
12817         * gst/gstcpu.h: remove
12818         * gst/Makefile.am.future: Remove this file.  It's ancient.
12819
12820 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12821
12822         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12823         (gst_bin_send_event):
12824           Add default event/set_manager handlers. The set_manager handler
12825           takes care that the manager is distributed over kids that were
12826           already in the bin before the manager was set. The event handler
12827           is a utility virtual function that sends the event over all sinks,
12828           so that gst_element_send_event (bin, event); has the expected
12829           behaviour.
12830         * gst/gstpad.c: (gst_pad_event_default):
12831           Re-install default event handling for discontinuities, so that
12832           seeking works without requiring hacks in applications or extra
12833           code in sinks.
12834         * gst/gstpipeline.c: (gst_pipeline_class_init),
12835         (gst_pipeline_send_event):
12836           Half hack, half utility: set a pipeline to PAUSED for seek events,
12837           since that is the only way we can guarantee a/v sync. Means that
12838           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12839           and it "just works".
12840
12841 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12842
12843         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12844           Lock/unlock mismatch.
12845
12846 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12847
12848         * docs/faq/gst-uninstalled:
12849           add gst-plugins-base
12850         * docs/gst/Makefile.am:
12851           don't error out until docs are fixed
12852         * docs/gst/gstreamer.types:
12853           remove thread
12854
12855 2005-03-22  Wim Taymans  <wim@fluendo.com>
12856
12857         * check/Makefile.am:
12858         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12859         * gst/gststructure.c: (gst_structure_set_valist),
12860         (gst_structure_copy_conditional):
12861         Activated more tests.
12862         Added message test.
12863         Added G_TYPE_POINTER to GstStructure.
12864         
12865
12866 2005-03-22  Wim Taymans  <wim@fluendo.com>
12867
12868         * docs/design/part-TODO.txt:
12869         * docs/design/part-events.txt:
12870         * docs/design/part-gstbin.txt:
12871         * docs/design/part-gstbus.txt:
12872         * docs/design/part-gstpipeline.txt:
12873         * docs/design/part-messages.txt:
12874         * gst/gstbus.c:
12875         * gst/gstmessage.c:
12876         Docs updates
12877
12878 2005-03-21  Wim Taymans  <wim@fluendo.com>
12879
12880         * gst/gstbus.c: (gst_bus_post):
12881         Fix copy-and-paste error.
12882
12883 2005-03-21  Wim Taymans  <wim@fluendo.com>
12884
12885         * check/Makefile.am:
12886         * gst/Makefile.am:
12887         * gst/elements/Makefile.am:
12888         * gst/elements/gstelements.c:
12889         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12890         (gst_fakesink_event), (gst_fakesink_chain):
12891         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12892         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12893         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12894         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12895         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12896         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12897         (gst_fakesrc_loop), (gst_fakesrc_activate),
12898         (gst_fakesrc_change_state):
12899         * gst/elements/gstfakesrc.h:
12900         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12901         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12902         (gst_filesrc_open_file), (gst_filesrc_loop),
12903         (gst_filesrc_activate), (gst_filesrc_change_state),
12904         (filesrc_find_peek), (filesrc_find_suggest),
12905         (gst_filesrc_type_find):
12906         * gst/elements/gstidentity.c: (gst_identity_finalize),
12907         (gst_identity_class_init), (gst_identity_init),
12908         (gst_identity_proxy_getcaps), (identity_queue_push),
12909         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12910         (gst_identity_getrange), (gst_identity_chain),
12911         (gst_identity_sink_loop), (gst_identity_src_loop),
12912         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12913         (gst_identity_set_property), (gst_identity_get_property),
12914         (gst_identity_change_state):
12915         * gst/elements/gstidentity.h:
12916         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12917         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12918         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12919         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12920         (gst_tee_sink_activate):
12921         * gst/elements/gsttee.h:
12922         * gst/gst.c: (gst_register_core_elements), (init_post):
12923         * gst/gst.h:
12924         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12925         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12926         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12927         (gst_bin_change_state):
12928         * gst/gstbin.h:
12929         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12930         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12931         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12932         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12933         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12934         (bus_watch_callback), (bus_watch_destroy),
12935         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12936         (poll_timeout), (gst_bus_poll):
12937         * gst/gstbus.h:
12938         * gst/gstcaps.h:
12939         * gst/gstdata.h:
12940         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12941         (gst_element_post_message), (gst_element_message_full),
12942         (gst_element_get_state_func), (gst_element_get_state),
12943         (gst_element_abort_state), (gst_element_commit_state),
12944         (gst_element_lost_state), (gst_element_set_state),
12945         (gst_element_pads_activate), (gst_element_change_state),
12946         (gst_element_dispose), (gst_element_set_manager_func),
12947         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12948         (gst_element_set_manager), (gst_element_get_manager),
12949         (gst_element_set_bus), (gst_element_get_bus),
12950         (gst_element_set_scheduler), (gst_element_get_scheduler):
12951         * gst/gstelement.h:
12952         * gst/gstevent.c: (gst_event_new_segment_seek),
12953         (gst_event_new_flush):
12954         * gst/gstevent.h:
12955         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12956         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12957         (gst_message_new_eos), (gst_message_new_error),
12958         (gst_message_new_warning), (gst_message_new_tag),
12959         (gst_message_new_state_changed), (gst_message_new_application),
12960         (gst_message_get_structure), (gst_message_parse_tag),
12961         (gst_message_parse_state_changed), (gst_message_parse_error),
12962         (gst_message_parse_warning):
12963         * gst/gstmessage.h:
12964         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12965         (gst_real_pad_set_property), (gst_pad_set_active),
12966         (gst_pad_is_active), (gst_pad_set_blocked_async),
12967         (gst_pad_set_blocked), (gst_pad_is_blocked),
12968         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12969         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12970         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12971         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12972         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12973         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12974         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12975         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12976         (gst_pad_set_caps), (gst_pad_configure_sink),
12977         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12978         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12979         (gst_real_pad_dispose), (gst_real_pad_finalize),
12980         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12981         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12982         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12983         * gst/gstpad.h:
12984         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12985         (pipeline_bus_handler), (gst_pipeline_change_state),
12986         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12987         * gst/gstpipeline.h:
12988         * gst/gstprobe.h:
12989         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12990         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12991         (gst_queue_link_src), (gst_queue_bufferalloc),
12992         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12993         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12994         (gst_queue_loop), (gst_queue_handle_src_event),
12995         (gst_queue_handle_src_query), (gst_queue_src_activate),
12996         (gst_queue_change_state):
12997         * gst/gstqueue.h:
12998         * gst/gstscheduler.c: (gst_scheduler_init),
12999         (gst_scheduler_dispose), (gst_scheduler_create_task),
13000         (gst_scheduler_factory_create):
13001         * gst/gstscheduler.h:
13002         * gst/gststructure.c: (gst_structure_get_type),
13003         (gst_structure_copy_conditional):
13004         * gst/gststructure.h:
13005         * gst/gsttaginterface.h:
13006         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13007         (gst_task_init), (gst_task_dispose), (gst_task_create),
13008         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13009         (gst_task_pause):
13010         * gst/gsttask.h:
13011         * gst/gstthread.c:
13012         * gst/gstthread.h:
13013         * gst/gsttypes.h:
13014         * gst/schedulers/Makefile.am:
13015         * gst/schedulers/cothreads_compat.h:
13016         * gst/schedulers/entryscheduler.c:
13017         * gst/schedulers/faircothreads.c:
13018         * gst/schedulers/faircothreads.h:
13019         * gst/schedulers/fairscheduler.c:
13020         * gst/schedulers/gstbasicscheduler.c:
13021         * gst/schedulers/gstoptimalscheduler.c:
13022         * gst/schedulers/gthread-cothreads.h:
13023         * gst/schedulers/threadscheduler.c:
13024         (gst_thread_scheduler_task_get_type),
13025         (gst_thread_scheduler_task_class_init),
13026         (gst_thread_scheduler_task_init),
13027         (gst_thread_scheduler_task_start),
13028         (gst_thread_scheduler_task_stop),
13029         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13030         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13031         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13032         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13033         (plugin_init):
13034         * libs/gst/Makefile.am:
13035         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13036         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13037         (gst_file_pad_parent_set):
13038         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13039         (gst_dp_event_from_packet):
13040         * tests/complexity.c: (main):
13041         * tests/mass_elements.c: (main):
13042         * testsuite/states/locked.c: (message_received), (main):
13043         * testsuite/states/parent.c: (main):
13044         * tools/gst-inspect.c: (print_element_flag_info),
13045         (print_implementation_info), (print_pad_info):
13046         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13047         (main):
13048         * tools/gst-md5sum.c: (event_loop), (main):
13049         * tools/gst-typefind.c: (main):
13050         * tools/gst-xmlinspect.c: (print_element_info):
13051         Next big merge.
13052         Added GstBus for mainloop integration.
13053         Added GstMessage for sending notifications on the bus.
13054         Added GstTask as an abstraction for pipeline entry points.
13055         Removed GstThread.
13056         Removed Schedulers.
13057         Simplified GstQueue for multithreaded core.
13058         Made _link threadsafe, removed old capsnego.
13059         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13060         Added pad blocking functions.
13061         Reworked scheduling functions in GstPad to prepare for
13062         scheduling updates soon.
13063         Moved events out of data stream.
13064         Simplified GstEvent types.
13065         Added return values to push/pull.
13066         Removed clocking from GstElement.
13067         Added prototypes for state change function for next merge.
13068         Removed iterate from bins and state change management.
13069         Fixed some elements, disabled others for now.
13070         Fixed -inspect and -launch.
13071         Added check for GstBus.
13072
13073 2005-03-10  Wim Taymans  <wim@fluendo.com>
13074
13075         * docs/design/part-MT-refcounting.txt:
13076         * docs/design/part-clocks.txt:
13077         * docs/design/part-gstelement.txt:
13078         * docs/design/part-gstobject.txt:
13079         * docs/design/part-standards.txt:
13080         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13081         (gst_bin_remove_func), (gst_bin_remove):
13082         * gst/gstbin.h:
13083         * gst/gstbuffer.c:
13084         * gst/gstcaps.h:
13085         * testsuite/clock/clock1.c: (main):
13086         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13087         (main):
13088         * testsuite/dlopen/loadgst.c: (do_test):
13089         * testsuite/refcounting/bin.c: (add_remove_test1),
13090         (add_remove_test2), (main):
13091         * testsuite/refcounting/element.c: (main):
13092         * testsuite/refcounting/element_pad.c: (main):
13093         * testsuite/refcounting/pad.c: (main):
13094         * tools/gst-launch.c: (sigint_handler_sighandler):
13095         * tools/gst-typefind.c: (main):
13096         Doc updates.
13097         Added doc about clock.
13098         removed gst_bin_iterate_recurse_up(), marked methods
13099         for removal.
13100         Fix more testsuites.
13101
13102 2005-03-09  Wim Taymans  <wim@fluendo.com>
13103
13104         * gst/gstpad.c: (gst_pad_get_direction),
13105         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13106         (gst_pad_collect_valist):
13107         * testsuite/bins/interface.c: (main):
13108         * testsuite/caps/audioscale.c: (test_caps):
13109         * testsuite/caps/caps.c: (test1), (test2), (test3):
13110         * testsuite/caps/deserialize.c: (main):
13111         * testsuite/caps/enumcaps.c: (main):
13112         * testsuite/caps/filtercaps.c: (main):
13113         * testsuite/caps/intersect2.c: (main):
13114         * testsuite/caps/random.c: (main):
13115         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13116         * testsuite/caps/sets.c: (check_caps):
13117         * testsuite/caps/simplify.c: (check_caps), (main):
13118         * testsuite/caps/subtract.c: (check_caps):
13119         Fix _pad_get_direction wrt ghostpads.
13120         Fix caps testsuite.
13121
13122 2005-03-09  Wim Taymans  <wim@fluendo.com>
13123
13124         * check/Makefile.am:
13125         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13126         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13127         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13128         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13129         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13130         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13131         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13132         (bin_element_is_sink), (gst_bin_iterate_sinks),
13133         (gst_bin_iterate_all_by_interface):
13134         * gst/gstbin.h:
13135         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13136         (gst_element_change_state), (gst_element_dispose),
13137         (gst_element_finalize), (gst_element_set_loop_function):
13138         * gst/gstelement.h:
13139         * gst/gstiterator.c: (find_custom_fold_func):
13140         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13141         (gst_pad_collectv), (gst_pad_collect_valist),
13142         (gst_pad_template_new):
13143         * gst/gstpipeline.c: (gst_pipeline_class_init),
13144         (gst_pipeline_dispose), (gst_pipeline_set_property),
13145         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13146         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13147         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13148         * gst/gstutils.h:
13149         * gst/schedulers/entryscheduler.c:
13150         * gst/schedulers/gstbasicscheduler.c:
13151         (gst_basic_scheduler_cothreaded_chain),
13152         (gst_basic_scheduler_chain_add_element):
13153         * testsuite/bins/interface.c: (main):
13154         Added GstBin test.
13155         Added GstSystemClock test.
13156         Implemented clock distribution code in GstBin.
13157         Implemented iterate sinks method for future use.
13158         Rearranged gstelement.h
13159         Fix GstIterator comparison bug.
13160         Moved some code to GstPipeline, mostly clocking related.
13161
13162 2005-03-09  Wim Taymans  <wim@fluendo.com>
13163
13164         * configure.ac:
13165         * gst/gst_private.h:
13166         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13167         (gst_bin_remove_func), (gst_bin_remove),
13168         (gst_bin_get_by_name_recurse_up):
13169         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13170         (gst_clock_id_compare_func), (gst_clock_id_wait),
13171         (gst_clock_id_wait_async), (gst_clock_init),
13172         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13173         * gst/gstelement.h:
13174         * gst/gstinfo.c: (_gst_debug_init):
13175         * gst/gstobject.h:
13176         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13177         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13178         * gst/gstpad.h:
13179         Bump version number, we're now 0.9.0
13180         Add future debugging category.
13181         Fix NULL _unref() in _get_by_name_recurse_up
13182         Rearrange gstpad.h.
13183         Update some docs.
13184
13185 2005-03-08  Wim Taymans  <wim@fluendo.com>
13186
13187         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13188         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13189         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13190         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13191         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13192         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13193         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13194         * gst/elements/gstidentity.c: (gst_identity_class_init):
13195         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13196         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13197         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13198         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13199         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13200         (gst_tee_link):
13201         * gst/gstelement.c: (gst_element_class_init),
13202         (gst_element_base_class_init), (gst_element_init),
13203         (gst_element_get_random_pad), (gst_element_wait_state_change),
13204         (gst_element_change_state), (gst_element_dispose),
13205         (gst_element_finalize), (gst_element_set_loop_function):
13206         * gst/gstelement.h:
13207         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13208         * gst/gstthread.c: (gst_thread_class_init),
13209         (gst_thread_release_children_locks), (gst_thread_change_state):
13210         * gst/schedulers/gstbasicscheduler.c:
13211         (gst_basic_scheduler_loopfunc_wrapper),
13212         (gst_basic_scheduler_chain_wrapper),
13213         (gst_basic_scheduler_src_wrapper),
13214         (gst_basic_scheduler_remove_element):
13215         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13216         Remove threadsafe properties. Fix elements because GObject
13217         complains when installing a property before declaring a
13218         set/get_property handler.
13219         Rearrange gstelement.h file, use STATE macros for state locks.
13220         Free mutexes in the finalize method instead of dispose.
13221
13222 2005-03-08  Wim Taymans  <wim@fluendo.com>
13223
13224         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13225         * gst/gstthread.c: (gst_thread_release_children_locks):
13226         Added parentage check.
13227         Fix build og GstThread again.
13228
13229 2005-03-08  Wim Taymans  <wim@fluendo.com>
13230
13231         * docs/design/part-MT-refcounting.txt:
13232         * docs/design/part-conventions.txt:
13233         * docs/design/part-gstobject.txt:
13234         * docs/design/part-relations.txt:
13235         * docs/design/part-standards.txt:
13236         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13237         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13238         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13239         (gst_bin_iterate_all_by_interface):
13240         * gst/gstbuffer.h:
13241         * gst/gstclock.h:
13242         * gst/gstelement.c: (gst_element_class_init),
13243         (gst_element_change_state), (gst_element_set_loop_function):
13244         * gst/gstelement.h:
13245         * gst/gstiterator.c:
13246         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13247         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13248         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13249         (gst_object_set_parent), (gst_object_unparent),
13250         (gst_object_check_uniqueness):
13251         * gst/gstobject.h:
13252         Docs updates, clean up some headers.
13253
13254 2005-03-07  Wim Taymans  <wim@fluendo.com>
13255
13256         * check/.cvsignore:
13257         * check/Makefile.am:
13258         * check/gst-libs/.cvsignore:
13259         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13260         * check/gst/.cvsignore:
13261         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13262         (START_TEST), (gstbus_suite), (main):
13263         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13264         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13265         (gst_data_suite), (main):
13266         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13267         (add_fold_func), (gstiterator_suite), (main):
13268         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13269         (thread_name_object), (thread_name_object_default),
13270         (gst_object_name_compare), (gst_object_suite), (main):
13271         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13272         (gst_pad_suite), (main):
13273         * check/gstcheck.c: (gst_check_log_message_func),
13274         (gst_check_log_critical_func), (gst_check_init):
13275         * check/gstcheck.h:
13276         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13277         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13278         Added checks.
13279
13280 2005-03-07  Wim Taymans  <wim@fluendo.com>
13281
13282         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13283         (gst_list_iterator_next), (gst_list_iterator_resync),
13284         (gst_list_iterator_free), (gst_iterator_new_list),
13285         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13286         (gst_iterator_free), (gst_iterator_push), (filter_next),
13287         (filter_resync), (filter_uninit), (filter_free),
13288         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13289         (gst_iterator_foreach), (find_custom_fold_func),
13290         (gst_iterator_find_custom):
13291         * gst/gstiterator.h:
13292         Added missing files.
13293
13294 2005-03-07  Wim Taymans  <wim@fluendo.com>
13295
13296         * Makefile.am:
13297         * configure.ac:
13298         * docs/design/part-MT-refcounting.txt:
13299         * docs/design/part-conventions.txt:
13300         * docs/design/part-gstobject.txt:
13301         * docs/design/part-relations.txt:
13302         * examples/mixer/mixer.c: (main):
13303         * examples/thread/thread.c: (eos), (main):
13304         * gst/Makefile.am:
13305         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13306         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13307         (gst_spider_plug_from_srcpad):
13308         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13309         (gst_spider_identity_change_state),
13310         (gst_spider_identity_sink_loop_type_finding):
13311         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13312         * gst/elements/gstidentity.c: (gst_identity_init):
13313         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13314         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13315         * gst/elements/gsttypefindelement.c: (free_entry):
13316         * gst/gst.c:
13317         * gst/gst.h:
13318         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13319         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13320         (gst_bin_set_index), (gst_bin_set_element_sched),
13321         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13322         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13323         (gst_bin_iterate_elements), (iterate_child_recurse),
13324         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13325         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13326         (compare_interface), (gst_bin_get_by_interface),
13327         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13328         * gst/gstbin.h:
13329         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13330         (gst_buffer_default_free), (gst_buffer_default_copy),
13331         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13332         (gst_buffer_create_sub):
13333         * gst/gstbuffer.h:
13334         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13335         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13336         (gst_caps_unref), (gst_static_caps_get),
13337         (gst_caps_remove_and_get_structure), (gst_caps_append),
13338         (gst_caps_append_structure), (gst_caps_remove_structure),
13339         (gst_caps_copy_nth), (gst_caps_set_simple),
13340         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13341         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13342         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13343         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13344         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13345         (gst_caps_structure_figure_out_union),
13346         (gst_caps_switch_structures), (gst_caps_do_simplify),
13347         (gst_caps_replace), (gst_caps_from_string),
13348         (gst_caps_copy_conditional):
13349         * gst/gstcaps.h:
13350         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13351         (_gst_clock_id_free), (gst_clock_id_unref),
13352         (gst_clock_id_compare_func), (gst_clock_id_wait),
13353         (gst_clock_id_wait_async), (gst_clock_class_init),
13354         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13355         (gst_clock_get_time), (gst_clock_set_time_adjust),
13356         (gst_clock_set_property), (gst_clock_get_property):
13357         * gst/gstclock.h:
13358         * gst/gstcompat.h:
13359         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13360         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13361         * gst/gstdata.h:
13362         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13363         (gst_element_requires_clock), (gst_element_provides_clock),
13364         (gst_element_set_clock), (gst_element_clock_wait),
13365         (gst_element_wait), (gst_element_set_time_delay),
13366         (gst_element_is_indexable), (gst_element_add_pad),
13367         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13368         (pad_compare_name), (gst_element_get_static_pad),
13369         (gst_element_request_pad), (gst_element_get_request_pad),
13370         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13371         (gst_element_class_get_pad_template_list),
13372         (gst_element_class_get_pad_template), (gst_element_error_func),
13373         (gst_element_get_random_pad), (gst_element_get_event_masks),
13374         (gst_element_send_event), (gst_element_seek),
13375         (gst_element_get_query_types), (gst_element_query),
13376         (gst_element_get_formats), (gst_element_convert),
13377         (gst_element_is_locked_state), (gst_element_set_locked_state),
13378         (gst_element_sync_state_with_parent), (gst_element_change_state),
13379         (gst_element_finalize), (gst_element_yield),
13380         (gst_element_interrupt), (gst_element_set_scheduler),
13381         (gst_element_get_scheduler), (gst_element_set_loop_function):
13382         * gst/gstelement.h:
13383         * gst/gstevent.h:
13384         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13385         (gst_format_get_by_nick), (gst_format_get_details),
13386         (gst_format_iterate_definitions):
13387         * gst/gstformat.h:
13388         * gst/gstindex.c: (gst_index_gtype_resolver):
13389         * gst/gstinfo.c:
13390         * gst/gstinfo.h:
13391         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13392         (gst_mem_chunk_free):
13393         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13394         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13395         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13396         (gst_object_dispatch_properties_changed),
13397         (gst_object_set_name_default), (gst_object_set_name),
13398         (gst_object_get_name), (gst_object_set_name_prefix),
13399         (gst_object_get_name_prefix), (gst_object_set_parent),
13400         (gst_object_get_parent), (gst_object_unparent),
13401         (gst_object_check_uniqueness), (gst_object_save_thyself),
13402         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13403         (gst_object_set_property), (gst_object_get_property),
13404         (gst_object_get_path_string):
13405         * gst/gstobject.h:
13406         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13407         (gst_real_pad_init), (gst_real_pad_get_property),
13408         (gst_pad_custom_new), (gst_pad_get_direction),
13409         (gst_pad_set_active), (gst_pad_is_active),
13410         (gst_pad_set_event_function), (gst_pad_is_linked),
13411         (gst_pad_link_free), (gst_pad_link_intersect),
13412         (gst_pad_link_fixate), (gst_pad_set_caps),
13413         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13414         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13415         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13416         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13417         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13418         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13419         (gst_pad_realize), (gst_pad_get_allowed_caps),
13420         (gst_real_pad_dispose), (gst_real_pad_finalize),
13421         (gst_pad_collectv), (gst_pad_collect_valist),
13422         (gst_pad_template_dispose), (gst_pad_template_new),
13423         (gst_pad_get_internal_links):
13424         * gst/gstpad.h:
13425         * gst/gstpipeline.c: (gst_pipeline_dispose),
13426         (gst_pipeline_change_state):
13427         * gst/gstpipeline.h:
13428         * gst/gstplugin.c:
13429         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13430         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13431         * gst/gstpluginfeature.h:
13432         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13433         * gst/gstquery.c: (_gst_query_type_initialize),
13434         (gst_query_type_register), (gst_query_type_get_by_nick),
13435         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13436         * gst/gstquery.h:
13437         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13438         * gst/gstscheduler.c: (gst_scheduler_add_element),
13439         (gst_scheduler_factory_create):
13440         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13441         (gst_structure_free), (gst_structure_set_name),
13442         (gst_structure_id_set_value), (gst_structure_set_value),
13443         (gst_structure_set_valist), (gst_structure_remove_field),
13444         (gst_structure_remove_fields),
13445         (gst_structure_remove_fields_valist),
13446         (gst_structure_remove_all_fields), (gst_structure_foreach),
13447         (gst_structure_map_in_place),
13448         (gst_caps_structure_fixate_field_nearest_int),
13449         (gst_caps_structure_fixate_field_nearest_double):
13450         * gst/gststructure.h:
13451         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13452         (gst_system_clock_init), (gst_system_clock_dispose),
13453         (gst_system_clock_async_thread),
13454         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13455         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13456         * gst/gstsystemclock.h:
13457         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13458         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13459         * gst/gsttaginterface.c:
13460         * gst/gstthread.c: (gst_thread_dispose),
13461         (gst_thread_release_children_locks), (gst_thread_change_state),
13462         (gst_thread_main_loop):
13463         * gst/gsttrashstack.h:
13464         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13465         * gst/gsttypes.h:
13466         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13467         (gst_element_request_pad), (gst_element_get_pad_from_template),
13468         (gst_element_request_compatible_pad),
13469         (gst_element_get_compatible_pad_filtered),
13470         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13471         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13472         (gst_element_link_many), (gst_element_link),
13473         (gst_element_link_pads), (gst_element_unlink_pads),
13474         (gst_element_unlink_many), (gst_element_unlink),
13475         (gst_pad_can_link_filtered), (gst_pad_can_link),
13476         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13477         (gst_object_default_error), (gst_bin_add_many),
13478         (gst_bin_remove_many), (gst_element_populate_std_props),
13479         (gst_element_class_install_std_props), (gst_buffer_merge),
13480         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13481         (link_fold_func), (gst_pad_proxy_setcaps):
13482         * gst/gstutils.h:
13483         * gst/gstvalue.c: (gst_value_deserialize_string):
13484         * gst/parse/grammar.y:
13485         * gst/schedulers/gstbasicscheduler.c:
13486         (gst_basic_scheduler_cothreaded_chain),
13487         (gst_basic_scheduler_chain_recursive_add),
13488         (gst_basic_scheduler_pad_link):
13489         * gst/schedulers/gstoptimalscheduler.c:
13490         (get_group_schedule_function),
13491         (gst_opt_scheduler_state_transition),
13492         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13493         * libs/gst/bytestream/bytestream.c:
13494         * libs/gst/dataprotocol/dataprotocol.c:
13495         (gst_dp_header_from_buffer):
13496         * po/nb.po:
13497         * po/ru.po:
13498         * tests/threadstate/threadstate2.c: (eos):
13499         * tools/gst-compprep.c: (main):
13500         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13501         (print_pad_info), (print_children_info):
13502         * tools/gst-launch.c: (idle_func), (main):
13503         * tools/gst-md5sum.c: (idle_func), (main):
13504         * tools/gst-xmlinspect.c: (print_element_info):
13505         First THREADED backport attempt, focusing on adding locks and
13506         making sure the API is threadsafe. Needs more work. More docs
13507         follow this week.
13508
13509 2005-02-24  Andy Wingo  <wingo@pobox.com>
13510
13511         * tests/bench-complexity.scm:
13512         * tests/complexity.gnuplot: New files, good for running complexity
13513         benchmarks.
13514
13515         * tests/Makefile.am:
13516         * tests/complexity.c: New test, sets up N elements, at each level
13517         teeing into M streams per element. Eeeenteresting.
13518
13519         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13520         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13521         running bench-mass_elements.scm.
13522
13523         * tests/bench-mass_elements.scm: New script, runs mass_elements
13524         for various numbers of identities, outputting the results to a
13525         file. Requires guile 1.6. Just for testing.
13526
13527 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13528
13529         * gst/schedulers/fairscheduler.c:
13530           compile with debug disabled
13531
13532 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13533
13534         * configure.ac:
13535           hunting season on 0.9 is now OPEN