libs/gst/base/gstpushsrc.c: Fix typo.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-12  Wim Taymans  <wim@fluendo.com>
2
3         * libs/gst/base/gstpushsrc.c:
4         Fix typo.
5
6 2005-12-12  Wim Taymans  <wim@fluendo.com>
7
8         * docs/libs/gstreamer-libs-sections.txt:
9         Added new symbol to docs.
10
11         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12         (gst_base_src_init), (gst_base_src_set_format),
13         (gst_base_src_default_query), (gst_base_src_query),
14         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
15         (gst_base_src_perform_seek), (gst_base_src_send_event),
16         (gst_base_src_default_event), (gst_base_src_event_handler),
17         (gst_base_src_set_property), (gst_base_src_get_property),
18         (gst_base_src_wait), (gst_base_src_do_sync),
19         (gst_base_src_update_length), (gst_base_src_get_range),
20         (gst_base_src_check_get_range), (gst_base_src_loop),
21         (gst_base_src_default_negotiate), (gst_base_src_start),
22         (gst_base_src_activate_push), (gst_base_src_activate_pull),
23         (gst_base_src_change_state):
24         * libs/gst/base/gstbasesrc.h:
25         Implement seeking to other formats than _BYTES.
26         Implement more seeking methods correctly.
27         Doc updates.
28         Added query vmethod.
29         Added do_seek vmethod to make life easier for subclasses
30         when seeking.
31         API addition: gst_base_src_set_format()
32
33 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
34
35         * tests/examples/Makefile.am:
36           added that too
37
38 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
39
40         * configure.ac:
41         * docs/random/ensonic/media-device-daemon.txt:
42         * tests/examples/controller/.cvsignore:
43         * tests/examples/controller/Makefile.am:
44         * tests/examples/controller/audio-example.c: (main):
45         * tests/examples/helloworld/.cvsignore:
46         * tests/examples/helloworld/Makefile.am:
47         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
48         * tests/examples/launch/.cvsignore:
49         * tests/examples/launch/Makefile.am:
50         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
51         * tests/examples/metadata/.cvsignore:
52         * tests/examples/metadata/Makefile.am:
53         * tests/examples/metadata/read-metadata.c: (message_loop),
54         (make_pipeline), (print_tag), (main):
55         * tests/examples/queue/.cvsignore:
56         * tests/examples/queue/Makefile.am:
57         * tests/examples/queue/queue.c: (event_loop), (main):
58         * tests/examples/typefind/.cvsignore:
59         * tests/examples/typefind/Makefile.am:
60         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
61         (main):
62         * tests/examples/xml/.cvsignore:
63         * tests/examples/xml/Makefile.am:
64         * tests/examples/xml/createxml.c: (object_saved), (main):
65         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
66         * tests/old/examples/Makefile.am:
67         * tests/old/examples/TODO:
68         * tests/old/examples/controller/.cvsignore:
69         * tests/old/examples/controller/Makefile.am:
70         * tests/old/examples/controller/audio-example.c:
71         * tests/old/examples/helloworld/.cvsignore:
72         * tests/old/examples/helloworld/Makefile.am:
73         * tests/old/examples/helloworld/helloworld.c:
74         * tests/old/examples/launch/.cvsignore:
75         * tests/old/examples/launch/Makefile.am:
76         * tests/old/examples/launch/mp3parselaunch.c:
77         * tests/old/examples/launch/mp3play:
78         * tests/old/examples/manual/Makefile.am:
79         * tests/old/examples/metadata/Makefile.am:
80         * tests/old/examples/metadata/read-metadata.c:
81         * tests/old/examples/queue/.cvsignore:
82         * tests/old/examples/queue/Makefile.am:
83         * tests/old/examples/queue/queue.c:
84         * tests/old/examples/typefind/.cvsignore:
85         * tests/old/examples/typefind/Makefile.am:
86         * tests/old/examples/typefind/typefind.c:
87         * tests/old/examples/xml/.cvsignore:
88         * tests/old/examples/xml/Makefile.am:
89         * tests/old/examples/xml/createxml.c:
90         * tests/old/examples/xml/runxml.c:
91           applied some simple fixing to some examples
92           re-enabled the working examples
93
94 2005-12-12  Wim Taymans  <wim@fluendo.com>
95
96         * gst/gstsegment.c: (gst_segment_init),
97         (gst_segment_set_last_stop), (gst_segment_set_seek),
98         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
99         (gst_segment_to_running_time):
100         Added more documentation.
101         Make sure the last_pos value is updated properly.
102         Make sure to_stream_time and to_running_time don't
103         operate on wrong values.
104
105         * tests/check/gst/gstsegment.c: (GST_START_TEST):
106         Update check.
107
108 2005-12-12  Michael Smith  <msmith@fluendo.com>
109
110         * plugins/elements/gsttypefindelement.c: (free_entry),
111         (gst_type_find_element_chain):
112           Now that we're not leaking factories, make sure we keep references
113           to them while we need them.
114
115 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
116
117         * tests/check/gst/struct_i386.h:
118           ifdef out the XML structs
119
120 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
121
122         * gst/gstvalue.c: (gst_value_transform_double_fraction):
123           floor is not needed, F is always positive; this obviates the
124           need for adding -lm when building without libxml
125
126 2005-12-12  Wim Taymans  <wim@fluendo.com>
127
128         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
129         Take current playback rate into account when reporting
130         the position.
131
132 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
133
134         * docs/manual/mime-world.fig:
135           Let's try this again, this time with a file that is
136           actually in XFig format.
137
138 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
139
140         * docs/manual/mime-world.fig:
141           Add audioconvert element to diagram so that it
142           matches the text and the code (fixes #319526).
143
144 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
145
146         * docs/pwg/building-chainfn.xml:
147         * docs/pwg/building-pads.xml:
148         * docs/pwg/building-state.xml:
149         * docs/pwg/other-source.xml:
150           Update state change stuff for 0.10 (fixes #322969).
151
152 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
153
154         * docs/manual/advanced-dataaccess.xml:
155         * docs/manual/appendix-checklist.xml:
156         * docs/manual/appendix-programs.xml:
157         * docs/manual/basics-pads.xml:
158         * docs/manual/highlevel-components.xml:
159         * docs/manual/manual.xml:
160           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
161           add converters in front of pipelines; remove curly
162           brackets for threads stuff, they no longer exist; use
163           GST_TYPE_FRACTION for framerates; update some pieces of
164           code to 0.10, but there's plenty more to do.
165
166         * docs/manual/appendix-porting.xml:
167           Expand on asynchroneous state changes; s/0.9/0.10/;
168           mention disappearance of gst_init_get_popt_table()
169           (fixes #322916).
170
171 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
172
173         * docs/faq/using.xml:
174           Spider no longer exists, and neither does gst-launch-ext.
175           Update examples to use decodebin and playbin and put
176           converters in front of sinks (fixes #323726).
177
178 2005-12-09  Michael Smith  <msmith@fluendo.com>
179
180         * plugins/elements/gsttypefindelement.c: (find_peek),
181         (gst_type_find_element_chain):
182           Fix leaking element factories in typefinding.
183           Fix problem where we forgot about a probable type on non-seekable
184           files, and thus later mis-typefound it.
185
186 2005-12-09  Michael Smith  <msmith@fluendo.com>
187
188         * common/m4/gst-makecontext.m4:
189         * common/m4/gst-mcsc.m4:
190         * configure.ac:
191         * win32/common/config.h:
192         * win32/common/config.h.in:
193           Remove makecontext stuff; not used in 0.10 and causes problems on
194           HPUX according to bug #322441
195
196 2005-12-07  Wim Taymans  <wim@fluendo.com>
197
198         * tests/check/Makefile.am:
199         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
200         (main):
201         * tests/check/libs/struct_i386.h:
202         Added ABI check for libs
203
204 2005-12-07  Wim Taymans  <wim@fluendo.com>
205
206         * tests/check/Makefile.am:
207         And add the struct_i386.h to dist.
208
209 2005-12-07  Wim Taymans  <wim@fluendo.com>
210
211         * tests/check/Makefile.am:
212         * tests/check/gst/.cvsignore:
213         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
214         (main):
215         * tests/check/gst/struct_i386.h:
216         Added check for ABI compatibility.
217
218 2005-12-07  Wim Taymans  <wim@fluendo.com>
219
220         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
221         (gst_fake_src_get_times), (gst_fake_src_create):
222         Fix broken sync option, fixes #323259
223
224 2005-12-07  Wim Taymans  <wim@fluendo.com>
225
226         * gst/gstbuffer.c:
227         Small docs update.
228
229         * gst/gstcaps.c: (gst_caps_is_equal):
230         Don't assert on NULL <--> X. Fixes #323260
231
232         * gst/gstminiobject.c: (gst_mini_object_replace):
233         If we're doing atomic operations, we might just as well use
234         the proper way to get an atomic pointer.
235
236         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
237         Clean up debugging.
238
239 2005-12-07  Michael Smith  <msmith@fluendo.com>
240
241         * gst/parse/grammar.y:
242           Remove handling of { } for threads.
243
244 2005-12-06  David Schleef  <ds@schleef.org>
245
246         * libs/gst/base/gstbasetransform.c: speling fix.
247
248 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
249
250         * docs/libs/tmpl/gstdataprotocol.sgml:
251         * docs/random/omega/testing/gstobject.c:
252         * gst/gst.c:
253         * gst/gstclock.c:
254         * gst/gstelement.c:
255         * gst/gstelementfactory.c:
256         * gst/gsterror.c:
257         * gst/gstevent.c:
258         * gst/gstghostpad.c:
259         * gst/gstinfo.c:
260         * gst/gstpadtemplate.c:
261         * gst/gstregistryxml.c:
262         * gst/gsttaglist.c:
263         * gst/gsttagsetter.c:
264         * gst/gsttypefind.c:
265         * gst/gstvalue.c:
266         * libs/gst/base/gstbasesrc.c:
267         * libs/gst/net/gstnetclientclock.c:
268         * libs/gst/net/gstnettimeprovider.c:
269         * plugins/elements/gstfakesrc.c:
270         * plugins/elements/gstfdsrc.c:
271         * plugins/elements/gstfilesrc.c:
272         * plugins/elements/gstidentity.c:
273         * plugins/elements/gstqueue.c:
274         * plugins/elements/gsttypefindelement.c:
275         * plugins/indexers/gstfileindex.c:
276         * plugins/indexers/gstmemindex.c:
277         * tests/check/gst/gsttag.c:
278         * tests/old/examples/cutter/cutter.c:
279         * tests/old/examples/mixer/mixer.c:
280         * tests/old/examples/xml/runxml.c: (main):
281         * tests/old/testsuite/caps/normalisation.c:
282         * tests/old/testsuite/debug/global.c:
283         * tests/old/testsuite/parse/parse1.c:
284         * tools/gst-xmlinspect.c:
285         * win32/common/dirent.c:
286           expand tabs
287
288 === release 0.10.0 ===
289
290 2005-12-05   <thomas (at) apestaart (dot) org>
291
292         * configure.ac:
293           releasing 0.10.0, "Maroilles"
294
295 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
296
297         submitted by: Funda Wang <fundawang@linux.net.cn>
298
299         * po/LINGUAS:
300         * po/zh_CN.po:
301           added Chinese (Traditional) translation
302
303 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
304
305         * docs/gst/gstreamer-sections.txt:
306         * docs/libs/tmpl/gstdataprotocol.sgml:
307         * docs/random/thomasvs/TODO:
308         * gst/gstutils.c:
309         * gst/gstutils.h:
310           fix docs
311
312 2005-12-05  Andy Wingo  <wingo@pobox.com>
313
314         patch by: Wim Taymans <wim@fluendo.com>
315
316         * libs/gst/base/gstbasetransform.c
317         (gst_base_transform_prepare_output_buf)
318         (gst_base_transform_buffer_alloc):
319         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
320         alloc_buffer_and_set_caps.
321
322         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
323         set_caps on the source pad.
324         (gst_pad_alloc_buffer_and_set_caps): New function, does what
325         alloc_buffer used to do. Fixes #322874.
326
327         * docs/gst/gstreamer-sections.txt: 
328         * docs/design/part-negotiation.txt: 
329         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
330         changes.
331
332 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
333
334         patch by: Sebastien Moutte
335
336         * win32/MANIFEST:
337         * win32/common/config.h.in:
338         * win32/vs6/libgstcontroller.dsp:
339           win32 build fixes
340
341 2005-12-05  Wim Taymans  <wim@fluendo.com>
342
343         * gst/gstcaps.c: (gst_caps_is_equal):
344         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
345         (gst_fake_src_create):
346         Back out previous code changes, leave doc updates, file bugs 
347         instead. 
348
349 2005-12-05  Wim Taymans  <wim@fluendo.com>
350
351         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
352         (gst_fake_src_get_times), (gst_fake_src_create):
353         * plugins/elements/gstfakesrc.h:
354         Fix broken sync code.
355
356 2005-12-05  Wim Taymans  <wim@fluendo.com>
357
358         * gst/gstcaps.c: (gst_caps_is_equal):
359         Comparing NULL against !NULL yields different caps, not a
360         failure.
361
362 2005-12-05  Wim Taymans  <wim@fluendo.com>
363
364         * gst/gstpipeline.c:
365         Fix small typo in docs.
366
367 2005-12-05  Andy Wingo  <wingo@pobox.com>
368
369         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
370
371         * gst/gst.c (init_post): remove hard-coded 0.9 location for
372         registries/plugins with a MAJORMINOR one.
373         (plugin_desc): Rename library from gstcoreleements to
374         staticelements. Fixes #323222.
375
376 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
377
378         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
379           Change debug category to 'collectpads' from 'collect_pads'
380           (fixes #323250).
381
382 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
383
384         patch by: Sebastien Moutte
385
386         * libs/gst/controller/gstinterpolation.c:
387           use convert function for uint64/double
388         * win32/vs6/libgstcontroller.dsp:
389           link to GLib
390
391 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
392
393         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
394         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
395         * gst/gstutils.h:
396         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
397           add tests that seem to show that the guint64/gdouble conversions
398           are correct.
399
400 2005-12-02  Wim Taymans  <wim@fluendo.com>
401
402         * gst/gstregistry.c: (gst_registry_add_path):
403         * gst/gstregistry.h:
404         * gst/gstregistryxml.c:
405         Fix docs again.
406
407 2005-12-02  Wim Taymans  <wim@fluendo.com>
408
409         * gst/gstutils.c: (gst_util_uint64_scale_int64),
410         (gst_util_uint64_scale_int):
411         Small cleanup.
412
413         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
414         Add debug log line.
415
416         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
417         Add FIXME.
418
419 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
420
421         * win32/MANIFEST:
422         * win32/common/config.h:
423         * win32/vs6/gstreamer.dsw:
424         * win32/vs6/libgstcoreelements.dsp:
425         * win32/vs6/libgstelements.dsp:
426           renamed core elements plugin
427
428 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
429
430         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
431         (get_candidates):
432           do piece-wise major/minor comparison so 0.9 < 0.10
433           also allow .exe extensions for tools
434
435 2005-12-02  Michael Smith  <msmith@fluendo.com>
436
437         * gst/gst.c:
438           Escape a % to make gtkdoc happier; bug 322958.
439
440 === release 0.9.7 ===
441
442 2005-12-01   <thomas (at) apestaart (dot) org>
443
444         * configure.ac:
445           releasing 0.9.7, "My Dog Has No Nose"
446
447 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
448
449         * common/gst-xmlinspect.py:
450         * configure.ac:
451         * docs/libs/tmpl/gstdataprotocol.sgml:
452         * docs/random/release:
453         * po/af.po:
454         * po/az.po:
455         * po/bg.po:
456         * po/ca.po:
457         * po/cs.po:
458         * po/de.po:
459         * po/en_GB.po:
460         * po/fr.po:
461         * po/it.po:
462         * po/nb.po:
463         * po/nl.po:
464         * po/ru.po:
465         * po/sq.po:
466         * po/sr.po:
467         * po/sv.po:
468         * po/tr.po:
469         * po/uk.po:
470         * po/vi.po:
471         * win32/common/config.h:
472         * win32/common/config.h.in:
473         * win32/vs6/gst_inspect.dsp:
474         * win32/vs6/gst_launch.dsp:
475         * win32/vs6/libgstbase.dsp:
476         * win32/vs6/libgstelements.dsp:
477         * win32/vs6/libgstreamer.dsp:
478         * win32/vs7/GStreamer.vcproj:
479         * win32/vs7/gst-inspect.vcproj:
480         * win32/vs7/gst-launch.vcproj:
481         * win32/vs7/libgstbase.vcproj:
482           bump GST_MAJORMINOR to 0.10
483           reset libtool version
484
485 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
486
487         * po/LINGUAS:
488         * po/bg.po:
489           Added Bulgarian translation by (Alexander Shopov)
490
491 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
492
493         * tests/check/gst/gstplugin.c:
494           fix test
495
496 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
497
498         * common/gst-xmlinspect.py:
499         * common/gtk-doc-plugins.mak:
500         * configure.ac:
501         * docs/Makefile.am:
502         * docs/gst/Makefile.am:
503         * docs/gst/gstreamer-docs.sgml:
504         * docs/gst/gstreamer-sections.txt:
505         * docs/gst/gstreamer.types:
506         * docs/gst/gstreamer.types.in:
507         * docs/plugins/Makefile.am:
508         * docs/plugins/gstreamer-plugins-docs.sgml:
509         * docs/plugins/gstreamer-plugins-sections.txt:
510         * docs/plugins/gstreamer-plugins.types:
511         * docs/plugins/inspect.stamp:
512         * docs/plugins/inspect/plugin-coreelements.xml:
513         * docs/plugins/inspect/plugin-coreindexers.xml:
514         * docs/plugins/scanobj-build.stamp:
515         * gstreamer.spec.in:
516         * plugins/elements/Makefile.am:
517         * plugins/elements/gstelements.c:
518         * plugins/elements/gstfakesink.c:
519         * plugins/elements/gstfakesrc.c:
520         * plugins/elements/gstfilesink.c:
521         * plugins/elements/gstfilesrc.c:
522         * plugins/elements/gstqueue.c:
523         * plugins/indexers/Makefile.am:
524         * plugins/indexers/gstindexers.c:
525           document core plugins in a separate document just like all the
526           others
527           rename these plugins to something starting with core
528
529 2005-12-01  Andy Wingo  <wingo@pobox.com>
530
531         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
532         padding here before, but it missed the commit.
533
534 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
535
536         * libs/gst/controller/gstinterpolation.c:
537           whitespace prices have crashed, we should feel free to use some now
538           use gst_guint64_to_gdouble
539
540 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
541
542         * libs/gst/controller/gstcontroller.c:
543         * libs/gst/controller/gsthelper.c:
544         * libs/gst/controller/gstinterpolation.c:
545         * libs/gst/controller/lib.c:
546           wrap config.h include
547
548 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
549
550         * docs/gst/gstreamer-sections.txt:
551           update docs
552
553 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
554
555         * plugins/elements/gstelements.c:
556         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
557         (gst_fd_sink__class_init), (gst_fd_sink__init),
558         (gst_fd_sink__chain), (gst_fd_sink__set_property),
559         (gst_fd_sink__get_property):
560         * plugins/elements/gstfdsink.h:
561         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
562         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
563         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
564         (gst_fd_src_unlock), (gst_fd_src_set_property),
565         (gst_fd_src_get_property), (gst_fd_src_create),
566         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
567         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
568         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
569         (gst_fd_src_uri_handler_init):
570         * plugins/elements/gstfdsrc.h:
571         * plugins/elements/gstqueue.c: (gst_queue_get_type):
572           more anal cleanup
573
574 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
575
576         * docs/gst/Makefile.am:
577         * docs/gst/gstreamer.types.in:
578         * gst/Makefile.am:
579           fix the docs build
580
581 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
582
583         * configure.ac:
584         * gst/Makefile.am:
585         * gst/gst.c:
586         * gst/gstplugin.h:
587         * gst/gstregistry.h:
588         * tests/benchmarks/complexity.c:
589         * tests/benchmarks/mass-elements.c:
590         * tests/check/Makefile.am:
591         * tools/Makefile.am:
592         * tools/gst-inspect.c:
593         * tools/gst-xmlinspect.c:
594           various fixes to make
595           --disable-nls --disable-registry --disable-loadsave
596           --disable-parse --disable-gst-debug
597           work and get the core .so down to 360444 bytes after stripping
598
599 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
600
601         * Makefile.am:
602         * configure.ac:
603           descend into tests
604         * docs/random/thomasvs/TODO:
605         * tests/Makefile.am:
606         * tests/README:
607           add a README
608
609 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
610
611         * win32/GStreamer.vcproj:
612         * win32/MANIFEST:
613         * win32/Makefile:
614         * win32/Makefile.inspect:
615         * win32/Makefile.launch:
616         * win32/Makefile.register:
617         * win32/README.txt:
618         * win32/gst-inspect.vcproj:
619         * win32/gst-launch.vcproj:
620         * win32/gst-register.vcproj:
621         * win32/gstelements.vcproj:
622         * win32/gstgetbits.def:
623         * win32/gstgetbits.vcproj:
624         * win32/gstreamer-dbg.def:
625         * win32/gstreamer.def:
626         * win32/libgstbase.def:
627         * win32/libgstbase.vcproj:
628         * win32/link_oldruntime.c:
629         * win32/mman.c:
630         * win32/mman.h:
631         * win32/mman.inl:
632         * win32/msvc71.sln:
633           move even more stuff, win32/ is nice and clean now
634
635 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
636
637         * libs/gst/control/.cvsignore:
638         * win32/MANIFEST:
639         * win32/config.h:
640         * win32/dirent.c:
641         * win32/dirent.h:
642         * win32/gstbytestream.def:
643         * win32/gstbytestream.vcproj:
644         * win32/gstconfig.h:
645         * win32/gstenumtypes.c:
646         * win32/gstenumtypes.h:
647         * win32/gstoptimalscheduler.vcproj:
648         * win32/gstversion.h:
649         * win32/gtchar.h:
650         * win32/testsuite/bins.vcproj:
651         * win32/testsuite/bytestream.vcproj:
652         * win32/testsuite/caps.vcproj:
653         * win32/testsuite/cleanup.vcproj:
654         * win32/testsuite/clock.vcproj:
655         * win32/testsuite/debug.vcproj:
656         * win32/testsuite/dlopen.vcproj:
657         * win32/testsuite/dynparams.vcproj:
658         * win32/testsuite/elements.vcproj:
659         * win32/testsuite/ghostpads.vcproj:
660         * win32/testsuite/indexers.vcproj:
661         * win32/testsuite/negotiation.vcproj:
662         * win32/testsuite/parse.vcproj:
663         * win32/testsuite/plugin.vcproj:
664         * win32/testsuite/refcounting.vcproj:
665         * win32/testsuite/schedulers.vcproj:
666         * win32/testsuite/states.vcproj:
667         * win32/testsuite/tags.vcproj:
668         * win32/testsuite/threads.vcproj:
669           remove old win32 stuff that isn't maintained and should be
670           reorganized
671
672 2005-11-30  Andy Wingo  <wingo@pobox.com>
673
674         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
675         loading the gst.interfaces python module bork.
676
677         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
678         available since GLib 2.2. Fixes #318031.
679
680 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
681
682         * Makefile.am:
683         * check/.cvsignore:
684         * check/Makefile.am:
685         * check/elements/.cvsignore:
686         * check/elements/fakesrc.c:
687         * check/elements/fdsrc.c:
688         * check/elements/identity.c:
689         * check/generic/.cvsignore:
690         * check/generic/states.c:
691         * check/gst-libs/.cvsignore:
692         * check/gst-libs/controller.c:
693         * check/gst-libs/gdp.c:
694         * check/gst/.cvsignore:
695         * check/gst/capslist.h:
696         * check/gst/gst.c:
697         * check/gst/gstbin.c:
698         * check/gst/gstbuffer.c:
699         * check/gst/gstbus.c:
700         * check/gst/gstcaps.c:
701         * check/gst/gstelement.c:
702         * check/gst/gstevent.c:
703         * check/gst/gstghostpad.c:
704         * check/gst/gstiterator.c:
705         * check/gst/gstmessage.c:
706         * check/gst/gstminiobject.c:
707         * check/gst/gstobject.c:
708         * check/gst/gstpad.c:
709         * check/gst/gstpipeline.c:
710         * check/gst/gstplugin.c:
711         * check/gst/gstsegment.c:
712         * check/gst/gststructure.c:
713         * check/gst/gstsystemclock.c:
714         * check/gst/gsttag.c:
715         * check/gst/gstutils.c:
716         * check/gst/gstvalue.c:
717         * check/net/.cvsignore:
718         * check/net/gstnetclientclock.c:
719         * check/net/gstnettimeprovider.c:
720         * check/pipelines/.cvsignore:
721         * check/pipelines/cleanup.c:
722         * check/pipelines/simple_launch_lines.c:
723         * check/pipelines/stress.c:
724         * check/states/.cvsignore:
725         * check/states/sinks.c:
726         * configure.ac:
727         * examples/Makefile.am:
728         * examples/appreader/.cvsignore:
729         * examples/appreader/Makefile.am:
730         * examples/appreader/appreader.c:
731         * examples/controller/.cvsignore:
732         * examples/controller/Makefile.am:
733         * examples/controller/audio-example.c:
734         * examples/cutter/.cvsignore:
735         * examples/cutter/Makefile.am:
736         * examples/cutter/cutter.c:
737         * examples/cutter/cutter.h:
738         * examples/events/Makefile.am:
739         * examples/events/seek.c:
740         * examples/helloworld/.cvsignore:
741         * examples/helloworld/Makefile.am:
742         * examples/helloworld/helloworld.c:
743         * examples/helloworld2/.cvsignore:
744         * examples/helloworld2/Makefile.am:
745         * examples/helloworld2/helloworld2.c:
746         * examples/launch/.cvsignore:
747         * examples/launch/Makefile.am:
748         * examples/launch/mp3parselaunch.c:
749         * examples/launch/mp3play:
750         * examples/manual/.cvsignore:
751         * examples/manual/Makefile.am:
752         * examples/manual/extract.pl:
753         * examples/metadata/Makefile.am:
754         * examples/metadata/read-metadata.c:
755         * examples/mixer/.cvsignore:
756         * examples/mixer/Makefile.am:
757         * examples/mixer/mixer.c:
758         * examples/mixer/mixer.h:
759         * examples/pingpong/.cvsignore:
760         * examples/pingpong/Makefile.am:
761         * examples/pingpong/pingpong.c:
762         * examples/plugins/.cvsignore:
763         * examples/plugins/Makefile.am:
764         * examples/plugins/example.c:
765         * examples/plugins/example.h:
766         * examples/pwg/.cvsignore:
767         * examples/pwg/Makefile.am:
768         * examples/pwg/extract.pl:
769         * examples/queue/.cvsignore:
770         * examples/queue/Makefile.am:
771         * examples/queue/queue.c:
772         * examples/queue2/.cvsignore:
773         * examples/queue2/Makefile.am:
774         * examples/queue2/queue2.c:
775         * examples/queue3/.cvsignore:
776         * examples/queue3/Makefile.am:
777         * examples/queue3/queue3.c:
778         * examples/queue4/.cvsignore:
779         * examples/queue4/Makefile.am:
780         * examples/queue4/queue4.c:
781         * examples/retag/.cvsignore:
782         * examples/retag/Makefile.am:
783         * examples/retag/retag.c:
784         * examples/retag/transcode.c:
785         * examples/thread/.cvsignore:
786         * examples/thread/Makefile.am:
787         * examples/thread/thread.c:
788         * examples/typefind/.cvsignore:
789         * examples/typefind/Makefile.am:
790         * examples/typefind/typefind.c:
791         * examples/xml/.cvsignore:
792         * examples/xml/Makefile.am:
793         * examples/xml/createxml.c:
794         * examples/xml/runxml.c:
795         * tests/Makefile.am:
796         * tests/check/Makefile.am:
797         * testsuite/.cvsignore:
798         * testsuite/Makefile.am:
799         * testsuite/Rules:
800         * testsuite/caps/.cvsignore:
801         * testsuite/caps/Makefile.am:
802         * testsuite/caps/app_fixate.c:
803         * testsuite/caps/audioscale.c:
804         * testsuite/caps/caps.c:
805         * testsuite/caps/caps.h:
806         * testsuite/caps/caps_strings:
807         * testsuite/caps/compatibility.c:
808         * testsuite/caps/deserialize.c:
809         * testsuite/caps/enumcaps.c:
810         * testsuite/caps/eratosthenes.c:
811         * testsuite/caps/filtercaps.c:
812         * testsuite/caps/fixed.c:
813         * testsuite/caps/fraction-convert.c:
814         * testsuite/caps/fraction-multiply-and-zero.c:
815         * testsuite/caps/intersect2.c:
816         * testsuite/caps/intersection.c:
817         * testsuite/caps/normalisation.c:
818         * testsuite/caps/random.c:
819         * testsuite/caps/renegotiate.c:
820         * testsuite/caps/sets.c:
821         * testsuite/caps/simplify.c:
822         * testsuite/caps/string-conversions.c:
823         * testsuite/caps/structure.c:
824         * testsuite/caps/subtract.c:
825         * testsuite/caps/union.c:
826         * testsuite/debug/.cvsignore:
827         * testsuite/debug/Makefile.am:
828         * testsuite/debug/category.c:
829         * testsuite/debug/commandline.c:
830         * testsuite/debug/global.c:
831         * testsuite/debug/output.c:
832         * testsuite/debug/printf_extension.c:
833         * testsuite/dlopen/.cvsignore:
834         * testsuite/dlopen/Makefile.am:
835         * testsuite/dlopen/dlopen_gst.c:
836         * testsuite/dlopen/loadgst.c:
837         * testsuite/elements/.cvsignore:
838         * testsuite/elements/Makefile.am:
839         * testsuite/elements/gst-inspect-check.in:
840         * testsuite/elements/struct_i386.h:
841         * testsuite/elements/struct_size.c:
842         * testsuite/indexers/.cvsignore:
843         * testsuite/indexers/Makefile.am:
844         * testsuite/indexers/cache1.c:
845         * testsuite/indexers/indexdump.c:
846         * testsuite/parse/.cvsignore:
847         * testsuite/parse/Makefile.am:
848         * testsuite/parse/parse1.c:
849         * testsuite/parse/parse2.c:
850         * testsuite/plugin/.cvsignore:
851         * testsuite/plugin/Makefile.am:
852         * testsuite/plugin/README:
853         * testsuite/plugin/dynamic.c:
854         * testsuite/plugin/linked.c:
855         * testsuite/plugin/loading.c:
856         * testsuite/plugin/registry.c:
857         * testsuite/plugin/static.c:
858         * testsuite/plugin/static2.c:
859         * testsuite/plugin/testplugin.c:
860         * testsuite/plugin/testplugin2.c:
861         * testsuite/plugin/testplugin2_s.c:
862         * testsuite/plugin/testplugin_s.c:
863         * testsuite/refcounting/.cvsignore:
864         * testsuite/refcounting/Makefile.am:
865         * testsuite/refcounting/bin.c:
866         * testsuite/refcounting/element.c:
867         * testsuite/refcounting/element_pad.c:
868         * testsuite/refcounting/mainloop.c:
869         * testsuite/refcounting/mem.c:
870         * testsuite/refcounting/mem.h:
871         * testsuite/refcounting/object.c:
872         * testsuite/refcounting/pad.c:
873         * testsuite/refcounting/sched.c:
874         * testsuite/refcounting/thread.c:
875         * testsuite/states/.cvsignore:
876         * testsuite/states/Makefile.am:
877         * testsuite/states/bin.c:
878         * testsuite/states/locked.c:
879         * testsuite/states/parent.c:
880         * testsuite/threads/.cvsignore:
881         * testsuite/threads/159566.c:
882         * testsuite/threads/159852.c:
883         * testsuite/threads/Makefile.am:
884         * testsuite/threads/queue.c:
885         * testsuite/threads/signals.c:
886         * testsuite/threads/staticrec.c:
887         * testsuite/threads/thread.c:
888         * testsuite/threads/threadb.c:
889         * testsuite/threads/threadc.c:
890         * testsuite/threads/threadd.c:
891         * testsuite/threads/threade.c:
892         * testsuite/threads/threadf.c:
893         * testsuite/threads/threadg.c:
894         * testsuite/threads/threadh.c:
895         * testsuite/threads/threadi.c:
896           move all of these under tests
897
898 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
899
900         * configure.ac:
901         * tests/Makefile.am:
902           fix distcheck
903
904 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
905
906         * docs/gst/gstreamer-sections.txt:
907         * tests/sched/.cvsignore:
908         * tests/sched/Makefile.am:
909         * tests/sched/cases/(fs-fs).xml:
910         * tests/sched/cases/(fs-i-fs).xml:
911         * tests/sched/cases/(fs-i-i-fs).xml:
912         * tests/sched/cases/(fs-i-q[i-fs]).xml:
913         * tests/sched/dynamic-pipeline.c:
914         * tests/sched/interrupt1.c:
915         * tests/sched/interrupt2.c:
916         * tests/sched/interrupt3.c:
917         * tests/sched/runtestcases:
918         * tests/sched/runxml.c:
919         * tests/sched/sched-stress.c:
920         * tests/sched/sort.c:
921         * tests/sched/testcases:
922         * tests/sched/testcases1.tc:
923         * tests/seeking/.cvsignore:
924         * tests/seeking/Makefile.am:
925         * tests/seeking/seeking1.c:
926         * tests/threadstate/.cvsignore:
927         * tests/threadstate/Makefile.am:
928         * tests/threadstate/test1.c:
929         * tests/threadstate/test2.c:
930         * tests/threadstate/threadstate1.c:
931         * tests/threadstate/threadstate2.c:
932         * tests/threadstate/threadstate3.c:
933         * tests/threadstate/threadstate4.c:
934         * tests/threadstate/threadstate5.c:
935           remove obsolete tests
936         * configure.ac:
937         * tests/bench-complexity.scm:
938         * tests/bench-mass_elements.scm:
939         * tests/complexity.c:
940         * tests/complexity.gnuplot:
941         * tests/instantiate/.cvsignore:
942         * tests/instantiate/Makefile.am:
943         * tests/instantiate/caps.c:
944         * tests/mass_elements.c:
945         * tests/network-clock-utils.scm:
946         * tests/network-clock.scm:
947         * tests/plot-data:
948         First pass at cleaning up tests/ dir before moving the rest
949         Combined with CVS surgery
950
951 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
952
953         * po/POTFILES.in:
954           queue has moved, update
955
956 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
957
958         * docs/gst/gstreamer-sections.txt:
959           remove double entries from the docs
960         * gst/gst_private.h:
961         * gst/gstinfo.c: (_gst_debug_init):
962           remove the THREAD debug category
963         * gst/Makefile.am:
964         * gst/gstqueue.c:
965         * gst/gstqueue.h:
966         * docs/gst/gstreamer.types:
967         * plugins/elements/gstqueue.c: (gst_queue_get_type),
968         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
969           completely move queue and fix up debugging categories
970
971 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
972
973         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
974           make initialization portable, using LL is not
975
976 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
977
978         * win32/common/gstconfig.h:
979           add large padding
980
981 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
982
983         * win32/common/libgstreamer.def:
984           rename symbols; sort base section
985
986 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
987
988         * gst/gstclock.c: (do_linear_regression):
989           remove crack non-portable handrolled DEBUG macro
990
991 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
992
993         * docs/random/release:
994           update notes
995         * win32/common/gstenumtypes.c: (register_gst_object_flags),
996         (gst_object_flags_get_type), (register_gst_bin_flags),
997         (gst_bin_flags_get_type), (register_gst_buffer_flag),
998         (gst_buffer_flag_get_type), (register_gst_bus_flags),
999         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1000         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1001         (gst_caps_flags_get_type), (register_gst_clock_return),
1002         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1003         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1004         (gst_clock_flags_get_type), (register_gst_state),
1005         (gst_state_get_type), (register_gst_state_change_return),
1006         (gst_state_change_return_get_type), (register_gst_state_change),
1007         (gst_state_change_get_type), (register_gst_element_flags),
1008         (gst_element_flags_get_type), (register_gst_core_error),
1009         (gst_core_error_get_type), (register_gst_library_error),
1010         (gst_library_error_get_type), (register_gst_resource_error),
1011         (gst_resource_error_get_type), (register_gst_stream_error),
1012         (gst_stream_error_get_type), (register_gst_event_type_flags),
1013         (gst_event_type_flags_get_type), (register_gst_event_type),
1014         (gst_event_type_get_type), (register_gst_seek_type),
1015         (gst_seek_type_get_type), (register_gst_seek_flags),
1016         (gst_seek_flags_get_type), (register_gst_format),
1017         (gst_format_get_type), (register_gst_index_certainty),
1018         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1019         (gst_index_entry_type_get_type),
1020         (register_gst_index_lookup_method),
1021         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1022         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1023         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1024         (gst_index_flags_get_type), (register_gst_debug_level),
1025         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1026         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1027         (gst_iterator_result_get_type), (register_gst_iterator_item),
1028         (gst_iterator_item_get_type), (register_gst_message_type),
1029         (gst_message_type_get_type), (register_gst_mini_object_flags),
1030         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1031         (gst_pad_link_return_get_type), (register_gst_flow_return),
1032         (gst_flow_return_get_type), (register_gst_activate_mode),
1033         (gst_activate_mode_get_type), (register_gst_pad_direction),
1034         (gst_pad_direction_get_type), (register_gst_pad_flags),
1035         (gst_pad_flags_get_type), (register_gst_pad_presence),
1036         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1037         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1038         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1039         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1040         (gst_plugin_flags_get_type), (register_gst_rank),
1041         (gst_rank_get_type), (register_gst_query_type),
1042         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1043         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1044         (gst_tag_flag_get_type), (register_gst_task_state),
1045         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1046         (gst_alloc_trace_flags_get_type),
1047         (register_gst_type_find_probability),
1048         (gst_type_find_probability_get_type), (register_gst_uri_type),
1049         (gst_uri_type_get_type), (register_gst_parse_error),
1050         (gst_parse_error_get_type):
1051         * win32/common/gstenumtypes.h:
1052         * win32/common/gstversion.h:
1053           update visual studio generated files
1054
1055 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1056
1057         * win32/vs6/libgstbase.dsp:
1058         * win32/vs6/libgstelements.dsp:
1059           update project files for new locations
1060
1061 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1062
1063         * Makefile.am:
1064           remove some files
1065         * README:
1066           reinstate and update
1067         * DEVEL:
1068         * REQUIREMENTS:
1069           removed
1070         * LICENSE:
1071         * docs/random/LICENSE:
1072           moved to random
1073
1074 2005-11-30  Edward Hervey  <edward@fluendo.com>
1075
1076         * gst/gsttypefind.c: (gst_type_find_register):
1077         * gst/gsttypefind.h:
1078         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1079         (gst_type_find_factory_dispose):
1080         * gst/gsttypefindfactory.h:
1081         Fix memory leak in GstTypeFindFactory.
1082
1083 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1084
1085         * gst/gst.c:
1086         * plugins/elements/Makefile.am:
1087         * plugins/elements/gstelements.c:
1088         * plugins/elements/gstqueue.c:
1089           move queue from core to the elements plugin
1090
1091 2005-11-29  Andy Wingo  <wingo@pobox.com>
1092
1093         * libs/gst/base/gstbasetransform.h: 
1094         * libs/gst/base/gstbasesrc.h: 
1095         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1096
1097         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1098         of pointers by which to pad very extensible base classes (like the
1099         ones in libs/gst/base).
1100
1101 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1102
1103         * docs/gst/gstreamer-docs.sgml:
1104         * docs/gst/gstreamer-sections.txt:
1105         * docs/libs/gstreamer-libs-docs.sgml:
1106         * docs/libs/gstreamer-libs-sections.txt:
1107           moving documentation from core to lib
1108
1109 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1110
1111         * check/Makefile.am:
1112         * configure.ac:
1113         * docs/gst/Makefile.am:
1114         * gst/Makefile.am:
1115         * gst/base/.cvsignore:
1116         * gst/base/Makefile.am:
1117         * gst/base/README:
1118         * gst/base/gstadapter.c:
1119         * gst/base/gstadapter.h:
1120         * gst/base/gstbasesink.c:
1121         * gst/base/gstbasesink.h:
1122         * gst/base/gstbasesrc.c:
1123         * gst/base/gstbasesrc.h:
1124         * gst/base/gstbasetransform.c:
1125         * gst/base/gstbasetransform.h:
1126         * gst/base/gstcollectpads.c:
1127         * gst/base/gstcollectpads.h:
1128         * gst/base/gstpushsrc.c:
1129         * gst/base/gstpushsrc.h:
1130         * gst/base/gsttypefindhelper.c:
1131         * gst/base/gsttypefindhelper.h:
1132         * gst/check/Makefile.am:
1133         * gst/check/gstcheck.c:
1134         * gst/check/gstcheck.h:
1135         * gst/net/Makefile.am:
1136         * gst/net/gstnet.h:
1137         * gst/net/gstnetclientclock.c:
1138         * gst/net/gstnetclientclock.h:
1139         * gst/net/gstnettimepacket.c:
1140         * gst/net/gstnettimepacket.h:
1141         * gst/net/gstnettimeprovider.c:
1142         * gst/net/gstnettimeprovider.h:
1143         * libs/gst/Makefile.am:
1144         * libs/gst/base/Makefile.am:
1145         * libs/gst/base/gstbasetransform.c:
1146         * libs/gst/check/Makefile.am:
1147         * plugins/elements/Makefile.am:
1148         * po/POTFILES.in:
1149           CVS surgery + support to move base, check, and net out of gst
1150           and into libs/gst
1151
1152 2005-11-29  Andy Wingo  <wingo@pobox.com>
1153
1154         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1155
1156         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1157         padding.
1158
1159         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1160
1161         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1162
1163         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1164
1165         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1166         padding; reduces object size by about 30%. We don't expect
1167         anything else to go into gstobject.
1168
1169         * gst/gstminiobject.h (struct _GstMiniObject)
1170         (struct _GstMiniObjectClass): Only one pointer of padding; the
1171         payload is only a pointer and two ints anyway. For the class there
1172         are only two methods as well.
1173         
1174         * gst/gstelement.h (struct _GstElementClass): Removed
1175         the state_changed signal callback, it is not used.
1176
1177 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1178
1179         * docs/gst/gstreamer.types:
1180           fix includes, though they are a little dinky
1181
1182 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1183
1184         * check/Makefile.am:
1185           look in the right place for elements, a lot more chance of
1186           success
1187         * gst/Makefile.am:
1188           remove indexers and elements subdirs
1189         * plugins/Makefile.am:
1190           make indexers conditional
1191
1192 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1193
1194         * Makefile.am:
1195         * configure.ac:
1196         * plugins/elements/Makefile.am:
1197         * plugins/elements/gstcapsfilter.c:
1198         * plugins/elements/gstfilesink.c:
1199         * plugins/elements/gstfilesrc.c:
1200         * plugins/elements/gstidentity.c:
1201         * plugins/indexers/Makefile.am:
1202           do CVS surgery and related build fixery to move elements
1203           and indexers in a new gstreamer/plugins directory, out of the
1204           gst/ directory
1205
1206 2005-11-29  Andy Wingo  <wingo@pobox.com>
1207
1208         * check/Makefile.am:
1209         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1210         * pkgconfig/gstreamer-net.pc.in:
1211         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1212         #322257.
1213
1214 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1215
1216         * tools/Makefile.am:
1217         * tools/gst-complete.1.in:
1218         * tools/gst-complete.c:
1219         * tools/gst-compprep.1.in:
1220         * tools/gst-compprep.c:
1221           removing -compprep and -complete
1222
1223 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1224
1225         * gst/gstevent.c: (gst_event_new_new_segment),
1226         (gst_event_parse_new_segment):
1227         * gst/gstevent.h:
1228           fix #320529 - clean up new_segment API and structure.
1229           Let's hope everyone was using the methods, and not the structure.
1230
1231 2005-11-29  Edward Hervey  <edward@fluendo.com>
1232
1233         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1234         (gst_base_sink_event), (gst_base_sink_do_sync),
1235         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1236         Properly handle non GST_FORMAT_TIME segment
1237         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1238         Properly handle non GST_FORMAT_TIME segment
1239         * gst/gstsegment.c:
1240         This function is valid if the accumulator is 0 and the format
1241         is different from the requested format.
1242         
1243 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1244
1245         * docs/gst/gstreamer-sections.txt:
1246         Add gst_query_new_seeking and gst_query_parse_seeking to the
1247         docs.
1248
1249 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1250
1251         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1252           Treat a pad alloc with new caps the same as if we were not
1253           negotiated, in order to allow a changing upstream output
1254           to produce a new format of data.
1255
1256 2005-11-29  Edward Hervey  <edward@fluendo.com>
1257
1258         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1259         (gst_base_transform_event), (gst_base_transform_eventfunc):
1260         The event virtual method is now properly implemented, with a default
1261         handler
1262         Sub classes should call the parent_class event method. They should
1263         return FALSE if they had a problem handling the given event, or don't
1264         want GstBaseTransform to send that even downstream
1265         * gst/elements/gstidentity.c: (gst_identity_class_init),
1266         (gst_identity_init), (gst_identity_event),
1267         (gst_identity_transform_ip), (gst_identity_set_property),
1268         (gst_identity_get_property):
1269         * gst/elements/gstidentity.h:
1270         Added the single-segment boolean property.
1271         If set to TRUE, it will output a single segment of data, starting from
1272         0, will eat up all incoming newsegment, and modify the timestamp of the
1273         buffers accordingly
1274
1275 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1276
1277         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1278           Don't ref NULL target pad (#322751). Improve docs.
1279
1280 2005-11-29  Michael Smith  <msmith@fluendo.com>
1281
1282         * gst/gstregistryxml.c: (load_plugin):
1283           Don't crash if we failed to load a feature from a plugin. 
1284
1285 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1286
1287         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1288         (GST_START_TEST):
1289           use more check API and less GLib API
1290
1291 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1292
1293         * Makefile.am:
1294           don't run checks if we don't have check
1295         * common/check.mak:
1296           remove the registry when running make torture
1297         * docs/gst/gstreamer-sections.txt:
1298           remove second multiply
1299         * gst/gstqueue.c: (gst_queue_loop):
1300           fix a compile warning when disabling debug
1301
1302 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1303
1304         * gst/gstinfo.h:
1305         Hey! Let's print the pad name if the pointer != NULL instead
1306         of when it == NULL :-)
1307
1308 2005-11-28  Wim Taymans  <wim@fluendo.com>
1309
1310         * check/gst/gstutils.c: (GST_START_TEST):
1311         Updated check, add some scaling accuracy checking code.
1312
1313         * gst/gstutils.c: (gst_util_div128_64),
1314         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1315         (gst_util_uint64_scale_int):
1316         Fix 6 times faster division code. Optimize for common 
1317         1/1 and less common X/1 cases.
1318
1319 2005-11-28  Wim Taymans  <wim@fluendo.com>
1320
1321         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1322         More checks.
1323
1324         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1325         (do_linear_regression), (gst_clock_add_observation):
1326         Cleanups.
1327         Release lock when the clock cannot be slaved.
1328         Catch the case where the regression returned an invalid denominator.
1329
1330         * gst/gstutils.c: (gst_util_div128_64_iterate),
1331         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1332         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1333         Add protentially more performant non-iterative 128/64 divide function
1334         that unfortunatly does not work yet.
1335         Shortcut the trivial 0/X = 0 case.
1336         Remove the warnings on overflow.
1337
1338 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1339
1340         * gst/gstplugin.c: (gst_plugin_register_func):
1341           everything causing a plugin not to load should be at least a WARNING
1342
1343 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1344
1345         * docs/random/ensonic/dparams.txt:
1346           some TODOs for the next dev cycle
1347         * libs/gst/controller/gstcontroller.c:
1348         (gst_controlled_property_set_interpolation_mode),
1349         (gst_controlled_property_new):
1350         * libs/gst/controller/gstcontroller.h:
1351           use base type to assign acccessor functions
1352
1353 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1354
1355         * check/Makefile.am:
1356         Oops, that should have been top_srcdir
1357
1358 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1359
1360         * check/Makefile.am:
1361         * check/elements/fdsrc.c: (GST_START_TEST):
1362         Use a cmdline define to specify the location of a file to use for
1363         testing, to avoid breaking distcheck.
1364
1365 2005-11-28  Andy Wingo  <wingo@pobox.com>
1366
1367         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1368
1369 2005-11-28  Edward Hervey  <edward@fluendo.com>
1370
1371         * tools/gst-launch.c: (main):
1372         Clarify the output strings, makes it easier to translate.
1373         Fixes #322626
1374
1375 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1376
1377         * gst/Makefile.am:
1378           don't try and build net if we don't even have <sys/socket.h>
1379
1380 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1381
1382         * check/Makefile.am:
1383         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1384         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1385           Add tests for fdsrc seekability
1386
1387         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1388         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1389         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1390         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1391         * gst/elements/gstfdsrc.h:
1392           fdsrc should not be a 'live' source.
1393           Implement seeking on seekable fd's.
1394
1395         * gst/gstquery.c: (gst_query_new_seeking),
1396         (gst_query_parse_seeking):
1397         * gst/gstquery.h:
1398           Implement SEEKING query functions: 
1399             *_new_seeking and *_parse_seeking
1400
1401 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1402
1403         * gst/gstelement.c: (gst_element_dispose):
1404           don't loop forever
1405
1406         * gst/gstiterator.c:
1407         * gst/gststructure.c:
1408           doc fixes
1409
1410         * libs/gst/controller/gstcontroller.c:
1411         (gst_controlled_property_set_interpolation_mode):
1412         * libs/gst/controller/gstcontroller.h:
1413         * libs/gst/controller/gstinterpolation.c:
1414         (interpolate_none_get_enum_value_array):
1415           support controlling enums
1416
1417 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1418
1419         * gst/gstvalue.c:
1420           Improve documentation for gst_value_union().
1421
1422         * gst/gstvalue.h:
1423           Change return value for union, intersect and subtract functions
1424           from gint to gboolean.
1425
1426 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1427
1428         * gst/gstvalue.c: (gst_value_serialize_any_list),
1429         (gst_value_transform_any_list_string),
1430         (gst_value_deserialize_list), (gst_value_deserialize_array),
1431         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1432         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1433         (gst_value_set_fraction_range_full),
1434         (gst_value_deserialize_fraction_range),
1435         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1436         (gst_value_deserialize_boolean),
1437         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1438         (gst_value_serialize_float), (gst_value_deserialize_float),
1439         (gst_string_wrap), (gst_value_deserialize_string),
1440         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1441         (gst_value_union_int_range_int_range),
1442         (gst_value_intersect_int_range_int_range),
1443         (gst_value_intersect_double_range_double_range),
1444         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1445         (gst_value_subtract_int_range_int_range),
1446         (gst_value_subtract_double_double_range),
1447         (gst_value_subtract_double_range_double_range),
1448         (gst_value_deserialize_fraction):
1449         * gst/gstvalue.h:
1450           Use gint, gdouble and gchar in our API instead of int, double and
1451           char (and make usage in gstvalue.c more consistent).
1452
1453 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1454
1455         * check/Makefile.am:
1456         * libs/gst/controller/Makefile.am:
1457         * libs/gst/dataprotocol/Makefile.am:
1458           fix up Makefile.am and remove GST_ENABLE_NEW
1459
1460 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1461
1462         * configure.ac:
1463         * gst/Makefile.am:
1464         * gst/base/Makefile.am:
1465         * gst/check/Makefile.am:
1466         * gst/elements/Makefile.am:
1467         * gst/net/Makefile.am:
1468           update LDFLAGS use some more
1469
1470 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1471
1472         * common/m4/gst-doc.m4:
1473           Fixes #312589
1474
1475 2005-11-26  Edward Hervey  <edward@fluendo.com>
1476
1477         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1478         This shouldn't issue a g_warning since it returns NULL if it
1479         couldn't find the plugin, and all functions using this behave
1480         properly on a NULL return. Switching to a GST_WARNING.
1481
1482 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1483
1484         * gst/gstbin.c: (gst_bin_handle_message_func):
1485         Don't leak clock messages.
1486
1487 2005-11-25  Wim Taymans  <wim@fluendo.com>
1488
1489         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1490         (gst_util_uint64_scale_int):
1491         Optimisations, remove unneeded vars.
1492
1493 2005-11-25  Wim Taymans  <wim@fluendo.com>
1494
1495         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1496         Added more checks for the high precision uint64 cases.
1497
1498         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1499         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1500         Implement high precision (guint64 * guint64) / guint64.
1501
1502 2005-11-24  Wim Taymans  <wim@fluendo.com>
1503
1504         * gst/base/gstbasesrc.c: (gst_base_src_query):
1505         Fix wrong percentage query.
1506
1507         * gst/gstutils.c: (gst_util_uint64_scale),
1508         (gst_util_uint64_scale_int):
1509         Add some more common cases that can be handled 
1510         efficiently to _scale.
1511
1512 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1513
1514         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1515         (gst_mini_object_suite):
1516           don't use check calls from threads; check probably isn't
1517           threadsafe and using a lock to make it threadsafe would
1518           defeat the purpose of this check
1519         * gst/check/gstcheck.c:
1520         * gst/check/gstcheck.h:
1521           use GST_DEBUG some more
1522
1523 2005-11-24  Wim Taymans  <wim@fluendo.com>
1524
1525         * gst/gstutils.c: (gst_util_uint64_scale),
1526         (gst_util_uint64_scale_int):
1527         Chain trivial case to _scale_int.
1528
1529 2005-11-24  Wim Taymans  <wim@fluendo.com>
1530
1531         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1532         Added test for scaling.
1533
1534         * gst/gstclock.h:
1535         Small doc fix.
1536
1537         * gst/gstutils.c: (gst_util_uint64_scale_int):
1538         Implemented high precision scaling code.
1539
1540 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1541
1542         * gst/gstinfo.h:
1543           do not crash on pad==NULL
1544
1545 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1546
1547         Patch by: Stefan Kost
1548
1549         * common/gtk-doc.mak:
1550         * docs/gst/Makefile.am:
1551         * docs/libs/Makefile.am:
1552           Fix distcheck issues for the libraries docs build
1553           Closes #319599.
1554
1555 2005-11-24  Michael Smith <msmith@fluendo.com>
1556
1557         * docs/manual/basics-helloworld.xml:
1558           Fix bug #315027: memory leak in example code in docs.
1559
1560 2005-11-24  Michael Smith <msmith@fluendo.com>
1561
1562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1563           Unlock the PREROLL_LOCK in a failure case.
1564
1565 2005-11-24  Wim Taymans  <wim@fluendo.com>
1566
1567         * docs/gst/gstreamer-sections.txt:
1568         * gst/base/gstadapter.h:
1569         * gst/base/gstbasesink.h:
1570         * gst/base/gstbasesrc.h:
1571         * gst/base/gstbasetransform.h:
1572         * gst/base/gstpushsrc.h:
1573         * gst/elements/gstfakesink.h:
1574         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1575         * gst/elements/gstfakesrc.h:
1576         * gst/elements/gstfilesink.h:
1577         * gst/elements/gstfilesrc.h:
1578         * gst/gst.c:
1579         * gst/gstbin.c:
1580         * gst/gstbuffer.c: (_gst_buffer_copy):
1581         * gst/gstbus.h:
1582         * gst/gstcaps.c:
1583         * gst/gstchildproxy.c:
1584         * gst/gstclock.c:
1585         * gst/gstelement.c:
1586         * gst/gstelementfactory.c:
1587         * gst/gstelementfactory.h:
1588         * gst/gstevent.c:
1589         * gst/gstghostpad.h:
1590         * gst/gstindex.h:
1591         * gst/gstinterface.h:
1592         * gst/gstminiobject.c:
1593         * gst/gstminiobject.h:
1594         * gst/gstpad.c:
1595         * gst/gstpad.h:
1596         * gst/gstpadtemplate.h:
1597         * gst/gstpipeline.h:
1598         * gst/gstpluginfeature.h:
1599         * gst/gstquery.h:
1600         * gst/gstqueue.h:
1601         * gst/gsttaglist.c:
1602         * gst/gsttaglist.h:
1603         * gst/gsttagsetter.c:
1604         * gst/gsttagsetter.h:
1605         * gst/gsttrace.c:
1606         * gst/gsttrace.h:
1607         * gst/gsttypefind.h:
1608         * gst/gsturi.h:
1609         * gst/gstvalue.c:
1610         * gst/net/gstnetclientclock.c:
1611         * gst/net/gstnetclientclock.h:
1612         * gst/net/gstnettimepacket.c:
1613         * gst/net/gstnettimeprovider.c:
1614         * gst/net/gstnettimeprovider.h:
1615         Doc fixes.
1616
1617 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1618
1619         * configure.ac: back to HEAD
1620
1621 === release 0.9.6 ===
1622
1623 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1624
1625         * configure.ac:
1626           releasing 0.9.6, "Always On Time"
1627
1628 2005-11-23  Wim Taymans  <wim@fluendo.com>
1629
1630         * docs/gst/gstreamer-sections.txt:
1631         * gst/glib-compat.c:
1632         * gst/gsttagsetter.c:
1633         * gst/gstvalue.c:
1634         * gst/net/gstnetclientclock.c:
1635         * gst/net/gstnettimepacket.h:
1636         Doc updates.
1637
1638 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1639
1640         * docs/faq/using.xml:
1641         * docs/libs/tmpl/gstcontrol.sgml:
1642         * docs/manual/advanced-dparams.xml:
1643         * docs/manual/appendix-checklist.xml:
1644         * docs/manual/basics-elements.xml:
1645         * docs/pwg/other-source.xml:
1646         * docs/random/moving-plugins:
1647         * gst/gstpad.c:
1648         * tools/gst-launch.1.in:
1649           remove mentions of sinesrc
1650
1651 2005-11-23  Michael Smith <msmith@fluendo.com>
1652
1653         * docs/gst/gstreamer-sections.txt:
1654           Update for new API and API changes.
1655         * gst/gstobject.h:
1656           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1657         * gst/gstvalue.c:
1658           Documentation typo fix.
1659         * gst/net/gstnettimepacket.c:
1660           Documentation fixes for arguments.
1661
1662 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1663
1664         * gst/gststructure.c: (gst_structure_get_fraction),
1665         (gst_structure_parse_value),
1666         (gst_structure_fixate_field_nearest_fraction):
1667         * gst/gststructure.h:
1668         * gst/gstutils.c: (gst_util_uint64_scale_int):
1669         * gst/gstutils.h:
1670         * scripts/update-funcnames:
1671         API Changes. 
1672         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1673         Make gst_structure_fixate_field_nearest_fraction take a numerator
1674         and denominator argument instead of a GValue
1675         add gst_structure_get_fraction helper function.
1676
1677 2005-11-23  Wim Taymans  <wim@fluendo.com>
1678
1679         * docs/design/part-TODO.txt:
1680         Update TODO.
1681
1682         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1683         * gst/net/gstnetclientclock.h:
1684         Use parent fields for timeout and window_size.
1685
1686 2005-11-23  Andy Wingo  <wingo@pobox.com>
1687
1688         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1689         rate_num/rate_denom change.
1690
1691         * gst/net/gstnetclientclock.c
1692         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1693         OBJECT_LOCK. Don't call add_observation with the lock.
1694
1695         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1696         fraction.
1697         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1698         rate fraction.
1699         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1700         deal with rate as a fraction whose numerator and denominator are
1701         GstClockTime values.
1702         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1703         master; the other fields are protected by the SLAVE_LOCK.
1704         (do_linear_regression): Note that this must be called with the
1705         SLAVE_LOCK.
1706         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1707         OBJECT_LOCK. Call set_calibration instead of touching the
1708         variables directly.
1709         (gst_clock_set_property, gst_clock_get_property): Protect
1710         master/slave parameters with the SLAVE_LOCK.
1711
1712         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1713         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1714         note that all of the instance variables that add_observation and
1715         the set_master functions use are protected by that lock and not
1716         the OBJECT_LOCK.
1717         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1718
1719         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1720         the caller to take the object lock.
1721
1722 2005-11-23  Wim Taymans  <wim@fluendo.com>
1723
1724         * gst/gsterror.c: (_gst_core_errors_init):
1725         * gst/gsterror.h:
1726         Add error for clock stuff.
1727
1728         * gst/gstpipeline.c: (gst_pipeline_change_state),
1729         (gst_pipeline_set_clock):
1730         Post clock error when clock cannot be used in a pipeline.
1731
1732 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1733
1734         * docs/gst/gstreamer-sections.txt:
1735           make two symbols from gstinfo private for the docs
1736         * gst/base/gstcollectpads.h:
1737         * gst/gstutils.c:
1738           fix doc typos, update docs
1739
1740 2005-11-22  Wim Taymans  <wim@fluendo.com>
1741
1742         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1743         (gst_base_sink_wait), (gst_base_sink_do_sync),
1744         (gst_base_sink_handle_event):
1745         * gst/base/gstbasesink.h:
1746         No need to store the clock, the parent element class already
1747         has it.
1748
1749         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1750         Updates for clock_set returning a gboolean
1751
1752         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1753         (gst_clock_id_wait_async), (gst_clock_class_init),
1754         (gst_clock_init), (gst_clock_finalize),
1755         (gst_clock_get_internal_time), (gst_clock_get_time),
1756         (gst_clock_slave_callback), (gst_clock_set_master),
1757         (gst_clock_get_master), (do_linear_regression),
1758         (gst_clock_add_observation), (gst_clock_set_property),
1759         (gst_clock_get_property):
1760         * gst/gstclock.h:
1761         Implement master/slave. When setting a clock as a slave, a
1762         periodic timeout is scheduled to sample master and slave times.
1763         Then the slave clock is recalibrated to match offset and rate
1764         of the master clock.
1765         Update logging a bit.
1766         Add flag so that a clock can state that is cannot be slaved to
1767         another clock.
1768
1769         * gst/gstelement.c: (gst_element_set_clock):
1770         * gst/gstelement.h:
1771         The set clock returns a gboolean for when an element cannot
1772         deal with the selected clock in the pipeline. 
1773
1774         * gst/gstpipeline.c: (gst_pipeline_change_state),
1775         (gst_pipeline_set_clock):
1776         * gst/gstpipeline.h:
1777         Handle the case where the selected clock cannot be set on
1778         the pipeline.
1779
1780         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1781         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1782         (gst_net_client_clock_set_property),
1783         (gst_net_client_clock_get_property),
1784         (gst_net_client_clock_observe_times):
1785         * gst/net/gstnetclientclock.h:
1786         Use regression code in GstClock parent, remove duplicated
1787         functionality.
1788
1789 2005-11-22  Michael Smith <msmith@fluendo.com>
1790
1791         * gst/gstutils.c: (gst_util_clock_time_scale):
1792         * gst/gstutils.h:
1793         * docs/gst/gstreamer-sections.txt:
1794           Rename method to have extra underscore.
1795
1796 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1797
1798         * gst/elements/Makefile.am:
1799         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1800         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1801         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1802         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1803         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1804         * gst/elements/gstfakesrc.h:
1805         * gst/gstqueue.c: (queue_leaky_get_type):
1806           correctly fix GEnumValues so that nick is the short lowercase
1807           dashed tag
1808         * tools/gst-inspect.c: (print_element_properties_info):
1809           also show the nick, since it's useful to use from parse_launch
1810           syntax
1811           Fixes #322139
1812
1813 2005-11-22  Michael Smith <msmith@fluendo.com>
1814
1815         * gst/gstutils.c: (gst_util_clocktime_scale):
1816         * gst/gstutils.h:
1817         * docs/gst/gstreamer-sections.txt:
1818           Add util method for scaling a clocktime by a fraction. Useful 
1819           implementation is left as an exercise for the reader.
1820
1821 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1822
1823         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1824         If needed, allocate storage in the destination value during
1825         collection.
1826
1827 2005-11-22  Edward Hervey  <edward@fluendo.com>
1828
1829         * docs/gst/gstreamer-sections.txt:
1830         * gst/Makefile.am:
1831         * gst/gst.h:
1832         * gst/gsturitype.c:
1833         * gst/gsturitype.h:
1834         * gst/gstutils.c: (gst_util_set_object_arg):
1835         * tools/gst-compprep.c: (main):
1836         * tools/gst-inspect.c: (print_element_properties_info):
1837         Removed GstURI, closes bug #321061
1838
1839 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1840
1841         * check/gst/gststructure.c: (GST_START_TEST):
1842         * gst/gststructure.c: (gst_structure_parse_value):
1843           Oops, broke automatic string type parsing.
1844           Add a test to catch it in future.
1845
1846 2005-11-22  Andy Wingo  <wingo@pobox.com>
1847
1848         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1849         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1850         Actually rename the function implementations. Grr.
1851
1852 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1853
1854         * check/gst/capslist.h:
1855           Comment test cases
1856         * check/gst/gststructure.c: (GST_START_TEST),
1857         (gst_structure_suite):
1858           Test automatic value type detection in gst_structure_from_string.
1859         * gst/gststructure.c: (gst_structure_parse_value):
1860           Add fraction as a type we try and guess automatically in
1861           caps/structure strings.
1862
1863 2005-11-22  Andy Wingo  <wingo@pobox.com>
1864
1865         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1866
1867         * gst/gsttagsetter.h:
1868         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1869         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1870         (gst_tag_setter_add_tag_valist)
1871         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1872         _add_values, _add_valist, and _add_valist_values. Since this is an
1873         interface the function suffixes should be more explicit so
1874         language binding don't end up with element.add_valist ->
1875         gst_tag_setter_add_valist, for example. Fixes #322069.
1876
1877 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1878
1879         * check/gst/gstcaps.c: (GST_START_TEST):
1880           Extend caps string tests to check that a caps to string
1881           conversion is reversible and produces the same caps.
1882
1883         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1884           Output "fraction" as the generic type fraction range, so caps
1885           serialisation and deserialisation works.
1886         * check/gst/capslist.h:
1887         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1888           Support 'MIN' and 'MAX' for deserialising fractions.
1889
1890 2005-11-22  Andy Wingo  <wingo@pobox.com>
1891
1892         * gst/gstevent.h (gst_event_new_new_segment)
1893         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1894         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1895         Renamed from *_newsegment, *_buffersize, *_notarget.
1896
1897         * scripts/update-funcnames: New script, performs the changes
1898         listed above.
1899
1900 2005-11-22  Wim Taymans  <wim@fluendo.com>
1901
1902         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1903         Make sure the GstFlowReturn is returned.
1904
1905         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1906         (gst_bus_add_signal_watch):
1907         * gst/gstbus.h:
1908         add gst_bus_add_signal_watch_full.
1909
1910         * gst/gstplugin.c: (gst_plugin_load_file):
1911         Small style cleanup.
1912
1913 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1914
1915         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1916           Block the fakesrc srcpad when we send an event, to avoid
1917           contention on the stream_lock causing random test failures.
1918
1919 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1920
1921         * check/gst/gstvalue.c: (GST_START_TEST):
1922         * gst/gstvalue.c: (gst_value_fraction_subtract):
1923           Fix subtraction.
1924
1925 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1926
1927         * gst/gst.h:
1928           include "gstchildproxy.h"
1929         * gst/gstchildproxy.h:
1930         * libs/gst/controller/gstcontroller.h:
1931           use G_GNUC_NULL_TERMINATED
1932
1933 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1934
1935         * check/gst/capslist.h:
1936         * check/gst/gstcaps.c: (GST_START_TEST):
1937         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1938         * gst/gststructure.c: (gst_structure_parse_range),
1939         (gst_structure_fixate_field_nearest_fraction):
1940         * gst/gststructure.h:
1941         * gst/gstvalue.c: (gst_value_init_fraction_range),
1942         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1943         (gst_value_collect_fraction_range),
1944         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1945         (gst_value_set_fraction_range_full),
1946         (gst_value_get_fraction_range_min),
1947         (gst_value_get_fraction_range_max),
1948         (gst_value_serialize_fraction_range),
1949         (gst_value_transform_fraction_range_string),
1950         (gst_value_compare_fraction_range),
1951         (gst_value_deserialize_fraction_range),
1952         (gst_value_intersect_fraction_fraction_range),
1953         (gst_value_intersect_fraction_range_fraction_range),
1954         (gst_value_subtract_fraction_fraction_range),
1955         (gst_value_subtract_fraction_range_fraction),
1956         (gst_value_subtract_fraction_range_fraction_range),
1957         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1958         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1959         (gst_value_transform_string_fraction), (_gst_value_initialize):
1960         * gst/gstvalue.h:
1961           Implement fraction ranges and extend GstFraction to support
1962           arithmetic subtraction, as well as deserialization from integer
1963           strings such as "100"
1964           Add a testsuite as for int and double range set operations
1965
1966 2005-11-21  Andy Wingo  <wingo@pobox.com>
1967
1968         * gst/gsttaglist.h: 
1969         * gst/gstcaps.h: 
1970         * gst/gststructure.h: Add glib-compat.h.
1971
1972 2005-11-21  Wim Taymans  <wim@fluendo.com>
1973
1974         * gst/gstbin.c: (gst_bin_change_state_func):
1975         Fix for #321595
1976
1977 2005-11-21  Wim Taymans  <wim@fluendo.com>
1978
1979         * gst/gstsegment.h:
1980         And add a nice define too.
1981
1982 2005-11-21  Wim Taymans  <wim@fluendo.com>
1983
1984         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1985         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1986         (gst_segment_set_duration), (gst_segment_set_last_stop),
1987         (gst_segment_set_seek), (gst_segment_set_newsegment),
1988         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1989         (gst_segment_clip):
1990         * gst/gstsegment.h:
1991         Make binding friendly.
1992
1993 2005-11-21  Andy Wingo  <wingo@pobox.com>
1994
1995         * gst/gsttagsetter.h: 
1996         * gst/gsttaglist.h: 
1997         * gst/gststructure.h: 
1998         * gst/gstcaps.h: 
1999         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2000         #319940.
2001
2002         * gst/gsterror.c (_gst_core_errors_init):
2003         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2004         category.
2005
2006         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2007         (noinst_HEADERS): noinst the -private.
2008
2009 2005-11-21  Michael Smith <msmith@fluendo.com>
2010
2011         * gst/gstplugin.h:
2012         * gst/gstregistry.h:
2013           Remove unimplemented declarations for which we can see no sensible
2014           use.
2015
2016 2005-11-21  Andy Wingo  <wingo@pobox.com>
2017
2018         * gst/gst.h: Include glib-compat.h.
2019
2020         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2021
2022         * gst/glib-compat.c: Include the public and the private header.
2023
2024         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2025
2026         * gst/gstvalue.c: 
2027         * gst/gstpad.c: 
2028         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2029
2030         * check/gst/gstevent.c (create_custom_events): Check that
2031         FLUSH_STOP is serialized.
2032
2033         * check/elements/identity.c (event_func): 
2034         * check/elements/fakesrc.c (event_func): No stream lock, the core
2035         takes it.
2036
2037         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2038         stream lock taking, yay.
2039
2040         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2041         ensure that core takes the stream lock.
2042
2043         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2044         lock name change.
2045
2046         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2047         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2048         it already. For the flush start we do take it though so we get the
2049         right preroll state change messages.
2050
2051         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2052         the stream lock here, the core does it for us.
2053
2054         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2055         GST_STREAM_GET_LOCK.
2056         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2057         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2058         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2059         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2060         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2061         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2062
2063         * gst/gstpad.c: Update for stream lock name change.
2064
2065         * gst/base/gstbasesink.c: Update for preroll lock name change.
2066
2067 2005-11-21  Wim Taymans  <wim@fluendo.com>
2068
2069         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2070         (gst_clock_get_master):
2071         * gst/gstclock.h:
2072         * gst/gstsystemclock.c: (gst_system_clock_init):
2073         Convert Clock flags to object flags.
2074         Added methods to manage master/slave clocks.
2075
2076 2005-11-21  Wim Taymans  <wim@fluendo.com>
2077
2078         * check/gst/gstsegment.c: (GST_START_TEST):
2079         * docs/design/part-TODO.txt:
2080         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2081         (gst_base_sink_event), (gst_base_sink_do_sync),
2082         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2083         (gst_base_sink_query), (gst_base_sink_change_state):
2084         * gst/base/gstbasesink.h:
2085         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2086         (gst_base_src_default_newsegment),
2087         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2088         (gst_base_src_get_range), (gst_base_src_loop),
2089         (gst_base_src_change_state):
2090         * gst/base/gstbasesrc.h:
2091         * gst/base/gstbasetransform.c:
2092         (gst_base_transform_prepare_output_buf),
2093         (gst_base_transform_event), (gst_base_transform_change_state):
2094         * gst/base/gstbasetransform.h:
2095         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2096         (gst_collect_pads_event):
2097         * gst/base/gstcollectpads.h:
2098         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2099         (gst_fake_src_create):
2100         * gst/elements/gstfakesrc.h:
2101         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2102         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2103         (gst_segment_set_last_stop), (gst_segment_set_seek),
2104         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2105         (gst_segment_to_running_time), (gst_segment_clip):
2106         * gst/gstsegment.h:
2107         More segment updates, replace code in plugins with segment
2108         helper functions.
2109
2110 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2111
2112         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2113         Don't ignore sscanf results
2114
2115 2005-11-21  Andy Wingo  <wingo@pobox.com>
2116
2117         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2118
2119         * *.h:
2120         * *.c: Ran scripts/update-macros. Oh yes.
2121
2122         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2123         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2124         GST_GET_LOCK, etc.
2125
2126         * scripts/update-macros: New script. Run it on your files to
2127         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2128         well.
2129
2130 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2131
2132         * docs/gst/Makefile.am:
2133         * docs/gst/gstreamer-docs.sgml:
2134         * docs/gst/gstreamer-sections.txt:
2135         * docs/gst/gstreamer.types:
2136         * gst/gstinfo.h:
2137           more docs fixes, add new api to the docs
2138
2139 2005-11-21  Andy Wingo  <wingo@pobox.com>
2140
2141         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2142         state_broadcast call.
2143
2144         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2145
2146 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2147
2148         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2149         function calls for arrays.
2150
2151 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2152
2153         * docs/random/ensonic/media-device-daemon.txt:
2154           wild idea, can this be done?
2155         * docs/gst/gstreamer-sections.txt:
2156         * gst/gsterror.h:
2157         * gst/gstfilter.c:
2158         * gst/gstfilter.h:
2159         * gst/gstplugin.h:
2160         * gst/gstpluginfeature.c:
2161         * gst/gsttrace.c:
2162         * gst/gstvalue.c:
2163         * gst/gstvalue.h:
2164           doc fixes and additions
2165
2166 2005-11-21  Andy Wingo  <wingo@pobox.com>
2167
2168         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2169         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2170         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2171         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2172         private to the basesrc implementation.
2173
2174         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2175         behalf of event function if necessary. It should no longer be
2176         necessary to take the stream lock in pad's event functions. Fixes
2177         #320299.
2178
2179 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2180         * docs/gst/gstreamer-sections.txt:
2181         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2182         (gst_structure_fixate_field_nearest_double),
2183         (gst_structure_fixate_field_boolean):
2184         * gst/gststructure.h:
2185         * win32/common/libgstreamer.def:
2186         * win32/gstreamer.def:
2187
2188         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2189         (#322027)
2190
2191 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2192
2193         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2194         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2195         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2196         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2197         (gst_fdsrc_uri_handler_init):
2198         * gst/elements/gstfdsrc.h:
2199           Port fd:// URI handler from 0.8 to fdsrc
2200
2201 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2202
2203         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2204         (gst_value_serialize_fourcc):
2205         * gst/gstvalue.h:
2206           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2207           consistent with our other format defines (#320324).
2208
2209 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2210
2211         * gst/gstvalue.c: (gst_value_is_fixed):
2212           Revert previous commit. Value lists are by definition
2213           not fixed, as they are a list of possible values.
2214
2215 2005-11-21  Andy Wingo  <wingo@pobox.com>
2216
2217         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2218         during the stable series if we need it. Fixes #319178.
2219
2220         * gst/gstevent.c (gst_event_new_filler): Removed.
2221
2222         * check/gst/gstevent.c: Update comment about filler events.
2223
2224 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2225
2226         * gst/gstvalue.c: (gst_value_is_fixed):
2227           Should handle both value arrays and value lists.
2228
2229 2005-11-21  Andy Wingo  <wingo@pobox.com>
2230
2231         patch by: Alessandro Dessina <alessandro nnva org>
2232
2233         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2234         functions to access arrays. Fixes #321962.
2235
2236 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2237
2238         * docs/gst/gstreamer.types:
2239           gst_collectpads_get_type => gst_collect_pads_get_type.
2240           
2241         * gst/base/gstbasetransform.c:
2242           Remove unused SIGNAL_HANDOFF enum.
2243
2244 2005-11-21  Andy Wingo  <wingo@pobox.com>
2245
2246         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2247         the event type (upstream, downstream, serialized). Renamed
2248         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2249         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2250         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2251
2252         * gst/gstevent.c: Update for new CUSTOM event names.
2253
2254         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2255
2256         * gst/gstevent.h:
2257         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2258         bug #319392.
2259
2260 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2261
2262         * docs/gst/gstreamer-sections.txt:
2263         * win32/common/libgstbase.def:
2264         * win32/libgstbase.def:
2265         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2266         (gst_collect_pads_class_init), (gst_collect_pads_init),
2267         (gst_collect_pads_finalize), (gst_collect_pads_new),
2268         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2269         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2270         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2271         (gst_collect_pads_start), (gst_collect_pads_stop),
2272         (gst_collect_pads_peek), (gst_collect_pads_pop),
2273         (gst_collect_pads_available), (gst_collect_pads_read),
2274         (gst_collect_pads_flush), (gst_collect_pads_event),
2275         (gst_collect_pads_chain):
2276         * gst/base/gstcollectpads.h:
2277           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2278           unimplemented functions as unimplemented. Add padding to
2279           GstCollectData. (#320766, #320423)
2280
2281 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2282
2283         * gst/gstmessage.c:
2284           Improve docs for DURATION message (usage of duration parameter)
2285           (#320113)
2286
2287 2005-11-20  Wim Taymans  <wim@fluendo.com>
2288
2289         * check/Makefile.am:
2290         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2291         (main):
2292         * gst/Makefile.am:
2293         * gst/gst.h:
2294         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2295         (gst_segment_set_seek), (gst_segment_set_newsegment),
2296         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2297         (gst_segment_clip):
2298         * gst/gstsegment.h:
2299         Added segment helper structure and methods. Not fully implemented
2300         yet.
2301         Added segment check.
2302
2303 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2304
2305         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2306           Add a deserialisation test for fractions
2307         * examples/metadata/read-metadata.c: (message_loop),
2308         (make_pipeline), (main):
2309           Fix up metadata reading sample.
2310         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2311           Debug format fix
2312         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2313           Don't try and fixate empty caps
2314         * gst/gst_private.h:
2315           Wrap in G_BEGIN_DECLS/G_END_DECLS
2316         * gst/gstvalue.c: (gst_value_collect_fraction),
2317         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2318         (gst_value_transform_string_fraction),
2319         (gst_value_compare_fraction):
2320           Add some extra guards to ensure that we don't end up 
2321           with an invalid denominator of 0 in a gstfraction and
2322           that fractions always get reduced.
2323
2324 2005-11-20  Wim Taymans  <wim@fluendo.com>
2325
2326         * docs/gst/gstreamer-sections.txt:
2327         * gst/gstbuffer.h:
2328         * gst/gstelement.c:
2329         * gst/gstformat.c:
2330         * gst/gstformat.h:
2331         * gst/gstindex.h:
2332         * gst/gstquery.c:
2333         * gst/gstquery.h:
2334         * gst/gstvalue.c:
2335         Doc fixes.
2336
2337 2005-11-20  Wim Taymans  <wim@fluendo.com>
2338
2339         * docs/design/part-TODO.txt:
2340         * gst/gstcaps.h:
2341         Make a proper enum of the flag.
2342
2343 2005-11-19  Wim Taymans  <wim@fluendo.com>
2344
2345         * docs/design/part-TODO.txt:
2346         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2347         (gst_format_to_quark), (gst_format_register):
2348         * gst/gstformat.h:
2349         * gst/gstquery.c: (_gst_query_initialize),
2350         (gst_query_type_get_name), (gst_query_type_to_quark),
2351         (gst_query_type_register):
2352         * gst/gstquery.h:
2353         Add type to quark and type to string conversions.
2354
2355 2005-11-19  Andy Wingo  <wingo@pobox.com>
2356
2357         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2358         #320097.
2359
2360 2005-11-19  Wim Taymans  <wim@fluendo.com>
2361
2362         * docs/design/part-TODO.txt:
2363         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2364         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2365         (gst_bin_handle_message_func):
2366         * gst/gstbin.h:
2367         Make message handling overridable.
2368
2369 2005-11-19  Andy Wingo  <wingo@pobox.com>
2370
2371         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2372
2373         * gst/gstclock.h:
2374         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2375         be a GstClockTime.
2376         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2377         is a GstClockTime. Fixes #321710.
2378
2379         * gst/gstclock.h (GstClock): Remove offset property. Add
2380         internal_calibration and external_calibration. Fix padding. Pad
2381         also by GstClockTime so we don't run into problems.
2382
2383         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2384         (gst_clock_get_rate_offset): Remove.
2385         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2386
2387         * gst/gstutils.h:
2388         * gst/gstutils.c (g_static_rec_cond_wait)
2389         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2390
2391         * gst/gstbin.c: Remove terrible continue_state prototype.
2392
2393         * gst/gstelement.h (gst_element_continue_state): Make public.
2394
2395         * gst/gstelement.h:
2396         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2397         by continue_state. Fixes #319389.
2398
2399         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2400         Really fixes #168438. However I don't see anywhere where the
2401         filter function is called... stupid GStreamer...
2402         
2403         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2404         don't have a dispose function, so it won't get called when the
2405         object is unreffed, but oh well!
2406
2407         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2408         allows a destroy function to be set so user_data can be freed.
2409         Fixes #168438.
2410         (gst_index_set_filter): Call gst_index_set_filter_full.
2411
2412         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2413
2414         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2415         string should produce an error, given the lack of a way to
2416         represent NULL strings. Fixes #165650.
2417         
2418         * gst/gstvalue.h: 
2419         * gst/gstvalue.c (gst_value_array_append_value) 
2420         (gst_value_array_prepend_value, gst_value_array_get_size) 
2421         (gst_value_array_get_value): New API, copied from
2422         gst_value_list_*, only operates on arrays.
2423         (gst_value_list_append_value, gst_value_list_prepend_value) 
2424         (gst_value_list_concat, gst_value_list_get_size) 
2425         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2426
2427         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2428         init_list, because it works on both.
2429         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2430         (gst_value_copy_list_or_array): Renamed from copy_list.
2431         (gst_value_free_list_or_array): Renamed from free_list.
2432         (gst_value_collect_list_or_array): Renamed from collect_list.
2433         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2434         (gst_value_list_or_array_peek_pointer): Renamed from
2435         list_peek_pointer.
2436         (_gst_value_array_value_table, _gst_value_list_value_table):
2437         Update value table functions.
2438         (gst_value_compare_list_or_array): Renamed from compare_list.
2439
2440         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2441         some constness.
2442
2443         * gst/gsttaglist.c:
2444         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2445         GstTagList*. Fixes #143472.
2446
2447         * gst/gststructure.h: Clarify what the foreach/map functions can
2448         or can't do to their arguments.
2449
2450 2005-11-18  Wim Taymans  <wim@fluendo.com>
2451
2452         * gst/gstclock.c: (gst_clock_set_calibration),
2453         (gst_clock_get_calibration):
2454         Doc and API fixes.
2455         Calibration can be set with internal time equal to current
2456         internal time too.
2457
2458 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2459
2460         * gst/gsterror.c:
2461         * gst/gsterror.h:
2462           document
2463
2464 2005-11-18  Andy Wingo  <wingo@pobox.com>
2465
2466         * configure.ac: 
2467         * pkgconfig/gstreamer-net.pc.in:
2468         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2469         * pkgconfig/Makefile.am: Add net pkgconfig files.
2470
2471 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2472
2473         * gst/gstcaps.c:
2474         * gst/gstghostpad.c:
2475         * gst/gsttrace.c:
2476         * gst/gstvalue.c:
2477         * gst/gstvalue.h:
2478           docs fixes
2479
2480 2005-11-18  Andy Wingo  <wingo@pobox.com>
2481
2482         * gst/net/gstnetclientclock.c: Turn off debugging.
2483
2484         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2485         times connverge somewhat. Can't make a real test.
2486
2487         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2488         integer arithmetic. Return the minimum of the domain, which can be
2489         set as "internal" for gst_clock_set_calibration.
2490         (gst_net_client_clock_observe_times): Call _set_calibration.
2491         (gst_net_client_clock_new): Call _set_calibration instead of
2492         rate_offset.
2493
2494         * check/net/gstnetclientclock.c (test_functioning): Use the right
2495         adjustment api.
2496
2497         * gst/gstclock.h:
2498         * gst/gstclock.c (gst_clock_get_calibration) 
2499         (gst_clock_set_calibration): New functions, obsolete the ones I
2500         added yesterday. Doh. Precision issues mean we have to extrapolate
2501         from a point in the more recent past than 1970.
2502         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2503         obsolete.
2504         (gst_clock_adjust_unlocked): Use the right calibration data.
2505
2506 2005-11-18  Edward Hervey  <edward@fluendo.com>
2507
2508         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2509         Also reset the ->current_* values in READY->PAUSED
2510
2511 2005-11-18  Andy Wingo  <wingo@pobox.com>
2512
2513         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2514         Whoops, check the right fd. Also add some debugging.
2515         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2516         (do_linear_regression): Add a crapload of debugging. Subtract off
2517         the minimum values from the input series to discard unneeded bits.
2518         Use only int arithmetic. There is still double arithmetic when
2519         calculating the intercept that needs fixing. Return boolean to
2520         indicate success; FALSE would mean the domain or range is too
2521         great. Still needs fixes.
2522
2523 2005-11-18  Wim Taymans  <wim@fluendo.com>
2524
2525         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2526         For the current position in stream time, we need to subtract
2527         accumulated time.
2528         
2529         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2530         Release lock before calling the callback function of async
2531         entries.
2532
2533 2005-11-18  Andy Wingo  <wingo@pobox.com>
2534
2535         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2536         Port goes all the way to MAXUINT16.
2537
2538         * gst/net/gstnettimeprovider.c: Make the port range the same as
2539         for the kernel: 0 assigns, otherwise ports are less than
2540         MAXUINT16.
2541
2542         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2543         port change.
2544
2545         * check/net/gstnetclientclock.c (test_functioning): Add the start
2546         of another test. 
2547
2548 2005-11-18  Wim Taymans  <wim@fluendo.com>
2549
2550         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2551         (gst_bin_remove_func), (bin_bus_handler):
2552         * gst/gstbin.h:
2553         Removing a clock provider from a bin, triggers a clock lost message
2554         so that a new clock will be selected.
2555         Adding a clock to a bin triggers a clock provider message.
2556         Make sure we reselect a clock when we received a clock lost message.
2557         Keep a reference to the element that provided the clock.
2558
2559 2005-11-18  Andy Wingo  <wingo@pobox.com>
2560
2561         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2562         the clock initially so it produces values around the base time.
2563         (gst_net_client_clock_class_init): Typo fix.
2564         (gst_net_client_clock_thread): Add note on when the socket gets
2565         closed.
2566
2567 2005-11-17  Wim Taymans  <wim@fluendo.com>
2568
2569         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2570         Free remote and local time arrays.
2571
2572 2005-11-17  Wim Taymans  <wim@fluendo.com>
2573
2574         * gst/net/gstnetclientclock.c: (do_linear_regression),
2575         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2576         Fix compilation, uninitialized vars and a forgotten continue.
2577
2578 2005-11-17  Andy Wingo  <wingo@pobox.com>
2579
2580         * check/Makefile.am (check_PROGRAMS): 
2581         * check/net/gstnetclientclock.c: Add a most minimal test for the
2582         net client clock. More to come later.
2583
2584         * gst/net/gstnet.h: 
2585         * gst/net/Makefile.am: Add netclientclock.
2586
2587         * gst/net/gstnetclientclock.h:
2588         * gst/net/gstnetclientclock.c: New files, implement an untested
2589         GstClock that takes its time from a network time provider.
2590         Implements the algorithm in network-clock.scm.
2591
2592         * tests/network-clock.scm (*window-size*): Rename from
2593         *queue-length*.
2594         * tests/network-clock.scm (network-time): 
2595         * tests/network-clock-utils.scm (q-push): Update callers.
2596
2597 2005-11-17  Wim Taymans  <wim@fluendo.com>
2598
2599         * gst/gstbin.c: (gst_bin_provide_clock_func),
2600         (gst_bin_sort_iterator_new):
2601         And unref the child too..
2602
2603 2005-11-17  Wim Taymans  <wim@fluendo.com>
2604
2605         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2606         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2607         Refactor the sort iterator so it can be used while holding the
2608         LOCK too.
2609         Make clock selection select a clock closest to the source.
2610
2611 2005-11-17  Michael Smith <msmith@fluendo.com>
2612
2613         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2614         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2615         * gst/gstclock.h:
2616           Anonymous structs are a gcc (and some other compilers) extension, so
2617           don't use them. Since this is only for ABI-compatibility, and our
2618           API/ABI freeze is over in a few days, this whole thing will only
2619           last a few days, so don't bother trying to think up a meaningful
2620           name for the struct.
2621
2622 2005-11-17  Andy Wingo  <wingo@pobox.com>
2623
2624         * gst/gstclock.h (GstClock): Add rate and offset properties,
2625         preserving ABI stability. Add rate/offset accessors. Will file bug
2626         for the freeze break.
2627
2628         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2629         and offset, trying to keep precision and avoiding
2630         underflow/overflow.
2631         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2632         functions. Make gst_clock_set_time_adjust obsolete.
2633         (gst_clock_set_time_adjust): Note that this function is obsolete.
2634         Will file bug soon.
2635
2636         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2637         greppable by using GST_PADDING-1+1.
2638
2639 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2640
2641         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2642
2643         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2644           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2645
2646         * gst/gstpadtemplate.h:
2647         * gst/gstpluginfeature.h:
2648           Don't use c++ style comments in headers (#321638).
2649
2650 2005-11-16  Andy Wingo  <wingo@pobox.com>
2651
2652         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2653         buffer.
2654
2655         * check/net/gstnettimeprovider.c: Check to see that the time
2656         provider actually provides times. Works, yo!
2657
2658 2005-11-16  Wim Taymans  <wim@fluendo.com>
2659
2660         * check/Makefile.am:
2661         Enable more tests.
2662
2663         * check/elements/fakesrc.c: (GST_START_TEST):
2664         Set element to NULL before disposing it.
2665
2666 2005-11-16  Andy Wingo  <wingo@pobox.com>
2667
2668         * gst/net/Makefile.am:
2669         * gst/net/gstnet.h:
2670         * gst/net/gstnettimeprovider.c: 
2671         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2672         provider, include it from gstnet.h, and add it to the build.
2673
2674         * gst/net/gstnettimepacket.h: 
2675         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2676         sending and receiving.
2677
2678 2005-11-16  Wim Taymans  <wim@fluendo.com>
2679
2680         * check/Makefile.am:
2681         Enable valgrind check.
2682
2683         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2684         (gst_fake_src_alloc_buffer):
2685         Fix memleak.
2686
2687 2005-11-16  Wim Taymans  <wim@fluendo.com>
2688
2689         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2690         Call parent finalize too.
2691
2692 2005-11-16  Wim Taymans  <wim@fluendo.com>
2693
2694         * check/Makefile.am:
2695         Enable valgrind check that should work fine now.
2696
2697         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2698         * gst/gstqueue.c: (gst_queue_init):
2699         Fix memleaks in pad allocation.
2700
2701 2005-11-16  Andy Wingo  <wingo@pobox.com>
2702
2703         * gst/net/Makefile.am:
2704         * gst/net/gstnet.h: New part of core to hold network elements and
2705         objects. Put in core because it exposes API that applications want
2706         to use. The library is named libgstnet-tempname right now because
2707         of the existing libgstnet in gst-plugins-base. Solution is
2708         probably to rename the one in plugins-base; will file a bug for
2709         the freeze break.
2710
2711         * gst/net/gstnettimeprovider.c: 
2712         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2713         get_time call over the network.
2714
2715         * configure.ac: 
2716         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2717
2718         * check/Makefile.am:
2719         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2720         get additions shortly.
2721
2722 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2723
2724         * gst/gstpad.c: (gst_pad_new_from_static_template):
2725         * gst/gstpad.h:
2726           add gst_pad_new_from_static_template functions
2727         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2728         (gst_check_setup_sink_pad):
2729         * gst/elements/gsttee.c: (gst_tee_init):
2730           and use them
2731
2732 2005-11-16  Wim Taymans  <wim@fluendo.com>
2733
2734         * gst/gstpad.c: (gst_pad_pause_task):
2735         Removed warning, it's not really an error either.
2736
2737 2005-11-16  Wim Taymans  <wim@fluendo.com>
2738
2739         * gst/base/gstbasetransform.c:
2740         (gst_base_transform_prepare_output_buf),
2741         (gst_base_transform_event):
2742         Check if the caps are NULL, this can happen if the element
2743         is shutting down and the pad caps are set to NULL.
2744
2745 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2746
2747         * gst/elements/gsttee.c: (gst_tee_init):
2748           fix pad template leak in tee
2749
2750 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2751
2752         * gst/glib-compat.c: (g_value_dup_gst_object):
2753         * gst/glib-compat.h:
2754         * gst/gstpad.c: (gst_pad_set_property):
2755           use gst_object_ref when setting the pad template; this will
2756           trigger the pad template leaks on GLib 2.6 and the slaves
2757
2758 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2759
2760         * gst/glib-compat.c: (gst_flags_get_first_value):
2761         * gst/glib-compat.h:
2762         * gst/gstregistryxml.c:
2763           remove functions copied from GLib 2.6
2764
2765 2005-11-16  Michael Smith <msmith@fluendo.com>
2766
2767         * gst/Makefile.am:
2768           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2769           do, but only breaks with newer valgrind versions. We're not a
2770           valgrind tool, we have no link-time dependencies on libcoregrind.
2771
2772 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2773
2774         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2775           some debug changes
2776         * gst/gstmessage.h:
2777           typo fixes
2778
2779 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2780
2781         * gst/base/gstbasesrc.c: (gst_base_src_init):
2782         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2783         * gst/gstqueue.c: (gst_queue_init):
2784         * gst/gstregistryxml.c: (load_feature):
2785           Revert all these unrefs, they don't even pass make check !
2786
2787 2005-11-15  Johan Dahlin  <johan@gnome.org>
2788
2789         * gst/base/gstbasesrc.c: (gst_base_src_init):
2790         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2791         * gst/gstqueue.c: (gst_queue_init): 
2792         Free pad templates, fixes a couple of leaks.
2793
2794 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2795
2796         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2797
2798         * gst/gstpad.c: (gst_pad_get_property):
2799           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2800           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2801           (#321452)
2802
2803 2005-11-15  Wim Taymans  <wim@fluendo.com>
2804
2805         * gst/gstevent.c:
2806         Small doc update.
2807
2808 2005-11-15  Andy Wingo  <wingo@pobox.com>
2809
2810         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2811
2812         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2813         using GST_CLOCK_TIME_NONE to disable base time management.
2814         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2815         time if it was NONE before.
2816         (gst_pipeline_change_state): Only munge the base time if
2817         stream_time != GST_CLOCK_TIME_NONE.
2818
2819         * check/gst/gstpipeline.c (test_base_time): Punt around the
2820         problem of the probe not being called, because that's not the
2821         issue I'm looking at. Add a check that setting stream_time to NONE
2822         disables base time management.
2823         
2824 2005-11-15  Wim Taymans  <wim@fluendo.com>
2825
2826         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2827         segment_stop == -1 at startup.
2828
2829         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2830         (gst_base_transform_change_state):
2831         Init segment values at start.
2832
2833 2005-11-15  Wim Taymans  <wim@fluendo.com>
2834
2835         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2836         0 segment values are 0 in any format.
2837
2838         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2839         * gst/base/gstbasetransform.h:
2840         Parse newsegment correctly in basetransform
2841
2842         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2843         Sync to clock using updated segment values.
2844
2845 2005-11-15  Andy Wingo  <wingo@pobox.com>
2846
2847         * check/gst/gstpipeline.c (test_base_time): Add check that the
2848         base time and stream time are reset correctly.
2849
2850 2005-11-15  Wim Taymans  <wim@fluendo.com>
2851
2852         * docs/design/part-TODO.txt:
2853         Some more TODO items.
2854
2855 2005-11-15  Andy Wingo  <wingo@pobox.com>
2856
2857         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2858         error if the user selected "no clock" as the clocking method.
2859
2860         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2861         timestamps with live capture.
2862
2863         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2864         is 0 but we are a live source, timestamp the buffers using the
2865         element's clock.
2866
2867 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2868
2869         * docs/gst/gstreamer-sections.txt:
2870         * gst/gsterror.c:
2871         * gst/gstghostpad.c:
2872         * gst/gstobject.h:
2873         * gst/gstxml.c:
2874           more section docs
2875
2876 2005-11-14  Wim Taymans  <wim@fluendo.com>
2877
2878         * common/gst.supp:
2879           add suppressions from Wim's Debian machine
2880
2881 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2882
2883         * common/gst.supp:
2884           add suppressions from Andy's AMD64 Ubuntu machine
2885
2886 2005-11-14  Andy Wingo  <wingo@pobox.com>
2887
2888         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2889         STATE_LOCK not necessary. Fixes #311489.
2890
2891         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2892         #305291.
2893
2894         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2895         this function is not implemented.
2896
2897 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2898
2899         * gst/base/gstbasetransform.c:
2900         (gst_base_transform_prepare_output_buf):
2901         Ref the source pad caps while we need them.
2902         Fixes (#321386)
2903
2904 2005-11-11  Wim Taymans  <wim@fluendo.com>
2905
2906         * docs/gst/gstreamer-sections.txt:
2907         Added some docs for GstCollectData.
2908
2909         * gst/base/gstadapter.c:
2910         Some small code example fix.
2911
2912         * gst/base/gstcollectpads.c:
2913         * gst/base/gstcollectpads.h:
2914         Document some more.
2915
2916 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2917
2918         * configure.ac: back to HEAD
2919
2920 === release 0.9.5 ===
2921
2922 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2923
2924         * configure.ac:
2925           releasing 0.9.5, "Bike Lunch Day"
2926
2927 2005-11-11  Wim Taymans  <wim@fluendo.com>
2928
2929         * gst/gstbuffer.c: (_gst_buffer_copy):
2930         Copy more flags.
2931
2932         * gst/gstcaps.c: (gst_caps_is_equal):
2933         Fix some docs.
2934         Make _is_equal fast in the trivial cases.
2935
2936         * gst/gstminiobject.c:
2937         * gst/gstminiobject.h:
2938         More docs. Spifify .h file.
2939
2940         * gst/gstutils.c:
2941         Small doc update.
2942
2943 2005-11-11  Wim Taymans  <wim@fluendo.com>
2944
2945         * gst/base/gstbasetransform.c:
2946         (gst_base_transform_prepare_output_buf),
2947         (gst_base_transform_handle_buffer):
2948         Small cleanups.
2949         If we're processing a buffer and need to allocate an output
2950         buffer, we cannot accept a format change. If we did get a 
2951         format change, we have to alloc a buffer ourselves of the 
2952         right size.
2953
2954 2005-11-11  Wim Taymans  <wim@fluendo.com>
2955
2956         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2957         While checking the flag for reentrancy in the gstcaps function
2958         is nice to detect recursive invocations, it also makes it 
2959         impossible to call getcaps from multiple threads, which must be
2960         possible. So, checking for recursive calls has to go.
2961
2962 2005-11-11  Michael Smith <msmith@fluendo.com>
2963
2964         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2965           Don't sync on buffers that fall partially outside our current
2966           segment. Prevents an assertion failure/abort playing some files.
2967
2968 2005-11-10  Andy Wingo  <wingo@pobox.com>
2969
2970         * check/gst/gstbin.c (test_message_state_changed_children): Style
2971         fix..
2972
2973         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2974         gst_bus_poll with the signal watch. Ensures that poll and a signal
2975         watch see the same messages.
2976
2977         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2978         a poll and a watch at the same time get the same messages.
2979
2980 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2981
2982         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2983         * gst/gstcaps.c: (gst_caps_intersect):
2984           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2985           and it's not needed.
2986
2987 2005-11-10  Wim Taymans  <wim@fluendo.com>
2988
2989         * docs/design/part-TODO.txt:
2990         Updated todo.
2991
2992 2005-11-10  Wim Taymans  <wim@fluendo.com>
2993
2994         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2995         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2996         (gst_base_src_do_sync), (gst_base_src_get_range):
2997         Implement clock sync in base class.
2998
2999 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3000
3001         patch by: Tim-Philipp Müller <tim at centricular dot net>
3002
3003         * gst/gststructure.c: (gst_structure_parse_field),
3004         (gst_structure_from_string):
3005           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3006           so that gst_parse_launch() can deal with spaces in filtered link
3007           caps (fixes #164479)
3008         * check/gst/capslist.h:
3009         * check/gst/gststructure.c: (GST_START_TEST):
3010           add unit tests for this change
3011
3012 2005-11-10  Wim Taymans  <wim@fluendo.com>
3013
3014         * docs/gst/gstreamer-sections.txt:
3015         * gst/gstelement.c:
3016         * gst/gstelement.h:
3017         Fix docs, move some STATE macros to private.
3018
3019 2005-11-10  Wim Taymans  <wim@fluendo.com>
3020
3021         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3022         Added check for bug #317341
3023
3024         * gst/gstbuffer.c:
3025         * gst/gstbuffer.h:
3026         Some more spiffifying.
3027
3028         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3029         Call peer linkfunction if we are a source pad. Totally fixes
3030         #317341
3031
3032         * gst/gstpad.c:
3033         Update docs, source pads should call the peer linkfunction
3034         so they can atomically perform the pad link.
3035
3036 2005-11-09  Wim Taymans  <wim@fluendo.com>
3037
3038         * gst/gstbuffer.c:
3039         * gst/gstbuffer.h:
3040         Uber-spiffy-spiffify some more.
3041
3042 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3043
3044         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3045         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3046         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3047         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3048         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3049         * gst/gstpad.c: (gst_pad_init):
3050           Use GST_DEBUG_FUNCPTR() more extensively.
3051
3052 2005-11-09  Wim Taymans  <wim@fluendo.com>
3053
3054         * gst/gstobject.c: (gst_object_class_init):
3055         * gst/gstobject.h:
3056         Documentation fixes.
3057
3058 2005-11-09  Edward Hervey  <edward@fluendo.com>
3059
3060         * gst/gsttypefindfactory.c:
3061         Fix docs.
3062         
3063 2005-11-09  Edward Hervey  <edward@fluendo.com>
3064
3065         * gst/base/gsttypefindhelper.c:
3066         * gst/gsttypefind.c:
3067         * gst/gsttypefind.h:
3068         Fix docs.
3069
3070 2005-11-09  Wim Taymans  <wim@fluendo.com>
3071
3072         * gst/gstiterator.c:
3073         Fix revision data.
3074
3075         * gst/gsttask.c:
3076         * gst/gsttask.h:
3077         Fix docs.
3078
3079 2005-11-09  Wim Taymans  <wim@fluendo.com>
3080
3081         * gst/gstevent.h:
3082         * gst/gsturi.h:
3083         Fix docs.
3084
3085 2005-11-09  Wim Taymans  <wim@fluendo.com>
3086
3087         * docs/gst/gstreamer-sections.txt:
3088         Moved the message async delivery private lock and cond
3089         to the private section.
3090
3091         * gst/gstmessage.c:
3092         * gst/gstmessage.h:
3093         Fixed docs.
3094
3095 2005-11-09  Edward Hervey  <edward@fluendo.com>
3096
3097         * docs/gst/gstreamer-sections.txt:
3098         * gst/gsturi.c:
3099         * gst/gsturi.h:
3100         Document GstURIHandler
3101
3102 2005-11-09  Wim Taymans  <wim@fluendo.com>
3103
3104         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3105         (gst_iterator_find_custom):
3106         * gst/gstiterator.h:
3107         Fix iterator docs.
3108
3109 2005-11-09  Wim Taymans  <wim@fluendo.com>
3110
3111         * gst/gstbin.h:
3112         Document another field.
3113
3114         * gst/gststructure.c:
3115         * gst/gststructure.h:
3116         Document.
3117
3118 2005-11-09  Wim Taymans  <wim@fluendo.com>
3119
3120         * gst/gstbin.h:
3121         Documented structs.
3122
3123 2005-11-09  Wim Taymans  <wim@fluendo.com>
3124
3125         * docs/gst/gstreamer-sections.txt:
3126         Added some new macros.
3127
3128         * gst/gstclock.c:
3129         * gst/gstclock.h:
3130         * gst/gstobject.h:
3131         Docs updates.
3132
3133 2005-11-09  Wim Taymans  <wim@fluendo.com>
3134
3135         * docs/design/part-TODO.txt:
3136         Some more items for the TODO
3137
3138         * gst/gstcaps.c:
3139         * gst/gstcaps.h:
3140         Document GstCaps.
3141
3142 2005-11-09  Andy Wingo  <wingo@pobox.com>
3143
3144         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3145         to work on something else now tho...
3146
3147         * gst/base/gstadapter.c: More adapter docs.
3148
3149         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3150         (gst_file_sink_stop): New functions, replace the state change
3151         handler.
3152         (gst_file_sink_class_init): Hook up the start and stop functions.
3153         (gst_file_sink_base_init): Don't set the state change handler any
3154         more. It was a bit ugly too, being set from here...
3155         (gst_file_sink_get_property, gst_file_sink_set_property):
3156         Cleanups...
3157         (gst_file_sink_set_location): More robust check that doesn't call
3158         GST_STATE. Ugggggg.
3159
3160 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3161
3162         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3163           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3164
3165 2005-11-08  Wim Taymans  <wim@fluendo.com>
3166
3167         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3168         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3169         (gst_base_sink_chain), (gst_base_sink_change_state):
3170         * gst/base/gstbasesink.h:
3171         * gst/base/gstbasesrc.h:
3172         * gst/gstelement.h:
3173         * gst/gstevent.h:
3174         Avoid excessive typechecking in macros.
3175
3176         * gst/gstminiobject.c: (gst_mini_object_get_type),
3177         (gst_mini_object_init), (gst_mini_object_new),
3178         (gst_mini_object_free):
3179         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3180         (gst_object_finalize):
3181         Remove cruft code, optimize alloc_trace.
3182
3183 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3184
3185         * docs/faq/gst-uninstalled:
3186           fix up PS1 for systems that try to reset it
3187
3188 2005-11-07  Wim Taymans  <wim@fluendo.com>
3189
3190         * gst/base/gstbasesrc.c: (gst_base_src_init),
3191         (gst_base_src_get_range):
3192         Set the segment_end to -1 initially. Fixed typefind.
3193
3194 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3195
3196         * gst/base/gstadapter.c:
3197           Debug category should be 'adapter', not 'GstAdapter'.
3198           
3199         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3200         (gst_collectpads_class_init), (gst_collectpads_init),
3201         (gst_collectpads_peek), (gst_collectpads_pop),
3202         (gst_collectpads_event), (gst_collectpads_chain):
3203           Add debug category and some debugging output. Use boilerplate
3204           macros. Remove some extraneous words from docs.
3205
3206 2005-11-05  Andy Wingo  <wingo@pobox.com>
3207
3208         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3209         macro.
3210
3211 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3212
3213         * docs/gst/gstreamer-sections.txt:
3214         * gst/gstcaps.h:
3215         * gst/gstinfo.c:
3216         * gst/gstminiobject.h:
3217         * gst/gstobject.h:
3218         * gst/gstutils.h:
3219           more docs added
3220
3221 2005-11-04  Wim Taymans  <wim@fluendo.com>
3222
3223         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3224         Small update to stop at the configured segment_end
3225         position.
3226
3227 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3228
3229         * gst/gstregistry.c:
3230         * gst/gstregistry.h:
3231           added missing docs
3232
3233 2005-11-04  Edward Hervey  <edward@fluendo.com>
3234
3235         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3236         Check if we are doing a segment seek and have arrived at the
3237         end of that segment.
3238
3239 2005-11-04  Wim Taymans  <wim@fluendo.com>
3240
3241         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3242         Don't leak a mutex unlock in case of an error.
3243
3244         * gst/gstbus.h:
3245         Doc fixes.
3246
3247 2005-11-04  Wim Taymans  <wim@fluendo.com>
3248
3249         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3250         (gst_bus_post):
3251         Get the context to wake up only once.
3252
3253 2005-11-03  Wim Taymans  <wim@fluendo.com>
3254
3255         * check/states/sinks.c: (GST_START_TEST):
3256         Uncomment fixed check.
3257
3258         * docs/design/part-TODO.txt:
3259         Updated TODO.
3260
3261         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3262         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3263         (gst_base_sink_get_position):
3264         If we are going to PLAYING, post the right pending state
3265         when we post the intermediate paused message.
3266
3267         * gst/gstelement.c: (gst_element_continue_state),
3268         (gst_element_set_state_func), (gst_element_change_state):
3269         Don't post state changes that were between the same state
3270         and were not ASYNC.
3271
3272 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3273
3274         * docs/gst/gstreamer-sections.txt:
3275         * gst/gstcaps.h:
3276         * gst/gstinfo.c:
3277         * gst/gstminiobject.h:
3278         * gst/gstobject.h:
3279         * gst/gstutils.h:
3280           more docs and doc style fixes
3281
3282 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3283
3284         * docs/gst/gstreamer-sections.txt:
3285         * gst/gstelement.c:
3286         * gst/gstminiobject.c:
3287         doc fixes
3288
3289 2005-11-03  Andy Wingo  <wingo@pobox.com>
3290
3291         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3292         state-changed messages actually have the right order and the right
3293         values.
3294
3295 2005-11-03  Wim Taymans  <wim@fluendo.com>
3296
3297         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3298         Added some more checks. Specifically the case where NO_PREROLL
3299         elements are in the pipeline.
3300
3301         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3302         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3303         (gst_base_sink_get_position):
3304         Post READY->PAUSED state change messages too.
3305         Fix bug where VOID was posted as pending state...
3306
3307         * gst/gstbin.c: (gst_bin_recalc_state):
3308         use _element_continue_state() to continue the state change.
3309
3310         * gst/gstelement.c: (gst_element_continue_state),
3311         (gst_element_commit_state), (gst_element_set_state_func),
3312         (gst_element_change_state), (gst_element_change_state_func):
3313         Lots of state change cleanups, assign the STATE_RETURN in
3314         a new continue_state() function that also propagates the
3315         last return value from a state change to the app.
3316         Update some debug statements with proper category.
3317
3318 2005-11-03  Wim Taymans  <wim@fluendo.com>
3319
3320         * docs/design/part-events.txt:
3321         * docs/design/part-gstpipeline.txt:
3322         * docs/design/part-messages.txt:
3323         * docs/design/part-overview.txt:
3324         * docs/design/part-seeking.txt:
3325         * docs/design/part-states.txt:
3326         * docs/design/part-trickmodes.txt:
3327         * docs/manual/advanced-position.xml:
3328         Small docs updates.
3329
3330         * gst/gstobject.h:
3331         People think !! is ugly, this looks better.
3332
3333         * gst/gstpad.c: (gst_pad_set_blocked_async):
3334         Remove !! since it's fixed elsewhere now.
3335
3336 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3337
3338         * gst/gstminiobject.h:
3339         * gst/gstobject.h:
3340           Add !! to _FLAG_IS_SET macros to make the result boolean.
3341
3342 2005-11-03  Edward Hervey  <edward@fluendo.com>
3343
3344         * gst/gstpad.c: (gst_pad_set_blocked_async):
3345         comparing a flag and a gboolean rarely returns coherent results...
3346         Added two characters (!!) to make that work correctly.
3347         
3348 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3349
3350         * gst/gstbus.c: (gst_bus_class_init):
3351           Fix some typos.
3352           
3353         * gst/gstqueue.c: (gst_queue_loop):
3354           Don't assume a miniobject that isn't a buffer is an
3355           event (it could be that there is a refcounting
3356           problem somewhere and the pointer is stale and
3357           refers to an already destroyed miniobject).
3358
3359 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3360
3361         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3362
3363 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3364
3365         * docs/manual/advanced-position.xml:
3366           Update seek example and explanations to current 0.9 API.
3367
3368         * gst/elements/gsttypefindelement.c:
3369         (gst_type_find_element_activate):
3370           Remove FIXME comment now that the found caps
3371           are unreffed.
3372
3373 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3374
3375         * gst/gstregistryxml.c: (load_feature):
3376           Add another GST_STR_NULL instance
3377
3378 2005-11-02  Edward Hervey  <edward@fluendo.com>
3379
3380         * gst/gstpad.c: (handle_pad_block):
3381         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3382         
3383 2005-11-02  Wim Taymans  <wim@fluendo.com>
3384
3385         * gst/gstbin.c:
3386         Fix typo in docs.
3387
3388         * gst/gstelement.c: (gst_element_commit_state):
3389         Remove unused value.
3390
3391         * gst/gstiterator.c:
3392         Mention that the returned element is reffed in the docs.
3393
3394 2005-11-02  Wim Taymans  <wim@fluendo.com>
3395
3396         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3397         (gst_pad_push), (gst_pad_push_event):
3398         Unlock blocked pads when they are flushed.
3399
3400 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3401
3402         * docs/README:
3403         * docs/gst/gstreamer-sections.txt:
3404         * gst/gstbin.c:
3405           doc updates
3406         * gst/gstregistry.c: (gst_registry_scan_path_level):
3407           fix for a nasty little missed situation where an installed plug-in
3408           which was in the cache did not get overridden by an uninstalled one
3409           which was earlier in the plugin path because the newly created plugin
3410           for the uninstalled one (not in the registry) didn't get its
3411           ->registered set to TRUE
3412
3413 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3414
3415         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3416         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3417         (gst_collectpads_is_active), (gst_collectpads_collect),
3418         (gst_collectpads_collect_range), (gst_collectpads_start),
3419         (gst_collectpads_stop), (gst_collectpads_peek),
3420         (gst_collectpads_pop), (gst_collectpads_available),
3421         (gst_collectpads_read), (gst_collectpads_flush):
3422           Guard public API with assertions.
3423         
3424         * gst/gstpad.c:
3425           Fix docs for gst_pad_set_link_function().
3426
3427 2005-11-02  Johan Dahlin  <johan@gnome.org>
3428
3429         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3430         Unref found_caps after we used it.
3431
3432 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3433
3434         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3435           Don't try to ref NULL.
3436
3437 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3438
3439         * win32/common/config.h.in:
3440           provide a GST_FUNCTION that just gives a string for now
3441
3442 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3443
3444         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3445         (gst_object_flags_get_type), (register_gst_bin_flags),
3446         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3447         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3448         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3449         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3450         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3451         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3452         (gst_clock_flags_get_type), (register_gst_state),
3453         (gst_state_get_type), (register_gst_state_change_return),
3454         (gst_state_change_return_get_type), (register_gst_state_change),
3455         (gst_state_change_get_type), (register_gst_element_flags),
3456         (gst_element_flags_get_type), (register_gst_core_error),
3457         (gst_core_error_get_type), (register_gst_library_error),
3458         (gst_library_error_get_type), (register_gst_resource_error),
3459         (gst_resource_error_get_type), (register_gst_stream_error),
3460         (gst_stream_error_get_type), (register_gst_event_type),
3461         (gst_event_type_get_type), (register_gst_seek_type),
3462         (gst_seek_type_get_type), (register_gst_seek_flags),
3463         (gst_seek_flags_get_type), (register_gst_format),
3464         (gst_format_get_type), (register_gst_index_certainty),
3465         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3466         (gst_index_entry_type_get_type),
3467         (register_gst_index_lookup_method),
3468         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3469         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3470         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3471         (gst_index_flags_get_type), (register_gst_debug_level),
3472         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3473         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3474         (gst_iterator_result_get_type), (register_gst_iterator_item),
3475         (gst_iterator_item_get_type), (register_gst_message_type),
3476         (gst_message_type_get_type), (register_gst_mini_object_flags),
3477         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3478         (gst_pad_link_return_get_type), (register_gst_flow_return),
3479         (gst_flow_return_get_type), (register_gst_activate_mode),
3480         (gst_activate_mode_get_type), (register_gst_pad_direction),
3481         (gst_pad_direction_get_type), (register_gst_pad_flags),
3482         (gst_pad_flags_get_type), (register_gst_pad_presence),
3483         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3484         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3485         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3486         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3487         (gst_plugin_flags_get_type), (register_gst_rank),
3488         (gst_rank_get_type), (register_gst_query_type),
3489         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3490         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3491         (gst_tag_flag_get_type), (register_gst_task_state),
3492         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3493         (gst_alloc_trace_flags_get_type),
3494         (register_gst_type_find_probability),
3495         (gst_type_find_probability_get_type), (register_gst_uri_type),
3496         (gst_uri_type_get_type), (register_gst_parse_error),
3497         (gst_parse_error_get_type):
3498         * win32/common/gstversion.h:
3499           update win32 copies
3500
3501 2005-11-01  Luca Ognibene  <luogni@tin.it>
3502
3503         * gst/gst.c:
3504           fix docs. popt is dead, long live GOption.
3505
3506 2005-10-31  Wim Taymans  <wim@fluendo.com>
3507
3508         * gst/gstbuffer.h:
3509         Small doc fix.
3510
3511 2005-10-31  Andy Wingo  <wingo@pobox.com>
3512
3513         * Boo!
3514
3515         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3516
3517         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3518         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3519         the possibility of deadlocks here if code calling notify() or
3520         set() has a lock that can be taken in another notify handler (ABBA
3521         with class lock and e.g. python GIL state lock).
3522
3523 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3524
3525         * gst/gstbus.c: Doc updates.
3526
3527 2005-10-28  Wim Taymans  <wim@fluendo.com>
3528
3529         * docs/design/part-TODO.txt:
3530         * gst/gstiterator.c:
3531         * gst/gstsystemclock.c:
3532         * gst/gstsystemclock.h:
3533         Doc updates.
3534
3535 2005-10-28  Edward Hervey  <edward@fluendo.com>
3536
3537         * docs/gst/gstreamer-docs.sgml:
3538         * docs/gst/gstreamer-sections.txt:
3539         the GstURIType documentation page is private, it only defines GstURIType
3540         which should be defined in the GstURIHandler page
3541         
3542 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3543
3544         * gst/gstbin.c: (gst_bin_class_init):
3545         * gst/gstbin.h:
3546         * gst/gstutils.c:
3547         Documentation updates.
3548
3549 2005-10-28  Wim Taymans  <wim@fluendo.com>
3550
3551         * docs/gst/gstreamer-sections.txt:
3552         * gst/gstclock.c:
3553         * gst/gstclock.h:
3554         Documented the clocks.
3555
3556 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3557
3558         * docs/gst/gstreamer-sections.txt:
3559           move some macros to private sections
3560         * gst/gstminiobject.c:
3561         * gst/gstminiobject.h:
3562           add descriptions provided by ds and some more
3563         * gst/gstpad.h:
3564           mark macro as to be removed
3565
3566 2005-10-28  Wim Taymans  <wim@fluendo.com>
3567
3568         * docs/design/part-TODO.txt:
3569         Add an item to TODO.
3570
3571         * gst/gstiterator.c: (gst_iterator_fold),
3572         (gst_iterator_find_custom):
3573         * gst/gstiterator.h:
3574         Add iterator docs.
3575
3576 2005-10-28  Wim Taymans  <wim@fluendo.com>
3577
3578         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3579         (gst_base_transform_init):
3580         Don't leak class.
3581
3582         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3583         An EOS event marks the queue as completely filled.
3584
3585 2005-10-27  Wim Taymans  <wim@fluendo.com>
3586
3587         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3588         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3589         Some more debugging.
3590
3591         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3592         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3593         (gst_base_transform_event), (gst_base_transform_getrange),
3594         (gst_base_transform_chain):
3595         * gst/base/gstbasetransform.h:
3596         Fix debugging,
3597         Protect transform and concurrent buffer alloc with a new lock.
3598         Try not to break ABI/API.
3599
3600 2005-10-27  Wim Taymans  <wim@fluendo.com>
3601
3602         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3603         (gst_base_src_init), (gst_base_src_query),
3604         (gst_base_src_default_newsegment),
3605         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3606         (gst_base_src_send_event), (gst_base_src_event_handler),
3607         (gst_base_src_pad_get_range), (gst_base_src_loop),
3608         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3609         (gst_base_src_start), (gst_base_src_deactivate),
3610         (gst_base_src_activate_push), (gst_base_src_change_state):
3611         Move some stuff around and cleanup things.
3612
3613 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3614
3615         * gst/base/gstbasesrc.c: (gst_base_src_query):
3616           Add missing break statements.
3617
3618 2005-10-27  Wim Taymans  <wim@fluendo.com>
3619
3620         * check/gst/gstbin.c: (GST_START_TEST):
3621         An extra refcount is taken in basesrc.
3622
3623         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3624         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3625         (gst_base_src_loop):
3626         Small cleanups, check for flushing after being unlocked from the 
3627         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3628         Don't send out EOS when going to READY.
3629
3630 2005-10-27  Wim Taymans  <wim@fluendo.com>
3631
3632         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3633         (gst_base_sink_get_position):
3634         Some more debug.
3635
3636         * gst/gstbin.c: (message_check), (bin_replace_message),
3637         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3638         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3639         (bin_query_duration_init), (bin_query_duration_fold),
3640         (bin_query_duration_done), (bin_query_generic_fold),
3641         (gst_bin_query):
3642         * tools/gst-launch.c: (main):
3643         Remove old option.
3644
3645 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3646
3647         * examples/controller/audio-example.c: (main):
3648         * examples/queue/queue.c: (event_loop):
3649         * gst/base/gstbasetransform.h:
3650         * gst/gstelement.c: (gst_element_send_event):
3651         * gst/gstevent.h:
3652         * gst/gstpad.c: (gst_pad_send_event):
3653           fixing examples
3654           fixing docs typos
3655           changing log priority in error situations
3656
3657 2005-10-25  Wim Taymans  <wim@fluendo.com>
3658
3659         * gst/gstbin.c: (message_check), (bin_replace_message),
3660         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3661         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3662         (bin_query_duration_init), (bin_query_duration_fold),
3663         (bin_query_duration_done), (bin_query_generic_fold),
3664         (gst_bin_query):
3665         Some doc and debug updates.
3666         Cache previously requested query DURATION for speed. invalidate
3667         cached duration if element posts a DURATION message.
3668
3669 2005-10-25  Wim Taymans  <wim@fluendo.com>
3670
3671         * docs/design/part-TODO.txt:
3672         Update TODO.
3673
3674         * gst/gstbin.c: (message_check), (bin_replace_message),
3675         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3676         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3677         (bin_query_duration_init), (bin_query_duration_fold),
3678         (bin_query_duration_done), (bin_query_generic_fold),
3679         (gst_bin_query):
3680         Handle SEGMENT_START/DONE messages correctly.
3681         More evolved query algorithm that handles duration queries
3682         correctly.
3683
3684         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3685         (gst_element_get_state_func), (gst_element_abort_state),
3686         (gst_element_commit_state), (gst_element_lost_state):
3687         Some more debugging.
3688
3689         * gst/gstmessage.h:
3690         Added doc.
3691
3692 2005-10-25  Wim Taymans  <wim@fluendo.com>
3693
3694         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3695         Don't use invalid stream_time.
3696
3697         * gst/gstevent.c: (gst_event_new_newsegment):
3698         stream_time in newsegment cannot be undefined.
3699
3700 2005-10-24  Wim Taymans  <wim@fluendo.com>
3701
3702         * gst/gstbus.c:
3703         Doc fix.
3704
3705         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3706         (gst_queue_loop):
3707         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3708
3709 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3710
3711         * docs/libs/tmpl/gstdparam.sgml:
3712         * docs/libs/tmpl/gstdplinint.sgml:
3713         * docs/libs/tmpl/gstdpman.sgml:
3714         * docs/libs/tmpl/gstdpsmooth.sgml:
3715         * docs/libs/tmpl/gstunitconvert.sgml:
3716           these are obsolete
3717
3718 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3719
3720         * configure.ac:
3721           back to HEAD
3722
3723 === release 0.9.4 ===
3724
3725 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3726
3727         * configure.ac:
3728           releasing 0.9.4, "Tyrannosaurus Rex"
3729
3730 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3731
3732         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3733         (gst_file_sink_get_current_offset):
3734           Use fseeko() and ftello() if available. When falling back on
3735           lseek() to get the current offset, fflush() first to make sure
3736           everything is up-to-date and we get the right offset.
3737
3738 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3739
3740         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3741         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3742         * gst/gsterror.c: (_gst_stream_errors_init):
3743         * gst/gsterror.h:
3744         * gst/gstqueue.c: (gst_queue_loop):
3745         * po/POTFILES.in:
3746           remove prematurely added error category and clean up the instances
3747
3748 2005-10-21  Wim Taymans  <wim@fluendo.com>
3749
3750         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3751         (gst_base_sink_get_position), (gst_base_sink_query),
3752         (gst_base_sink_change_state):
3753         Simply set the right flag when going to playing, that's all
3754         we need to do instead of calling a function inside the object
3755         lock (that could take the lock as well and deadlock)
3756
3757 2005-10-21  Wim Taymans  <wim@fluendo.com>
3758
3759         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3760         (gst_base_src_loop):
3761         Don't warn, the peer element knows what to do best when
3762         the seek failed, it might try something else.
3763
3764 2005-10-21  Wim Taymans  <wim@fluendo.com>
3765
3766         * gst/base/gstbasesrc.c: (gst_base_src_init),
3767         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3768         Fix seeking.
3769
3770 2005-10-21  Wim Taymans  <wim@fluendo.com>
3771
3772         * docs/design/part-segments.txt:
3773         More docs.
3774
3775         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3776         Correctly set caps, even on the subbufer.
3777
3778 2005-10-21  Wim Taymans  <wim@fluendo.com>
3779
3780         * docs/gst/gstreamer-docs.sgml:
3781         * docs/gst/gstreamer-sections.txt:
3782         * gst/gstelement.h:
3783         * gst/gstevent.c:
3784         * gst/gstevent.h:
3785         * gst/gstmessage.h:
3786         * gst/gstpad.h:
3787         * gst/gstparse.h:
3788         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3789         * gst/gsttask.h:
3790         * gst/gstutils.c:
3791         * gst/gstutils.h:
3792         And 2% more doc coverage.
3793
3794 2005-10-21  Andy Wingo  <wingo@pobox.com>
3795
3796         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3797         position reporting.
3798
3799 2005-10-20  Wim Taymans  <wim@fluendo.com>
3800
3801         * gst/gsterror.c: (gst_error_get_message):
3802         * gst/gstparse.h:
3803         * gst/gstquery.h:
3804         * gst/gststructure.c:
3805         * gst/gsttrace.c:
3806         * gst/gstutils.c:
3807         More docs.
3808
3809 2005-10-20  Wim Taymans  <wim@fluendo.com>
3810
3811         * gst/gstbuffer.h:
3812         * gst/gstpad.c:
3813         * gst/gstparse.c:
3814         Another 1% more coverage.
3815
3816 2005-10-20  Wim Taymans  <wim@fluendo.com>
3817
3818         * docs/gst/gstreamer-sections.txt:
3819         * gst/gstelement.c: (gst_element_get_state_func),
3820         (gst_element_abort_state), (gst_element_commit_state),
3821         (gst_element_lost_state):
3822         * gst/gstevent.h:
3823         * gst/gstquery.c: (gst_query_set_position),
3824         (gst_query_parse_position), (gst_query_set_duration),
3825         (gst_query_parse_duration), (gst_query_new_convert):
3826         * gst/gstutils.c:
3827         Yay! 1% more docs coverage.
3828
3829 2005-10-20  Wim Taymans  <wim@fluendo.com>
3830
3831         * gst/gstpad.h:
3832         * gst/gstquery.c: (gst_query_set_position),
3833         (gst_query_parse_position), (gst_query_set_duration),
3834         (gst_query_parse_duration), (gst_query_new_convert):
3835         * gst/gstquery.h:
3836         * gst/gstutils.c: (gst_element_query_convert):
3837         * gst/gstutils.h:
3838         Docs and consistency fixes.
3839
3840 2005-10-20  Wim Taymans  <wim@fluendo.com>
3841
3842         * gst/gsttask.c:
3843         * gst/gsttask.h:
3844         More docs.
3845
3846 2005-10-20  Wim Taymans  <wim@fluendo.com>
3847
3848         * gst/gstbin.c: (message_check), (bin_replace_message),
3849         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3850         (update_degree), (gst_bin_sort_iterator_next),
3851         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3852         Reworked the message handling a bit, cache the messages instead of
3853         only the senders. alows us to do more in the future.
3854
3855 2005-10-20  Wim Taymans  <wim@fluendo.com>
3856
3857         * docs/design/part-TODO.txt:
3858         Update TODO
3859
3860         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3861         (gst_base_sink_query):
3862         Don't use clock time to report position when in EOS.
3863
3864 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3865
3866         * tools/gst-inspect.c: (print_interfaces),
3867         (print_element_properties_info), (print_element_info):
3868           Fix interface output with gst-inspect -a; don't print
3869           newlines after double/float properties.
3870
3871 2005-10-20  Wim Taymans  <wim@fluendo.com>
3872
3873         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3874         (gst_base_sink_query):
3875         Speed up current position calculation.
3876
3877         * gst/base/gstbasesrc.c: (gst_base_src_query),
3878         (gst_base_src_default_newsegment):
3879         Correctly set stream position in newsegment.
3880
3881         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3882         (update_degree), (gst_bin_sort_iterator_next),
3883         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3884         * gst/gstmessage.c: (gst_message_new_custom):
3885         Clean up debugging info
3886
3887         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3888         (gst_queue_loop), (gst_queue_handle_src_query):
3889         Pause task faster.
3890
3891 2005-10-19  Wim Taymans  <wim@fluendo.com>
3892
3893         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3894         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3895         Fix query handling again.
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         * gst/base/gstbasesrc.c: (gst_base_src_query):
3902         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3903         * gst/elements/gsttypefindelement.c:
3904         (gst_type_find_handle_src_query), (find_element_get_length),
3905         (gst_type_find_element_activate):
3906         API change fix.
3907
3908         * gst/gstquery.c: (gst_query_new_position),
3909         (gst_query_set_position), (gst_query_parse_position),
3910         (gst_query_new_duration), (gst_query_set_duration),
3911         (gst_query_parse_duration), (gst_query_set_segment),
3912         (gst_query_parse_segment):
3913         * gst/gstquery.h:
3914         Bundling query position/duration is not a good idea since duration
3915         does not change much and we don't want to recalculate it for every
3916         position query, so they are separated again..
3917         Base value in segment query is not needed.
3918
3919         * gst/gstqueue.c: (gst_queue_handle_src_query):
3920         * gst/gstutils.c: (gst_element_query_position),
3921         (gst_element_query_duration), (gst_pad_query_position),
3922         (gst_pad_query_duration):
3923         * gst/gstutils.h:
3924         Updates for query API change.
3925         Added some docs here and there.
3926
3927 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3928
3929         * check/gst/gstbin.c: (GST_START_TEST):
3930         * check/gst/gstghostpad.c: (GST_START_TEST):
3931         * check/pipelines/cleanup.c: (GST_START_TEST):
3932           wait on thread to die so we can check refcount correctly
3933
3934 2005-10-18  Wim Taymans  <wim@fluendo.com>
3935
3936         * check/pipelines/stress.c: (GST_START_TEST):
3937         Make check a little more time consuming.
3938
3939 2005-10-18  Wim Taymans  <wim@fluendo.com>
3940
3941         * check/Makefile.am:
3942         * check/pipelines/stress.c: (GST_START_TEST),
3943         (simple_launch_lines_suite), (main):
3944         Small state change torture test.
3945
3946         * docs/design/part-states.txt:
3947         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3948         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3949         (gst_base_sink_change_state):
3950         Never take state lock from streaming thread, clean up ugly
3951         hacks. Unfortunatly core does not yet support nice ways to
3952         async commit state.
3953         
3954         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3955         (bin_bus_handler):
3956         Start state recalc if a STATE_DIRTY message is posted, but only
3957         on the toplevel bin.
3958
3959         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3960         (gst_element_get_state_func), (gst_element_abort_state),
3961         (gst_element_commit_state), (gst_element_lost_state),
3962         (gst_element_set_state_func), (gst_element_change_state):
3963         * gst/gstelement.h:
3964         State variables are now protected with the LOCK, the state
3965         lock is only used to serialize _set_state().
3966
3967 2005-10-18  Wim Taymans  <wim@fluendo.com>
3968
3969         * check/gst/gstbin.c: (GST_START_TEST):
3970         * check/gst/gstmessage.c: (GST_START_TEST):
3971         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3972         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3973         (bin_bus_handler):
3974         * gst/gstelement.c: (gst_element_abort_state),
3975         (gst_element_commit_state), (gst_element_lost_state):
3976         * gst/gstmessage.c: (gst_message_new_state_changed),
3977         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3978         (gst_message_new_segment_done), (gst_message_new_duration),
3979         (gst_message_parse_state_changed),
3980         (gst_message_parse_segment_start),
3981         (gst_message_parse_segment_done), (gst_message_parse_duration):
3982         * gst/gstmessage.h:
3983         * tools/gst-launch.c: (event_loop):
3984         Seriously, this is better than a previous commit as we only need
3985         to notify the fact that an element changed state in a streaming
3986         thread, marking the state of the parents dirty, hence the 
3987         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3988         message.
3989
3990 2005-10-18  Wim Taymans  <wim@fluendo.com>
3991
3992         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3993         (gst_bin_recalc_func):
3994         * gst/gstelement.c: (gst_element_set_clock),
3995         (gst_element_abort_state), (gst_element_lost_state):
3996         Cleanups, prepare for state change fixes.
3997
3998 2005-10-18  Wim Taymans  <wim@fluendo.com>
3999
4000         * gst/gstbin.h:
4001         * gst/gstelement.c: (gst_element_class_init),
4002         (gst_element_set_state), (gst_element_set_state_func):
4003         * gst/gstelement.h:
4004         Pending ABI changes.
4005         GThreadPool in GstBinClass to monitor async state changes.
4006         state_cookie in GstElement to detect concurrent gst/set state.
4007         set_state is now virtual too in case a very complicated element
4008         has to be constructed.
4009
4010 2005-10-18  Wim Taymans  <wim@fluendo.com>
4011
4012         * check/gst/gstbin.c: (GST_START_TEST):
4013         * check/gst/gstmessage.c: (GST_START_TEST):
4014         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4015         * gst/gstbin.c: (bin_bus_handler):
4016         * gst/gstelement.c: (gst_element_commit_state),
4017         (gst_element_lost_state):
4018         * gst/gstmessage.c: (gst_message_new_state_changed),
4019         (gst_message_new_segment_start), (gst_message_new_segment_done),
4020         (gst_message_new_duration), (gst_message_parse_state_changed),
4021         (gst_message_parse_segment_start),
4022         (gst_message_parse_segment_done), (gst_message_parse_duration):
4023         * gst/gstmessage.h:
4024         * tools/gst-launch.c: (event_loop):
4025         Make messages future proof.
4026         state-change gets a flag if it was a message comming from the
4027         streaming thread.
4028         segment-start/stop can also be specified in other formats.
4029         A message to notify an app that a pipeline changed playback 
4030         duration.
4031         Also fix a GstMessage leak in -launch
4032
4033 2005-10-18  Andy Wingo  <wingo@pobox.com>
4034
4035         * gst/gstelement.c (gst_element_dispose): More helpful message.
4036
4037 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4038
4039         reviewed by: <delete if not using a buddy>
4040
4041         * common/gtk-doc.mak:
4042
4043 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4044
4045         * gst/gstregistry.c: (gst_registry_scan_path_level):
4046           unref a plug-in we get that was already initialized
4047
4048 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4049
4050         * docs/gst/gstreamer-sections.txt:
4051         * docs/libs/gstreamer-libs-sections.txt:
4052         * gst/gstelement.h:
4053           add new api entries
4054           hide internal macro
4055
4056 2005-10-17  Andy Wingo  <wingo@pobox.com>
4057
4058         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4059         cleanup.
4060
4061         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4062
4063         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4064
4065         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4066         (gst_element_get_state_func): Better debug message.
4067         (gst_element_commit_state): s/INFO/DEBUG/.
4068         (gst_element_lost_state, gst_element_change_state): 
4069
4070         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4071         (gst_message_new_custom): s/INFO/LOG/.
4072
4073 2005-10-17  Michael Smith <msmith@fluendo.com>
4074
4075         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4076           Check if end time is valid using end time, not start time.
4077
4078 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4079
4080         * check/gst-libs/controller.c: (GST_START_TEST),
4081         (gst_controller_suite):
4082         * libs/gst/controller/gstcontroller.c:
4083         (gst_controlled_property_set_interpolation_mode):
4084         * libs/gst/controller/gstcontroller.h:
4085         * libs/gst/controller/gstinterpolation.c:
4086         * testsuite/controller/.cvsignore:
4087         * testsuite/controller/Makefile.am:
4088         * testsuite/controller/interpolator.c:
4089           merge controller testsuites
4090           fix broken tests
4091           remove mem-chunk from docs
4092
4093 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4094
4095         * gst/gstmemchunk.c:
4096         * gst/gstmemchunk.h:
4097         * gst/gsttrashstack.c:
4098         * gst/gsttrashstack.h:
4099           out.  get out.  you're fired.  to the Attic !
4100
4101 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4102
4103         * gst/gstcaps.c: (gst_caps_intersect):
4104           fix signedness issues in a (hopefully) correct way
4105         * gst/gstelement.c: (gst_element_pads_activate):
4106           some debugging
4107         * gst/gstobject.c: (gst_object_set_parent):
4108           some debugging
4109
4110 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4111
4112         * gst/gstvalue.h: Fix prototypes.
4113
4114 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4115
4116         * docs/gst/gstreamer-sections.txt:
4117         * gst/gst.c: (gst_version_string):
4118         * gst/gst.h:
4119         * gst/gstversion.h.in:
4120         * win32/common/libgstreamer.def:
4121           add gst_version_string ()
4122
4123 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4124
4125         * configure.ac:
4126           clean up further
4127         * gst/gst.c: (init_post):
4128         * win32/common/config.h.in:
4129           it's PLUGINDIR now
4130         * gst/gstcaps.c: (gst_caps_intersect):
4131           use gint64, the range could be bigger than a guint
4132
4133 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4134
4135         * gst/gstclock.h:
4136           document potential problem in 2038
4137
4138 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4139
4140         * gst/gstcaps.c: (gst_caps_intersect):
4141           Fix guint j diving under 0
4142
4143 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4144
4145         * configure.ac:
4146         * win32/common/config.h:
4147         * win32/common/config.h.in:
4148           check for process.h, declares getpid() on Windows
4149         * gst/gstinfo.c:
4150           include process.h if we have it
4151         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4152         * gst/gstmemchunk.h:
4153           fix signedness issues
4154         * win32/common/libgstreamer.def:
4155           fix get_type's
4156
4157 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4158
4159         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4160         fix. Because of unsigned ints, caps intersection was going nuts and
4161         trying to access structures with G_MAXUINT index. That fixes
4162         videotestsrc ! ffmpegcolorspace ! fakesink
4163         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4164         consistency.
4165
4166 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4167
4168         * configure.ac:
4169           use the gettext macro
4170         * gst/elements/gstelements.c:
4171         * gst/gst.c:
4172         * gst/indexers/gstindexers.c:
4173           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4174         * win32/common/config.h:
4175           updated config.h
4176         * win32/common/config.h.in:
4177           add the template to generate config.h
4178         * win32/common/gstenumtypes.c:
4179         * win32/common/gstversion.h:
4180           updated copies
4181
4182 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4183
4184         * gst/gst.c: (gst_version):
4185         * gst/gstversion.h.in:
4186           add the nano
4187
4188 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4189
4190         * gst/gstevent.h:
4191           Oops, add missing closing bracket.
4192
4193 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4194
4195         * configure.ac:
4196           use common m4's for argument checking
4197
4198 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4199
4200         * docs/gst/gstreamer-sections.txt:
4201         * gst/gstevent.h:
4202           Add GST_EVENT_TYPE_NAME() macro.
4203
4204 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4205
4206         * gst/gstinfo.c:
4207         * gst/gstpluginfeature.c:
4208         * gst/gsttask.c:
4209           privatize more symbols
4210
4211 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4212
4213         * configure.ac:
4214           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4215           everything that uses GStreamer API should have the includes
4216
4217 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4218
4219         * docs/gst/gstreamer-sections.txt:
4220         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4221         * gst/gstvalue.h:
4222           give each value a _get_type, removes the DATA exports
4223
4224 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4225
4226         * gst/gst.c:
4227         * gst/gst.h:
4228           remove _gst_registry_auto_load, not used anymore
4229         * gst/gstbin.c: (gst_bin_get_type):
4230         * gst/gstbin.h:
4231         * gst/gstelement.c: (gst_element_get_type):
4232         * gst/gstelement.h:
4233         * gst/gstobject.c: (gst_object_get_type):
4234         * gst/gstobject.h:
4235         * gst/gstpad.c: (gst_pad_get_type):
4236         * gst/gstpad.h:
4237           make _get_type functions similar, fixes data export from library
4238
4239 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4240
4241         * configure.ac:
4242           correctly make conditionals
4243         * gst/elements/Makefile.am:
4244         * gst/elements/gstelements.c:
4245           fix typo causing fdsrc not to build
4246
4247 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4248
4249         * testsuite/Makefile.am:
4250         * testsuite/bytestream/.cvsignore:
4251         * testsuite/bytestream/Makefile.am:
4252         * testsuite/bytestream/filepadsink.c:
4253         * testsuite/bytestream/gstbstest.c:
4254         * testsuite/bytestream/test1.c:
4255         * testsuite/bytestream/testfile1:
4256         * testsuite/caps/normalisation.c:
4257         * testsuite/caps/random.c: (main):
4258         * testsuite/cleanup/.cvsignore:
4259         * testsuite/cleanup/Makefile.am:
4260         * testsuite/cleanup/cleanup1.c:
4261         * testsuite/cleanup/cleanup2.c:
4262         * testsuite/cleanup/cleanup3.c:
4263         * testsuite/cleanup/cleanup4.c:
4264         * testsuite/cleanup/cleanup5.c:
4265         * testsuite/controller/interpolator.c:
4266         * testsuite/debug/printf_extension.c: (main):
4267         * testsuite/elements/tee.c:
4268         * testsuite/negotiation/.cvsignore:
4269         * testsuite/negotiation/Makefile.am:
4270         * testsuite/negotiation/pad_link.c:
4271         * testsuite/pad/Makefile.am:
4272         * testsuite/pad/chainnopull.c:
4273         * testsuite/pad/getnopush.c:
4274         * testsuite/pad/link.c:
4275         * testsuite/refcounting/sched.c: (create_pipeline):
4276         * testsuite/registry/Makefile.am:
4277         * testsuite/registry/gst-print-formats.c:
4278         * testsuite/schedulers/.cvsignore:
4279         * testsuite/schedulers/142183-2.c:
4280         * testsuite/schedulers/142183.c:
4281         * testsuite/schedulers/143777-2.c:
4282         * testsuite/schedulers/143777.c:
4283         * testsuite/schedulers/147713.c:
4284         * testsuite/schedulers/147819.c:
4285         * testsuite/schedulers/147894-2.c:
4286         * testsuite/schedulers/147894.c:
4287         * testsuite/schedulers/Makefile.am:
4288         * testsuite/schedulers/group_link.c:
4289         * testsuite/schedulers/queue_link.c:
4290         * testsuite/schedulers/relink.c:
4291         * testsuite/schedulers/unlink.c:
4292         * testsuite/schedulers/unref.c:
4293         * testsuite/schedulers/useless_iteration.c:
4294         * testsuite/states/bin.c:
4295           clean out/remove some stuff from the testsuite directories
4296
4297 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4298
4299         * configure.ac:
4300           check for some headers
4301         * gst/elements/Makefile.am:
4302         * gst/elements/gstelements.c:
4303           don't compile fdsrc without sys/socket.h
4304         * gst/indexers/Makefile.am:
4305         * gst/indexers/gstindexers.c: (plugin_init):
4306           don't compile fileindex without mmap
4307
4308 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4309
4310         * configure.ac:
4311           reorganize
4312           clean up
4313           document more
4314           remove cruft
4315         * check/Makefile.am:
4316         * docs/gst/Makefile.am:
4317         * examples/helloworld/Makefile.am:
4318         * gst/Makefile.am:
4319         * gst/base/Makefile.am:
4320         * gst/check/Makefile.am:
4321         * gst/elements/Makefile.am:
4322         * gst/indexers/Makefile.am:
4323         * gst/parse/Makefile.am:
4324         * libs/gst/controller/Makefile.am:
4325         * libs/gst/dataprotocol/Makefile.am:
4326         * examples/helloworld/helloworld.c: (event_loop):
4327           compile fixes, though it's not being compiled currently
4328
4329 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4330
4331         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4332           Add some simple tests for the new taglist date API.
4333
4334 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4335
4336         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4337         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4338           Beautify 'last-message' output: print 'none' for buffer timestamps
4339           and durations if none is set; improve alignment with next messages.
4340
4341 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4342
4343         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4344         * gst/gstpluginfeature.h:
4345         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4346         * gst/gstregistry.h:
4347         * docs/gst/gstreamer-sections.txt:
4348           Add new API to check plugin feature version requirements.
4349
4350         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4351           Some basic tests for the above.         
4352
4353 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4354
4355         * gst/gststructure.c: (gst_structure_to_string):
4356           guard against NULL printf - happens when for example
4357           a message structure with GstClock gets serialized
4358
4359 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4360
4361         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4362           Fix presumable copy'n'pasto.
4363
4364 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4365
4366         * gst/elements/gstfakesrc.h:
4367         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4368         * gst/elements/gsttypefindelement.c:
4369           fix some signedness
4370         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4371           I wonder if this could actually write +2GB files before
4372
4373 2005-10-13  Andy Wingo  <wingo@pobox.com>
4374
4375         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4376         Fix Timmeke Waymans bug.
4377         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4378         string of the proper length to gst_caps_from_string. There's a
4379         potential for, before this fix, that this could cause someone
4380         connecting over the network to cause a segfault if the payload is
4381         not NUL-terminated.
4382
4383 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4384
4385         * docs/design/draft-push-pull.txt:
4386         * docs/design/part-overview.txt:
4387         * docs/random/TODO-pre-0.9:
4388         * docs/random/old/ChangeLog.gstreamer:
4389         * gst/base/gstpushsrc.c:
4390         * gst/gstclock.c:
4391           fixed typos
4392
4393 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4394
4395         * gst/glib-compat.c: (gst_flags_get_first_value):
4396         * gst/glib-compat.h:
4397         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4398         (gst_value_compare_double), (gst_value_serialize_flags):
4399           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4400           infinite loop
4401
4402 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4403
4404         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4405         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4406           fix up debugging
4407         * tools/gst-launch.c: (event_loop):
4408           print out clock nicely
4409
4410 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4411
4412         * docs/gst/gstreamer-sections.txt:
4413         * gst/gsttaglist.h:
4414         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4415         (gst_tag_list_get_date_index):
4416           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4417           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4418
4419 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4420
4421         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4422         (gst_collectpads_chain):
4423         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4424         in CollectData.
4425
4426 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4427
4428         * docs/gst/gstreamer-sections.txt:
4429         * gst/gst.c:
4430         * gst/gsterror.h:
4431         * tools/gst-inspect.c: (main):
4432         * tools/gst-launch.c: (main):
4433         * tools/gst-run.c: (main):
4434         * tools/gst-xmlinspect.c: (main):
4435           fix GOption context leaks
4436           doc fixes
4437
4438 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4439
4440         * gst/gstbus.c:
4441           use HAVE_UNISTD_H
4442         * win32/common/config.h:
4443           update config
4444         * win32/vs6/grammar.dsp:
4445         * win32/vs6/libgstelements.dsp:
4446         * win32/vs6/libgstreamer.dsp:
4447           update vs6 files
4448
4449 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4450
4451         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4452         * gst/base/gstbasesrc.c: (gst_base_src_query):
4453           fix more guint64<->gdouble conversions
4454
4455 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4456
4457         * Makefile.am:
4458           add win32-update target
4459         * win32/common/gstconfig.h:
4460         * win32/common/gstenumtypes.c:
4461         * win32/common/gstenumtypes.h:
4462         * win32/common/gstversion.h:
4463           add files that visual studio can't generate
4464
4465 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4466
4467         * Makefile.am:
4468           add a win32-update target
4469         * configure.ac:
4470
4471 2005-10-12  Wim Taymans  <wim@fluendo.com>
4472
4473         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4474         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4475         * gst/gstelement.c: (gst_element_commit_state),
4476         (gst_element_set_state):
4477         Protect flags with proper lock.
4478         unref provided cached clock in dispose.
4479
4480 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4481
4482         * gst/gst.c:
4483         * gst/gstminiobject.h:
4484         * gst/gstpad.h:
4485         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4486           removed unused flags from miniobject
4487           doc fixes
4488
4489 2005-10-12  Wim Taymans  <wim@fluendo.com>
4490
4491         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4492         (gst_file_sink_event), (gst_file_sink_render):
4493         Flush before seeking.
4494
4495 2005-10-12  Andy Wingo  <wingo@pobox.com>
4496
4497         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4498         always been the case.
4499
4500 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4501
4502         * check/gst/gstbin.c: (GST_START_TEST):
4503         * docs/gst/gstreamer-sections.txt:
4504         * gst/base/gstbasesink.c: (gst_base_sink_init):
4505         * gst/base/gstbasesrc.c: (gst_base_src_init),
4506         (gst_base_src_get_range), (gst_base_src_check_get_range),
4507         (gst_base_src_start), (gst_base_src_stop):
4508         * gst/base/gstbasesrc.h:
4509         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4510         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4511         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4512         (bin_bus_handler):
4513         * gst/gstbin.h:
4514         * gst/gstbuffer.h:
4515         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4516         * gst/gstbus.h:
4517         * gst/gstelement.c: (gst_element_is_locked_state),
4518         (gst_element_set_locked_state), (gst_element_commit_state),
4519         (gst_element_set_state):
4520         * gst/gstelement.h:
4521         * gst/gstindex.c: (gst_index_init):
4522         * gst/gstindex.h:
4523         * gst/gstminiobject.h:
4524         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4525         (gst_object_set_parent):
4526         * gst/gstobject.h:
4527         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4528         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4529         * gst/gstpad.h:
4530         * gst/gstpadtemplate.h:
4531         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4532         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4533         * gst/gstpipeline.h:
4534         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4535         (gst_file_index_commit):
4536         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4537         * testsuite/pad/link.c: (gst_test_src_init),
4538         (gst_test_filter_init), (gst_test_sink_init):
4539         * testsuite/states/locked.c: (main):
4540           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4541           moved bitshift from macro to enum definition
4542
4543 2005-10-12  Wim Taymans  <wim@fluendo.com>
4544
4545         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4546         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4547         (gst_file_sink_render):
4548         Some more debugging info.
4549
4550 2005-10-12  Wim Taymans  <wim@fluendo.com>
4551
4552         * docs/design/part-states.txt:
4553         * tools/gst-launch.c: (main):
4554         Some doc updates.
4555         Revert non-intentional change.
4556
4557 2005-10-12  Wim Taymans  <wim@fluendo.com>
4558
4559         * check/gst/gstbin.c: (GST_START_TEST):
4560         * check/gst/gstelement.c: (GST_START_TEST):
4561         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4562         * check/gst/gstghostpad.c: (GST_START_TEST):
4563         * check/gst/gstpipeline.c: (GST_START_TEST):
4564         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4565         * check/states/sinks.c: (GST_START_TEST):
4566         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4567         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4568         (gst_bin_remove_func), (gst_bin_get_state_func),
4569         (gst_bin_recalc_state), (gst_bin_change_state_func),
4570         (bin_bus_handler):
4571         * gst/gstelement.c: (gst_element_get_state_func),
4572         (gst_element_get_state), (gst_element_abort_state),
4573         (gst_element_commit_state), (gst_element_set_state),
4574         (gst_element_change_state), (gst_element_change_state_func):
4575         * gst/gstelement.h:
4576         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4577         (gst_pipeline_provide_clock_func):
4578         * gst/gstutils.c: (gst_element_link_pads_filtered):
4579         * tools/gst-launch.c: (main):
4580         * tools/gst-typefind.c: (main):
4581         Use GstClockTime in _get_state() instead of GTimeVal.
4582         Remove old code in gstutils.c
4583
4584 2005-10-12  Andy Wingo  <wingo@pobox.com>
4585
4586         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4587         removed.
4588
4589         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4590         there is no task. Shouldn't affect any code, as nothing in our
4591         plugins checks this return value.
4592         (gst_pad_stop_task): Also take the stream lock if the pad has no
4593         task. Docs updated.
4594
4595 2005-10-12  Wim Taymans  <wim@fluendo.com>
4596
4597         * gst/gstpad.c: (pre_activate), (post_activate),
4598         (gst_pad_activate_pull), (gst_pad_activate_push):
4599         Cleanup activation code. Reset old state if
4600         activation failed.
4601
4602 2005-10-12  Wim Taymans  <wim@fluendo.com>
4603
4604         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4605         (gst_base_sink_change_state):
4606         No need to prerol after receiving EOS.
4607
4608         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4609         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4610         * gst/elements/gstidentity.c: (gst_identity_event):
4611         Print events more verbosely.
4612
4613 2005-10-12  Wim Taymans  <wim@fluendo.com>
4614
4615         * check/Makefile.am:
4616         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4617         * check/states/sinks2.c:
4618         Moved sinks2 testcode in sinks check.
4619
4620         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4621         (gst_bin_remove_func), (gst_bin_recalc_state),
4622         (gst_bin_change_state_func), (bin_bus_handler):
4623         Fix potential race condition when _get_state() iterated over an
4624         ASYNC element right before it posted a state completion.
4625
4626         * gst/gstclock.h:
4627         Do proper cast here.
4628
4629         * gst/gstevent.c: (gst_event_new_newsegment),
4630         (gst_event_parse_newsegment):
4631         A playback rate of 0.0 is not allowed.
4632
4633 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4634
4635         * win32/common/config.h:
4636         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4637         (_trewinddir), (_ttelldir), (_tseekdir):
4638         * win32/common/dirent.h:
4639         * win32/common/gtchar.h:
4640         * win32/common/libgstbase.def:
4641         * win32/common/libgstreamer.def:
4642         * win32/vs6/grammar.dsp:
4643         * win32/vs6/gst_inspect.dsp:
4644         * win32/vs6/gst_launch.dsp:
4645         * win32/vs6/gstreamer.dsw:
4646         * win32/vs6/libgstbase.dsp:
4647         * win32/vs6/libgstelements.dsp:
4648         * win32/vs6/libgstreamer.dsp:
4649           Visual Studio 6 project files, and a new common directory.
4650           Phear.
4651
4652 2005-10-11  Wim Taymans  <wim@fluendo.com>
4653
4654         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4655         (gst_base_sink_do_sync), (gst_base_sink_query),
4656         (gst_base_sink_change_state):
4657         * gst/base/gstbasesink.h:
4658         Correctly parse newsegment info.
4659
4660 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4661
4662         * gst/gst.c: (init_post):
4663           split plugin paths correctly
4664
4665 2005-10-11  Wim Taymans  <wim@fluendo.com>
4666
4667         * check/gst/gstevent.c: (GST_START_TEST):
4668         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4669         (gst_base_sink_change_state):
4670         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4671         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4672         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4673         * gst/gstevent.c: (gst_event_new_newsegment),
4674         (gst_event_parse_newsegment):
4675         * gst/gstevent.h:
4676         Added extra flag to newsegment for future API freeze.
4677         Updated check and base elements.
4678
4679 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4680
4681         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4682         (gst_collectpads_add_pad), (gst_collectpads_pop),
4683         (gst_collectpads_event), (gst_collectpads_chain):
4684         * gst/base/gstcollectpads.h: Handle EOS correctly.
4685
4686 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4687
4688         * tools/gst-launch.c: (main):
4689           more null protecting
4690
4691 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4692
4693         * gst/gst-i18n-lib.h:
4694           check for ENABLE_NLS, not GETTEXT_PACKAGE
4695         * gst/gstregistry.c: (gst_registry_add_plugin),
4696         (gst_registry_scan_path_level),
4697         (_gst_registry_remove_cache_plugins):
4698           protect possibly NULL strings
4699         * gst/parse/types.h:
4700           config.h already included before
4701         * tools/gst-inspect.c: (main):
4702           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4703           check for ENABLE_NLS, not GETTEXT_PACKAGE
4704         * tools/gst-launch.c: (main):
4705           check for ENABLE_NLS, not GETTEXT_PACKAGE
4706
4707 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4708
4709         * configure.ac:
4710           if we don't have glib, fail before testing 2.8
4711         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4712           fix a leak, should fix plugins-base testsuite
4713
4714 2005-10-11  Andy Wingo  <wingo@pobox.com>
4715
4716         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4717         take the mode we're going to as an arg. Go head and set the mode
4718         and flushing flags now, so that if the activate function starts a
4719         thread all the flags will be in the right state.
4720         (post_activate): Renamed also. Just handle making sure streaming
4721         finishes for the deactivation case, and setting the deactivated
4722         mode.
4723         (gst_pad_set_active): Complain loudly if deactivation fails.
4724         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4725         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4726         remove the terrible hack.
4727
4728 2005-10-11  Wim Taymans  <wim@fluendo.com>
4729
4730         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4731         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4732         (gst_bin_recalc_state), (gst_bin_change_state_func),
4733         (gst_bin_dispose), (bin_bus_handler):
4734         * gst/gstbin.h:
4735         Prepare to make current EOS message queue more generic.
4736         Fix some typos.
4737
4738         * gst/gstevent.c: (gst_event_new_newsegment),
4739         (gst_event_parse_newsegment):
4740         * gst/gstevent.h:
4741         Rename base to stream_time.
4742
4743         * gst/gstmessage.h:
4744         Fix typo in docs.
4745
4746 2005-10-11  Wim Taymans  <wim@fluendo.com>
4747
4748         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4749         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4750         (gst_bin_change_state_func), (bin_bus_handler):
4751         * gst/gstbin.h:
4752         Work on proper clock selection.
4753
4754 2005-10-11  Edward Hervey  <edward@fluendo.com>
4755
4756         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4757         * libs/gst/controller/gstcontroller.h:
4758         Added GList* version of _remove_properties() in order to be able to wrap
4759         it in bindings.
4760
4761 2005-10-11  Wim Taymans  <wim@fluendo.com>
4762
4763         * docs/design/part-states.txt:
4764         Some more docs.
4765
4766         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4767         (gst_bin_change_state_func), (bin_bus_handler):
4768         Doc updates. Don't distribute the same clock over and over again.
4769
4770         * gst/gstclock.c:
4771         * gst/gstclock.h:
4772         Doc updates.
4773
4774         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4775         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4776         (gst_pad_send_event):
4777         * gst/gstpad.h:
4778         Make probe emission threadsafe again.
4779         Register quarks and move _get_name() from utils.
4780         Doc updates.
4781
4782         * gst/gstpipeline.c: (gst_pipeline_class_init),
4783         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4784         Only redistribute the clock of it changed.
4785
4786         * gst/gstsystemclock.h:
4787         Doc updates. 
4788
4789         * gst/gstutils.c:
4790         * gst/gstutils.h:
4791         Moved the _flow_get_name() to GstPad.
4792
4793 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4794
4795         * check/gst-libs/gdp.c: (GST_START_TEST):
4796         * check/gst/gstcaps.c: (GST_START_TEST):
4797         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4798         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4799         (gst_dp_packet_from_caps):
4800           fix more valgrind warnings before turning up the heat
4801
4802 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4803
4804         * gst/parse/grammar.y:
4805           some cleanup before the hacking
4806
4807 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4808
4809         * gst/base/gstbasesrc.c: (gst_base_src_query):
4810           use conversions
4811         * gst/gstutils.c: (gst_guint64_to_gdouble),
4812         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4813         * gst/gstutils.h:
4814           externalize, basesrc uses it
4815           obviously the implementation needs testing
4816
4817 2005-10-10  Wim Taymans  <wim@fluendo.com>
4818
4819         * tests/sched/Makefile.am:
4820         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4821         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4822
4823 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4824
4825         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4826           apparently converting from guint64 to double is not implemented
4827           on MSVC
4828
4829 2005-10-10  Wim Taymans  <wim@fluendo.com>
4830
4831         * check/Makefile.am:
4832         * check/generic/states.c: (GST_START_TEST):
4833         * check/gst/gstbin.c: (GST_START_TEST):
4834         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4835         * check/states/sinks.c: (GST_START_TEST):
4836         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4837         (main):
4838         Check fixes, use API as stated in design docs, remove hacks.
4839
4840         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4841         (gst_base_sink_change_state):
4842         Catch stopping our task while we're shutting down.
4843
4844         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4845         (gst_bin_remove_func), (gst_bin_get_state_func),
4846         (gst_bin_recalc_state), (gst_bin_change_state_func),
4847         (bin_bus_handler):
4848         * gst/gstbin.h:
4849         * gst/gstelement.c: (gst_element_init),
4850         (gst_element_get_state_func), (gst_element_abort_state),
4851         (gst_element_commit_state), (gst_element_lost_state),
4852         (gst_element_set_state), (gst_element_change_state),
4853         (gst_element_change_state_func):
4854         * gst/gstelement.h:
4855         New state change algorithm (see #318116)
4856
4857         * gst/gstpipeline.c: (gst_pipeline_class_init),
4858         (gst_pipeline_init), (gst_pipeline_set_property),
4859         (gst_pipeline_get_property), (do_pipeline_seek),
4860         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4861         * gst/gstpipeline.h:
4862         Remove crude state change hacks.
4863
4864         * gst/gstutils.h:
4865         Remove crude hacks.
4866
4867         * tools/gst-launch.c: (main):
4868         Fixes for state change. Needs some more work to fully use the
4869         new stuff.
4870
4871 2005-10-10  Andy Wingo  <wingo@pobox.com>
4872
4873         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4874
4875         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4876         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4877         issue.
4878
4879 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4880
4881         * gst/gstiterator.c: (gst_iterator_new):
4882           Fix my previous commit: GTypes passed to gst_iterator_new()
4883           can be fundamental types.
4884
4885 2005-10-10  Wim Taymans  <wim@fluendo.com>
4886
4887         * gst/gstelement.c: (gst_element_iterate_pad_list),
4888         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4889         (gst_element_iterate_sink_pads):
4890         Use src/sink pads lists for the respective iterators instead
4891         of filtering.
4892
4893 2005-10-10  Andy Wingo  <wingo@pobox.com>
4894
4895         Merged in popt removal + GOption addition patch from Ronald, bug
4896         #169772.
4897
4898         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4899         GstElement macros around, remove popt-related symbols, add goption
4900         stuff.
4901
4902         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4903         
4904         * docs/gst/Makefile.am:
4905         * docs/libs/Makefile.am: No POPT_CFLAGS.
4906         
4907         * examples/manual/Makefile.am:
4908         * docs/manual/basics-init.xml: Doc updates with an example.
4909         
4910         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4911         (gst_init), (parse_one_option), (parse_goption_arg):
4912         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4913         bit of hand merging and debugging to get the GOption stuff working
4914         tho.
4915         
4916         * tests/Makefile.am:
4917         * tools/Makefile.am:
4918         * tools/gst-inspect.c: (main):
4919         * tools/gst-launch.c: (main):
4920         * tools/gst-run.c: (main):
4921         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4922
4923 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4924
4925         * gst/gstiterator.c: (gst_iterator_new):
4926           Add assertions to make sure passed GType is likely to really
4927           be a GType (as the compiler won't catch it if the size and
4928           GType arguments get mixed up, see #318447).
4929
4930 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4931
4932         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4933
4934         * gst/gstbin.c: (gst_bin_iterate_sorted):
4935           Pass GType and size arguments to gst_iterator_new() in the right
4936           order (maybe we should make _new() take the GType as first argument
4937           just like _new_list()?) (#318447).
4938           
4939
4940 2005-10-10  Wim Taymans  <wim@fluendo.com>
4941
4942         * gst/gstelement.c: (gst_element_finalize):
4943         And free the GStaticRecMutex too
4944
4945 2005-10-10  Andy Wingo  <wingo@pobox.com>
4946
4947         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4948         Allocate and free the mutex properly.
4949
4950         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4951         New macros.
4952         (GstElement): The state_lock is now recursive. Rebuild your
4953         plugins, suckers. Old macros adapted.
4954
4955         * docs/gst/gstreamer-sections.txt: Doc updates.
4956
4957         * gst/gstutils.h:
4958         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4959         (g_static_rec_cond_wait): Ported from state changes patch, while
4960         we wait on bug #317802 to be solved in a well-distributed GLib.
4961
4962         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4963         gst_element_change_state, variable name changes.
4964         (gst_element_change_state): Split out of gst_element_set_state in
4965         preparation for the state change merge. Doesn't pay attention to
4966         the 'transition' argument.
4967         (gst_element_set_state): Updates, hopefully purely cosmetic.
4968         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4969         state change patch.
4970         (gst_element_get_state_func): Renamed from get_state, cosmetic
4971         changes.
4972
4973 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4974
4975         * gst/elements/gstelements.c:
4976         * win32/GStreamer.vcproj:
4977         * win32/config.h:
4978         * win32/dirent.c: (_tseekdir):
4979         * win32/gst-inspect.vcproj:
4980         * win32/gst-launch.vcproj:
4981         * win32/gstconfig.h:
4982         * win32/gstelements.vcproj:
4983         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4984         * win32/gstreamer.def:
4985         * win32/msvc71.sln:
4986           updates for the win32 build (patch from Sebastien Moutte)
4987
4988 2005-10-10  Andy Wingo  <wingo@pobox.com>
4989
4990         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4991         gst_bin_get_state, cleaned up (but no logic changes).
4992         (bin_element_is_sink): Comment updates.
4993         (sink_iterator_filter): Remove needless cast.
4994         (gst_bin_iterate_sinks): Doc update.
4995         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4996         cleaned up (but no logic changes).
4997
4998         * check/states/sinks.c (test_src_sink): Cleanups from the state
4999         change patch.
5000         (test_livesrc_sink): Sync on the state.
5001
5002         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5003         the state change patch.
5004
5005         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5006         change patch.
5007
5008         * check/gst/gstbin.c: Merge in some style fixes and additional
5009         checks from Wim's state change patch.
5010
5011 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5012
5013         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5014         (gst_type_find_helper):
5015           Check whether we have the requested data already in our list of
5016           cached buffers before pulling a new buffer; also make the buffer
5017           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5018
5019 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5020
5021         * gst/gstcaps.c:
5022         * gst/gstevent.c:
5023           doc updates
5024         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5025           don't use long long, it's not portable.  Replacing with
5026           gint64 seems to work; let's hope no skeletons fall out of the closet.
5027
5028 2005-10-10  Andy Wingo  <wingo@pobox.com>
5029
5030         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5031
5032 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5033
5034         * docs/gst/gstreamer-sections.txt:
5035         * gst/gstevent.c:
5036         * gst/gstevent.h:
5037         * gst/gstinfo.c:
5038         * gst/gstinfo.h:
5039         * gst/gstmessage.c: (gst_message_parse_state_changed):
5040         * gst/gstpad.c:
5041         * gst/gstpad.h:
5042           more docs, fix compilation
5043
5044 2005-10-09  Philippe Khalaf <burger@speedy.org>
5045         * gst/gstmessage.c:
5046           Fixed a few forgotten variables on previous commit
5047
5048 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5049
5050         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5051           Fix evil typefind crasher: getrange() might return a short
5052           buffer at the end of a file, but gst_type_find_peek() must
5053           either return the full data as requested or NULL, but
5054           never a short buffer.
5055
5056 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5057
5058         * gst/gstmessage.c: (gst_message_new_state_changed),
5059         (gst_message_parse_state_changed):
5060         * gst/gstmessage.h:
5061           don't use "new", it's a C++ keyword
5062
5063 2005-10-08  Wim Taymans  <wim@fluendo.com>
5064
5065         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5066         * gst/gstelement.c: (gst_element_post_message):
5067         * gst/gstpipeline.c: (gst_pipeline_change_state):
5068         Small docs and debug updates.
5069
5070 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5071
5072         * docs/gst/gstreamer-sections.txt:
5073         * gst/gstelementfactory.c:
5074         * gst/gstevent.c:
5075         * gst/gsttaglist.c:
5076           more docs
5077
5078 2005-10-08  Wim Taymans  <wim@fluendo.com>
5079
5080         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5081         (gst_bin_dispose), (bin_bus_handler):
5082         Fix typos, add comments.
5083         Clear EOS list when going to PAUSED from any direction and do it
5084         in a threadsafe way.
5085         Get base time in a threadsafe way too.
5086         Fix confusing debug in the change_state function.
5087         Various other small cleanups.
5088         
5089         * gst/gstelement.c: (gst_element_post_message):
5090         Fix very verbose bus posting code.
5091
5092         * gst/gstpipeline.c: (gst_pipeline_class_init),
5093         (gst_pipeline_set_property), (gst_pipeline_get_property),
5094         (gst_pipeline_change_state):
5095         Small ARG_ -> PROP_ cleanup
5096
5097 2005-10-08  Wim Taymans  <wim@fluendo.com>
5098
5099         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5100         Do a less CPU demanding EOS check because we can.
5101
5102 2005-10-08  Wim Taymans  <wim@fluendo.com>
5103
5104         * libs/gst/dataprotocol/dataprotocol.c:
5105         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5106         (gst_dp_packet_from_event):
5107         * libs/gst/dataprotocol/dataprotocol.h:
5108         * libs/gst/dataprotocol/dp-private.h:
5109         It's about time we bump the version number.
5110         Since event types don't fit in the guint8 anymore describing
5111         the payload type, make payload type 16 bits wide.
5112
5113 2005-10-08  Wim Taymans  <wim@fluendo.com>
5114
5115         * docs/design/part-TODO.txt:
5116         * docs/design/part-clocks.txt:
5117         * docs/design/part-events.txt:
5118         * docs/design/part-gstbin.txt:
5119         * docs/design/part-gstelement.txt:
5120         * docs/design/part-gstpipeline.txt:
5121         * docs/design/part-live-source.txt:
5122         * docs/design/part-messages.txt:
5123         * docs/design/part-overview.txt:
5124         * docs/design/part-states.txt:
5125         Many doc updates.
5126
5127 2005-10-08  Wim Taymans  <wim@fluendo.com>
5128
5129         * gst/gstevent.c:
5130         * gst/gstevent.h:
5131         Fix event quark registration.
5132         Add some space between events so we can insert them in the
5133         right groups.
5134
5135 2005-10-08  Wim Taymans  <wim@fluendo.com>
5136
5137         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5138         (gst_base_sink_handle_buffer):
5139         Better log message.
5140
5141         * gst/gstbus.h:
5142         * gst/gstelement.h:
5143         More docs.
5144
5145         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5146         (gst_queue_set_property), (gst_queue_get_property):
5147         * gst/gstqueue.h:
5148         Remove old unused properties.
5149
5150 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5151         * docs/gst/gstreamer-sections.txt:
5152         * gst/gstmessage.c:
5153         * gst/gstmessage.h:
5154         * gst/gstminiobject.c:
5155         * gst/gstminiobject.h:
5156         * gst/gstobject.h:
5157         * gst/gstpad.h:
5158         * gst/gstutils.h:
5159           lots of new docs and doc fixes
5160
5161 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5162
5163         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5164         * gst/gstplugin.h:
5165         * gst/gstregistry.c: (gst_registry_lookup_locked),
5166         (gst_registry_scan_path_level):
5167         * gst/gstregistryxml.c: (load_plugin):
5168           Only ever load one plugin for a given plugin basename.
5169           This ensures correct overriding of GST_PLUGIN_PATH over
5170           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5171           system installed plugins.
5172
5173 2005-10-08  Wim Taymans  <wim@fluendo.com>
5174
5175         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5176         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5177         Prepare for doing QOS.
5178
5179 2005-10-08  Wim Taymans  <wim@fluendo.com>
5180
5181         * check/gst/gstbin.c: (GST_START_TEST):
5182         * check/pipelines/cleanup.c: (GST_START_TEST):
5183         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5184         Allow new clock message too.
5185
5186 2005-10-08  Wim Taymans  <wim@fluendo.com>
5187
5188         * gst/gstmessage.c: (gst_message_new_error),
5189         (gst_message_new_warning), (gst_message_new_tag),
5190         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5191         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5192         (gst_message_new_segment_start), (gst_message_new_segment_done),
5193         (gst_message_parse_state_changed),
5194         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5195         (gst_message_parse_new_clock):
5196         * gst/gstmessage.h:
5197         Also carry the clock in question.
5198
5199 2005-10-08  Wim Taymans  <wim@fluendo.com>
5200
5201         * gst/gstmessage.c: (gst_message_new_custom),
5202         (gst_message_new_eos), (gst_message_new_error),
5203         (gst_message_new_warning), (gst_message_new_tag),
5204         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5205         (gst_message_new_new_clock), (gst_message_new_segment_start),
5206         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5207         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5208         * gst/gstmessage.h:
5209         Clean up.
5210         Added clock related messages.
5211
5212         * gst/gstpipeline.c: (gst_pipeline_change_state):
5213         Post message when the clock changed.
5214
5215         * tools/gst-launch.c: (event_loop):
5216         Print new clock.
5217
5218 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5219
5220         * tools/gst-inspect.c: (print_element_properties_info):
5221           Can't pass NULL strings to g_print() on windows.
5222
5223 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5224
5225         * docs/Makefile.am:
5226         * docs/gst/Makefile.am:
5227         * docs/gst/gstreamer-docs.sgml:
5228         * docs/gst/running.xml:
5229         * docs/version.entities.in:
5230           add a chapter on running GStreamer.
5231           document GST_DEBUG and GST_PLUGIN* env vars
5232
5233 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5234
5235         * Makefile.am:
5236           remove include dir
5237         * configure.ac:
5238           remove PLUGINS_BUILDDIR stuff
5239         * gst/gst.c: (init_post):
5240           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5241         * idiottest.mak:
5242           remove, it was condescending and not needed
5243
5244 2005-10-08  Wim Taymans  <wim@fluendo.com>
5245
5246         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5247         (gst_base_sink_handle_object), (gst_base_sink_event),
5248         (gst_base_sink_wait), (gst_base_sink_handle_event),
5249         (gst_base_sink_change_state):
5250         * gst/base/gstbasesink.h:
5251         Repost EOS message while going to PLAYING if still EOS.
5252         Make sure that when receiving a FLUSH_START we don't attempt
5253         to sync on the clock anymore.
5254
5255 2005-10-08  Wim Taymans  <wim@fluendo.com>
5256
5257         * tools/gst-launch.c: (event_loop):
5258         Better message printout.
5259
5260 2005-10-08  Wim Taymans  <wim@fluendo.com>
5261
5262         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5263         (gst_bin_child_proxy_get_children_count):
5264         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5265         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5266         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5267         (gst_child_proxy_set_valist):
5268         * gst/parse/grammar.y:
5269         Make ChildProxy threadsafe and fix mem leaks.
5270
5271 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5272
5273         * gst/gst.c: (init_post):
5274           debug the GST_PLUGIN_ env vars
5275
5276 2005-10-08  Wim Taymans  <wim@fluendo.com>
5277
5278         * check/gst/gstbin.c: (GST_START_TEST):
5279         * check/gst/gstmessage.c: (GST_START_TEST):
5280         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5281         * gst/gstelement.c: (gst_element_commit_state),
5282         (gst_element_lost_state):
5283         * gst/gstmessage.c: (gst_message_new_state_changed),
5284         (gst_message_parse_state_changed):
5285         * gst/gstmessage.h:
5286         * tools/gst-launch.c: (event_loop):
5287         Added extra field to STATE_CHANGE message with the pending
5288         state, which will be different from the new state soon.
5289
5290 2005-10-08  Wim Taymans  <wim@fluendo.com>
5291
5292         * gst/gstbus.c: (gst_bus_pop):
5293         * gst/gstclock.c:
5294         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5295         Small cleanups and doc updates.
5296
5297 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5298
5299         * gst/gst.c: (init_pre):
5300         * gst/gstbin.c: (gst_bin_add_func):
5301           log distributing clocks and base time
5302         * gst/gstregistry.c: (gst_registry_add_plugin),
5303         (gst_registry_scan_path_level), (gst_registry_scan_path):
5304           clean up the debugging output a little
5305         * gst/gstutils.c: (gst_element_state_get_name):
5306           warn about a memleak (I've actually seen this be used, though
5307           it was probably a bug)
5308
5309 2005-10-07  Wim Taymans  <wim@fluendo.com>
5310
5311         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5312         (gst_base_src_init), (gst_base_src_default_newsegment),
5313         (gst_base_src_newsegment), (gst_base_src_do_seek),
5314         (gst_base_src_loop), (gst_base_src_start):
5315         * gst/base/gstbasesrc.h:
5316         Make the newsegment event customizable by subclasses.
5317
5318 2005-10-07  Wim Taymans  <wim@fluendo.com>
5319
5320         * gst/gstevent.c: (gst_event_new_buffersize),
5321         (gst_event_parse_buffersize):
5322         * gst/gstevent.h:
5323         New event for future idea.
5324
5325 2005-10-07  Andy Wingo  <wingo@pobox.com>
5326
5327         * gst/gstelement.c (gst_element_post_message): Doc update.
5328
5329         * docs/gst/gstreamer-sections.txt: Update.
5330
5331         * gst/gstmessage.c (gst_message_new_application): Made into a
5332         function like honest API calls.
5333         (gst_message_new_element): New message type.
5334
5335         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5336
5337         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5338         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5339         times.
5340
5341         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5342         NO_PREROLL from gst_element_change_state to fall through.
5343
5344 2005-10-07  Wim Taymans  <wim@fluendo.com>
5345
5346         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5347         (gst_ghost_pad_do_activate_push):
5348         Activating a ghostpad with no internal pad in push mode
5349         is ok.
5350
5351 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5352
5353         * gst/gstobject.h:
5354           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5355           Fixes compilation on Windows.
5356
5357 2005-10-07  Michael Smith <msmith@fluendo.com>
5358
5359         * tools/gst-inspect.c:
5360           Print out feature and plugin count at the end when printing out
5361           all features.
5362
5363 2005-10-04  Michael Smith <msmith@fluendo.com>
5364
5365         * gst/gsterror.c: (_gst_stream_errors_init):
5366           Add another error string used in a few existing plugins.
5367
5368         * gst/gstplugin.c:
5369         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5370         * tools/gst-inspect.c: (print_element_info):
5371           When a feature disappears from a plugin (and the feature exists in
5372           the cached registry file), things went horribly wrong. This isn't a
5373           complete fix, we should actually be removing the 'missing' features
5374           from the features list when we load the actual plugin. That's not
5375           yet implemented. 
5376
5377 2005-10-04  Johan Dahlin  <johan@gnome.org>
5378
5379         * check/gst/gstiterator.c: (GST_START_TEST):
5380         * gst/gstbin.c: (gst_bin_iterate_elements),
5381         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5382         * gst/gstelement.c: (gst_element_iterate_pads):
5383         * gst/gstformat.c: (gst_format_iterate_definitions):
5384         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5385         (gst_iterator_new_list), (gst_iterator_filter):
5386         * gst/gstiterator.h:
5387         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5388         Add a GType to GstIterator, update callsites and tests.
5389
5390 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5391
5392         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5393           give events a chance to be handled by event probes when the pad
5394           is not linked
5395
5396 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5397
5398         * gst/gstevent.c: (gst_event_type_get_name),
5399         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5400         * gst/gstevent.h:
5401           add string representations for event types
5402
5403 2005-10-06  Wim Taymans  <wim@fluendo.com>
5404
5405         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5406         Don't use NULL pointers.
5407
5408 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5409
5410         * gst/gst_private.h:
5411         * gst/gstbus.c:
5412         * gst/gstelement.c:
5413         * gst/gstinfo.c:
5414         * gst/gstpluginfeature.c:
5415           widen the debug category in output to fit the biggest one we have
5416           add a bus category and use it
5417           play with the colors
5418           fix up some categories
5419
5420 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5421
5422         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5423           add push activation of sink ghost pads.
5424           Andye, please verify
5425
5426 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5427
5428         * gst/gstutils.c: (gst_element_link_pads):
5429           fix a bug in the case where neither element has a pad
5430         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5431           add a test for that case
5432
5433 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5434
5435         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5436           emit have-data before checking for peers.  This allows
5437           for probe handlers to connect elements.  This helps autopluggers.
5438         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5439         (gst_pad_suite):
5440           add six checks, linked/unlinked with no/true/false probe
5441
5442 2005-10-04  Wim Taymans  <wim@fluendo.com>
5443
5444         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5445         (gst_fake_sink_event), (gst_fake_sink_preroll),
5446         (gst_fake_sink_render), (gst_fake_sink_change_state):
5447         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5448         (gst_fake_src_get_property), (gst_fake_src_create),
5449         (gst_fake_src_stop):
5450         * gst/elements/gstidentity.c: (gst_identity_stop):
5451         Protect last_message with lock.
5452
5453 2005-10-04  Edward Hervey  <edward@fluendo.com>
5454
5455         * gst/gstformat.h: 
5456         Added precision in the comments for GST_FORMAT_DEFAULT
5457
5458 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5459
5460         * tools/gst-launch.c: (main):
5461           Don't try to run erroneous pipelines.
5462
5463 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5464
5465         * gst/gstbus.c: We don't need this header.
5466
5467 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5468
5469         * configure.ac:
5470           back to development
5471
5472 === release 0.9.3 ===
5473
5474 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5475
5476         * README:
5477         * configure.ac:
5478           Releasing 0.9.3, "Unregistered"
5479
5480 2005-10-03  Andy Wingo  <wingo@pobox.com>
5481
5482         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5483         whereby calling a pad's activatepush() function can start a thread
5484         that starts to push or pull before the pad gets the FLUSHING flag
5485         unset. Hack around it by holding the stream lock until the flag is
5486         set. Need to replace this with a proper solution. Together with
5487         the ghost pad fixes, this fixes mp3 playing/tagreading.
5488
5489         * docs/design/part-gstghostpad.txt: Add a note about activation of
5490         proxy pads outside of ghost pads.
5491
5492         * gst/gstghostpad.c: Implement the ghost pad activation design.
5493
5494 2005-10-02  Andy Wingo  <wingo@pobox.com>
5495
5496         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5497         It is volatile, after all.
5498
5499         * docs/design/part-gstghostpad.txt: Flesh out activation with
5500         ghost pads.
5501
5502         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5503         GST_DEBUG_FUNCPTR.
5504
5505 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5506
5507         * configure.ac:
5508           Fix (unused) AM_CONDITIONAL tests.
5509
5510 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5511
5512         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5513
5514         * gst/gstutils.c: (gst_pad_query_convert):
5515           Add assertion that makes sure src_val is >=0, just like
5516           gst_query_new_convert() has. (#315895)
5517
5518 2005-09-30  Edward Hervey  <edward@fluendo.com>
5519
5520         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5521         Let's not iterate pads we're not interested in, it avoids getting 
5522         sky-high refcounts on sinkpad.
5523
5524 2005-09-30  Wim Taymans  <wim@fluendo.com>
5525
5526         * gst/gstelement.c: (gst_element_set_state),
5527         (gst_element_change_state):
5528         Small tweak, element in ASYNC remains ASYNC.
5529
5530 2005-09-30  Wim Taymans  <wim@fluendo.com>
5531
5532         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5533         Only error is an error.
5534
5535         * gst/gstbin.c: (gst_bin_change_state):
5536         Better debugging.
5537
5538         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5539         Also call pad_block in pad alloc.
5540
5541         * gst/gstutils.c: (gst_flow_get_name):
5542         Better debugging.
5543
5544 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5545
5546         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5547         (gst_base_src_get_range):
5548           Fix documentation typos. Add some more debug info.
5549
5550 2005-09-29  David Schleef  <ds@schleef.org>
5551
5552         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5553           more end-user friendly.
5554         * tools/gst-inspect.c: (main): Check if command-line argument is
5555           a file and attempt to load that file as a plugin.
5556
5557 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5558
5559         * check/gst/gstbin.c:
5560         * check/states/sinks.c:
5561           fix tests for the new warning
5562         * check/gst/gstpipeline.c:
5563           add a test for pipeline and bus interaction
5564         * gst/gstelement.c:
5565           elements should be NULL if they get disposed; add a warning if not
5566
5567 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5568
5569         * gst/gstobject.c:
5570           for 2.6 refcounting, make debug log more correct by printing
5571           the actual refcounts at the time of swap (Wim)
5572
5573 2005-09-29  Andy Wingo  <wingo@pobox.com>
5574
5575         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5576         removes signal watches previously added via
5577         gst_bus_add_signal_watch.
5578         (gst_bus_add_signal_watch): Don't return the source id, just store
5579         it on the bus if there wasn't an id already.
5580
5581         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5582         add_signal_watch and remove_signal_watch.
5583
5584 2005-09-29  Edward Hervey  <edward@fluendo.com>
5585
5586         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5587         Better if we actually iterate the list :)
5588
5589 2005-09-29  Wim Taymans  <wim@fluendo.com>
5590
5591         * check/gst/gstbin.c: (GST_START_TEST):
5592         Change for new bus API.
5593
5594         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5595         (send_messages), (GST_START_TEST), (gstbus_suite):
5596         Change for new bus signal API.
5597
5598         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5599         (gst_bus_source_prepare), (gst_bus_source_check),
5600         (gst_bus_create_watch), (gst_bus_add_watch_full),
5601         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5602         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5603         * gst/gstbus.h:
5604         Remove support for multiple GSources operating on different
5605         message types as it is too complex and unneeded when using
5606         signals.
5607         Added support for receiving signals from the bus.
5608
5609 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5610
5611         * docs/libs/tmpl/gstdataprotocol.sgml:
5612         * docs/manual/advanced-dataaccess.xml:
5613         * gst/elements/gstcapsfilter.c:
5614         * gst/gstutils.c:
5615           rename filter-caps to caps property
5616
5617 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5618
5619         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5620           More robust fraction string parsing.
5621
5622         * docs/pwg/appendix-porting.xml:
5623           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5624
5625 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5626
5627         * gst/gstcaps.c: (gst_caps_do_simplify):
5628           Thou shalt not free a structure and then continue using it
5629           in the next loop iteration.
5630
5631         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5632         (gst_caps_suite):
5633           Add test case for caps simplification.
5634
5635 2005-09-29  Wim Taymans  <wim@fluendo.com>
5636
5637         * check/gst/gstbin.c: (GST_START_TEST):
5638         Oops.
5639
5640 2005-09-29  Wim Taymans  <wim@fluendo.com>
5641
5642         * check/gst/gstbin.c: (GST_START_TEST):
5643         Add bus to bin.
5644
5645         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5646         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5647         (find_element), (gst_bin_sort_iterator_next),
5648         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5649         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5650         (gst_bin_change_state), (gst_bin_dispose):
5651         A bin does not have a bus, it gets the bus from the parent.
5652
5653         * gst/gstelement.c: (gst_element_requires_clock),
5654         (gst_element_provides_clock), (gst_element_is_indexable),
5655         (gst_element_is_locked_state), (gst_element_change_state),
5656         (gst_element_set_bus_func):
5657         Small cleanups.
5658
5659         * gst/gstpipeline.c: (gst_pipeline_class_init),
5660         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5661         The pipeline provides a bus.
5662
5663 2005-09-28  Johan Dahlin  <johan@gnome.org>
5664
5665         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5666         gst_structure_get_enum instead of gst_structure_get_int
5667
5668         * gst/gststructure.c (gst_structure_get_enum): Impl.
5669
5670         * gst/gststructure.h (gst_structure_get_enum): Add
5671
5672         * docs/gst/gstreamer-sections.txt: Ditto
5673
5674         * gst/gstmessage.c (gst_message_new_state_changed): Use
5675         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5676         which does introspection.
5677         Reviewed by Christian Schaller
5678
5679 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5680
5681         * gst/gstinfo.c: (gst_debug_log_default):
5682           don't do dummy g_strdup()s
5683         * libs/gst/controller/gstcontroller.c:
5684         (on_object_controlled_property_changed),
5685         (gst_controlled_property_new), (gst_controller_new_valist),
5686         (gst_controller_new_list),
5687         (gst_controller_remove_properties_valist), (gst_controller_set),
5688         (gst_controller_get), (gst_controller_sync_values),
5689         (gst_controller_get_value_array), (_gst_controller_class_init),
5690         (gst_controller_get_type):
5691         * libs/gst/controller/gstcontroller.h:
5692         * libs/gst/controller/gstinterpolation.c:
5693         (gst_controlled_property_find_timed_value_node):
5694           convert // to /**/ comments
5695
5696 2005-09-28  Wim Taymans  <wim@fluendo.com>
5697
5698         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5699         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5700         (gst_bus_sync_signal_handler):
5701         * gst/gstbus.h:
5702         Added async-message and sync-message signals to the bus.
5703         Added helper BusFunc to emit signals for all posted messages.
5704
5705         * gst/gstmessage.c: (gst_message_type_get_name),
5706         (gst_message_type_to_quark), (gst_message_get_type):
5707         * gst/gstmessage.h:
5708         Register quarks for message names.
5709
5710 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5711
5712         * docs/libs/gstreamer-libs-sections.txt:
5713         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5714         (gst_controller_new_list):
5715         * libs/gst/controller/gstcontroller.h:
5716           added another constructor for language bindings
5717
5718 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5719
5720         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5721           add another check
5722         * gst/gstbus.c:
5723           add some doc
5724         * gst/gstinfo.c: (_gst_debug_init):
5725           slightly more readable color for refcount debugging
5726
5727 2005-09-28  Wim Taymans  <wim@fluendo.com>
5728
5729         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5730         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5731         (find_element), (gst_bin_sort_iterator_next),
5732         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5733         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5734         (gst_bin_change_state), (gst_bin_dispose):
5735         Small doc fixes. get_clock -> provide_clock.
5736
5737         * gst/gstelement.c: (gst_element_class_init),
5738         (gst_element_provides_clock), (gst_element_provide_clock),
5739         (gst_element_get_clock), (gst_element_commit_state),
5740         (gst_element_lost_state):
5741         * gst/gstelement.h:
5742         Make get/set_clock() symetric. Add provide_clock vmethod since
5743         that is actually what this function does.
5744
5745         * gst/gstpipeline.c: (gst_pipeline_class_init),
5746         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5747         (gst_pipeline_get_clock):
5748         get_clock -> provide_clock.
5749
5750 2005-09-28  Andy Wingo  <wingo@pobox.com>
5751
5752         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5753         lieu of real docs...
5754
5755         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5756
5757 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5758
5759         * gst/elements/gstcapsfilter.c:
5760         * gst/elements/gstfakesink.c:
5761         * gst/elements/gstfakesrc.c:
5762         * gst/elements/gstfdsink.c:
5763         * gst/elements/gstfdsrc.c:
5764         * gst/elements/gstfilesink.c:
5765         * gst/elements/gstfilesrc.c:
5766         * gst/elements/gstidentity.c:
5767         * gst/elements/gsttee.c:
5768         * gst/elements/gsttypefindelement.c:
5769           Make element details static.
5770
5771 2005-09-28  Wim Taymans  <wim@fluendo.com>
5772
5773         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5774         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5775         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5776         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5777         (gst_bin_change_state), (gst_bin_dispose):
5778         Some documentation updates.
5779         Clean up dispose handlers.
5780
5781         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5782         * gst/gstpad.c: (gst_pad_dispose):
5783         Clean up dispose handler.
5784
5785         * gst/gstpipeline.c: (gst_pipeline_change_state):
5786         Removed spurious UNLOCK.
5787
5788 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5789
5790         * docs/gst/gstreamer-sections.txt:
5791         * gst/base/gstbasesrc.h:
5792         * gst/gstelement.h:
5793         * gst/gstevent.h:
5794         * gst/gstobject.h:
5795         * gst/gstpad.h:
5796         * gst/gstpipeline.c:
5797         * gst/gstpipeline.h:
5798         * gst/gstutils.h:
5799         * gst/gstxml.h:
5800           added two new functions to the docs
5801                 documents all undocumented GstXXXFlags
5802                 completed some incomplete docs 
5803
5804 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5805
5806         * gst/gstbin.c: (gst_bin_dispose):
5807         * gst/gstelement.c: (gst_element_dispose):
5808           remove now useless and leaky resurrection code in dispose
5809         * gst/base/gstbasesrc.c: (gst_base_src_init):
5810         * gst/gstelementfactory.c: (gst_element_factory_create):
5811         * gst/gstobject.c: (gst_object_set_parent):
5812           add some debugging
5813
5814 2005-09-27  Wim Taymans  <wim@fluendo.com>
5815
5816         * docs/design/part-TODO.txt:
5817         Update TODO.
5818
5819         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5820         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5821         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5822         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5823         (gst_bin_change_state):
5824         * gst/gstelement.h:
5825         Remove element variable, we keep element info in the iterator now.
5826
5827 2005-09-27  Andy Wingo  <wingo@pobox.com>
5828
5829         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5830         values.
5831
5832 2005-09-27  Wim Taymans  <wim@fluendo.com>
5833
5834         * check/gst/gstbin.c: (GST_START_TEST):
5835         Enable check that works now.
5836
5837         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5838         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5839         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5840         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5841         (gst_bin_change_state):
5842         * gst/gstbin.h:
5843         Redid the state change algorithm using a topological sort algo.
5844         Handles all cases correctly.
5845         Exposed iterator for state change order.
5846
5847         * gst/gstelement.h:
5848         Temp storage for state changes. Need to get rid of this soon.
5849
5850 2005-09-27  Wim Taymans  <wim@fluendo.com>
5851
5852         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5853         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5854         (link_fold_func), (gst_pad_proxy_setcaps):
5855         Leak fixes, the fold functions need to unref the passed object and
5856         _get_parent_*() returns ref to parent.
5857
5858 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5859
5860         * check/gst/gstbuffer.c: (test_make_writable):
5861           Plug leak in test case and fix 'make check-valgrind'
5862
5863 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5864
5865         * gst/gstbuffer.c: (gst_subbuffer_init):
5866           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5867           works correctly in all circumstances (we could have just copied
5868           the parent buffer's readonly flag, but conceptually it seems
5869           cleaner to mark all subbuffers as read-only). (based on patch
5870           by Alessandro Decina, #314710).
5871         
5872         * check/gst/gstbuffer.c: (create_read_only_buffer),
5873         (test_make_writable), (test_subbuffer_make_writable),
5874         (gst_test_suite):
5875           Add some tests for gst_buffer_make_writable().
5876
5877 2005-09-27  Wim Taymans  <wim@fluendo.com>
5878
5879         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5880         use gst_object_has_ancestor().
5881
5882         * gst/gstobject.c: (gst_object_has_ancestor):
5883         * gst/gstobject.h:
5884         gst_object_has_ancestor() copied from gstbin.c as it is a
5885         usefull function.
5886
5887         * tests/instantiate/create.c: (create_all_elements):
5888         * tests/lat.c: (handoff_src), (handoff_sink):
5889         * tests/sched/runxml.c: (main):
5890         * tests/seeking/seeking1.c: (main):
5891         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5892         (main):
5893         Fix compilation of some tests.
5894
5895 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5896
5897         * gst/gsterror.h:
5898           Remove comment. GST_TYPE_G_ERROR is here to stay,
5899           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5900           (#316961, #300610).
5901
5902 2005-09-26  Wim Taymans  <wim@fluendo.com>
5903
5904         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5905         Added check that shows error in state change order.
5906
5907 2005-09-26  Wim Taymans  <wim@fluendo.com>
5908
5909         * gst/gstbin.c: (gst_bin_change_state):
5910         Make state change function use 3 queues again, we were
5911         adding elements in the wrong order.
5912
5913         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5914         Some debug info,
5915
5916         * gst/gstpad.c: (gst_pad_dispose):
5917         Added some debug info first.
5918
5919 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5920
5921         * docs/design/draft-push-pull.txt:
5922         * docs/design/part-events.txt:
5923         * docs/design/part-overview.txt:
5924         * docs/design/part-scheduling.txt:
5925           Replace all _pull_region() with _pull_range()
5926           
5927 2005-09-26  Andy Wingo  <wingo@pobox.com>
5928
5929         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5930
5931         * check/gst-libs/controller.c: Update for controller api change.
5932
5933         * configure.ac: 
5934         * tests/Makefile.am:
5935         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5936         over by GLib bug 118439.
5937         
5938         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5939         routines to a function.
5940
5941         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5942
5943         * libs/gst/controller/gsthelper.c:
5944         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5945         (gst_object_sync_values): Renamed from sink_values. Ugh.
5946
5947         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5948
5949         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5950         Renamed from controller_key, as it is exported.
5951
5952         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5953
5954 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5955
5956         * gst/Makefile.am:
5957         * gst/gst.h:
5958         * gst/gstpad.h:
5959         * gst/gstpadtemplate.h:
5960         * gst/gstquery.c:
5961         * gst/gstquery.h:
5962         * gst/gstqueryutils.c:
5963         * gst/gstqueryutils.h:
5964           remove queryutils headers after moving the two used functions
5965           to gstquery.  also fixes build problem for gstsiddec
5966
5967 2005-09-26  Michael Smith <msmith@fluendo.com>
5968
5969         * tools/gst-launch.1.in:
5970         Correct documentation in manpage of debug syntax
5971
5972 2005-09-26  Wim Taymans  <wim@fluendo.com>
5973
5974         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5975         (gst_base_src_is_seekable), (gst_base_src_change_state):
5976         Some more debugging info.
5977
5978 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5979
5980         * docs/gst/gstreamer-sections.txt:
5981         * gst/base/gstbasetransform.h:
5982         * gst/gstindex.h:
5983           added more docs
5984
5985 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5986
5987         * docs/gst/.cvsignore:
5988         * docs/gst/tmpl/.cvsignore:
5989         * docs/gst/tmpl/gstpipeline.sgml:
5990         * docs/gst/tmpl/gstplugin.sgml:
5991         * gst/gstpipeline.c:
5992         * gst/gstplugin.c:
5993         * gst/gstplugin.h:
5994           inlined the last two docs files
5995           removed the tmpl directory from cvs (no more conflicts here!)
5996
5997 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5998
5999         * docs/gst/gstreamer-sections.txt:
6000         * docs/gst/tmpl/.cvsignore:
6001         * docs/gst/tmpl/gstpad.sgml:
6002         * docs/gst/tmpl/gstpadtemplate.sgml:
6003         * gst/Makefile.am:
6004         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6005         (gst_pad_finalize), (gst_pad_set_pad_template):
6006         * gst/gstpad.h:
6007         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6008         (gst_pad_template_class_init), (gst_pad_template_init),
6009         (gst_pad_template_dispose), (name_is_valid),
6010         (gst_static_pad_template_get), (gst_pad_template_new),
6011         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6012         (gst_pad_template_pad_created):
6013         * gst/gstpadtemplate.h:
6014           inlined two more docs
6015           factored gstpadtemplate out of gstpad
6016
6017 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6018
6019         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6020         (test_children_state_change_order_semi_sink):
6021           Fix test case: we can't rely on a fixed state change order when
6022           going from READY => PAUSED because the sink might commit its 
6023           new state first when the first buffer created by the source 
6024           reaches the sink before the source has finished its change state.
6025           (Test case still fails at times, see #316856, comment 5 onwards)
6026
6027 2005-09-24  Wim Taymans  <wim@fluendo.com>
6028
6029         * docs/design/part-events.txt:
6030         * docs/design/part-gstbus.txt:
6031         * docs/design/part-gstpipeline.txt:
6032         * docs/design/part-messages.txt:
6033         * docs/design/part-overview.txt:
6034         * docs/design/part-segments.txt:
6035         * gst/gstbin.c:
6036         * gst/gstbuffer.c:
6037         * gst/gstclock.c:
6038         * gst/gstelement.c:
6039         * gst/gstevent.c:
6040         * gst/gstfilter.c:
6041         * gst/gstiterator.c:
6042         Various documentation updates.
6043
6044 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6045
6046         * gst/gstclock.h:
6047           Well, that's embarassing.  Luckily we weren't using
6048           GST_CLOCK_DIFF anywhere.
6049
6050 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6051
6052         * common/gtk-doc.mak:
6053           don't fail on building XML, FC4 slave shows a bunch of doc
6054           missing bits that I don't get
6055         * gst/gstpad.c:
6056         * gst/gstpipeline.c:
6057         * gst/gststructure.c:
6058           some doc updates
6059
6060 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6061
6062         * docs/design/part-gstbin.txt:
6063         * docs/design/part-gstbus.txt:
6064         * gst/gstbus.c:
6065           Add blurb about how the bus goes into flushing mode and
6066           drops all messages when its bin goes from READY into NULL 
6067           state.
6068
6069 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6070
6071         * docs/gst/gstreamer-sections.txt:
6072         * gst/gststructure.c: (gst_structure_get_clock_time):
6073         * gst/gststructure.h:
6074           add a method to get a GstClockTime out of a structure
6075
6076 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6077
6078         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6079         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6080           Added test to check state change order in bins (can still be made
6081           to fail here under heavy disk load; bails out with 'Push on pad
6082           fakesink:sink0, but it was not activated in push mode').
6083
6084         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6085           Fix state change order when there is only a semi sink (#316856)
6086
6087         * gst/gstbus.c: (gst_bus_class_init):
6088           Use _class_peek_parent(), not _class_ref(); fix docs to say
6089           'default main context' instead of 'mainloop' where that is
6090           what's meant.
6091
6092         * gst/gstelement.c: (gst_element_commit_state),
6093         (gst_element_set_state):
6094           Fix typos in debug messages
6095
6096 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6097
6098         * docs/README:
6099         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6100         * gst/gstpluginfeature.c:
6101         * gst/gstutils.c:
6102           various doc updates
6103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6104           change an assert into an error until it gets fixed properly
6105
6106 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6107
6108         * docs/gst/gstreamer-sections.txt:
6109         * docs/gst/tmpl/.cvsignore:
6110         * docs/gst/tmpl/gstelement.sgml:
6111         * docs/gst/tmpl/gstinfo.sgml:
6112         * docs/gst/tmpl/gstobject.sgml:
6113         * gst/gstelement.c:
6114         * gst/gstelement.h:
6115         * gst/gstinfo.c:
6116         * gst/gstinfo.h:
6117         * gst/gstobject.c: (gst_object_class_init):
6118         * gst/gstobject.h:
6119           inlined 3 more biiiig doc files and added some missing docs on the fly
6120
6121 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6122
6123         * check/gst/.cvsignore:
6124         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6125         * gst/gstregistryxml.c: (load_plugin),
6126         (gst_registry_xml_save_plugin):
6127           put back source in registry.  add checks for find_plugin.
6128         * testsuite/states/bin.c: (assert_state), (empty_bin),
6129         (test_adding_one_element), (main):
6130         * testsuite/states/locked.c: (main):
6131           some compile/run fixes
6132
6133 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6134
6135         * check/gst/gstvalue.c: (GST_START_TEST):
6136           fix leaks in the test itself
6137
6138 2005-09-22  Wim Taymans  <wim@fluendo.com>
6139
6140         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6141         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6142         (gst_base_sink_query):
6143         Prepare for more accurate position reporting and query
6144         handling.
6145
6146         * gst/gstelement.c: (gst_element_send_event),
6147         (gst_element_set_state):
6148         Add some comment.
6149
6150 2005-09-22  Wim Taymans  <wim@fluendo.com>
6151
6152         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6153         (gst_query_parse_segment):
6154         * gst/gstquery.h:
6155         More documentation.
6156         Add segment query for future use.
6157
6158 2005-09-22  Wim Taymans  <wim@fluendo.com>
6159
6160         * gst/gstbin.c: (gst_bin_add_func):
6161         Some more debug info.
6162
6163         * gst/gstelement.c: (gst_element_send_event):
6164         Simplify send_event
6165
6166         * gst/gstelement.h:
6167         Don't know how flags got broken.
6168
6169         * gst/gstquery.h:
6170         Added new query.
6171
6172 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6173
6174         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6175           Add simplistic test suite for GST_TYPE_DATE serialisation and
6176           deserialisation.
6177
6178 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6179
6180         * docs/gst/gstreamer-sections.txt:
6181         * gst/gststructure.c: (gst_structure_set_valist),
6182         (gst_structure_get_date):
6183         * gst/gststructure.h:
6184         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6185         (gst_date_copy), (gst_value_compare_date),
6186         (gst_value_serialize_date), (gst_value_deserialize_date),
6187         (gst_value_transform_date_string),
6188         (gst_value_transform_string_date), (_gst_value_initialize):
6189         * gst/gstvalue.h:
6190           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6191           bunch of utility functions along with a hack that checks that
6192           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6193           is required. Part of the grand scheme in #170777.
6194
6195 2005-09-22  Andy Wingo  <wingo@pobox.com>
6196
6197         * gst/gstconfig.h.in: Psych out gtk-doc.
6198
6199         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6200
6201         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6202
6203         * tools/gst-inspect.c (print_element_list): Plug some
6204         inconsequential leaks.
6205
6206         * gst/gstregistry.c (gst_registry_get_default): Doc.
6207
6208         * check/gst/gstplugin.c: 
6209         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6210         * gst/gstelementfactory.c (gst_element_factory_create): 
6211         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6212         refcount changes.
6213
6214         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6215         (gst_plugin_feature_load): Doc, don't eat refs.
6216
6217         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6218         (gst_plugin_list_free): Doc.
6219         (gst_plugin_load_file): Doc updates.
6220
6221         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6222         accessors returning refcounted objects, return a ref.
6223
6224         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6225         accessor for caps. IDEMPOTENCE. Oh yes.
6226
6227 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6228
6229         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6230
6231         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6232         (_gst_debug_register_funcptr):
6233           Add mutex to serialise access to the hash table with
6234           the function pointer => function name string mapping;
6235           make that hash table static scope (#316809).
6236
6237         * gst/registries/.cvsignore:
6238           Remove left-over file.
6239
6240 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6241
6242         * docs/pwg/appendix-porting.xml:
6243           And something about newsegment events and caps-on-buffers to
6244           the porting guide (feel free to improve).
6245
6246 2005-09-21  Andy Wingo  <wingo@pobox.com>
6247
6248         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6249         data and event probes on the same pad.
6250         (test_buffer_probe_once): Test that removing probes from within
6251         the probe functions works.
6252
6253 2005-09-21  Andy Wingo  <wingo@pobox.com>
6254
6255         * check/gst/gstutils.c: New file.
6256         (test_buffer_probe_n_times): A simple buffer probe test. More to
6257         come, foolios.
6258
6259         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6260         have-data::buffer, not have-data.
6261         (gst_pad_add_event_probe): Likewise for have-data::event.
6262         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6263         peer' isn't quite right yet though.
6264         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6265         (gst_pad_remove_data_probe): Change to take the guint handler_id
6266         as their arg, not the function+data, which is more glib-like.
6267
6268         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6269         the signal emission to indicate if the data is a buffer or an
6270         event.
6271         (gst_pad_get_type): Initialize buffer and event quarks.
6272         (gst_pad_class_init): have-data is now a detailed signal, yes it
6273         is.
6274
6275 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6276
6277         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6278         * gst/gstutils.c: (gst_util_set_value_from_string),
6279         (gst_util_set_object_arg):
6280           Don't put functional code in g_return_if_fail() or
6281           g_return_val_if_fail() statements, otherwise things will 
6282           break when G_DISABLE_CHECKS is defined during compilation.
6283
6284 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6285
6286         * docs/gst/tmpl/.cvsignore:
6287         * docs/gst/tmpl/gstvalue.sgml:
6288         * gst/gstvalue.c:
6289         * gst/gstvalue.h:
6290           inlied another one and added  some obvious docs
6291
6292 2005-09-21  Wim Taymans  <wim@fluendo.com>
6293
6294         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6295         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6296         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6297         (gst_fdsrc_get_property), (gst_fdsrc_create):
6298         * gst/elements/gstfdsrc.h:
6299         Properly implement fdsrc. Removed signal and timeout,
6300         better implemented somewhere else.
6301
6302 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6303
6304         * docs/gst/tmpl/.cvsignore:
6305         * docs/gst/tmpl/gstimplementsinterface.sgml:
6306         * gst/gstinterface.c:
6307           inlined more docs
6308
6309 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6310
6311         * docs/gst/gstreamer-sections.txt:
6312         * docs/gst/tmpl/.cvsignore:
6313         * docs/gst/tmpl/gstenumtypes.sgml:
6314           remove obsolete doc file
6315
6316 2005-09-21  David Schleef  <ds@schleef.org>
6317
6318         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6319         little beer, fix a little leak.
6320
6321 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6322
6323         * docs/gst/gstreamer-docs.sgml:
6324         * docs/gst/gstreamer-sections.txt:
6325         * docs/gst/tmpl/.cvsignore:
6326         * gst/Makefile.am:
6327         * gst/gst.h:
6328         * gst/gstbin.c:
6329         * gst/gstelement.h:
6330         * gst/gstindex.c: (gst_index_class_init):
6331         * gst/gstindex.h:
6332         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6333         (gst_index_factory_class_init), (gst_index_factory_init),
6334         (gst_index_factory_finalize), (gst_index_factory_new),
6335         (gst_index_factory_destroy), (gst_index_factory_find),
6336         (gst_index_factory_create), (gst_index_factory_make):
6337         * gst/gstindexfactory.h:
6338         * gst/gstpluginfeature.c:
6339         * gst/gstpluginfeature.h:
6340         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6341           more docs inlined, splitted gstindex.{c,h}
6342
6343 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6344
6345         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6346           fix a leak
6347
6348 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6349
6350         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6351           Set sync to FALSE by default.
6352
6353 2005-09-20  Wim Taymans  <wim@fluendo.com>
6354
6355         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6356         (gst_base_sink_init):
6357         Make sync property settable from subclass.
6358
6359         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6360         (gst_fake_sink_change_state):
6361         Set sync to FALSE by default.
6362
6363 2005-09-20  Wim Taymans  <wim@fluendo.com>
6364
6365         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6366         * tools/gst-launch.c: (main):
6367         The timeout handler should have lower priority than the source
6368         so we don't timeout before popping a message with 0 timeout.
6369         Dump error messages after failed state change.
6370
6371 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6372
6373         * tools/gst-inspect.c: (print_element_properties_info):
6374           Fix two typos.
6375
6376 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6377
6378         * check/gst/gstevent.c:
6379         * gst/elements/gstfakesink.c:
6380         * gst/elements/gstfakesink.h:
6381           remove the sync property from fakesink.
6382           has the side effect of setting sync TRUE
6383           for fakesink, which is a change.  Anyone who knows how
6384           to fix this nicely in a GObject-y way, feel free.
6385
6386 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6387
6388         * docs/gst/gstreamer-docs.sgml:
6389           remove probe refsection
6390
6391 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6392
6393         * check/Makefile.am:
6394           disable valgrinding the controller test again
6395         * docs/gst/gstreamer-sections.txt:
6396           update for api-changes
6397
6398 2005-09-20  Wim Taymans  <wim@fluendo.com>
6399
6400         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6401         (gst_base_sink_set_property), (gst_base_sink_get_property),
6402         (gst_base_sink_do_sync):
6403         * gst/base/gstbasesink.h:
6404         Added sync property to basesink to disable clock sync.
6405
6406 2005-09-20  Andy Wingo  <wingo@pobox.com>
6407
6408         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6409         eating the caller's refcount.
6410
6411         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6412         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6413         refcount.
6414
6415         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6416         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6417         of GLib 2.8 public, so we can know which refcount to check in
6418         tests.
6419
6420         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6421         (gst_object_init): Only set the gst refcount if we're going ahead
6422         with the refcount hack.
6423
6424 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6425
6426         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6427         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6428           more leaks plumbed, added more debug-logging
6429         * gst/gstmacros.h:
6430           whitespace fix
6431
6432 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6433
6434         * gst/gstmessage.c:
6435           remove include of gstmemchunk.h
6436
6437 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6438
6439         * gst/gstclock.c: (_gst_clock_id_free):
6440           Commit from the Political Party For More Atomic CVS Commits,
6441           so that people don't waste too much of their day fishing
6442           out obvious leaks out of massive commits.
6443           Oh, and fix a pretty damn obvious leak in the memchunk
6444           removal code.
6445
6446 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6447
6448         * check/Makefile.am:
6449         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6450           plug mem-leak, re-add to valgrindable tests
6451
6452 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6453
6454         * gst/gstplugin.h:
6455           unbreak the build for those who have chronic arthritis
6456           and typing "make check" is just too taxing on the hands
6457
6458 2005-09-20  Andy Wingo  <wingo@pobox.com>
6459
6460         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6461         really want it out, you should fix plugins at the same time.
6462
6463 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6464
6465         * configure.ac:
6466         * docs/gst/gstreamer-sections.txt:
6467         * gst/gstobject.c:
6468           added missing symbols to api docs
6469           disable ref-count hack if we have glib >= 2.8
6470
6471 2005-09-19  David Schleef  <ds@schleef.org>
6472
6473         * docs/gst/Makefile.am: Ignore a few more internal headers
6474         * docs/gst/gstreamer-docs.sgml: Remove old sections
6475         * docs/gst/gstreamer-sections.txt: Remove old sections
6476         * docs/gst/tmpl/gstobject.sgml: update
6477         * docs/gst/tmpl/gstplugin.sgml: update
6478         * docs/gst/tmpl/gstpluginfeature.sgml: update
6479         * docs/random/ds/0.9-suggested-changes: update.
6480         * gst/Makefile.am: remove memchunk and trashstack, since they're
6481           not used.
6482         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6483         * gst/gst.h: don't include some headers
6484         * gst/gstchildproxy.c: add gstmarshal.h
6485         * gst/gstclock.c: Don't use memchunks
6486         * gst/gstminiobject.c: Add some docs
6487         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6488         * gst/gstobject.h: same
6489         * gst/gstplugin.c: include gstmacros.h
6490         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6491         * gst/gstquery.c: don't use memchunks
6492         * gst/gstregistry.c: rename gst_registry_deinit()
6493         * gst/gstregistry.h: same
6494
6495 2005-09-19  David Schleef  <ds@schleef.org>
6496
6497         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6498         * docs/libs/gstreamer-libs-sections.txt:
6499         * docs/libs/tmpl/gstgetbits.sgml:
6500         * docs/libs/tmpl/gstputbits.sgml:
6501
6502 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6503
6504         * win32/gstenumtypes.c:
6505         * win32/gstenumtypes.h:
6506           Update.
6507
6508 2005-09-19  Wim Taymans  <wim@fluendo.com>
6509
6510         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6511         Automatically PAUSE and RESUME a pipeline when a flushing seek
6512         is performed.
6513
6514 2005-09-19  Andy Wingo  <wingo@pobox.com>
6515
6516         * gst/gstregistry.h: Spacing fixen.
6517
6518 2005-09-19  Wim Taymans  <wim@fluendo.com>
6519
6520         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6521         Handle state change failure more correctly.
6522
6523 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6524
6525         * check/Makefile.am:
6526         * check/pipelines/cleanup.c: (run_pipeline):
6527         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6528         (GST_START_TEST):
6529           enable cleanup again after fixing the leak
6530         * docs/README:
6531           some more info on docs
6532
6533 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6534
6535         * check/Makefile.am:
6536           re-enable tests now that leaks are plugged
6537         * check/gst/gst.c:
6538         * check/gst/gstbin.c:
6539         * check/gst/gstpipeline.c:
6540           add some more tests while fixing leaks
6541         * common/check.mak:
6542           make sure binaries are uptodate when valgrinding/gdbing
6543         * gst/gst.c:
6544         * gst/gstelementfactory.c:
6545           remove a ref too many, and add a FIXME for when we get
6546           round to disposing of classes
6547         * gst/gstplugin.c:
6548           fix the refcounting when loading a plugin from a file and
6549           the code pretends that the pointer is the same even though
6550           of course it can change
6551         * gst/gstpluginfeature.c:
6552           unref plugins marked cached (a bit confusing as a name)
6553           as the docs state should be done
6554           various doc additions to explain refcounting
6555         * gst/gstregistry.c:
6556         * gst/gstregistryxml.c:
6557           debugging
6558
6559 2005-09-19  Wim Taymans  <wim@fluendo.com>
6560
6561         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6562         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6563         (send_messages), (GST_START_TEST), (gstbus_suite):
6564         * check/gst/gstpipeline.c: (GST_START_TEST):
6565         * check/pipelines/cleanup.c: (run_pipeline):
6566         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6567         (GST_START_TEST):
6568         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6569         (gst_bus_source_check), (gst_bus_source_dispatch),
6570         (gst_bus_create_watch), (gst_bus_add_watch_full),
6571         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6572         * gst/gstbus.h:
6573         * tools/gst-launch.c: (event_loop):
6574         * tools/gst-md5sum.c: (event_loop):
6575         GstBusHandler -> GstBusFunc, return value has the same meaning as
6576         any other GSource (FALSE == remove source).
6577         _add_watch() and _add_watch_full() now take a MessageType mask to
6578         only handle specific types of messages.
6579         _poll() returns the GstMessage instead of the message type to avoid
6580         race conditions.
6581         _have_pending() takes a MessageType mask now too.
6582         Added testsuite for multiple bus watches.
6583         Fix testsuites and applications for new bus API.
6584
6585 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6586
6587         * check/Makefile.am:
6588           mark a bunch of the tests as to fix until we fix them
6589
6590 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6591
6592         * common/check.mak:
6593           use GST_PLUGIN settings for valgrind tests as well, so we're
6594           valgrinding the correct thing
6595         * gst/gst.c: (init_post):
6596           plug another leak
6597
6598 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6599
6600         * gst/gst.c: (init_post), (gst_deinit):
6601         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6602         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6603         * gst/gstindex.c: (gst_index_factory_class_init),
6604         (gst_index_factory_finalize):
6605         * gst/gstobject.c: (gst_object_dispose):
6606         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6607         (gst_plugin_load_file), (gst_plugin_desc_free):
6608         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6609         (gst_plugin_feature_finalize):
6610         * gst/gstregistry.c: (gst_registry_class_init),
6611         (gst_registry_init), (gst_registry_finalize),
6612         (gst_registry_get_default), (gst_registry_deinit):
6613         * gst/gstregistry.h:
6614         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6615           various cleanups and memleak plugging.  make valgrind is happy now.
6616
6617 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6618
6619         * common/check.mak:
6620           add a check-valgrind target
6621
6622 2005-09-18  David Schleef  <ds@schleef.org>
6623
6624         * tools/gst-inspect.c: Revert the GOption code.
6625
6626 2005-09-17  David Schleef  <ds@schleef.org>
6627
6628         * check/Makefile.am: Fix environment variables.
6629         * check/gst/gstplugin.c: Fix for API changes.
6630         * tools/gst-inspect.c: Fix for API changes.
6631         * tools/gst-xmlinspect.c: Fix for API changes.
6632         * gst/gstelementfactory.c:
6633         * gst/gstplugin.c:
6634         * gst/gstplugin.h:
6635         * gst/gstpluginfeature.c:
6636         * gst/gstpluginfeature.h:
6637         * gst/gstregistry.c:
6638         * gst/gstregistry.h:
6639         * gst/gstregistryxml.c:
6640         * gst/gsttypefind.c:
6641         * gst/gsttypefindfactory.c:
6642         * gst/indexers/gstfileindex.c:
6643         * gst/indexers/gstmemindex.c:
6644         * gst/schedulers/Makefile.am:
6645           Change registry to keep track of both plugins and features,
6646           removing the feature tracking from plugins themselves.
6647
6648 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6649
6650         * check/Makefile.am:
6651         * tools/gst-register.1.in:
6652           remove gst-register
6653
6654 2005-09-15  David Schleef  <ds@schleef.org>
6655
6656         * check/gst/gstplugin.c:
6657         * gst/gstelementfactory.c:
6658         * gst/gstplugin.c:
6659         * gst/gstpluginfeature.c:
6660         * gst/gstregistry.c:
6661           Getting tired of debugging.  Disabled all the unreffing of
6662           plugins and features, which fixes the segfaults, but of
6663           course leaks like crazy.  At least playbin works.
6664
6665 2005-09-15  David Schleef  <ds@schleef.org>
6666
6667         * check/gst/gstplugin.c: (register_check_elements),
6668         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6669         More testing
6670         * gst/elements/gsttypefindelement.c: Fix refcounting.
6671         * gst/gsttypefind.c:
6672         * gst/gsttypefindfactory.c:
6673         * gst/gsttypefindfactory.h:
6674
6675 2005-09-15  David Schleef  <ds@schleef.org>
6676
6677         * gst/gstindex.c: get refcounting correct.
6678         * gst/gstregistry.c: Handle the case where a feature/plugin is
6679           not found.
6680
6681 2005-09-15  David Schleef  <ds@schleef.org>
6682
6683         * check/Makefile.am:
6684         * check/gst/gstplugin.c: Add test
6685         * gst/gstplugin.c: Fix problems noticed by testsuite
6686         * gst/gstplugin.h:
6687         * gst/gstregistry.c: 
6688         * gst/gstregistry.h:
6689
6690 2005-09-15  David Schleef  <ds@schleef.org>
6691
6692         * gst/gstplugin.c: Implement semi-decent recounting and locking
6693           in plugins and plugin features.
6694         * gst/gstplugin.h:
6695         * gst/gstpluginfeature.c:
6696         * gst/gstpluginfeature.h:
6697         * gst/gstregistry.c:
6698
6699 2005-09-15  Michael Smith <msmith@fluendo.com>
6700
6701         * gst/gstregistry.c: (gst_registry_get_feature_list):
6702           Implement this. Makes oggdemux work; decodebin still broken.
6703
6704 2005-09-14  David Schleef  <ds@schleef.org>
6705
6706         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6707           #316076)
6708         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6709         * gst/check/Makefile.am:
6710         * libs/gst/controller/Makefile.am:
6711         * libs/gst/dataprotocol/Makefile.am:
6712
6713 2005-09-14  David Schleef  <ds@schleef.org>
6714
6715         * configure.ac: Remove getbits library.  Nothing uses it, and
6716           it should be in something like liboil if someone did want
6717           to use it.
6718         * libs/gst/Makefile.am:
6719         * libs/gst/getbits/Makefile.am:
6720         * libs/gst/getbits/gbtest.c:
6721         * libs/gst/getbits/getbits.c:
6722         * libs/gst/getbits/getbits.h:
6723         * libs/gst/getbits/gstgetbits_generic.c:
6724         * libs/gst/getbits/gstgetbits_i386.s:
6725         * libs/gst/getbits/gstgetbits_inl.h:
6726
6727 2005-09-14  David Schleef  <ds@schleef.org>
6728
6729         * gst/Makefile.am: Dist glib-compat.h
6730
6731 2005-09-14  David Schleef  <ds@schleef.org>
6732
6733         * configure.ac: Remove gst/registries, since it's no longer used.
6734         * gst/registries/Makefile.am:
6735         * gst/registries/gstlibxmlregistry.c:
6736         * gst/registries/gstlibxmlregistry.h:
6737         * gst/registries/gstxmlregistry.c:
6738         * gst/registries/gstxmlregistry.h:
6739         * gst/registries/registrytest.c:
6740
6741 2005-09-14  David Schleef  <ds@schleef.org>
6742
6743         * gst/glib-compat.h:
6744         * gst/gstregistryxml.c:
6745           Convergence is near.  Seriously.
6746
6747 2005-09-14  David Schleef  <ds@schleef.org>
6748
6749         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6750         * gst/glib-compat.h:
6751           Attempt #4 to appease the buildbots.
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           Attempt #3.
6757
6758 2005-09-14  David Schleef  <ds@schleef.org>
6759
6760         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6761         Attempt #2.
6762
6763 2005-09-14  David Schleef  <ds@schleef.org>
6764
6765         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6766           the new functions.
6767
6768 2005-09-14  David Schleef  <ds@schleef.org>
6769
6770         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6771         * gst/glib-compat.h: Add some functions that are in newer versions
6772           of glib than we care to require.
6773         * gst/gstregistryxml.c: Use them.
6774
6775 2005-09-14  David Schleef  <ds@schleef.org>
6776
6777         * po/POTFILES.in: remove gst-register.c
6778
6779 2005-09-14  David Schleef  <ds@schleef.org>
6780
6781         * docs/gst/gstreamer-docs.sgml:
6782         * docs/gst/gstreamer-sections.txt:
6783         * docs/gst/gstreamer.types:
6784         * docs/gst/tmpl/gstelement.sgml:
6785         * docs/gst/tmpl/gstplugin.sgml:
6786         * docs/gst/tmpl/gstpluginfeature.sgml:
6787           Documentation updates for registry changes.
6788
6789 2005-09-14  David Schleef  <ds@schleef.org>
6790
6791         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6792           because we don't require glib-2.8.
6793
6794 2005-09-14  David Schleef  <ds@schleef.org>
6795
6796         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6797           registries directory.
6798
6799 2005-09-14  David Schleef  <ds@schleef.org>
6800
6801         * check/Makefile.am:
6802         * check/generic/states.c:
6803         * gst/Makefile.am:
6804         * gst/gst.c:
6805         * gst/gst.h:
6806         * gst/gst_private.h:
6807         * gst/gstelementfactory.c:
6808         * gst/gstindex.c:
6809         * gst/gstinfo.c:
6810         * gst/gstplugin.c:
6811         * gst/gstplugin.h:
6812         * gst/gstpluginfeature.c:
6813         * gst/gstpluginfeature.h:
6814         * gst/gstregistry.c:
6815         * gst/gstregistry.h:
6816         * gst/gstregistrypool.c: remove
6817         * gst/gstregistrypool.h: remove
6818         * gst/gsttypefind.c:
6819         * gst/gsttypefindfactory.c:
6820         * gst/gsturi.c:
6821         * tools/Makefile.am:
6822         * tools/gst-compprep.c:
6823         * tools/gst-inspect.c:
6824         * tools/gst-register.c: remove
6825         * tools/gst-xmlinspect.c:
6826           Registry rewrite.  Changes registry from being a file created
6827           by a tool into a simple cache file created automatically by 
6828           libgstreamer.  Removed gst-register (because it's no longer
6829           needed).  Remove registry pools, because we only have one
6830           registry implementation (XML).  Fix up other subsystems as
6831           necessary.
6832
6833 2005-09-13  Michael Smith <msmith@fluendo.com>
6834
6835         * gst/gstconfig.h.in:
6836           Don't Use windows linking attributes for MinGW. Fixes #316157
6837
6838 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6839
6840         * gst/gstutils.c: (set_state_async_thread_func),
6841         (gst_element_set_state_async):
6842           Apparently people think it's better if this function doesn't
6843           try to set the state to whatever state was asked for on the first
6844           call to this function for any object.  Seriously.
6845
6846 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6847
6848         * check/gst/gstpipeline.c: (GST_START_TEST):
6849         * docs/gst/gstreamer-sections.txt:
6850         * gst/gstutils.c: (set_state_async_thread_func),
6851         (gst_element_set_state_async):
6852         * gst/gstutils.h:
6853           add a "gst_element_set_state_async" method that
6854           sets the state and starts a thread to make sure the state
6855           change completes as best as it can
6856
6857 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6858
6859         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6860           codify design+behaviour in testsuite after discussion
6861
6862 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6863
6864         * docs/gst/tmpl/gstelement.sgml:
6865         * docs/manual/appendix-quotes.xml:
6866           add a quote
6867         * gst/gstelement.c: (gst_element_set_state):
6868           add some debug
6869
6870 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6871
6872         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6873         (gst_base_transform_prepare_output_buf),
6874         (gst_base_transform_handle_buffer):
6875         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6876         (gst_capsfilter_prepare_buf):
6877           Remove the requirement for sub-classes to call the parent
6878           implementation of prepare_output_buffer with a wrapper function.
6879           
6880         * gst/gsttaglist.h:
6881         * gst/gsttagsetter.h:
6882           Fix #define wrapper
6883
6884 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6885
6886         * docs/gst/gstreamer-sections.txt:
6887           more doc cleanups
6888
6889 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6890
6891         * docs/gst/gstreamer-sections.txt:
6892         * docs/gst/tmpl/gstelement.sgml:
6893         * docs/gst/tmpl/gstplugin.sgml:
6894         * gst/gstminiobject.c:
6895         * gst/gstvalue.h:
6896           docs now stop throwing warnings
6897
6898 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6899
6900         * docs/gst/gstreamer-sections.txt:
6901         * docs/gst/gstreamer.types:
6902         * docs/gst/tmpl/gstpad.sgml:
6903         * docs/gst/tmpl/gsttypes.sgml:
6904         * gst/base/gstadapter.h:
6905         * gst/base/gstbasesink.h:
6906         * gst/base/gstbasesrc.h:
6907         * gst/gstbin.h:
6908         * gst/gstbuffer.h:
6909         * gst/gstbus.h:
6910         * gst/gstcaps.h:
6911         * gst/gstclock.h:
6912         * gst/gstelement.h:
6913         * gst/gstevent.h:
6914         * gst/gstmessage.h:
6915         * gst/gstpad.h:
6916         * gst/gststructure.c:
6917         * gst/registries/gstlibxmlregistry.h:
6918           various documentation fixes
6919
6920 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6921
6922         * docs/gst/gstreamer-sections.txt:
6923         * docs/gst/tmpl/gstvalue.sgml:
6924           rearrange gstvalue section
6925         * gst/gstutils.c: (gst_element_state_get_name):
6926           NONE -> VOID
6927         * gst/gstvalue.c: (_gst_value_initialize):
6928         * gst/gstvalue.h:
6929           doc updates
6930
6931 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6932
6933         * check/gst-libs/controller.c:
6934           Header include fix.
6935         * gst/base/gstbasetransform.c:
6936         (gst_base_transform_default_prepare_buf),
6937         (gst_base_transform_handle_buffer):
6938         * gst/base/gstbasetransform.h:
6939           Some more basetransform changes and fixes to enable sub-classes
6940           that modify buffer metadata only.
6941         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6942         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6943         (gst_capsfilter_prepare_buf):
6944           If the output pad has fixed allowed caps and input buffers 
6945           don't have any, set the fixed caps on outgoing buffers.
6946
6947 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6948         * check/elements/identity.c: (GST_START_TEST):
6949           Make the error a little clearer when the test fails because
6950           identity made a copy of the buffer.
6951         * docs/gst/gstreamer-sections.txt:
6952           New symbols in gstbasetransform.h
6953         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6954         (gst_base_transform_init), (gst_base_transform_transform_size),
6955         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6956         (gst_base_transform_default_prepare_buf),
6957         (gst_base_transform_get_unit_size),
6958         (gst_base_transform_buffer_alloc),
6959         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6960         (gst_base_transform_change_state),
6961         (gst_base_transform_set_passthrough),
6962         (gst_base_transform_set_in_place),
6963         (gst_base_transform_is_in_place):
6964         * gst/base/gstbasetransform.h:
6965           Change BaseTransform to separate in_place operate from same_caps
6966           output. in_place implies that the element can perform the transform
6967           on incoming buffers in-place, even if the caps on the output are
6968           different.
6969           Sub-class elements can now implement special buffer allocation
6970           methods for outgoing buffers if they wish to.
6971           Big documentation addition.
6972         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6973         * gst/elements/gstelements.c:
6974           Changes for basetransform modifications.
6975         * gst/elements/Makefile.am:
6976         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6977           Compile fix. Extra debug output.
6978
6979 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6980
6981         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6982         (gst_pad_suite):
6983           add tests for valid pad naming
6984         * gst/check/gstcheck.c: (gst_check_log_message_func),
6985         (gst_check_log_critical_func):
6986           add ASSERT_WARNING
6987           remove printing of code, it is fragile when the code contains
6988           % and the line number is enough info
6989         * gst/check/gstcheck.h:
6990         * gst/gstpad.c: (gst_pad_template_new):
6991           fix memleaks
6992
6993 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6994
6995         * configure.ac:
6996           say what CHECK flags we use
6997         * docs/libs/gstreamer-libs.types:
6998         * libs/gst/controller/Makefile.am:
6999         * libs/gst/controller/gst-controller.c:
7000         * libs/gst/controller/gst-controller.h:
7001         * libs/gst/controller/gst-helper.c:
7002         * libs/gst/controller/gst-interpolation.c:
7003         * libs/gst/controller/gstcontroller.c:
7004         * libs/gst/controller/gsthelper.c:
7005         * libs/gst/controller/gstinterpolation.c:
7006         * tools/gst-inspect.c: (print_plugin_info):
7007           we don't use dashes in header names
7008
7009 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7010
7011         * check/Makefile.am:
7012         * check/gst/.cvsignore:
7013         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7014         (gst_pipeline_suite), (main):
7015           adding a test for pipelines and state changes
7016         * gst/gstutils.c: (get_state_func):
7017           add some debugging
7018         * gstreamer.spec.in:
7019           fix up spec file
7020
7021 2005-09-08  Michael Smith <msmith@fluendo.com>
7022
7023         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7024         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7025         (gst_file_src_is_seekable), (gst_file_src_get_size),
7026         (gst_file_src_start):
7027         * gst/elements/gstfilesrc.h:
7028           Various fixes for unseekable, unmmapable, and non-normal files, so
7029           that fallback to read() rather than mmap() works.
7030         * gst/gstevent.c: (gst_event_new_newsegment):
7031           Allow newsegment events with segment_start == segment_end, as will
7032           correctly happen if you use filesrc on a zero-size file, for
7033           example.
7034
7035 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7036
7037         * gst/gstplugin.c: (gst_plugin_load_file):
7038           Call g_module_close when we don't load the module
7039
7040         * gst/registries/gstlibxmlregistry.c:
7041         (gst_xml_registry_get_property):
7042           Port leak fix from 0.8
7043
7044 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7045
7046         * docs/gst/gstreamer-docs.sgml:
7047         * docs/gst/tmpl/.cvsignore:
7048         * docs/gst/tmpl/gsttrace.sgml:
7049         * docs/gst/tmpl/gsttrashstack.sgml:
7050         * gst/Makefile.am:
7051         * gst/gst.h:
7052         * gst/gstelement.h:
7053         * gst/gstevent.h:
7054         * gst/gstmessage.c:
7055         * gst/gstmessage.h:
7056         * gst/gsttag.c:
7057         * gst/gsttag.h:
7058         * gst/gsttaginterface.c:
7059         * gst/gsttaginterface.h:
7060         * gst/gsttaglist.c:
7061         * gst/gsttaglist.h:
7062         * gst/gsttagsetter.c:
7063         * gst/gsttagsetter.h:
7064         * gst/gsttrace.c:
7065         * gst/gsttrace.h:
7066         * gst/gsttrashstack.c:
7067           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7068           inlined docs for gsttrace, gsttrashstack
7069
7070 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7071
7072         * gst/Makefile.am:
7073         * gst/elements/gstbufferstore.h:
7074         * gst/elements/gsttypefindelement.c:
7075         * gst/elements/gsttypefindelement.h:
7076         * gst/gst.h:
7077         * gst/gsttypefind.c:
7078         * gst/gsttypefind.h:
7079         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7080         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7081         (gst_type_find_factory_dispose),
7082         (gst_type_find_factory_unload_thyself),
7083         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7084         (gst_type_find_factory_get_caps),
7085         (gst_type_find_factory_get_extensions),
7086         (gst_type_find_factory_call_function):
7087         * gst/gsttypefindfactory.h:
7088         * gst/registries/gstlibxmlregistry.c:
7089         * gst/registries/gstxmlregistry.c:
7090           splitted gsttypefind into gsttypefind, gsttypefindfactory
7091
7092 2005-09-07  Andy Wingo  <wingo@pobox.com>
7093
7094         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7095         condition whereby the pad's task function is entered before the
7096         pad_mode variable was set.
7097
7098 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7099
7100         * gst/gstpad.c: (gst_pad_alloc_buffer):
7101           Catch misbehaving pad_alloc functions that don't
7102           set up caps and do it for them.
7103
7104 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7105
7106         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7107           test for pipe!=NULL
7108         * docs/gst/tmpl/.cvsignore:
7109         * docs/gst/tmpl/gstmemchunk.sgml:
7110         * docs/gst/tmpl/gstparse.sgml:
7111         * docs/gst/tmpl/gsttaglist.sgml:
7112         * docs/gst/tmpl/gsttagsetter.sgml:
7113         * docs/gst/tmpl/gsttypefind.sgml:
7114         * docs/gst/tmpl/gsttypefindfactory.sgml:
7115         * gst/gstmemchunk.c:
7116         * gst/gstparse.c:
7117         * gst/gsttag.c:
7118         * gst/gsttaginterface.c:
7119         * gst/gsttypefind.c:
7120         * gst/gsttypefind.h:
7121           inlined more docs
7122
7123 === release 0.9.2 ===
7124
7125 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7126
7127         * NEWS:
7128         * RELEASE:
7129         * configure.ac:
7130           releasing 0.9.2, "South"
7131
7132 2005-09-05  Andy Wingo  <wingo@pobox.com>
7133
7134         * gst/registries/gstxmlregistry.h:
7135         * gst/registries/gstxmlregistry.c: Um... resurrect...
7136         
7137         * gst/registries/gstxmlregistry.h:
7138         * gst/registries/gstxmlregistry.c: and update to newer API.
7139         Incidentally they should be a bit faster now that they don't have
7140         to parse the caps.
7141         
7142 2005-09-05  Andy Wingo  <wingo@pobox.com>
7143
7144         * gst/registries/gstxmlregistry.h:
7145         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7146         replaced by the libxml registry a while back
7147
7148 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7149
7150         * docs/gst/tmpl/gstplugin.sgml:
7151         * gst/elements/gstelements.c:
7152         * gst/gst.c:
7153         * gst/gstplugin.c: (gst_plugin_register_func),
7154         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7155         (gst_plugin_get_source):
7156         * gst/gstplugin.h:
7157         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7158         (gst_xml_registry_save_plugin):
7159         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7160         (gst_xml_registry_save_plugin):
7161         * tools/gst-inspect.c: (print_plugin_info):
7162           add a "source" plugin description field, to represent the source
7163           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7164           will set it to PACKAGE, which is automake's idea of the name of
7165           the source project.
7166
7167 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7168
7169         * Makefile.am:
7170         * autogen.sh:
7171         * configure.ac:
7172         * docs/Makefile.am:
7173         * docs/faq/Makefile.am:
7174         * docs/gst/tmpl/gstelement.sgml:
7175         * docs/gst/tmpl/gsttypes.sgml:
7176         * docs/htmlinstall.mak:
7177         * docs/manual/Makefile.am:
7178         * docs/pwg/Makefile.am:
7179           reorganize doc build a little
7180           split out docbook and gtk-doc stuff
7181           have two separate --enable's and enable them through autogen
7182           but disable by default in configure (to be similar to other
7183           projects)
7184         * gstreamer.spec.in:
7185           clean up docs install
7186         * po/af.po:
7187         * po/az.po:
7188         * po/ca.po:
7189         * po/cs.po:
7190         * po/de.po:
7191         * po/en_GB.po:
7192         * po/fr.po:
7193         * po/it.po:
7194         * po/nb.po:
7195         * po/nl.po:
7196         * po/ru.po:
7197         * po/sq.po:
7198         * po/sr.po:
7199         * po/sv.po:
7200         * po/tr.po:
7201         * po/uk.po:
7202         * po/vi.po:
7203           translation updates
7204
7205 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7206
7207         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7208           Add comment.
7209           
7210         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7211         (gst_fake_sink_change_state):
7212           Make state change function thread-safe.
7213           
7214         * gst/gstpad.c: (gst_pad_alloc_buffer):
7215           Set offset on generic buffer allocated by fallback.
7216
7217 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7218
7219         * docs/gst/gstreamer-sections.txt:
7220         * docs/gst/tmpl/gstelement.sgml:
7221         * gst/gstpad.c:
7222         * libs/gst/controller/gst-controller.c:
7223         (gst_controlled_property_set_interpolation_mode),
7224         (gst_controlled_property_new),
7225         (gst_controller_find_controlled_property):
7226          run the wingo-magic script against the docs
7227
7228 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7229
7230         * docs/gst/gstreamer-docs.sgml:
7231         * docs/gst/gstreamer-sections.txt:
7232         * docs/gst/tmpl/.cvsignore:
7233         * docs/gst/tmpl/gstelementdetails.sgml:
7234         * docs/gst/tmpl/gstelementfactory.sgml:
7235         * gst/gst.c:
7236         * gst/gstbus.c:
7237         * gst/gstelementfactory.c:
7238         * gst/gstelementfactory.h:
7239           merged elementdetails docs into elementfactory docs
7240           inlined both
7241
7242 2005-09-02  Andy Wingo  <wingo@pobox.com>
7243
7244         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7245         consider this enum an enum and not a flags.
7246
7247 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7248
7249         * docs/gst/gstreamer-docs.sgml:
7250         * docs/gst/tmpl/.cvsignore:
7251         * docs/gst/tmpl/gstghostpad.sgml:
7252         * docs/gst/tmpl/gstiterator.sgml:
7253         * docs/gst/tmpl/gstmacros.sgml:
7254         * docs/gst/tmpl/gstrealpad.sgml:
7255         * docs/gst/tmpl/gstregistry.sgml:
7256         * docs/gst/tmpl/gstregistrypool.sgml:
7257         * docs/gst/tmpl/gststructure.sgml:
7258         * docs/gst/tmpl/gstsystemclock.sgml:
7259         * docs/gst/tmpl/gsttrace.sgml:
7260         * gst/gstghostpad.c:
7261         * gst/gstmacros.h:
7262         * gst/gstmemchunk.c:
7263         * gst/gstmemchunk.h:
7264         * gst/gstqueue.c:
7265         * gst/gstregistry.c:
7266         * gst/gstregistrypool.c:
7267         * gst/gststructure.c:
7268         * gst/gstsystemclock.c:
7269           more docs inlined
7270
7271 2005-09-02  Andy Wingo  <wingo@pobox.com>
7272
7273         * gst/gstelement.h (GstState): Renamed from GstElementState,
7274         changed to be a normal enum instead of flags.
7275         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7276         munged to be GST_STATE_CHANGE_*.
7277         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7278         work with the new state representation.
7279         (GstStateChange): New enumeration of possible state transitions.
7280         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7281         (GstElementClass::change_state): Pass the GstStateChange along as
7282         an argument. Helps language bindings, so they don't have to use
7283         tricky lock-needing macros like GST_STATE_CHANGE ().
7284
7285         * scripts/update-states (file): New script. Run it on a file to
7286         update it for state naming and API changes. Updates files in
7287         place.
7288
7289         * All files updated for the new API.
7290
7291 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7292
7293         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7294         * gst/gstutils.c: (gst_util_set_value_from_string),
7295         (gst_util_set_object_arg):
7296           fix a bunch of unchecked return values
7297         * tools/gst-complete.c: (main):
7298         * gstreamer.spec.in:
7299           clean up a little
7300
7301 2005-09-01  Wim Taymans  <wim@fluendo.com>
7302
7303         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7304         (gst_base_sink_event), (gst_base_sink_do_sync),
7305         (gst_base_sink_handle_event):
7306         * gst/base/gstbasesink.h:
7307         Handle newsegments more correctly.
7308
7309         * gst/gstbus.c:
7310         Fix docs.
7311
7312         * gst/gstevent.c: (gst_event_new_newsegment):
7313         A newsegment cannot have a start_time of -1
7314
7315 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7316
7317         * win32/gstenumtypes.c:
7318         * win32/gstenumtypes.h:
7319           Update
7320
7321 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7322
7323         * libs/gst/controller/gst-controller.c:
7324         (gst_controlled_property_set_interpolation_mode),
7325         (gst_controlled_property_new):
7326          fixed boolean again
7327
7328 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7329
7330         * docs/faq/gst-uninstalled:
7331           add -good
7332         * gst/gstevent.c:
7333         * gst/gstevent.h:
7334           remove wrong docs
7335         * gst/gstutils.c: (gst_element_link_filtered):
7336         * gst/gstutils.h:
7337           add gst_element_link_filtered
7338
7339 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7340
7341         * docs/gst/gstreamer-docs.sgml:
7342         * docs/gst/gstreamer-sections.txt:
7343         * docs/gst/tmpl/.cvsignore:
7344         * docs/gst/tmpl/gsterror.sgml:
7345         * docs/gst/tmpl/gstfilter.sgml:
7346         * docs/gst/tmpl/gsturihandler.sgml:
7347         * docs/gst/tmpl/gsturitype.sgml:
7348         * docs/gst/tmpl/gstutils.sgml:
7349         * docs/gst/tmpl/gstxml.sgml:
7350         * gst/gsterror.c:
7351         * gst/gsterror.h:
7352         * gst/gstfilter.c:
7353         * gst/gsturi.c:
7354         * gst/gsturitype.c:
7355         * gst/gstutils.c:
7356         * gst/gstxml.c:
7357           inlined more docs, fixed double id-ref
7358
7359 2005-08-31  Wim Taymans  <wim@fluendo.com>
7360
7361         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7362         (gst_base_transform_handle_buffer):
7363         Passthrough elements don't need the caps as they don't care.
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), (gst_base_transform_chain):
7369         Don't leak refcounts on buffers.
7370
7371 2005-08-31  Wim Taymans  <wim@fluendo.com>
7372
7373         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7374         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7375         (gst_base_transform_chain), (gst_base_transform_change_state):
7376         * gst/base/gstbasetransform.h:
7377         Handle the case where we are not negotiated more gracefully.
7378
7379 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7380
7381         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7382         (gst_file_src_map_region):
7383           Set READONLY flag on mmap'ed buffers, otherwise
7384           gst_buffer_make_writable() won't work properly (#314708).
7385
7386 2005-08-31  Wim Taymans  <wim@fluendo.com>
7387
7388         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7389         passthrough elements can even do inplace on non writable
7390         buffers (as they don't touch them).
7391
7392 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7393
7394         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7395         (gst_test_mono_source_set_property),
7396         (gst_test_mono_source_class_init), (GST_START_TEST),
7397         (gst_controller_suite):
7398           more tests (hehe I have the most)
7399         * gst/gstbus.c:
7400           describe popping messages whenusing mulltiple sources
7401         * libs/gst/controller/gst-controller.c:
7402         (gst_controlled_property_set_interpolation_mode),
7403         (gst_controlled_property_new):
7404         * libs/gst/controller/gst-controller.h:
7405         * libs/gst/controller/gst-interpolation.c:
7406           implement boolean properties
7407
7408 2005-08-31  Wim Taymans  <wim@fluendo.com>
7409
7410         * gst/gstminiobject.c: (gst_mini_object_ref):
7411         Cannot assert that the refcount has to be positive
7412         since a disposed object can be resurrected.
7413
7414 2005-08-31  Wim Taymans  <wim@fluendo.com>
7415
7416         * gst/gstpad.c: (gst_pad_init):
7417         Revert change, need to first fix badly behaving 
7418         apps.
7419
7420 2005-08-30  Wim Taymans  <wim@fluendo.com>
7421
7422         * check/elements/fakesrc.c: (setup_fakesrc):
7423         * check/elements/identity.c: (setup_identity):
7424         Activate pads before using them.
7425
7426 2005-08-30  Wim Taymans  <wim@fluendo.com>
7427
7428         * gst/base/gstadapter.c: (gst_adapter_flush):
7429         Flushing out 0 bytes is ok for this function.
7430
7431         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7432         no newsegment gives a warning and sets the start/stop to 
7433         invalid.
7434
7435         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7436         (gst_base_transform_set_passthrough):
7437         Some debug info.
7438
7439         * gst/gstminiobject.c: (gst_mini_object_ref):
7440         Check refcount here too.
7441
7442         * gst/gstpad.c: (gst_pad_init):
7443         Pads are initially flushing and refusing data.
7444
7445         * gst/gstutils.c: (gst_element_link_pads_filtered):
7446         When adding a capsfilter element make sure it has the
7447         same state as the parent bin.
7448
7449 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7450
7451         * docs/gst/tmpl/.cvsignore:
7452         * docs/gst/tmpl/gstformat.sgml:
7453         * docs/gst/tmpl/gstversion.sgml:
7454         * gst/gstbus.h:
7455         * gst/gstformat.c:
7456         * gst/gstformat.h:
7457         * gst/gstversion.h.in:
7458           more docs and two more inlined
7459
7460 2005-08-30  Wim Taymans  <wim@fluendo.com>
7461
7462         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7463         Don't sync to clock.
7464
7465 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7466
7467         * docs/gst/gstreamer-sections.txt:
7468           ultral33t func10ns deserve to appear in the docs actually
7469         * docs/gst/tmpl/.cvsignore:
7470         * docs/gst/tmpl/gstcompat.sgml:
7471         * docs/gst/tmpl/gstconfig.sgml:
7472         * gst/check/gstcheck.c:
7473         * gst/gstcompat.h:
7474         * gst/gstconfig.h.in:
7475           inlined more docs
7476
7477 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7478
7479         * docs/gst/tmpl/.cvsignore:
7480         * docs/gst/tmpl/gstquery.sgml:
7481         * docs/gst/tmpl/gstutils.sgml:
7482         * gst/gstquery.c:
7483         * gst/gstquery.h:
7484           inlined and extended docs
7485
7486 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7487
7488         * check/gst-libs/controller.c: (GST_START_TEST),
7489         (gst_controller_suite):
7490           more tests
7491         * docs/gst/tmpl/gstutils.sgml:
7492         * docs/libs/gstreamer-libs-sections.txt:
7493         * docs/libs/tmpl/gstdataprotocol.sgml:
7494           include path fixes
7495         * examples/controller/audio-example.c: (main):
7496           controller example works now
7497         * gst/gstclock.h:
7498           doc fixes
7499         * tools/gst-inspect.c: (print_element_properties_info):
7500           show param spec flags
7501
7502 2005-08-29  Andy Wingo  <wingo@pobox.com>
7503
7504         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7505
7506 2005-08-28  Andy Wingo  <wingo@pobox.com>
7507
7508         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7509         as having two arguments instead of just one. Allows superclasses
7510         to access information on subclasses -- see the terrible for() loop
7511         in gtype.c:g_type_create_instance for the reason why. All callers
7512         changed.
7513
7514 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7515
7516         * docs/design/part-messages.txt:
7517           update info
7518         * docs/gst/tmpl/.cvsignore:
7519         * docs/gst/tmpl/gstcaps.sgml:
7520         * docs/gst/tmpl/gstclock.sgml:
7521         * gst/gstbus.c:
7522         * gst/gstcaps.c:
7523         * gst/gstcaps.h:
7524         * gst/gstclock.c:
7525         * gst/gstclock.h:
7526         * gst/gstmessage.c:
7527           added descriptions for bus and message
7528           inline caps and clock docs
7529
7530 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7531
7532         * gst/gstmessage.c:
7533         * gst/gstmessage.h:
7534           doc fixes
7535
7536 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7537
7538         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7539           fix div-by-zero
7540
7541 2005-08-26  Andy Wingo  <wingo@pobox.com>
7542
7543         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7544         element_set_state's return val.
7545         (test_2_elements): Add test that's been disabled for months.
7546
7547         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7548         can-activate-pull properties.
7549
7550         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7551         can-activate-pull properties. Implement is_seekable so fakesrc can
7552         operate in pull mode.
7553
7554         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7555         properties.
7556         (gst_base_sink_activate, gst_base_sink_activate_pull)
7557         (gst_base_sink_activate_push): Make activation mode choosing work.
7558         Cleanups.
7559         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7560         is right. Make pull mode work. Post an eos before pausing in pull
7561         mode.
7562         (gst_base_sink_change_state): Pay attention to the core's
7563         change_state() return val.
7564         
7565         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7566         has-getrange properties. Cleanups.
7567         
7568         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7569         has_getrange and replace with can_activate_pull and
7570         can_activate_push.
7571
7572         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7573         locking comments. Remove has_loop, has_chain and replace with
7574         can_activate_pull and can_activate_push.
7575
7576 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7577
7578         * configure.ac:
7579         * examples/Makefile.am:
7580         * examples/metadata/Makefile.am:
7581         * examples/metadata/read-metadata.c: (message_loop),
7582         (have_pad_handler), (make_pipeline), (print_tag), (main):
7583           Add metadata reading example that loops over a list of filenames,
7584           dumping any tags found.
7585
7586         * gst/gstbus.c: (gst_bus_dispose):
7587         * gst/gstelement.c: (gst_element_dispose):
7588           Release a few potentially-held references in dispose.
7589
7590 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7591
7592         * docs/gst/tmpl/gstminiobject.sgml:
7593           do *not* add tmpl/*.sgml files to CVS!
7594
7595 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7596
7597         * libs/gst/bytestream/.cvsignore:
7598         * libs/gst/bytestream/Makefile.am:
7599         * libs/gst/bytestream/adapter.c:
7600         * libs/gst/bytestream/adapter.h:
7601         * libs/gst/bytestream/bytestream.c:
7602         * libs/gst/bytestream/bytestream.h:
7603         * libs/gst/bytestream/filepad.c:
7604         * libs/gst/bytestream/filepad.h:
7605           removing obsolete files
7606
7607 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7608
7609         * docs/gst/gstreamer-docs.sgml:
7610         * docs/libs/gstreamer-libs-docs.sgml:
7611           disabed additional index entries again, as this makes docs-gen just
7612           slow and they aren't useful yet
7613         * docs/libs/gstreamer-libs-sections.txt:
7614           little -section.txt cleanup for libs
7615
7616 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7617
7618         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7619         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7620           fix up some debugging
7621         (gst_base_transform_get_unit_size),
7622         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7623         (gst_base_transform_handle_buffer):
7624         * gst/base/gstbasetransform.h:
7625           handle and store timed NEWSEGMENT events so that subclasses that
7626           calculate time by counting samples have a segment_start time they
7627           need to add to their timestamps - see audioresample
7628
7629 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7630
7631         * gst/gstbin.h:
7632           removed ';' from the end of macro defs
7633         * docs/gst/gstreamer-docs.sgml:
7634         * docs/gst/gstreamer-sections.txt:
7635         * docs/gst/tmpl/.cvsignore:
7636         * gst/gstbus.h:
7637         * gst/gstelement.c: (gst_element_class_init),
7638         (gst_element_set_state), (activate_pads),
7639         (gst_element_save_thyself):
7640         * gst/gstevent.c: (gst_event_new_newsegment):
7641         * gst/gstevent.h:
7642         * gst/gstiterator.c:
7643         * gst/gstiterator.h:
7644         * gst/gstpad.c:
7645         * gst/gstprobe.h:
7646         * gst/gstutils.c: (gst_pad_query_convert):
7647         * gst/gstutils.h:
7648           fixed parameter name mismatches between source, header and docs
7649           added some more docs, resolved the last batch of unused elements in
7650           docs (now someone needs to doc them)
7651
7652 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7653
7654         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7655         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7656           don't walk through the plugins backwards.  Where is all this
7657           reversed logic coming from ?
7658
7659 2005-08-25  Wim Taymans  <wim@fluendo.com>
7660
7661         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7662         (gst_base_transform_transform_size),
7663         (gst_base_transform_configure_caps),
7664         (gst_base_transform_get_unit_size),
7665         (gst_base_transform_buffer_alloc),
7666         (gst_base_transform_change_state):
7667         * gst/base/gstbasetransform.h:
7668         Cache caps unit_size.
7669         Make sure we cannot negotiate up and downstream at the
7670         same time.
7671
7672 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7673
7674         * gst/gst.c: (init_pre), (init_post):
7675           register the installed plugin path after the env var
7676         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7677         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7678           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7679           directories, so the tests can prefer uninstalled over installed
7680
7681 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7682
7683         * gst/base/gstbasetransform.h:
7684           comment
7685         * gst/gstpad.c:
7686           add to docs
7687
7688 2005-08-25  Wim Taymans  <wim@fluendo.com>
7689
7690         * gst/gstbin.c: (bin_bus_handler):
7691         Be a bit more conservative about the posted message.
7692         
7693         * gst/gstbus.c: (gst_bus_post):
7694         Some cleanups, warn wrong return values.
7695
7696 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7697
7698         * check/gst/gstbin.c: (GST_START_TEST):
7699         * gst/gstbin.c: (bin_bus_handler):
7700         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7701         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7702         (gst_message_new_warning), (gst_message_new_tag),
7703         (gst_message_new_state_changed), (gst_message_new_segment_start),
7704         (gst_message_new_segment_done), (gst_message_new_custom):
7705         * gst/gstmessage.h:
7706         * tools/gst-launch.c: (event_loop):
7707         * tools/gst-md5sum.c: (event_loop):
7708           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7709
7710 2005-08-25  Wim Taymans  <wim@fluendo.com>
7711
7712         * check/generic/states.c: (GST_START_TEST):
7713         Cleanup can be done at the end.
7714
7715         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7716         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7717         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7718         Oh boy.. Thanks for finding this, Thomas. 
7719
7720 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7721
7722         * docs/gst/gstreamer.types:
7723           added missing types
7724
7725 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7726
7727         * docs/gst/gstreamer-docs.sgml:
7728         * docs/gst/gstreamer-sections.txt:
7729         * docs/gst/tmpl/.cvsignore:
7730         * gst/gstbin.c:
7731         * gst/gstiterator.c:
7732         * gst/gstutils.c:
7733         * gst/registries/gstxmlregistry.h:
7734           added missing classes and symbols (123 more to go)
7735           removed removed symbols from section file
7736           fixed many doc-comments
7737
7738 2005-08-24  Wim Taymans  <wim@fluendo.com>
7739
7740         * check/generic/states.c: (GST_START_TEST):
7741         Make sure all tasks are stopped.
7742
7743         * check/gst/gstbin.c: (GST_START_TEST):
7744         Unref after usage for proper valgrinding.
7745
7746         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7747         Really wait for the task to stop before destroying the
7748         mutex.
7749
7750         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7751         (gst_queue_src_activate_push):
7752         Small cleanups. Don't stop the task when we did not start
7753         it.
7754
7755         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7756         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7757         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7758         (gst_task_join):
7759         * gst/gsttask.h:
7760         Protect the stream lock with the object lock.
7761         Disallow setting the stream lock when running.
7762         Add cleanup_all to wait for the threadpool to finish.
7763         Remove code to autoallocate a mutex if none was provided.
7764         Add _join() to wait for a task to stop.
7765         Protect the thread pool with a global lock.
7766
7767 2005-08-24  Wim Taymans  <wim@fluendo.com>
7768
7769         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7770         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7771         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7772         * gst/base/gstbasesink.h:
7773         Handle newsegment events correctly.
7774         Drop buffers out of the segment range.
7775
7776 2005-08-22  Andy Wingo  <wingo@pobox.com>
7777
7778         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7779         macro, implements an interface and gstimplementsinterface for a
7780         new type.
7781
7782 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7783
7784         * check/Makefile.am:
7785         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7786           add a test that does a bunch of state changes on elements
7787           needs some fixing for valgrind
7788         * check/states/sinks.c: (gst_object_suite):
7789           whitespace
7790         * gst/gstcaps.h:
7791           add prototype for gst_caps_is_equal_fixed
7792         * gst/gstplugin.c:
7793         * gst/gstregistrypool.c:
7794           doc fixes
7795
7796 2005-08-24  Andy Wingo  <wingo@pobox.com>
7797
7798         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7799         convert a negative value. Doesn't make much sense. Mostly this is
7800         here to force callers to ensure -1 maps to -1.
7801
7802 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7803
7804         * docs/pwg/advanced-types.xml:
7805           Well done to Michael for catching my deliberate introduction
7806           of this spelling mistake. 
7807         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7808         * gst/gstelement.h:
7809           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7810           unlink pads before removing the element from the bin.
7811
7812 2005-08-24  Andy Wingo  <wingo@pobox.com>
7813
7814         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7815         the same thing as GST_DEBUG=*:4.
7816         (parse_debug_level, parse_debug_category): New helper parsers.
7817
7818 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7819
7820         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7821         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7822         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7823         (gst_base_transform_buffer_alloc),
7824         (gst_base_transform_handle_buffer):
7825           use gboolean return values and pointers to size so we can use the
7826           full GST_BUFFER_SIZE range (guint) for buffer sizes
7827           use GstPadDirection for transform_caps
7828         * gst/base/gstbasetransform.h:
7829           rename get_size to get_unit_size since that's what it is
7830         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7831           use GstPadDirection for transform_caps
7832         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7833         * gst/gstutils.h:
7834           cleanup and debugging
7835
7836 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7837
7838         * gst/gstelement.c: (gst_element_class_init),
7839         (gst_element_set_state), (activate_pads),
7840         (gst_element_save_thyself):
7841         * tools/gst-compprep.c: (main):
7842         * tools/gst-inspect.c: (print_element_properties_info):
7843         * tools/gst-xmlinspect.c: (print_element_properties):
7844           Fixed long standing mem-leak
7845
7846 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7847
7848         * check/gst/gstbin.c: (GST_START_TEST):
7849         * gst/gstbin.c: (bin_bus_handler):
7850         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7851         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7852         (gst_message_new_warning), (gst_message_new_tag),
7853         (gst_message_new_state_changed), (gst_message_new_segment_start),
7854         (gst_message_new_segment_done), (gst_message_new_custom):
7855         * gst/gstmessage.h:
7856         * tools/gst-launch.c: (event_loop):
7857         * tools/gst-md5sum.c: (event_loop):
7858           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7859           that applications can sensibly post custom messages with references
7860           to their own objects.
7861
7862 2005-08-24  Andy Wingo  <wingo@pobox.com>
7863
7864         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7865         already.
7866
7867 2005-08-24  Wim Taymans  <wim@fluendo.com>
7868
7869         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7870         (gst_base_transform_transform_caps),
7871         (gst_base_transform_transform_size),
7872         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7873         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7874         (gst_base_transform_handle_buffer):
7875         * gst/base/gstbasetransform.h:
7876         Many fixes and new features added by Thomas. Can now also do
7877         transforms with variable sizes and a custom fixate_caps function.
7878
7879 2005-08-24  Wim Taymans  <wim@fluendo.com>
7880
7881         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7882         Some debugging.
7883
7884         * gst/gstclock.h:
7885         Cast to ClockTime before formatting to time.
7886
7887         * gst/gstutils.h:
7888         Cleanups.
7889
7890 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7891
7892         * check/gst-libs/controller.c: (GST_START_TEST),
7893         (gst_controller_suite):
7894         * docs/gst/tmpl/gstcaps.sgml:
7895         * docs/gst/tmpl/gstghostpad.sgml:
7896         * docs/gst/tmpl/gstquery.sgml:
7897         * docs/gst/tmpl/gstutils.sgml:
7898         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7899         (gst_object_sink_values), (gst_object_get_value_arrays),
7900         (gst_object_get_value_array):
7901           gracefully handle helper method calls to objects that are not beeing
7902           controlled, added test case for that          
7903
7904 2005-08-23  Wim Taymans  <wim@fluendo.com>
7905
7906         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7907         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7908         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7909         (gst_event_parse_qos), (gst_event_new_seek),
7910         (gst_event_parse_seek):
7911         * gst/gstevent.h:
7912         Some more debugging output and doc cleanups.
7913
7914         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7915         Fix possible deadlock.
7916
7917 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7918
7919         * docs/gst/gstreamer-docs.sgml:
7920         * docs/gst/gstreamer-sections.txt:
7921         * docs/gst/gstreamer.types:
7922         * docs/gst/tmpl/.cvsignore:
7923         * gst/gstbin.h:
7924         * gst/gstbus.c:
7925         * gst/gstelement.c:
7926         * gst/gstevent.h:
7927           added 100 symbols from gstreamer-unused.txt to the right sections
7928           fixed more broken comments
7929           added GstBus to docs
7930
7931 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7932
7933         * docs/gst/gstreamer-sections.txt:
7934         * docs/gst/tmpl/.cvsignore:
7935         * docs/gst/tmpl/gstbin.sgml:
7936         * docs/gst/tmpl/gstbuffer.sgml:
7937         * gst/base/gstbasesrc.c:
7938         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7939         * gst/gstbuffer.c:
7940         * gst/gstbuffer.h:
7941         * tools/gst-launch.1.in:
7942           inlined more doc comments, added missing comments and fixed comments
7943           fixed typos
7944
7945 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7946
7947         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7948           some debugging
7949         * gst/gstcaps.h:
7950           whitespace fixes
7951         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7952           more debugging
7953         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7954         * gst/gststructure.h:
7955           add a fixate function for booleans; add a FIXME that these func
7956           names should probably be gst_structure_fixate_*
7957
7958 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7959
7960         * docs/gst/gstreamer-docs.sgml:
7961         * docs/gst/gstreamer-sections.txt:
7962         * gst/Makefile.am:
7963         * gst/gstbin.c: (gst_bin_get_type),
7964         (gst_bin_child_proxy_get_child_by_index),
7965         (gst_bin_child_proxy_get_children_count),
7966         (gst_bin_child_proxy_init):
7967         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7968         (gst_child_proxy_get_child_by_index),
7969         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7970         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7971         (gst_child_proxy_get), (gst_child_proxy_set_property),
7972         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7973         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7974         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7975         * gst/gstchildproxy.h:
7976         * gst/parse/grammar.y:
7977         * tools/gst-inspect.c: (print_interfaces),
7978         (print_element_properties_info), (print_element_info):
7979           ported gstchildproxy over from 0.8
7980           ported gst-inspect fixes and enhancements over from 0.8
7981
7982 2005-08-22  Wim Taymans  <wim@fluendo.com>
7983
7984         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7985         (gst_base_transform_handle_buffer):
7986         Also call the transform function if we have ANY caps.
7987
7988         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7989         Fix debug info.
7990
7991 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7992
7993         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7994           Don't pretend to handle seek events if the source is not seekable
7995
7996 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7997
7998         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7999           Remove extra parameter to debug output
8000
8001         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8002         (gst_base_src_do_seek), (gst_base_src_activate_push):
8003           Fix seek event handling.
8004
8005         * gst/gstpipeline.c: (gst_pipeline_change_state):
8006         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8007         (gst_queue_src_activate_push):
8008           Don't start the src pad task on FLUSH_STOP if the pad
8009           isn't linked.
8010           Debug changes.
8011
8012 2005-08-22  Wim Taymans  <wim@fluendo.com>
8013
8014         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8015         Added check for gst_static_caps_get() refcounting.
8016
8017 2005-08-22  Wim Taymans  <wim@fluendo.com>
8018
8019         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8020         Make _static_caps_get() refcounting sane.
8021         
8022         * gst/gstelement.c: (gst_element_set_state):
8023         Add g_return_val_if_fail() to protect against segfaults.
8024
8025 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8026
8027         * docs/gst/tmpl/gstevent.sgml:
8028         * gst/gstevent.c:
8029         * gst/gstevent.h:
8030           inlined remaining docs, added missing doc comments
8031
8032 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8033
8034         * check/gst/gstbin.c: (GST_START_TEST):
8035           since we don't know when preroll is done, use refcount range
8036           check for the sink
8037         * gst/check/gstcheck.h:
8038           add macro for checking refcount range
8039
8040 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8041
8042         * check/Makefile.am:
8043           clean up environment for when registry gets built versus
8044           when actual tests are run; valgrind seems to not report
8045           leaks if GST_PLUGIN_PATH is set to some specific values
8046         * check/gst/gstbin.c: (GST_START_TEST):
8047           add more refcounting checks; maybe this exposes a
8048           preroll lock bug ?
8049         * common/check.mak:
8050         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8051         * gst/check/gstcheck.h:
8052         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8053         (gst_bin_change_state):
8054         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8055           add/fix debugging/whitespace
8056
8057 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8058
8059         * check/gst/gstevent.c: (event_probe), (test_event),
8060         (GST_START_TEST):
8061          Er, don't call gst_bin_watch_for_state_change you idiot.
8062
8063 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8064
8065         * check/Makefile.am:
8066           Use CHECK_CFLAGS and CHECK_LIBS
8067         * check/gst/gstevent.c: (event_probe), (test_event),
8068         (GST_START_TEST):
8069           Don't leak events.
8070         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8071         (gst_base_src_start), (gst_base_src_stop),
8072         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8073         (gst_base_src_change_state):
8074           Sprinkle gst_base_src_stop liberally around error paths to fix
8075           problems reusing a source after failed state changes.
8076         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8077         (helper_find_suggest), (gst_type_find_helper):
8078           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8079         * gst/gstevent.h:
8080         * docs/gst/tmpl/gstevent.sgml:
8081           Migrate part of the docs from the SGML file. Wait for ensonic to
8082           tell me how I did it wrong ;)
8083         * tools/gst-typefind.c: (main):
8084           Extra robustness to state changes between files.
8085
8086 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8087
8088         * check/Makefile.am:
8089           don't valgrind the controller test - it's leaking - Stefan, HELP
8090         * gst/check/gstcheck.c: (gst_check_message_error),
8091         (gst_check_chain_func), (gst_check_setup_element),
8092         (gst_check_teardown_element), (gst_check_setup_src_pad),
8093         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8094         (gst_check_teardown_sink_pad):
8095         * gst/check/gstcheck.h:
8096           add a bunch of methods to set up elements, and src and sink pads
8097         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8098         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8099         (GST_START_TEST):
8100           use them
8101         * gst/gstmessage.c:
8102         * gst/gsttag.h:
8103           whitespace/doc fixes
8104
8105 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8106
8107         * gst/gstelement.h:
8108           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8109           be handled by the application and not always printed as well
8110
8111 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8112
8113         * check/Makefile.am:
8114           set GST_TOOLS_DIR
8115         * gst/check/gstcheck.c: (gst_check_message_error):
8116         * gst/check/gstcheck.h:
8117           add a fail_unless_equals_int
8118           add fail_unless for error messages
8119
8120 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8121
8122         * check/Makefile.am:
8123         * check/gst.supp:
8124         * common/Makefile.am:
8125         * common/check.mak:
8126         * common/gst.supp:
8127           factor out some of the common stuff so we can use it
8128
8129 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8130
8131         * check/Makefile.am:
8132         * check/gst/gstiterator.c: (GST_START_TEST):
8133         * check/gst/gstsystemclock.c: (GST_START_TEST),
8134         (gst_systemclock_suite):
8135         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8136         * gst/gstclock.c:
8137           valgrind more tests
8138
8139 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8140
8141         * check/elements/.cvsignore:
8142         * check/elements/gstfakesrc.c:
8143           rename to name of element
8144         * check/elements/identity.c: (chain_func), (event_func),
8145         (setup_identity), (cleanup_identity), (GST_START_TEST),
8146         (identity_suite), (main):
8147           add a test for identity
8148         * check/Makefile.am:
8149         * pkgconfig/Makefile.am:
8150         * pkgconfig/gstreamer-check.pc.in:
8151         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8152         * gst/check:
8153         * gst/Makefile.am:
8154         * configure.ac:
8155           move the check stuff to a library that gets installed
8156         * check/gst-libs/controller.c: (GST_START_TEST):
8157         * check/gst-libs/gdp.c:
8158         * check/gst/gst.c: (GST_START_TEST):
8159         * check/gst/gstbin.c:
8160         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8161         * check/gst/gstbus.c:
8162         * check/gst/gstcaps.c: (GST_START_TEST):
8163         * check/gst/gstelement.c:
8164         * check/gst/gstghostpad.c:
8165         * check/gst/gstiterator.c:
8166         * check/gst/gstmessage.c:
8167         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8168         * check/gst/gstobject.c:
8169         * check/gst/gstpad.c: (GST_START_TEST):
8170         * check/gst/gststructure.c: (GST_START_TEST):
8171         * check/gst/gstsystemclock.c: (GST_START_TEST),
8172         (gst_systemclock_suite):
8173         * check/gst/gsttag.c: (gst_tag_suite):
8174         * check/gst/gstvalue.c:
8175         * check/pipelines/cleanup.c:
8176         * check/pipelines/simple_launch_lines.c:
8177         * check/states/sinks.c:
8178           change include statement
8179
8180         * docs/gst/gstreamer-sections.txt:
8181         * docs/gst/tmpl/gstpad.sgml:
8182           document more pad stuff
8183         * gst/gstminiobject.c: (gst_mini_object_ref),
8184         (gst_mini_object_unref):
8185           debug refcounting
8186
8187 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8188
8189         * docs/gst/tmpl/gst.sgml:
8190         * gst/gst.c:
8191           eliminate another tmpl file, fix spelling in the long-description
8192
8193 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8194
8195         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8196         (test_event), (timediff), (gstevents_suite):
8197           Should fix build on 64-bit arch's
8198
8199 2005-08-18  Andy Wingo  <wingo@pobox.com>
8200
8201         Make sure that when a pipeline goes to PLAYING, that data has
8202         actually hit the sink.
8203
8204         * check/states/sinks.c (test_sink): A sink that doesn't get any
8205         data shouldn't return SUCCESS for going to either PLAYING or
8206         PAUSED. Test also the return values on the way back down.
8207
8208         * gst/gstelement.c (gst_element_set_state): When changing the
8209         state of an element currently changing state asynchronously, go to
8210         lost-state after commiting the pending state. Makes future calls
8211         to get_state continue to return ASYNC.
8212
8213         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8214         ASYNC when going to PLAYING if we still don't have preroll, as can
8215         happen with live sources.
8216
8217 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8218
8219         * docs/pwg/advanced-types.xml:
8220           Hack long paragraph into 2 chunks as a workaround for buggy
8221           jadetex version in sid and breezy that loops infinitely and
8222           eats all RAM.
8223
8224 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8225
8226         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8227         (test_event), (timediff), (gstevents_suite):
8228           Provide more error margin in clock measurements to allow for 
8229           g_get_current_time inaccuracies.
8230
8231 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8232
8233         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8234         (test_event), (timediff), (gstevents_suite):
8235            Fix error message output so I might be able to tell why the
8236            test works here but fails on the build farm.
8237
8238 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8239
8240         * check/Makefile.am:
8241         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8242         (test_event), (timediff), (gstevents_suite), (main):
8243           I wrote a test!
8244
8245         * docs/design/part-seeking.txt:
8246           Spelling correction
8247
8248         * docs/gst/tmpl/gstevent.sgml:
8249         * docs/gst/tmpl/gstfakesrc.sgml:
8250           Docs updates.
8251
8252         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8253           Treat a buffer-without-newsegment the same as a receiving 
8254           a newsegment not in time format, and disable syncing to the clock
8255           with a warning.
8256
8257         * gst/gstbus.c: (gst_bus_set_sync_handler):
8258           Assert if anyone tries to replace the existing sync_handler for bus, 
8259           as only the owner should be setting it.
8260
8261         * gst/gstevent.h:
8262           Have a fixed set of custom event enums with events identified by
8263           their structure name (as in 0.8), rather than a free-for-all
8264           allowing collisions between enum values from different plugins.
8265
8266         * gst/gstpad.c: (gst_pad_class_init):
8267           Docs change.
8268           
8269         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8270           Handle out-of-band downstream events from the sending thread.
8271
8272 2005-08-17  Andy Wingo  <wingo@pobox.com>
8273
8274         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8275         play-timeout==0 to mean no timeout at all. In that case, don't
8276         bother with a get_state or a warning, just return directly, even
8277         if it's ASYNC.
8278
8279         * gst/base/gstbasetransform.c: Debug changes.
8280
8281         * gst/gstutils.h:
8282         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8283         ensure bins post state change messages. A bit of a hack but I can't
8284         think of a way to avoid it.
8285
8286         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8287
8288 2005-08-16  Andy Wingo  <wingo@pobox.com>
8289
8290         * gst/base/gstadapter.h:
8291         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8292         peek() but you own the data. Not terribly efficient atm.
8293
8294 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8295
8296         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8297         (gst_element_found_tags):
8298         * gst/gstutils.h:
8299           Add two utility functions for tag handling.
8300
8301 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8302
8303         * docs/manual/advanced-dataaccess.xml:
8304         * docs/manual/basics-helloworld.xml:
8305           Fix docs to use _bin_add() before _link(), which fixes the examples
8306           with recent core versions (reported by Madhan Raj M
8307           <raj_madan@rediffmail.com>, #313199).
8308
8309 2005-08-16  Wim Taymans  <wim@fluendo.com>
8310
8311         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8312         Added subtract checks.
8313
8314         * docs/design/part-events.txt:
8315         Some more docs about newsegment
8316
8317         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8318         Fix FIXME
8319
8320         * gst/gstcaps.c: (gst_caps_to_string):
8321         Add comments, cleanups.
8322         
8323         * gst/gstelement.c: (gst_element_save_thyself):
8324         cleanups
8325         
8326         * gst/gstvalue.c: (gst_value_collect_int_range),
8327         (gst_string_unwrap), (gst_value_union_int_int_range),
8328         (gst_value_union_int_range_int_range),
8329         (gst_value_intersect_int_int_range),
8330         (gst_value_intersect_int_range_int_range),
8331         (gst_value_intersect_double_double_range),
8332         (gst_value_intersect_double_range_double_range),
8333         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8334         (gst_value_subtract_int_range_int),
8335         (gst_value_subtract_double_range_double),
8336         (gst_value_subtract_double_range_double_range),
8337         (gst_value_subtract_from_list), (gst_value_subtract_list),
8338         (gst_value_can_compare), (gst_value_compare_fraction):
8339         Cleanups, add comments, remove unneeded asserts.
8340
8341 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8342
8343         * tools/gst-launch.c: (event_loop):
8344           don't convert NULL structures to strings
8345
8346 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8347
8348         * docs/gst/gstreamer-sections.txt:
8349           made some defines private
8350         * docs/gst/tmpl/gstconfig.sgml:
8351         * docs/gst/tmpl/gstqueue.sgml:
8352         * docs/gst/tmpl/gsttaglist.sgml:
8353         * docs/gst/tmpl/gsttypes.sgml:
8354         * docs/gst/tmpl/gstutils.sgml:
8355         * docs/pwg/appendix-porting.xml:
8356         * gst/base/gstbasesink.h:
8357         * gst/base/gstbasesrc.c:
8358         * gst/base/gstbasesrc.h:
8359         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8360         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8361         * gst/gstelement.c: (gst_element_class_init):
8362         * gst/gstpad.c: (gst_pad_class_init):
8363         * gst/gstqueue.c: (gst_queue_class_init):
8364         * gst/gstxml.c: (gst_xml_class_init):
8365           documented all undocumented signal inline
8366         * libs/gst/controller/gst-controller.h:
8367           added padding
8368
8369 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8370
8371         * docs/pwg/appendix-porting.xml:
8372           Document _set_link_function -> _set_setcaps_function.
8373
8374 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8375
8376         * check/Makefile.am:
8377           add a .check target for running the check
8378         * check/gst-libs/controller.c: (GST_START_TEST):
8379           cosmetic fixups
8380         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8381           complete checks for gstbuffer; would be nice if I could get the
8382           gcov stuff to work so I can see if I actually completed gstbuffer.c
8383         * check/gstcheck.h:
8384           add ASSERT_BUFFER_REFCOUNT
8385
8386 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8387
8388         * docs/gst/gstreamer-sections.txt:
8389         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8390         * gst/gsttag.h:
8391           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8392           spew out a warning if a tag that is already registered
8393           is re-registered, unless it is re-registered with a 
8394           different type (#308438).
8395
8396 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8397
8398         * docs/pwg/appendix-porting.xml:
8399         * docs/pwg/building-state.xml:
8400           Add some paragraphs about state changes in 0.9 to the PWG
8401           and the porting guide, in particular about the new meaning
8402           of GST_STATE_PAUSED and how to write state change functions
8403           with concurrent access by multiple threads in mind.
8404
8405 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8406
8407         * docs/gst/gstreamer-docs.sgml:
8408         * docs/libs/gstreamer-libs-docs.sgml:
8409           added deprecation and since indexes
8410         * libs/gst/controller/gst-controller.c:
8411         * libs/gst/controller/gst-helper.c:
8412           added since tags
8413
8414
8415 2005-08-11  Wim Taymans  <wim@fluendo.com>
8416
8417         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8418         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8419         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8420         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8421         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8422         (gst_ghost_pad_set_target):
8423         Actually implement (re)setting the target on a ghostpad
8424         as described in the docs.
8425
8426 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8427
8428         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8429           Check whether GST_DEBUG_NO_COLOR environment variable is
8430           set and disable coloured debug output if that is the case.
8431
8432 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8433
8434         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8435         (gst_type_find_helper):
8436           The memory returned by gst_type_find_peek() needs to
8437           stay valid until the end of a typefind function, and
8438           typefind functions may keep results from different 
8439           offsets around, so we can't just unref the buffer from
8440           the previous _peek(), but have to save all buffers 
8441           returned by _peek() until typefinding is done and only
8442           free them then.
8443
8444 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8445
8446         * docs/gst/gstreamer-sections.txt:
8447         * gst/gstutils.h:
8448           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8449
8450 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8451
8452         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8453           Fix a pretty good memleak.
8454
8455 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8456
8457         * gst/gstiterator.h:
8458           Fix wrong include and 'make distcheck'.
8459
8460 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8461
8462         * gst/gstbin.c: (bin_bus_handler):
8463           Use gst_element_post_message() instead.
8464
8465 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8466
8467         * gst/base/gstadapter.h:
8468         * gst/base/gstbasesink.h:
8469         * gst/base/gstbasesrc.h:
8470         * gst/base/gstbasetransform.h:
8471         * gst/base/gstcollectpads.h:
8472         * gst/base/gstpushsrc.h:
8473         * gst/gstiterator.h:
8474           Add padding to our base elements' class and instance structs and
8475           to GstIterator (you will need to rebuild all plugins and apps!)
8476
8477 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8478
8479         * gst/gstbin.c: (bin_bus_handler):
8480           Make default message forwarding from child->bus to bin->bus
8481           threadsafe and make it not emit warnings if the parent has no bus.
8482
8483 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8484
8485         * gst/gstelement.c: (activate_pads):
8486           On paused->ready, set pad->caps to NULL, as is the documented
8487           behaviour in this state change. Fixes playback of series of
8488           media files when visualization is enabled in Totem.
8489
8490 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8491
8492         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8493           Allow NULL as filter-caps (which means "any").
8494
8495 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8496
8497         * docs/libs/gstreamer-libs-sections.txt:
8498         * libs/gst/controller/gst-controller.c:
8499         * libs/gst/controller/gst-controller.h:
8500         * libs/gst/controller/gst-helper.c:
8501           adding more entries to the docs and fix small doc-bugs
8502
8503 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8504
8505         * docs/gst/gstreamer-docs.sgml:
8506         * docs/gst/gstreamer-sections.txt:
8507         * docs/gst/gstreamer.types:
8508         * docs/gst/tmpl/gstbasesink.sgml:
8509         * docs/gst/tmpl/gstbasesrc.sgml:
8510         * docs/gst/tmpl/gstbasetransform.sgml:
8511         * docs/gst/tmpl/gstfakesrc.sgml:
8512         * gst/base/gstcollectpads.c:
8513         * gst/base/gstcollectpads.h:
8514         * libs/gst/controller/gst-controller.c:
8515         * libs/gst/controller/gst-controller.h:
8516         * libs/gst/controller/gst-helper.c:
8517         * libs/gst/controller/gst-interpolation.c:
8518         * libs/gst/controller/lib.c:
8519           added long/short desc for controller docs
8520           added collectpads base class docs
8521           added correct includes to base-class docs
8522
8523 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8524
8525         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8526         (gst_test_mono_source_set_property),
8527         (gst_test_mono_source_class_init), (GST_START_TEST),
8528         (gst_controller_suite):
8529         * docs/gst/gstreamer-docs.sgml:
8530         * docs/gst/gstreamer-sections.txt:
8531         * docs/gst/gstreamer.types:
8532         * docs/libs/gstreamer-libs-docs.sgml:
8533         * docs/libs/gstreamer-libs-sections.txt:
8534         * gst/base/gstadapter.c:
8535         * libs/gst/controller/gst-controller.c:
8536         (gst_controlled_property_new), (gst_controlled_property_free),
8537         (gst_controller_new_valist),
8538         (gst_controller_remove_properties_valist),
8539         (gst_controller_sink_values), (_gst_controller_finalize):
8540         * libs/gst/controller/gst-controller.h:
8541         * libs/gst/controller/gst-helper.c:
8542         (gst_object_control_properties), (gst_object_uncontrol_properties),
8543         (gst_object_get_controller), (gst_object_set_controller),
8544         (gst_object_sink_values), (gst_object_get_value_arrays),
8545         (gst_object_get_value_array):
8546           more tests (and fixes) for the controller
8547           more docs for the controller
8548           integrated companies docs for the adapter 
8549
8550 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8551
8552         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8553         (GST_START_TEST), (fakesrc_suite):
8554           add tests for sizetype
8555
8556 2005-08-04  Andy Wingo  <wingo@pobox.com>
8557
8558         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8559         fixes buffer_alloc proxying among other things.
8560
8561         * gst/base/gstbasetransform.c:
8562         * gst/base/gstbasetransform.h:
8563         Revert patch to gstbasetransform from 7-28 removing
8564         delay_configure.
8565
8566         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8567         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8568         Semantics changed, should return not the size of the output buffer
8569         but the byte size of a buffer with a given caps.
8570
8571         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8572         debug object.
8573         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8574         out) are not the pad caps until setcaps finishes.
8575         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8576         not-in-place case as well. Deal with changing from in-place to
8577         not-in-place within calling pad_alloc_buffer. Still a bit
8578         concerned about the overhead here...
8579
8580 2005-08-03  Andy Wingo  <wingo@pobox.com>
8581
8582         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8583         fixating is an error.
8584
8585 2005-08-04  Edward Hervey  <edward@fluendo.com>
8586
8587         * gst/base/gstadapter.h: 
8588         Added gst_adapter_get_type() to the header
8589
8590 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8591
8592         * check/Makefile.am:
8593         * check/gst-libs/controller.c:
8594         * libs/gst/controller/gst-controller.c:
8595         (gst_controller_new_valist):
8596           added check test suite for the controller
8597         * gst/base/gstpushsrc.c:
8598           fixed a doc typo
8599
8600 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8601
8602         * docs/gst/Makefile.am:
8603         * docs/gst/gstreamer-docs.sgml:
8604         * docs/gst/gstreamer-sections.txt:
8605         * docs/gst/gstreamer.types:
8606         * docs/gst/tmpl/gstfakesrc.sgml:
8607         * gst/base/README:
8608         * gst/base/gstbasesink.c:
8609         * gst/base/gstbasesink.h:
8610         * gst/base/gstbasesrc.c:
8611         * gst/base/gstbasesrc.h:
8612         * gst/base/gstbasetransform.c:
8613         * gst/base/gstpushsrc.c:
8614         * gst/base/gstpushsrc.h:
8615           add short/long description docs to base classes
8616           add pushsrc to the docs
8617           remove consolidated doc fragments
8618
8619 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8620
8621         * configure.ac:
8622         * docs/libs/Makefile.am:
8623         * docs/libs/gstreamer-libs-docs.sgml:
8624         * docs/libs/gstreamer-libs-sections.txt:
8625         * docs/libs/gstreamer-libs.types:
8626         * examples/Makefile.am:
8627         * examples/controller/.cvsignore:
8628         * examples/controller/Makefile.am:
8629         * examples/controller/audio-example.c: (main):
8630         * libs/gst/Makefile.am:
8631         * libs/gst/controller/.cvsignore:
8632         * libs/gst/controller/Makefile.am:
8633         * libs/gst/controller/gst-controller.c:
8634         (on_object_controlled_property_changed), (gst_timed_value_compare),
8635         (gst_timed_value_find),
8636         (gst_controlled_property_set_interpolation_mode),
8637         (gst_controlled_property_new), (gst_controlled_property_free),
8638         (gst_controller_find_controlled_property),
8639         (gst_controller_new_valist), (gst_controller_new),
8640         (gst_controller_remove_properties_valist),
8641         (gst_controller_remove_properties), (gst_controller_set),
8642         (gst_controller_set_from_list), (gst_controller_unset),
8643         (gst_controller_get), (gst_controller_get_all),
8644         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8645         (gst_controller_get_value_array),
8646         (gst_controller_set_interpolation_mode),
8647         (_gst_controller_finalize), (_gst_controller_init),
8648         (_gst_controller_class_init), (gst_controller_get_type):
8649         * libs/gst/controller/gst-controller.h:
8650         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8651         (g_object_uncontrol_properties), (g_object_get_controller),
8652         (g_object_set_controller), (g_object_sink_values),
8653         (g_object_get_value_arrays), (g_object_get_value_array):
8654         * libs/gst/controller/gst-interpolation.c:
8655         (gst_controlled_property_find_timed_value_node),
8656         (interpolate_none_get), (interpolate_trigger_get),
8657         (interpolate_trigger_get_value_array):
8658         * libs/gst/controller/lib.c: (gst_controller_init):
8659         * pkgconfig/Makefile.am:
8660         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8661         * pkgconfig/gstreamer-control.pc.in:
8662         * testsuite/Makefile.am:
8663         * testsuite/controller/.cvsignore:
8664         * testsuite/controller/Makefile.am:
8665         * testsuite/controller/interpolator.c: (main):
8666           added controller code
8667           removed dparam pc files
8668
8669 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8670         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8671         (gst_collectpads_stop):
8672           Broadcast the condition when shutting down, to make sure we wake all
8673           threads up. Shut down pads on finalize, for safety.
8674
8675 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8676         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8677         (gst_base_transform_handle_buffer),
8678         (gst_base_transform_change_state):
8679           Handle PAUSED->READY->PAUSED transition after negotiation
8680           occurred already.
8681         * gst/gstmessage.c: (gst_message_init):
8682           Extra piece of debug for new messages.
8683
8684 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8685
8686         * configure.ac:
8687         * docs/gst/tmpl/gstbasesrc.sgml:
8688         * docs/gst/tmpl/gstelement.sgml:
8689         * docs/gst/tmpl/gstevent.sgml:
8690         * docs/gst/tmpl/gstfakesrc.sgml:
8691         * docs/gst/tmpl/gstformat.sgml:
8692         * docs/gst/tmpl/gstghostpad.sgml:
8693         * docs/gst/tmpl/gstpad.sgml:
8694         * docs/gst/tmpl/gstquery.sgml:
8695         * docs/gst/tmpl/gststructure.sgml:
8696         * docs/gst/tmpl/gsttaglist.sgml:
8697         * docs/gst/tmpl/gstvalue.sgml:
8698         * docs/libs/gstreamer-libs-docs.sgml:
8699         * docs/libs/gstreamer-libs-sections.txt:
8700         * docs/libs/gstreamer-libs.types:
8701         * libs/gst/Makefile.am:
8702         * libs/gst/control/.cvsignore:
8703         * libs/gst/control/Makefile.am:
8704         * libs/gst/control/control.c:
8705         * libs/gst/control/control.h:
8706         * libs/gst/control/dparam.c:
8707         * libs/gst/control/dparam.h:
8708         * libs/gst/control/dparam_smooth.c:
8709         * libs/gst/control/dparam_smooth.h:
8710         * libs/gst/control/dparamcommon.h:
8711         * libs/gst/control/dparammanager.c:
8712         * libs/gst/control/dparammanager.h:
8713         * libs/gst/control/dplinearinterp.c:
8714         * libs/gst/control/dplinearinterp.h:
8715         * libs/gst/control/unitconvert.c:
8716         * libs/gst/control/unitconvert.h:
8717         * testsuite/Makefile.am:
8718         * testsuite/dynparams/.cvsignore:
8719         * testsuite/dynparams/Makefile.am:
8720         * testsuite/dynparams/dparamstest.c:
8721         * tools/Makefile.am:
8722         * tools/gst-inspect.c: (print_element_info), (main):
8723         * tools/gst-xmlinspect.c: (print_element_info), (main):
8724           deactivate and remove dparams (libgstcontrol)
8725
8726 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8727
8728         * gst/elements/gsttypefindelement.c:
8729         (gst_type_find_element_have_type), (gst_type_find_element_init),
8730         (stop_typefinding), (gst_type_find_element_handle_event),
8731         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8732         * gst/elements/gsttypefindelement.h:
8733           Set caps on all outgoing buffers, not just the first one.
8734
8735 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8736
8737         * gst/elements/gsttypefindelement.c:
8738         (gst_type_find_element_have_type),
8739         (gst_type_find_element_check_set_buffer_caps),
8740         (gst_type_find_element_init), (stop_typefinding),
8741         (gst_type_find_element_handle_event),
8742         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8743         * gst/elements/gsttypefindelement.h:
8744           Set caps on first outgoing buffer when we've found the type.
8745
8746 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8747
8748         * docs/gst/gstreamer-docs.sgml:
8749         * docs/gst/gstreamer-sections.txt:
8750         * docs/gst/tmpl/gstscheduler.sgml:
8751         * docs/gst/tmpl/gstschedulerfactory.sgml:
8752           Remove some old cruft from docs.
8753
8754 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8755
8756         * gst/gstpad.h:
8757           Fix inline docs for GstPadLinkReturn.
8758           
8759         * gst/gststructure.c: (gst_structure_has_name):
8760         * gst/gststructure.h:
8761         * docs/gst/gstreamer-sections.txt:
8762           New API: gst_structure_has_name().
8763
8764 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8765
8766         * configure.ac:
8767           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8768           and _LARGEFILE_SOURCE in config.h as required. Do not 
8769           export those flags in our .pc files any longer (#142209).
8770
8771           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8772
8773         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8774         (gst_file_sink_do_seek), (gst_file_sink_event),
8775         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8776           Redo seek/tell calls with large file support in mind; add some
8777           debugging messages; add log message that tells us when large
8778           file support is unavailable or not enabled for some reason.
8779
8780         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8781           Add log message that tells us when large file support 
8782           is unavailable or not enabled for some reason.
8783
8784 2005-07-29  Wim Taymans  <wim@fluendo.com>
8785
8786         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8787         Added test for removing an element with ghostpad from a bin.
8788         Fixed test as current implementation does the right thing.
8789
8790         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8791         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8792         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8793         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8794         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8795         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8796         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8797         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8798         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8799         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8800         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8801         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8802         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8803         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8804         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8805         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8806         * gst/gstghostpad.h:
8807         Clean up ghostpads, remove properties for internal stuff.
8808         Make threadsafe.
8809         Fix refcounting.
8810         Prepare for switching targets, not all use cases work yet.
8811
8812 2005-07-29  Wim Taymans  <wim@fluendo.com>
8813
8814         * docs/design/part-gstghostpad.txt:
8815         Small update.
8816
8817         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8818         (gst_bin_remove_func):
8819         Unlinking pads while holding the bin LOCK is not a good
8820         idea.
8821
8822         * gst/gstpad.c: (gst_pad_class_init),
8823         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8824         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8825         No prob setting template after creating the pad.
8826
8827 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8828
8829         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8830         (gst_bus_peek), (gst_bus_source_dispatch),
8831         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8832         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8833           gst_bus_poll may be called from other threads. Handle
8834           this nicely by not making poll_data disappear off the
8835           stack once gst_bus_poll returns.
8836           gst_bus_peek now increments the refcount on the returned
8837           message.
8838
8839 2005-07-29  Wim Taymans  <wim@fluendo.com>
8840
8841         * docs/design/part-gstghostpad.txt:
8842         Overview of current GhostPad datastructures and use
8843         cases for changing the target.
8844
8845 2005-07-28  Wim Taymans  <wim@fluendo.com>
8846
8847         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8848         Added checks for hierarchy consistency whan adding linked
8849         elements to bins.
8850
8851         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8852         Added check to test element scheduling without bin/pipeline.
8853
8854         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8855         First add elements to bin, then link.
8856         
8857         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8858         (gst_bin_remove_func):
8859         Unlink pads from elements added/removed from bin to maintain
8860         hierarchy consistency.
8861
8862 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8863
8864         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8865         (gst_base_transform_handle_buffer):
8866         * gst/base/gstbasetransform.h:
8867           Remove broken delay_configure (fixes renegotiation of software
8868           scaling pipelines); remove some leftover printf()s.
8869
8870 2005-07-28  Wim Taymans  <wim@fluendo.com>
8871
8872         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8873         Added some more tests for wrong hierarchy
8874
8875         * docs/design/part-overview.txt:
8876         Some updates.
8877
8878         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8879         Cleanups.
8880
8881         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8882         (gst_element_dispose):
8883         Some more cleanups.
8884
8885         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8886         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8887         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8888         (gst_pad_set_caps), (gst_pad_send_event):
8889         Check for correct hierarchy when linking pads. Moving to
8890         strict requirement for ghostpads when linking elements in
8891         different bins.
8892
8893         * gst/gstpad.h:
8894         Clean ups. Added WRONG_HIERARCHY return value.
8895
8896 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8897
8898         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8899           Better debug if no transform is possible.
8900
8901 2005-07-27  Wim Taymans  <wim@fluendo.com>
8902
8903         * docs/random/wtay/network-transp:
8904         Some old doc I had.
8905
8906 2005-07-27  Wim Taymans  <wim@fluendo.com>
8907
8908         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8909         (gst_dp_event_from_packet):
8910         Fix serialization of seek events.
8911
8912 2005-07-27  Wim Taymans  <wim@fluendo.com>
8913
8914         * check/gst-libs/gdp.c: (GST_START_TEST):
8915         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8916         Fix compilation and fix event serialization.
8917
8918 2005-07-27  Wim Taymans  <wim@fluendo.com>
8919
8920         * CHANGES-0.9:
8921         * docs/design/part-TODO.txt:
8922         * docs/design/part-events.txt:
8923         Some docs updates
8924
8925         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8926         (gst_base_sink_event), (gst_base_sink_do_sync),
8927         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8928         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8929         (gst_base_src_do_seek), (gst_base_src_event_handler),
8930         (gst_base_src_loop):
8931         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8932         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8933         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8934         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8935         (gst_base_transform_set_passthrough),
8936         (gst_base_transform_is_passthrough):
8937         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8938         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8939         Event updates.
8940
8941         * gst/gstbuffer.h:
8942         Use faster casts.
8943
8944         * gst/gstelement.c: (gst_element_seek):
8945         * gst/gstelement.h:
8946         Update gst_element_seek.
8947
8948         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8949         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8950         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8951         (gst_event_new_eos), (gst_event_new_newsegment),
8952         (gst_event_parse_newsegment), (gst_event_new_tag),
8953         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8954         (gst_event_parse_qos), (gst_event_new_seek),
8955         (gst_event_parse_seek), (gst_event_new_navigation):
8956         * gst/gstevent.h:
8957         Make GstEvent use GstStructure. Add parsing code, make sure the
8958         API is sufficiently generic.
8959         Mark possible directions of events and serialization.
8960
8961         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8962         (_gst_message_copy), (gst_message_new_segment_start),
8963         (gst_message_new_segment_done), (gst_message_new_custom),
8964         (gst_message_parse_segment_start),
8965         (gst_message_parse_segment_done):
8966         Small cleanups.
8967
8968         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8969         (gst_pad_set_caps), (gst_pad_send_event):
8970         Update for new events. 
8971         Catch events sent in wrong directions.
8972
8973         * gst/gstqueue.c: (gst_queue_link_src),
8974         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8975         (gst_queue_handle_src_query):
8976         Event updates.
8977
8978         * gst/gsttag.c:
8979         * gst/gsttag.h:
8980         Remove event code from this file.
8981
8982         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8983         (gst_dp_event_from_packet):
8984         Event updates.
8985
8986 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8987
8988         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8989         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8990         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8991           Make debugging actually useful.
8992
8993 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8994
8995         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8996         (gst_pad_fixate_caps):
8997           Implement default fixation once again, so that gst_pad_fixate()
8998           actually does anything at all. This probably needs to be some
8999           sort of a last resort, and use profile-based fixation first, but
9000           since that doesn't exist yet, this is the best we have. Fixes
9001           visualization in Totem.
9002
9003 2005-07-22  Wim Taymans  <wim@fluendo.com>
9004
9005         * docs/design/part-events.txt:
9006         Small update.
9007
9008         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9009         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9010         (gst_base_sink_activate_pull):
9011         Some more comments.
9012
9013         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9014         (gst_fake_src_create):
9015         Fix handoff marshall.
9016
9017         * gst/elements/gstidentity.c: (gst_identity_class_init),
9018         (gst_identity_transform_ip):
9019         We're a real inplace element.
9020
9021         * gst/gstbus.c: (gst_bus_post):
9022         Added some comments.
9023
9024         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9025         * tests/muxing/case1.c: (main):
9026         * tests/sched/dynamic-pipeline.c: (main):
9027         * tests/sched/interrupt1.c: (main):
9028         * tests/sched/interrupt2.c: (main):
9029         * tests/sched/interrupt3.c: (main):
9030         * tests/sched/runxml.c: (main):
9031         * tests/sched/sched-stress.c: (main):
9032         * tests/seeking/seeking1.c: (event_received), (main):
9033         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9034         (main):
9035         * tests/threadstate/threadstate3.c: (main):
9036         * tests/threadstate/threadstate4.c: (main):
9037         * tests/threadstate/threadstate5.c: (main):
9038         Fix the tests.
9039
9040 2005-07-21  Wim Taymans  <wim@fluendo.com>
9041
9042         * docs/design/part-seeking.txt:
9043         Some small additions.
9044
9045         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9046         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9047         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9048         * gst/base/gstbasesink.h:
9049         discont values are gint64, handle the math correctly.
9050
9051         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9052         Make the basesrc report error if the source pad is not linked.
9053
9054         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9055         (gst_queue_loop), (gst_queue_handle_src_query),
9056         (gst_queue_src_activate_push):
9057         Make queue collect data even if the srcpad is not linked.
9058         Start pushing out data as soon as it is linked.
9059
9060         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9061         * gst/gstutils.h:
9062         Added gst_flow_get_name() to ease error reporting.
9063
9064 2005-07-20  Wim Taymans  <wim@fluendo.com>
9065
9066         * gst/gstmessage.c: (gst_message_new_segment_start),
9067         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9068         (gst_message_parse_segment_done):
9069         * gst/gstmessage.h:
9070         Added a bunch of messages for advanced seeking.
9071
9072         * gst/parse/grammar.y:
9073         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9074         (gst_dpman_state_changed):
9075         Fix some new-pad -> pad-added signals
9076
9077 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9078
9079         * docs/manual/appendix-porting.xml:
9080         * docs/pwg/appendix-porting.xml:
9081           Document new-pad/state-change signal renames and the FixedList
9082           type rename.
9083
9084 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9085
9086         * docs/manual/advanced-autoplugging.xml:
9087         * docs/manual/basics-helloworld.xml:
9088         * docs/manual/basics-pads.xml:
9089         * docs/random/ds/0.9-suggested-changes:
9090         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9091         * gst/gstelement.h:
9092         * gst/gstevent.h:
9093         * gst/gstformat.h:
9094         * gst/gstquery.h:
9095         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9096         (gst_structure_parse_array), (gst_structure_parse_value):
9097         * gst/gstvalue.c: (gst_type_is_fixed),
9098         (gst_value_list_prepend_value), (gst_value_list_append_value),
9099         (gst_value_list_get_size), (gst_value_list_get_value),
9100         (gst_value_transform_array_string), (gst_value_serialize_array),
9101         (gst_value_deserialize_array), (gst_value_intersect_array),
9102         (gst_value_is_fixed), (_gst_value_initialize):
9103         * gst/gstvalue.h:
9104           GstElement::new-pad -> pad-added, GstElement::state-change ->
9105           state-changed, GstValueFixedList -> GstValueArray, add format and
9106           flags as their own arguments in gst_element_seek() (should improve
9107           "bindeability"), remove function generators since they don't work
9108           under a whole bunch of compilers (they were deprecated already
9109           anyway).
9110
9111 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9112
9113         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9114         (_gst_debug_register_funcptr):
9115         * gst/gstinfo.h:
9116           Fix illegal cast on some platforms (#309253).
9117
9118 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9119
9120         * gst/gstmessage.c: (gst_message_new_custom):
9121         * gst/gstmessage.h:
9122           Add _new_custom, make _new_application a macro to _new_custom.
9123
9124 2005-07-20  Wim Taymans  <wim@fluendo.com>
9125
9126         * gst/base/gstbasesrc.c: (gst_base_src_init),
9127         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9128         * gst/base/gstbasesrc.h:
9129         Add a gboolean to decide when to push out a discont.
9130
9131         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9132         (gst_queue_loop), (gst_queue_handle_src_query),
9133         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9134         (gst_queue_set_property), (gst_queue_get_property):
9135         Some cleanups.
9136
9137         * tests/threadstate/threadstate1.c: (main):
9138         Make a thread test compile and run... very silly..
9139
9140
9141 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9142
9143         * docs/manual/appendix-porting.xml:
9144           Mention removal of libgstgconf-0.9.la and existence of gconf
9145           elements.
9146
9147 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9148
9149         * docs/pwg/advanced-clock.xml:
9150         * docs/pwg/appendix-porting.xml:
9151         * docs/pwg/intro-preface.xml:
9152         * docs/pwg/other-base.xml:
9153         * docs/pwg/other-manager.xml:
9154         * docs/pwg/other-nton.xml:
9155         * docs/pwg/other-ntoone.xml:
9156         * docs/pwg/other-oneton.xml:
9157         * docs/pwg/pwg.xml:
9158           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9159           demuxer), remove n-to-n (was never written), fix some code examples
9160           and links and update the porting section to include all this.
9161
9162 2005-07-19  Wim Taymans  <wim@fluendo.com>
9163
9164         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9165         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9166         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9167         (gst_queue_src_activate_push), (gst_queue_change_state),
9168         (gst_queue_get_property):
9169         * gst/gstqueue.h:
9170         Propagate GstFlowReturn more intelligently upstream and output
9171         an ERROR/EOS when streaming stopped due to fatal error.
9172
9173 2005-07-19  Wim Taymans  <wim@fluendo.com>
9174
9175         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9176         Don't block forever for the state change to complete, the
9177         pipeline already did with a sensible timeout.
9178
9179 2005-07-19  Wim Taymans  <wim@fluendo.com>
9180
9181         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9182         Make sure we never call the create function is we
9183         got deactivated.
9184
9185 2005-07-19  Andy Wingo  <wingo@pobox.com>
9186
9187         * gst/parse/parse.l: Attempt to solve bug #172815.
9188
9189 2005-07-19  Wim Taymans  <wim@fluendo.com>
9190
9191         * docs/design/part-clocks.txt:
9192         * docs/design/part-events.txt:
9193         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9194         Small docs updates.
9195         Only update the seeking values when we are not
9196         busy streaming.
9197
9198 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9199
9200         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9201           Oops, ignore the result of gst_pad_push_event here.
9202
9203 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9204
9205         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9206         (gst_base_src_activate_push):
9207           Send discont event from the loop function, as pads
9208           aren't activated yet in the activate_push handler.
9209
9210         * gst/gstbin.c: (bin_bus_handler):
9211           Don't leak element name.
9212
9213 2005-07-18  Andy Wingo  <wingo@pobox.com>
9214
9215         * configure.ac: Use AS_LIBTOOL_TAGS.
9216
9217 2005-07-18  Wim Taymans  <wim@fluendo.com>
9218
9219         * docs/gst/gstreamer.types:
9220         Remove deleted types.
9221
9222 2005-07-18  Wim Taymans  <wim@fluendo.com>
9223
9224         * check/elements/gstfakesrc.c: (GST_START_TEST):
9225         * configure.ac:
9226         * gst/Makefile.am:
9227         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9228         (init_popt_callback):
9229         * gst/gst.h:
9230         * gst/gst_private.h:
9231         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9232         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9233         * gst/gstbin.h:
9234         * gst/gstbus.h:
9235         * gst/gstconfig.h.in:
9236         * gst/gstelement.c: (gst_element_class_init),
9237         (gst_element_set_base_time), (gst_element_get_base_time),
9238         (iterator_fold_with_resync), (gst_element_change_state),
9239         (gst_element_dispose), (gst_element_get_bus):
9240         * gst/gstelement.h:
9241         * gst/gstelementfactory.h:
9242         * gst/gsterror.c: (_gst_core_errors_init):
9243         * gst/gsterror.h:
9244         * gst/gstevent.h:
9245         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9246         * gst/gstindex.c:
9247         * gst/gstinfo.c: (_gst_debug_init):
9248         * gst/gstmessage.c: (_gst_message_copy):
9249         * gst/gstmessage.h:
9250         * gst/gstminiobject.h:
9251         * gst/gstobject.c:
9252         * gst/gstobject.h:
9253         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9254         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9255         * gst/gstpad.h:
9256         * gst/gstparse.h:
9257         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9258         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9259         (gst_pipeline_get_last_stream_time):
9260         * gst/gstpipeline.h:
9261         * gst/gstpluginfeature.h:
9262         * gst/gstquery.h:
9263         * gst/gstscheduler.c:
9264         * gst/gstscheduler.h:
9265         * gst/gststructure.h:
9266         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9267         (gst_task_finalize), (gst_task_func), (gst_task_create),
9268         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9269         (gst_task_stop), (gst_task_pause):
9270         * gst/gsttask.h:
9271         * gst/gsttypefind.h:
9272         * gst/gsttypes.h:
9273         * gst/registries/gstlibxmlregistry.c: (load_feature),
9274         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9275         * gst/registries/gstxmlregistry.c:
9276         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9277         * gst/schedulers/threadscheduler.c:
9278         * libs/gst/control/dparammanager.h:
9279         * tools/gst-inspect.c: (print_element_list),
9280         (print_plugin_features), (print_element_features):
9281         * tools/gst-xmlinspect.c: (print_element_list),
9282         (print_plugin_info), (main):
9283         Removed plugable schedulers.
9284         Removed Scheduler/Manager from elements.
9285         Removed gsttypes.h, rearranged includes.
9286         Removed dependency pad<->element, element<>pipeline, and
9287         various others,  fix includes.
9288         implement gst_pad_get_parent() with gst_object_get_parent()
9289         Make GstTask sefcontained.
9290         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9291         timeout.
9292         Fix endless loop in iterator_fold_with_resync.
9293
9294
9295 2005-07-18  Wim Taymans  <wim@fluendo.com>
9296
9297         * gst/Makefile.am:
9298         * gst/gstarch.h:
9299         Remove old file.
9300
9301 2005-07-18  Wim Taymans  <wim@fluendo.com>
9302
9303         * gst/Makefile.am:
9304         No more cothreads.h
9305
9306 2005-07-18  Wim Taymans  <wim@fluendo.com>
9307
9308         * gst/cothreads.c:
9309         * gst/cothreads.h:
9310         Let's remove these.
9311
9312 2005-07-18  Wim Taymans  <wim@fluendo.com>
9313
9314         * docs/design/part-dynamic.txt:
9315         * docs/design/part-events.txt:
9316         * docs/design/part-seeking.txt:
9317         Some more docs in the works.
9318
9319         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9320         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9321         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9322         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9323         (gst_base_transform_handle_buffer),
9324         (gst_base_transform_sink_activate_push),
9325         (gst_base_transform_src_activate_pull),
9326         (gst_base_transform_set_passthrough),
9327         (gst_base_transform_is_passthrough):
9328         Refcounting fixes.
9329
9330         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9331         Cleanups.
9332
9333         * gst/gstevent.c: (gst_event_finalize):
9334         Set SRC to NULL.
9335
9336         * gst/gstutils.c: (gst_element_unlink),
9337         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9338         (gst_pad_proxy_setcaps):
9339         * gst/gstutils.h:
9340         Add _get_parent_element() to get a pads parent as an element.
9341
9342 2005-07-18  Wim Taymans  <wim@fluendo.com>
9343
9344         * check/gst/gstbin.c: (GST_START_TEST):
9345         Remove bogus test.
9346
9347 2005-07-18  Wim Taymans  <wim@fluendo.com>
9348
9349         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9350         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9351         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9352         (gst_base_sink_event), (gst_base_sink_do_sync),
9353         (gst_base_sink_chain), (gst_base_sink_loop),
9354         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9355         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9356         Refcounting fixes.
9357         Fix logic for returning ASYNC when not prerolled.
9358
9359 2005-07-18  Wim Taymans  <wim@fluendo.com>
9360
9361         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9362         Fix nasty refcount bug.
9363
9364 2005-07-16 Philippe Khalaf <burger@speedy.org>
9365
9366         * gst/elements/gstfdsrc.c:
9367         * gst/elements/gstfdsrc.h:
9368         * gst/elements/gstelements.c:
9369         * gst/elements/Makefile.am:
9370         Ported fdsrc to 0.9.
9371
9372 2005-07-16  Wim Taymans  <wim@fluendo.com>
9373
9374         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9375         (gst_base_sink_do_sync):
9376         Fix compile error.
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_event), (gst_base_sink_get_times),
9382         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9383         * gst/base/gstbasesink.h:
9384         Store and use discont values when syncing buffers as described
9385         in design docs.
9386         
9387         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9388         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9389         (gst_base_src_activate_push):
9390         Push discont event when starting.
9391
9392         * gst/elements/gstidentity.c: (gst_identity_transform):
9393         Small cleanups.
9394
9395         * gst/gstbin.c: (gst_bin_change_state):
9396         Small cleanups in base_time  distribution.
9397
9398         * gst/gstelement.c: (gst_element_set_base_time),
9399         (gst_element_get_base_time), (gst_element_change_state):
9400         * gst/gstelement.h:
9401         Added methods for the base_time of the element.
9402         Some MT fixes.
9403
9404         * gst/gstpipeline.c: (gst_pipeline_send_event),
9405         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9406         (gst_pipeline_get_last_stream_time):
9407         * gst/gstpipeline.h:
9408         MT fixes.
9409         Handle seeking as described in design doc, remove stream_time
9410         hack.
9411         Cleanups clock and stream_time selection code. Added accessors
9412         for the stream_time.
9413         
9414
9415 2005-07-16  Andy Wingo  <wingo@pobox.com>
9416
9417         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9418         (#305291).
9419
9420 2005-07-16  Wim Taymans  <wim@fluendo.com>
9421
9422         * check/gst/gstbin.c: (GST_START_TEST):
9423         Make elements silent as the deep_notify refs the
9424         parent, which might make the test fail.
9425
9426         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9427         Don't hold the lock for too long.
9428
9429 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9430
9431         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9432           Don't unref the caps we passed to gst_caps_make_writable() after
9433           passing them. gst_caps_make_writable() will do that for us.
9434
9435 2005-07-15  Andy Wingo  <wingo@pobox.com>
9436
9437         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9438         (#157311).
9439
9440         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9441         own marshalling function for the handoff signal. Properly type the
9442         buffer as a buffer. Fixes some warnings. Should do a more general
9443         solution.
9444         (gst_identity_class_init): Plug into the right marshaller.
9445
9446 2005-07-15  Wim Taymans  <wim@fluendo.com>
9447
9448         * docs/design/part-TODO.txt:
9449         * docs/design/part-clocks.txt:
9450         * docs/design/part-element-sink.txt:
9451         * docs/design/part-events.txt:
9452         * docs/design/part-gstpipeline.txt:
9453         Updated docs, mostly DISCONT related.
9454
9455 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9456
9457         * docs/pwg/building-pads.xml:
9458           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9459
9460 2005-07-15  Andy Wingo  <wingo@pobox.com>
9461
9462         * tools/gst-typefind.c: Update, add copyright block.
9463
9464         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9465         Normalize and truncate caps before fixation.
9466
9467         * gst/gstcaps.h:
9468         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9469         discards all but the first structure from its argument.
9470
9471 2005-07-15  Wim Taymans  <wim@fluendo.com>
9472
9473         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9474         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9475         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9476         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9477         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9478         (gst_base_transform_chain), (gst_base_transform_change_state),
9479         (gst_base_transform_set_passthrough),
9480         (gst_base_transform_is_passthrough):
9481         * gst/base/gstbasetransform.h:
9482         Make passthrough work using the bufferpools.
9483         Changed API a bit, subclasses have to write into a buffer
9484         provided by the base class.
9485         More debug info in nego functions.
9486         
9487         * gst/elements/gstidentity.c: (gst_identity_init),
9488         (gst_identity_transform):
9489         Port to new base class.
9490
9491 2005-07-15  Wim Taymans  <wim@fluendo.com>
9492
9493         * gst/gstmessage.c: (gst_message_new_state_changed):
9494         * tools/gst-launch.c: (event_loop), (main):
9495         Totally dump messages in -launch with the -m option.
9496         Fix message name for State messages,
9497
9498 2005-07-14  Wim Taymans  <wim@fluendo.com>
9499
9500         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9501         Post error messages on errors.
9502
9503 2005-07-14  Wim Taymans  <wim@fluendo.com>
9504
9505         * gst/gstcaps.c: (gst_caps_do_simplify):
9506         Remove debug info.
9507
9508         * gst/gsterror.h:
9509         Define error for stream stopped.
9510
9511         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9512         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9513         Do proper return values.
9514
9515         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9516         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9517         (gst_pad_get_range):
9518         Better return values.
9519
9520         * gst/gstpad.h:
9521         Reorganise return values, add macro to check for fatal errors.
9522
9523         * gst/gstqueue.c: (gst_queue_chain):
9524         Return proper GstFlowReturn values,
9525
9526 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9527
9528         * docs/gst/gstreamer-sections.txt:
9529         * docs/gst/gstreamer.types:
9530         * docs/gst/tmpl/gst.sgml:
9531         * docs/gst/tmpl/gstbasesink.sgml:
9532         * docs/gst/tmpl/gstbasesrc.sgml:
9533         * docs/gst/tmpl/gstbasetransform.sgml:
9534         * docs/gst/tmpl/gstbin.sgml:
9535         * docs/gst/tmpl/gstbuffer.sgml:
9536         * docs/gst/tmpl/gstcaps.sgml:
9537         * docs/gst/tmpl/gstclock.sgml:
9538         * docs/gst/tmpl/gstcompat.sgml:
9539         * docs/gst/tmpl/gstconfig.sgml:
9540         * docs/gst/tmpl/gstelement.sgml:
9541         * docs/gst/tmpl/gstelementdetails.sgml:
9542         * docs/gst/tmpl/gstelementfactory.sgml:
9543         * docs/gst/tmpl/gstenumtypes.sgml:
9544         * docs/gst/tmpl/gsterror.sgml:
9545         * docs/gst/tmpl/gstevent.sgml:
9546         * docs/gst/tmpl/gstfakesink.sgml:
9547         * docs/gst/tmpl/gstfakesrc.sgml:
9548         * docs/gst/tmpl/gstfilesink.sgml:
9549         * docs/gst/tmpl/gstfilesrc.sgml:
9550         * docs/gst/tmpl/gstfilter.sgml:
9551         * docs/gst/tmpl/gstformat.sgml:
9552         * docs/gst/tmpl/gstghostpad.sgml:
9553         * docs/gst/tmpl/gstimplementsinterface.sgml:
9554         * docs/gst/tmpl/gstindex.sgml:
9555         * docs/gst/tmpl/gstindexfactory.sgml:
9556         * docs/gst/tmpl/gstinfo.sgml:
9557         * docs/gst/tmpl/gstiterator.sgml:
9558         * docs/gst/tmpl/gstmacros.sgml:
9559         * docs/gst/tmpl/gstmemchunk.sgml:
9560         * docs/gst/tmpl/gstminiobject.sgml:
9561         * docs/gst/tmpl/gstobject.sgml:
9562         * docs/gst/tmpl/gstpad.sgml:
9563         * docs/gst/tmpl/gstpadtemplate.sgml:
9564         * docs/gst/tmpl/gstparse.sgml:
9565         * docs/gst/tmpl/gstpipeline.sgml:
9566         * docs/gst/tmpl/gstplugin.sgml:
9567         * docs/gst/tmpl/gstpluginfeature.sgml:
9568         * docs/gst/tmpl/gstquery.sgml:
9569         * docs/gst/tmpl/gstqueue.sgml:
9570         * docs/gst/tmpl/gstregistry.sgml:
9571         * docs/gst/tmpl/gstregistrypool.sgml:
9572         * docs/gst/tmpl/gstscheduler.sgml:
9573         * docs/gst/tmpl/gstschedulerfactory.sgml:
9574         * docs/gst/tmpl/gststructure.sgml:
9575         * docs/gst/tmpl/gstsystemclock.sgml:
9576         * docs/gst/tmpl/gsttaglist.sgml:
9577         * docs/gst/tmpl/gsttagsetter.sgml:
9578         * docs/gst/tmpl/gsttrace.sgml:
9579         * docs/gst/tmpl/gsttrashstack.sgml:
9580         * docs/gst/tmpl/gsttypefind.sgml:
9581         * docs/gst/tmpl/gsttypefindfactory.sgml:
9582         * docs/gst/tmpl/gsttypes.sgml:
9583         * docs/gst/tmpl/gsturihandler.sgml:
9584         * docs/gst/tmpl/gsturitype.sgml:
9585         * docs/gst/tmpl/gstutils.sgml:
9586         * docs/gst/tmpl/gstvalue.sgml:
9587         * docs/gst/tmpl/gstversion.sgml:
9588         * docs/gst/tmpl/gstxml.sgml:
9589         * docs/libs/tmpl/gstcontrol.sgml:
9590         * docs/libs/tmpl/gstdataprotocol.sgml:
9591         * docs/libs/tmpl/gstdparam.sgml:
9592         * docs/libs/tmpl/gstdplinint.sgml:
9593         * docs/libs/tmpl/gstdpman.sgml:
9594         * docs/libs/tmpl/gstdpsmooth.sgml:
9595         * docs/libs/tmpl/gstgetbits.sgml:
9596         * docs/libs/tmpl/gstunitconvert.sgml:
9597         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9598         (gst_push_src_base_init), (gst_push_src_class_init),
9599         (gst_push_src_init), (gst_push_src_create):
9600         * gst/base/gstpushsrc.h:
9601         * gst/elements/gstelements.c:
9602         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9603         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9604         (gst_fake_sink_init), (gst_fake_sink_set_property),
9605         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9606         (gst_fake_sink_event), (gst_fake_sink_preroll),
9607         (gst_fake_sink_render), (gst_fake_sink_change_state):
9608         * gst/elements/gstfakesink.h:
9609         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9610         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9611         (gst_fake_src_base_init), (gst_fake_src_class_init),
9612         (gst_fake_src_init), (gst_fake_src_event_handler),
9613         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9614         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9615         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9616         (gst_fake_src_create_buffer), (gst_fake_src_create),
9617         (gst_fake_src_start), (gst_fake_src_stop):
9618         * gst/elements/gstfakesrc.h:
9619         * gst/elements/gstfilesink.c: (_do_init),
9620         (gst_file_sink_base_init), (gst_file_sink_class_init),
9621         (gst_file_sink_init), (gst_file_sink_dispose),
9622         (gst_file_sink_set_location), (gst_file_sink_set_property),
9623         (gst_file_sink_get_property), (gst_file_sink_open_file),
9624         (gst_file_sink_close_file), (gst_file_sink_query),
9625         (gst_file_sink_event), (gst_file_sink_render),
9626         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9627         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9628         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9629         * gst/elements/gstfilesink.h:
9630         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9631         (gst_file_src_class_init), (gst_file_src_init),
9632         (gst_file_src_finalize), (gst_file_src_set_location),
9633         (gst_file_src_set_property), (gst_file_src_get_property),
9634         (gst_file_src_map_region), (gst_file_src_map_small_region),
9635         (gst_file_src_create_mmap), (gst_file_src_create_read),
9636         (gst_file_src_create), (gst_file_src_is_seekable),
9637         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9638         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9639         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9640         (gst_file_src_uri_handler_init):
9641         * gst/elements/gstfilesrc.h:
9642           more autistic cleanliness in functions/names/defines
9643
9644 2005-07-13  Andy Wingo  <wingo@pobox.com>
9645
9646         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9647         source couldn't negotiate.
9648
9649         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9650         connections again.
9651
9652         * gst/gstutils.h:
9653         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9654         function. I am channeling Hades. Put your boots on suckers!!!
9655
9656 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9657
9658         * testsuite/caps/Makefile.am:
9659         * testsuite/caps/value_compare.c:
9660         * testsuite/caps/value_intersect.c:
9661         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9662           move two testsuite apps over to the check dir
9663
9664 2005-07-12  Wim Taymans  <wim@fluendo.com>
9665
9666         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9667         Added more debug info in the negotiate process.
9668
9669         * gst/gstmessage.h:
9670         Prepare for segment playback.
9671
9672         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9673         Better debugging.
9674
9675         * gst/gstutils.c:
9676         Some more docs.
9677
9678         * tools/gst-launch.c: (main):
9679         NULL pipeline on errors.
9680
9681 2005-07-12  Andy Wingo  <wingo@pobox.com>
9682
9683         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9684         not it comes from a malloc region. Make sure our copy gets freed.
9685
9686 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9687
9688         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9689         * check/gst/gstmessage.c: (GST_START_TEST):
9690         * check/gst/gststructure.c: (GST_START_TEST),
9691         (gst_structure_suite), (main):
9692           more testing
9693         * gst/gstelement.c: (gst_element_message_full):
9694           clean up GError and debug string now that they get copied
9695         * gst/gstmessage.c: (gst_message_new_error),
9696         (gst_message_new_warning), (gst_message_parse_error),
9697         (gst_message_parse_warning):
9698           use GST_TYPE_G_ERROR for structure_new, and take copies of
9699           arguments, so that we don't mess up refcounting
9700
9701 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9702
9703         * check/Makefile.am:
9704           add per-test valgrind targets
9705         * check/gst-libs/gdp.c: (GST_START_TEST),
9706         (gst_data_protocol_suite), (main):
9707           clean up
9708
9709 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9710
9711         * check/Makefile.am:
9712           instate more valgrindable tests
9713         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9714         (GST_START_TEST), (fakesrc_suite):
9715         * check/gst/gstpad.c: (GST_START_TEST):
9716         * check/gst/gststructure.c: (GST_START_TEST):
9717           fix test leaks
9718         * docs/gst/tmpl/gstminiobject.sgml:
9719         * gst/gstpad.c: (gst_pad_finalize):
9720           fix the static mutex leak
9721
9722 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9723
9724         * check/Makefile.am:
9725           add two more tests for valgrinding
9726         * check/gst/gstvalue.c: (GST_START_TEST):
9727           test refcount of deserialized buffer, found a leak
9728         * docs/gst/gstreamer-docs.sgml:
9729         * docs/gst/gstreamer-sections.txt:
9730         * docs/gst/gstreamer.types:
9731         * docs/gst/tmpl/gstminiobject.sgml:
9732           add miniobject to docs
9733         * gst/gstminiobject.c:
9734           add some docs
9735         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9736         (gst_string_unwrap):
9737           fix a hard-to-find invalid write for one of the tests
9738           fix a leak for deserialized buffers
9739
9740 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9741
9742         * docs/pwg/advanced-events.xml:
9743         * docs/pwg/advanced-request.xml:
9744         * docs/pwg/advanced-scheduling.xml:
9745         * docs/pwg/appendix-porting.xml:
9746         * docs/pwg/building-boiler.xml:
9747         * docs/pwg/intro-preface.xml:
9748         * docs/pwg/other-ntoone.xml:
9749           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9750           of example code and explanation for pad activation, loop() and
9751           getrange() functions and a bit more. Remove old comments pointing
9752           to loop-functions.
9753         * examples/pwg/Makefile.am:
9754           Add loop/getrange examples.
9755
9756 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9757
9758         * configure.ac:
9759           check for valgrind binary + some fixes
9760         * check/gst.supp:
9761           valgrind suppressions for the tests
9762         * check/Makefile.am:
9763           add a valgrind: target that valgrinds the unit tests
9764         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9765         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9766         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9767         * check/gst/gstghostpad.c:
9768           added some cleanup
9769         * check/gst/gstdata.c:
9770           removed
9771         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9772         (thread_unref), (gst_mini_object_suite), (main):
9773           added
9774         * gst/gst.c: (gst_deinit):
9775         * gst/gst.h:
9776           add a method to clean up.
9777         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9778         (gst_system_clock_obtain):
9779           allow for disposing the system clock.
9780         * tools/gst-launch.c: (main):
9781           deinit
9782
9783 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9784
9785         * docs/gst/tmpl/gstbasesrc.sgml:
9786         * docs/gst/tmpl/gstfakesrc.sgml:
9787         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9788         (gst_base_src_init), (gst_base_src_set_property),
9789         (gst_base_src_get_property), (gst_base_src_get_range),
9790         (gst_base_src_start):
9791         * gst/base/gstbasesrc.h:
9792           add num-buffers property
9793         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9794         (gst_fakesrc_init), (gst_fakesrc_set_property),
9795         (gst_fakesrc_get_property), (gst_fakesrc_create),
9796         (gst_fakesrc_start):
9797           remove num-buffers property
9798
9799 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9800
9801         * docs/gst/gstreamer-sections.txt:
9802         * docs/gst/tmpl/gstbasesink.sgml:
9803         * docs/gst/tmpl/gstbasesrc.sgml:
9804         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9805         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9806         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9807         (gst_base_sink_set_property), (gst_base_sink_get_property),
9808         (gst_base_sink_handle_object), (gst_base_sink_event),
9809         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9810         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9811         (gst_base_sink_loop), (gst_base_sink_deactivate),
9812         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9813         (gst_base_sink_change_state):
9814         * gst/base/gstbasesink.h:
9815         * gst/base/gstbasesrc.h:
9816         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9817         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9818         (gst_filesink_init):
9819           more macro splitting
9820
9821 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9822
9823         * gst/gstelement.c: (gst_element_get_bus):
9824           add debug
9825         * tools/gst-launch.c: (check_intr), (event_loop):
9826           fix bus leaks
9827
9828 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9829
9830         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9831           fix a caps leak
9832
9833 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9834
9835         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9836         (gst_base_src_finalize):
9837           add finalize method and clean up properly
9838         * gst/gstpipeline.c: (gst_pipeline_dispose):
9839           add debug
9840
9841 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9842
9843         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9844         (gst_bin_suite):
9845           add more things to check
9846         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9847         * gst/gstelement.c:
9848           more debug
9849
9850 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9851
9852         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9853         (GST_START_TEST), (fakesrc_suite):
9854         * check/gst-libs/gdp.c: (GST_START_TEST):
9855         * check/gst/gst.c: (GST_START_TEST):
9856         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9857         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9858         * check/gst/gstbus.c: (GST_START_TEST):
9859         * check/gst/gstcaps.c: (GST_START_TEST):
9860         * check/gst/gstdata.c: (GST_START_TEST):
9861         * check/gst/gstelement.c: (GST_START_TEST):
9862         * check/gst/gstghostpad.c: (GST_START_TEST):
9863         * check/gst/gstiterator.c: (GST_START_TEST):
9864         * check/gst/gstmessage.c: (GST_START_TEST):
9865         * check/gst/gstobject.c: (GST_START_TEST):
9866         * check/gst/gstpad.c: (GST_START_TEST):
9867         * check/gst/gststructure.c: (GST_START_TEST):
9868         * check/gst/gstsystemclock.c: (GST_START_TEST),
9869         (gst_systemclock_suite):
9870         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9871         * check/gst/gstvalue.c: (GST_START_TEST):
9872         * check/pipelines/cleanup.c: (GST_START_TEST):
9873         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9874         * check/states/sinks.c: (GST_START_TEST):
9875         * check/gstcheck.c: (gst_check_init):
9876         * check/gstcheck.h:
9877           add debugging category
9878           use GST_START_TEST now, so we add a debug line
9879
9880 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9881
9882         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9883           add test for state change message on a bin
9884         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9885           add another test
9886         * gst/gstbin.c: (gst_bin_init):
9887         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9888         * gst/gstelement.c: (gst_element_post_message),
9889         (gst_element_set_state):
9890         * gst/gstelementfactory.c: (gst_element_factory_create):
9891         * gst/gstmessage.c: (gst_message_new):
9892         * gst/gstscheduler.c:
9893           various debugging additions and cleanups
9894
9895 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9896
9897         * check/Makefile.am:
9898         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9899         (main):
9900           adding tests for elements
9901         * gst/gstelement.c: (gst_element_dispose):
9902
9903 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9904
9905         * gst/registries/gstlibxmlregistry.c: (load_feature):
9906           plug more leaks.  A simple gst_init() now is leakfree, yay.
9907
9908 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9909
9910         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9911         (gst_xml_registry_load):
9912           plug another memleak
9913
9914 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9915
9916         * configure.ac:
9917           use GST_SET_ERROR_CFLAGS
9918         * docs/faq/cvs.xml:
9919           change to ERROR_CFLAGS
9920
9921 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9922
9923         * configure.ac:
9924           make GST_ERROR_CFLAGS overridable and re-enable Werror
9925         * docs/faq/cvs.xml:
9926           add a note about error CFLAGS
9927         * docs/gst/tmpl/gstfakesrc.sgml:
9928         * gst/elements/gstfakesrc.c:
9929           comment out some unused code
9930         * gst/gst.c: (split_and_iterate):
9931         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9932         (load_feature):
9933           plug some memleaks
9934
9935 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9936
9937         * common/Makefile.am:
9938         * common/gtk-doc.mak:
9939         * docs/gst/Makefile.am:
9940           factor out gtk-doc.mak
9941
9942 2005-07-07  Wim Taymans  <wim@fluendo.com>
9943
9944         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9945         (gst_thread_scheduler_dispose):
9946         Unlock the STREAM_LOCK completely.
9947
9948 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9949
9950         * check/Makefile.am:
9951         * check/elements/.cvsignore:
9952         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9953         (START_TEST), (fakesrc_suite), (main):
9954         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9955         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9956         (gst_fakesrc_create), (gst_fakesrc_start):
9957         * gst/elements/gstfakesrc.h:
9958           adding a first element test
9959
9960 2005-07-07  Andy Wingo  <wingo@pobox.com>
9961
9962         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9963         debug message.
9964
9965 2005-07-07  Wim Taymans  <wim@fluendo.com>
9966
9967         * gst/gstquery.c:
9968         * gst/gstquery.h:
9969         Remove old types
9970
9971 2005-07-07  Wim Taymans  <wim@fluendo.com>
9972
9973         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9974         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9975         Allow subclasses to implement their own negotiation.
9976
9977 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9978
9979         * docs/design/part-gstbin.txt:
9980         * docs/design/part-gstpipeline.txt:
9981           Update design notes to reflect the movement of
9982           responsibility for bus handling from GstPipeline to
9983           GstBin
9984
9985 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9986
9987         * configure.ac:
9988           Remove unnecessary queue2/3/4 examples.
9989
9990 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9991
9992         * examples/Makefile.am:
9993         * examples/helloworld/helloworld.c: (event_loop), (main):
9994         * examples/queue/queue.c: (event_loop), (main):
9995         * examples/queue2/queue2.c: (main):
9996           Update a couple of the examples to work again.
9997
9998         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9999         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10000          Spelling corrections and extra debug.
10001         
10002         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10003         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10004         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10005         * gst/gstbin.h:
10006         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10007         (gst_pipeline_change_state):
10008         * gst/gstpipeline.h:
10009           Move the bus handler for children to the GstBin, and create a
10010           separate bus for receiving messages from children to the one the
10011           bus sends 'upwards' on.
10012
10013 2005-07-06  Wim Taymans  <wim@fluendo.com>
10014
10015         * gst/base/README:
10016         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10017         (gst_base_sink_handle_object), (gst_base_sink_loop),
10018         (gst_base_sink_change_state):
10019         * gst/base/gstbasesink.h:
10020         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10021         (gst_base_src_init), (gst_base_src_setcaps),
10022         (gst_base_src_getcaps), (gst_base_src_loop),
10023         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10024         (gst_base_src_start), (gst_base_src_change_state):
10025         * gst/base/gstbasesrc.h:
10026         Make basesrc negotiate.
10027         Handle the case where preroll fails in basesink.
10028         Update README.
10029
10030 2005-07-06  Wim Taymans  <wim@fluendo.com>
10031
10032         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10033         Implement the fixate function.
10034         Clean up acceptcaps.
10035
10036 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10037
10038         * docs/pwg/building-filterfactory.xml:
10039         * docs/pwg/pwg.xml:
10040           Remove never-written filter-factory chapter; I'll add the various
10041           base classes to part 4 ("other element types") later on.
10042
10043 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10044
10045         * docs/pwg/advanced-negotiation.xml:
10046         * docs/pwg/building-boiler.xml:
10047         * docs/pwg/building-pads.xml:
10048         * docs/pwg/pwg.xml:
10049         * examples/pwg/Makefile.am:
10050           Add a chapter on caps negotiation, simplify the original code
10051           samples a bit w.r.t. caps negotiation, add link to the advanced
10052           section. Add a bunch of examples showing different use cases of
10053           different types of caps negotiation. Upstream renegotiation isn't
10054           fully documented yet since nobody knows how that works.
10055
10056 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10057
10058         * check/gst/gstpad.c:
10059         * check/gstcheck.c:
10060         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10061           if pad has no parent, return NULL as list of internal links
10062
10063 2005-07-05  Andy Wingo  <wingo@pobox.com>
10064
10065         * gst/elements/gstfilesrc.c:
10066         * gst/elements/gstfakesrc.c: 
10067         * gst/base/gstpushsrc.c:
10068         * gst/base/gstbasesrc.h: 
10069         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10070         
10071 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10072
10073         * Makefile.am:
10074           better report generation target (lcov needs a patch)
10075
10076 2005-07-05  Andy Wingo  <wingo@pobox.com>
10077
10078         * gst/elements, testsuite: Null if we got it...
10079
10080 2005-07-05  Wim Taymans  <wim@fluendo.com>
10081
10082         * configure.ac:
10083         * libs/gst/dataprotocol/Makefile.am:
10084         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10085         * libs/gst/dataprotocol/dataprotocol.h:
10086         * pkgconfig/Makefile.am:
10087         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10088         * pkgconfig/gstreamer-dataprotocol.pc.in:
10089         Ported dataprotol to 0.9. 
10090         Added pkgconfig files.
10091
10092 2005-07-05  Andy Wingo  <wingo@pobox.com>
10093
10094         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10095         Default to returning TRUE for the case when tranform_caps returns
10096         a fixed caps, like for identity or volume.
10097
10098         * check/gst/gstbus.c (pound_bus_with_messages): 
10099         * check/gst/gstmessage.c (START_TEST): 
10100         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10101         message API change.
10102
10103         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10104         logic weaks here: always run transform_caps, trying passthrough
10105         operation only if the original caps intersects with the transform.
10106
10107         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10108         source and sink caps.
10109
10110         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10111         Intersect the peer caps with the pad template before going into
10112         transform_caps.
10113         (gst_base_transform_transform_caps): More debugging.
10114
10115         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10116         src argument.
10117
10118 2005-07-04  Edward Hervey  <edward@fluendo.com>
10119
10120         * gst/gstutils.c:
10121         * gst/gstutils.h:
10122         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10123         in bindings.
10124
10125 2005-07-04  Andy Wingo  <wingo@pobox.com>
10126
10127         * check/gst/gstpad.c: Only set explicit caps on pads.
10128
10129 2005-07-01  Andy Wingo  <wingo@pobox.com>
10130
10131         * tests/network-clock.scm: Commentary update.
10132
10133         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10134         Didn't really make sense, not implementable with basetransform,
10135         etc.
10136         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10137         attempt at implementing the sync property, needs an unlock method.
10138
10139         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10140         New func, by default returns the same caps (the identity
10141         transformation).
10142         (gst_base_transform_getcaps): Uses transform_caps to return
10143         something sensible.
10144         (gst_base_transform_setcaps): Complicated logic to get caps on
10145         both pads, even if they are different, and to call set_caps once
10146         for every time both pads get their caps set.
10147         (gst_base_transform_handle_buffer): Give the ref to the transform
10148         function. Allows in-place modification of the buffer.
10149
10150         * gst/base/gstbasetransform.h (transform_caps): New class method.
10151         Given caps on one side, what can I do on the other.
10152         (set_caps): Take two caps, one for each side of the element.
10153
10154         * gst/gstpad.h:
10155         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10156         caps in place. This is safe because we can check the mutability of
10157         the caps, and a good idea because fixate functions are just called
10158         as a matter of last resort. (Not actually implemented.)
10159         (gst_pad_set_caps): If the caps we're setting is actually the same
10160         as the existing pad caps, just update the pointer without calling
10161         setcaps. Assert that caps is either NULL or fixed, as per the
10162         docs.
10163
10164         * gst/gstghostpad.c: Update for fixate changes.
10165
10166 2005-07-02  Andy Wingo  <wingo@pobox.com>
10167
10168         * gst/gstcaps.c:
10169         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10170         two refcounts makes it immutable, which is enough. Doc more.
10171
10172 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10173
10174         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10175           Put the mini_object into GValue as a mini_object,
10176           not a gpointer, since that's how we declared
10177           the signal.
10178
10179 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10180
10181         * examples/pwg/Makefile.am:
10182           Fix buildbot again.
10183
10184 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10185
10186         * docs/pwg/building-testapp.xml:
10187           Add extra check.
10188         * examples/pwg/Makefile.am:
10189           Fix buildbot.
10190
10191 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10192
10193         * configure.ac:
10194         * examples/Makefile.am:
10195         * examples/pwg/Makefile.am:
10196         * examples/pwg/extract.pl:
10197           Enable building the PWG examples.
10198         * docs/pwg/advanced-interfaces.xml:
10199           Add URI interface stub.
10200         * docs/pwg/advanced-types.xml:
10201         * docs/pwg/other-autoplugger.xml:
10202         * docs/pwg/appendix-porting.xml:
10203         * docs/pwg/pwg.xml:
10204           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10205         * docs/pwg/building-boiler.xml:
10206         * docs/pwg/building-chainfn.xml:
10207         * docs/pwg/building-pads.xml:
10208         * docs/pwg/building-props.xml:
10209         * docs/pwg/building-state.xml:
10210         * docs/pwg/building-testapp.xml:
10211           Update the building-*.xml parts for 0.9 changes. All examples
10212           code blocks compile in examples/pwg/*.
10213
10214 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10215
10216         * docs/manual/advanced-autoplugging.xml:
10217         * docs/manual/appendix-checklist.xml:
10218         * docs/manual/appendix-integration.xml:
10219         * docs/manual/highlevel-components.xml:
10220           Fix playbin/decodebin examples, update docs a bit, mention bus
10221           instead of signals in various places, mention kmplayer and
10222           kaffeine since they have a working GStreamer backend in the KDE
10223           section.
10224
10225 2005-06-30  Wim Taymans  <wim@fluendo.com>
10226
10227         * CHANGES-0.9:
10228         * docs/design/draft-ghostpads.txt:
10229         * docs/design/draft-push-pull.txt:
10230         * docs/design/draft-query.txt:
10231         * docs/design/part-TODO.txt:
10232         * docs/design/part-query.txt:
10233         Added CHANGES-0.9 doc, updated status of other docs.
10234         
10235         * gst/gstquery.h:
10236         Remove "hmm" macro
10237
10238 2005-06-30  Wim Taymans  <wim@fluendo.com>
10239
10240         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10241         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10242         (gst_base_sink_change_state):
10243         * gst/base/gstbasesink.h:
10244         Some tweaks, only EOS and a buffer complete a preroll.
10245
10246 2005-06-30  Andy Wingo  <wingo@pobox.com>
10247
10248         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10249         activate_push down to the internal pad as well.
10250
10251 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10252
10253         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10254
10255         * gst/gsttaginterface.c:
10256           Some documentation fixes (#307394 and #307397).
10257
10258 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10259
10260         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10261
10262         * gst/gstvalue.c: (gst_value_intersect_list):
10263           Fix memleak (#309125).
10264
10265 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10266
10267         * docs/manual/advanced-dataaccess.xml:
10268           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10269         * docs/manual/basics-pads.xml:
10270           Add reference for filtered caps to above chapter.
10271
10272 2005-06-30  Wim Taymans  <wim@fluendo.com>
10273
10274         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10275         (gst_bin_change_state):
10276         Probes are gone.
10277         Lame attempt at making the state change function a bit
10278         more readable.
10279
10280 2005-06-30  Wim Taymans  <wim@fluendo.com>
10281
10282         * docs/design/part-clocks.txt:
10283         * docs/design/part-element-sink.txt:
10284         * docs/design/part-events.txt:
10285         * docs/design/part-preroll.txt:
10286         * docs/design/part-states.txt:
10287         Some more tweeks and additions to the docs.
10288
10289 2005-06-30  Wim Taymans  <wim@fluendo.com>
10290
10291         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10292         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10293         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10294         (gst_pad_check_pull_range), (gst_pad_get_range),
10295         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10296         * gst/gstpad.h:
10297         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10298         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10299         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10300         (gst_pad_remove_buffer_probe):
10301         Removed atomic operations, use existing LOCK.
10302         Move exception handling out of main code path.
10303
10304 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10305
10306         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10307         (silly_return_true_function), (gst_pad_class_init),
10308         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10309         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10310         (gst_pad_send_event):
10311           Fix accumulator, add default value by using _emitv() instead
10312           of _emit() for signal emission.
10313
10314 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10315
10316         * docs/manual/advanced-dataaccess.xml:
10317         * examples/manual/Makefile.am:
10318           Add probe example.
10319         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10320           Make work (??).
10321
10322 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10323
10324         * gst/elements/gstfilesink.c: (gst_filesink_render):
10325           Simplify code so that we don't have to handle short
10326           writes and return GST_FLOW_ERROR if an error occured.
10327
10328 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10329
10330         * docs/gst/gstreamer-docs.sgml:
10331           Remove probes more.
10332
10333 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10334
10335         * docs/gst/gstreamer-sections.txt:
10336         * docs/gst/tmpl/gstpad.sgml:
10337         * docs/gst/tmpl/gstprobe.sgml:
10338         * gst/Makefile.am:
10339         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10340         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10341         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10342         (gst_pad_push_event), (gst_pad_send_event):
10343         * gst/gstpad.h:
10344         * gst/gstutils.c: (gst_pad_add_data_probe),
10345         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10346         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10347         (gst_pad_remove_buffer_probe):
10348         * gst/gstutils.h:
10349           Remove old probes, add new g-signal-based probes and some utility
10350           functions.
10351
10352 2005-06-29  Edward Hervey  <edward@fluendo.com>
10353
10354         * gst/gstelementfactory.c:
10355         * gst/gstutils.h:
10356         * gst/gstutils.c:
10357         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10358         the definition to the header file.
10359
10360 2005-06-29  Andy Wingo  <wingo@pobox.com>
10361
10362         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10363         plugins from the source directory.
10364
10365 2005-06-29  Wim Taymans  <wim@fluendo.com>
10366
10367         * docs/gst/tmpl/gstbuffer.sgml:
10368         * docs/gst/tmpl/gstclock.sgml:
10369         Some fixings for blantently wrong text.
10370
10371 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10372
10373         * check/Makefile.am:
10374         * gst/gst.c: (add_path_func), (init_pre):
10375         * gst/gstregistry.c: (gst_registry_add_path):
10376           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10377           only scan the GST_PLUGIN_PATH locations, and not add
10378           system locations
10379
10380 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10381
10382         * docs/gst/gstreamer-sections.txt:
10383         * docs/gst/tmpl/gstbasesrc.sgml:
10384         * gst/gstelement.c:
10385         * gst/gstelement.h:
10386         * gst/gstevent.c:
10387         * gst/gstutils.c:
10388           doc fixes
10389
10390 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10391
10392         * docs/manual/advanced-autoplugging.xml:
10393           Fix autoplugging example.
10394
10395 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10396
10397         * docs/manual/advanced-autoplugging.xml:
10398         * docs/manual/mime-world.fig:
10399           Try to get autoplugging working, fix type detection. Fix text
10400           in hello-world image.
10401
10402 2005-06-29  Wim Taymans  <wim@fluendo.com>
10403
10404         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10405         (gst_base_sink_change_state):
10406         Small debug line.
10407
10408         * gst/gstclock.h:
10409         map SIGNAL and BROADCAST to the right function.
10410
10411         * gst/gstobject.h:
10412         Remove redundant braces.
10413
10414         * gst/gstpad.c: (gst_pad_set_caps):
10415         Don't call setcaps function when reseting caps to NULL.
10416
10417         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10418         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10419         (gst_system_clock_id_unschedule):
10420         Use BROADCAST as this is what we do.
10421
10422 2005-06-29  Wim Taymans  <wim@fluendo.com>
10423
10424         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10425         We are actually prerolling before commiting the state
10426         change. 
10427
10428 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10429
10430         * docs/manual/advanced-clocks.xml:
10431         * docs/manual/advanced-interfaces.xml:
10432         * docs/manual/advanced-metadata.xml:
10433         * docs/manual/advanced-position.xml:
10434         * docs/manual/advanced-schedulers.xml:
10435         * docs/manual/advanced-threads.xml:
10436         * docs/manual/appendix-porting.xml:
10437         * docs/manual/basics-bins.xml:
10438         * docs/manual/basics-bus.xml:
10439         * docs/manual/basics-elements.xml:
10440         * docs/manual/basics-helloworld.xml:
10441         * docs/manual/basics-pads.xml:
10442         * docs/manual/highlevel-components.xml:
10443         * docs/manual/manual.xml:
10444         * docs/manual/thread.fig:
10445           Update (until threads/scheduling) Application Development Manual;
10446           remove GstThread, add GstBus, add simple porting checklist, add
10447           documentation for tag writing, clocks, make all examples until this
10448           part compile and run.
10449         * examples/manual/Makefile.am:
10450           Update from changes to Application Development Manual; add bus
10451           example, remove thread example.
10452
10453 2005-06-28  Wim Taymans  <wim@fluendo.com>
10454
10455         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10456         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10457         (gst_bus_source_dispatch):
10458         Add debugging messages.
10459         Make internal methods static.
10460         Handle the case where the bus is flushed in the handler.
10461         
10462         * gst/gstelement.c: (gst_element_get_bus):
10463         Fix refcount in _get_bus();
10464
10465         * gst/gstpipeline.c: (gst_pipeline_change_state),
10466         (gst_pipeline_get_clock_func):
10467         Clock refcounting fixes.
10468         Handle the case where preroll timed out more gracefully.
10469         
10470         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10471         Clean up the internal thread in dispose. This is needed
10472         for subclasses that actually get disposed.
10473         
10474         * gst/schedulers/threadscheduler.c:
10475         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10476         (gst_thread_scheduler_dispose):
10477         Free thread pool in dispose.
10478
10479 2005-06-28  Andy Wingo  <wingo@pobox.com>
10480
10481         * tests/network-clock-utils.scm (debug, print-event): New utils.
10482
10483         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10484         (*packet-loss*): Unified loss probability.
10485         (network-time): Report out-of-band events.
10486
10487         * tests/plot-data: Add support for out-of-band events. Hack it
10488         into this script instead of passing it down the pipe; should fix
10489         this later.
10490
10491 2005-06-28  Wim Taymans  <wim@fluendo.com>
10492
10493         * docs/gst/gstreamer.types:
10494         * docs/gst/tmpl/gstbasesrc.sgml:
10495         * docs/gst/tmpl/gstpad.sgml:
10496         Docs fixes.
10497
10498 2005-06-28  Wim Taymans  <wim@fluendo.com>
10499
10500         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10501         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10502         (gst_proxy_pad_do_fixatecaps):
10503         Correctly proxy the check_pull_range function.
10504
10505 2005-06-28  Andy Wingo  <wingo@pobox.com>
10506
10507         * tests/network-clock.scm: Removed need for slib.
10508         
10509 2005-06-28  Wim Taymans  <wim@fluendo.com>
10510
10511         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10512         (gst_basesink_preroll_queue_flush):
10513         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10514         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10515         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10516         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10517         (gst_proxy_pad_set_property):
10518         * gst/gstpad.c:
10519         * gst/gstpad.h:
10520         * gst/gstqueue.c: (gst_queue_init):
10521         The deprecated pad loop function is removed now.
10522
10523 2005-06-28  Andy Wingo  <wingo@pobox.com>
10524
10525         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10526         New parameters, simulate network packet loss.
10527
10528         * tests/network-clock-utils.scm: Initialize the RNG.
10529
10530 2005-06-28  Wim Taymans  <wim@fluendo.com>
10531
10532         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10533         (gst_basesink_event), (gst_basesink_deactivate):
10534         Flushing the preroll queue always needs to unlock the waiters.
10535
10536 2005-06-28  Edward Hervey  <edward@fluendo.com>
10537
10538         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10539         Wheen a seek was successful on a pipeline, set the stream_time to the
10540         seek offset in order to have a synchronized stream_time.
10541
10542 2005-06-28  Wim Taymans  <wim@fluendo.com>
10543
10544         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10545         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10546         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10547         (gst_proxy_pad_do_fixatecaps):
10548         Call wrapper function instead of just calling the function
10549         pointers. This takes care of any locking and whatmore.
10550
10551 2005-06-28  Wim Taymans  <wim@fluendo.com>
10552
10553         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10554         (gst_pad_pull_range):
10555         * gst/gstpad.h:
10556         CONNECTED -> LINKED.
10557
10558 2005-06-28  Andy Wingo  <wingo@pobox.com>
10559
10560         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10561         source-munging commit!!!
10562
10563         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10564         (gst_object_sink): Take gpointer arguments, not GstObject --
10565         avoids casts. Like GLib.
10566
10567         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10568         activate.
10569
10570 2005-06-27  Andy Wingo  <wingo@pobox.com>
10571
10572         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10573         remaining buffer.
10574
10575         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10576         returns a sorted copy of the trace list.
10577         (gst_alloc_trace_print_live): New API, only prints traces with
10578         live objects. Sort the list.
10579         (gst_alloc_trace_print_all): Sort the list.
10580         (gst_alloc_trace_print): Align columns.
10581
10582         * gst/elements/gstttypefindelement.c:
10583         * gst/elements/gsttee.c:
10584         * gst/base/gstbasesrc.c:
10585         * gst/base/gstbasesink.c:
10586         * gst/base/gstbasetransform.c:
10587         * gst/gstqueue.c: Adapt for pad activation changes.
10588
10589         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10590         sched.
10591         (gst_pipeline_dispose): Drop ref on sched.
10592
10593         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10594         (gst_pad_activate_default): Push mode by default.
10595         (pre_activate_switch, post_activate_switch): New stubs, things to
10596         do before and after switching activation modes on pads.
10597         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10598         the pad's activate function to choose which mode to activate.
10599         Shortcut on deactivation and call the right function directly.
10600         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10601         mode.
10602         (gst_pad_activate_push): New API, same for push mode.
10603         (gst_pad_set_activate_function) 
10604         (gst_pad_set_activatepull_function) 
10605         (gst_pad_set_activatepush_function): Setters for new API.
10606
10607         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10608         Trace all miniobjects.
10609         (gst_mini_object_make_writable): Unref the arg if we copy, like
10610         gst_caps_make_writable.
10611
10612         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10613
10614         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10615         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10616         Adapt for new pad API.
10617
10618         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10619
10620         * gst/gstelement.h:
10621         * gst/gstelement.c (gst_element_iterate_src_pads) 
10622         (gst_element_iterate_sink_pads): New API functions.
10623         
10624         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10625         should fold into gstiterator.c in some form.
10626         (gst_element_pads_activate): Simplified via use of fold and
10627         delegation of decisions to gstpad->activate.
10628
10629         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10630         help in debugging.
10631
10632         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10633         class once in init, like gstmessage. Didn't run into this issue
10634         but it seems correct. Don't initialize a trace, gstminiobject does
10635         that.
10636
10637         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10638         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10639         to the bus.
10640         (assert_live_count): New util function, uses alloc traces to check
10641         cleanup.
10642
10643         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10644         To be modified when unlink drops the internal pad.
10645
10646 2005-06-27  Wim Taymans  <wim@fluendo.com>
10647
10648         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10649         (gst_bin_change_state):
10650         Cleanup the get_state() function a little, make sure it
10651         iterates the same set of elements.
10652         Added stub iterate_state_order().
10653
10654 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10655
10656         * docs/gst/gstreamer-docs.sgml:
10657         * docs/gst/gstreamer-sections.txt:
10658         * docs/gst/gstreamer.types:
10659         * docs/gst/tmpl/gstbasesink.sgml:
10660         * docs/gst/tmpl/gstbasesrc.sgml:
10661         * docs/gst/tmpl/gstbasetransform.sgml:
10662         * docs/gst/tmpl/gstelement.sgml:
10663         * docs/gst/tmpl/gstiterator.sgml:
10664         * gst/base/gstbasesrc.c:
10665         * gst/base/gstbasesrc.h:
10666         * gst/base/gstbasetransform.h:
10667         * gst/gstelement.c:
10668         * gst/gstiterator.h:
10669           adding basetransform and iterator docs
10670
10671 2005-06-27  Andy Wingo  <wingo@pobox.com>
10672
10673         * docs/design/part-activation.txt: Notes on how activation should
10674         work -- not quite implemented yet.
10675
10676 2005-06-25  Wim Taymans  <wim@fluendo.com>
10677
10678         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10679         At least get the chain function correct, needs more
10680         fixing.
10681
10682 2005-06-25  Wim Taymans  <wim@fluendo.com>
10683
10684         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10685         (gst_basesink_handle_object), (gst_basesink_event),
10686         (gst_basesink_do_sync), (gst_basesink_handle_event),
10687         (gst_basesink_change_state):
10688         * gst/gsttask.h:
10689         Right, two problems here: ghostpads don't take locks and
10690         glib _rec_mutex_lock_full() with depth==0 still locks.
10691         Catch illegal locking and g_warn them.
10692
10693 2005-06-25  Wim Taymans  <wim@fluendo.com>
10694
10695         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10696         Have to check for completion now...
10697
10698 2005-06-25  Wim Taymans  <wim@fluendo.com>
10699
10700         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10701         (gst_basesink_handle_object), (gst_basesink_event),
10702         (gst_basesink_do_sync), (gst_basesink_handle_event),
10703         (gst_basesink_change_state):
10704         * gst/gstpad.h:
10705         Unlock STREAM_LOCK whatever the recursion was.
10706
10707 2005-06-25  Wim Taymans  <wim@fluendo.com>
10708
10709         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10710         (gst_basesink_preroll_queue_empty),
10711         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10712         (gst_basesink_event), (gst_basesink_do_sync),
10713         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10714         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10715         (gst_basesink_change_state):
10716         Reworked the base sink, handle event and buffer serialisation
10717         correctly and removed possible deadlock.
10718         Handle EOS correctly.
10719
10720 2005-06-25  Wim Taymans  <wim@fluendo.com>
10721
10722         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10723         (gst_pipeline_change_state):
10724         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10725         Allow elements to post EOS in the state change function.
10726         Fix up -launch, make it exit the poll loop when the
10727         pipeline actually changed state.
10728         Fix up warning parsing in -launch.
10729
10730 2005-06-25  Wim Taymans  <wim@fluendo.com>
10731
10732         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10733         (gst_tee_sink_activate):
10734         Core takes STREAM_LOCK for us now.
10735
10736 2005-06-25  Wim Taymans  <wim@fluendo.com>
10737
10738         * gst/gstelement.c: (gst_element_get_state_func),
10739         (gst_element_set_state):
10740         * gst/gstelement.h:
10741         * gst/gstmessage.c: (gst_message_parse_error),
10742         (gst_message_parse_warning):
10743         Keep track of current target state while performing a state
10744         change so that subclasses can do something interesting.
10745         Fix parsing of warning/error messages when GError is NULL.
10746
10747 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10748
10749         * docs/gst/Makefile.am:
10750         * docs/gst/gstreamer-docs.sgml:
10751         * docs/gst/gstreamer-sections.txt:
10752         * docs/gst/gstreamer.types:
10753         * docs/gst/tmpl/gstbasesink.sgml:
10754         * docs/gst/tmpl/gstbasesrc.sgml:
10755         * docs/gst/tmpl/gstbin.sgml:
10756         * docs/gst/tmpl/gstcompat.sgml:
10757         * docs/gst/tmpl/gstfakesink.sgml:
10758         * docs/gst/tmpl/gstfakesrc.sgml:
10759         * docs/gst/tmpl/gstfilesink.sgml:
10760         * docs/gst/tmpl/gstfilesrc.sgml:
10761         * docs/gst/tmpl/gstindex.sgml:
10762         * docs/manual/appendix-quotes.xml:
10763         * gst/base/gstbasesrc.h:
10764         * gst/elements/gstfakesrc.h:
10765         * gst/gstmessage.h:
10766           start pulling in base classes and elements in our docs
10767
10768 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10769
10770         * docs/gst/Makefile.am:
10771         * docs/libs/Makefile.am:
10772           fixed make distcheck with gtk-doc 1.3
10773
10774 2005-06-23  Wim Taymans  <wim@fluendo.com>
10775
10776         * gst/gstelement.c: (gst_element_get_state_func),
10777         (gst_element_set_state), (gst_element_change_state):
10778         When the state did not change, also report NO_PREROLL
10779         when it matters.
10780
10781 2005-06-23  Wim Taymans  <wim@fluendo.com>
10782
10783         * gst/gstpad.c: (gst_pad_event_default):
10784         * gst/gstqueue.c: (gst_queue_loop):
10785         No unsafe task pausing please.
10786
10787 2005-06-23  Wim Taymans  <wim@fluendo.com>
10788
10789         * gst/schedulers/threadscheduler.c:
10790         (gst_thread_scheduler_task_start),
10791         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10792         Ref the task before pushing it on the threadpool. This
10793         makes sure that we have a ref when the threadfunction is
10794         actually called.
10795
10796 2005-06-23  Andy Wingo  <wingo@pobox.com>
10797
10798         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10799         offset is greater than the file's size.
10800
10801         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10802         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10803         * gst/gstobject.c (gst_object_class_init): Make the class lock
10804         recursive. Wim won't let me drop deep_notify. Decodebin works
10805         again, whoopdy doo.
10806
10807         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10808         internal pad, and hacks accordingly. Doesn't do it on the target
10809         pad because we change its caps. Probably catches all cases of
10810         interest tho.
10811         (gst_ghost_pad_set_property): Connect to notify::caps as
10812         appropritate.
10813
10814         * tests/network-clock.scm (plot-simulation): Pipe data to the
10815         elite python skript.
10816
10817         * tests/network-clock-utils.scm (define-parameter): New macro,
10818         defines a parameter that can be set via the command line.
10819         (set-parameter!, parse-parameter-arguments): Command line args
10820         parser.
10821
10822         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10823         stdin.
10824
10825 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10826
10827         * gst/elements/gsttypefindelement.c:
10828         (gst_type_find_element_handle_event):
10829           Don't restart typefinding on a discont.
10830         * gst/gstelement.c: (gst_element_set_state):
10831           Debug spelling fix.
10832         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10833           Allow changing mode of an active pad.
10834           Debug output fixes.
10835         * gst/registries/gstlibxmlregistry.c: (load_feature):
10836           Don't cast a static pad template to a normal pad template.
10837
10838 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10839
10840         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10841         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10842           remove gst_strtoll completely, since it didn't actually do
10843           anything more than what g_ascii_strtoull already does.
10844           check for range errors when deserializing
10845           do a cast for the unsigned cases; but further fixing needs
10846           a decision on what the interpretation of "(int)" and
10847           deserialization should be for values that fall outside the
10848           type's boundaries (ie, refuse, or interpret as casting)
10849
10850 2005-06-23  Wim Taymans  <wim@fluendo.com>
10851
10852         * check/Makefile.am:
10853         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10854         * docs/design/part-live-source.txt:
10855         * docs/design/part-states.txt:
10856         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10857         (gst_basesrc_set_live), (gst_basesrc_is_live),
10858         (gst_basesrc_get_range), (gst_basesrc_activate),
10859         (gst_basesrc_change_state):
10860         * gst/base/gstbasesrc.h:
10861         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10862         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10863         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10864         * gst/gstelement.c: (gst_element_get_state_func),
10865         (gst_element_set_state):
10866         * gst/gstelement.h:
10867         * gst/gsttypes.h:
10868         * tools/gst-launch.c: (event_loop), (main):
10869         Added support for live sources and other elements that
10870         cannot do preroll.
10871         Updated design docs, added live-source design doc.
10872         Implemented live source functionality in basesrc
10873         Fix error condition in _bin_get_state()
10874         Implement live source handling in -launch.
10875         Added check for live sources.
10876         Fixed case in GstBin where elements were changed state
10877         multiple times.
10878
10879
10880 2005-06-23  Andy Wingo  <wingo@pobox.com>
10881
10882         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10883         borken refcounting.
10884
10885         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10886         gst_caps_replace takes care of this for us.
10887
10888         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10889         gst_pad_set_caps on the target, not just its setcaps() function.
10890
10891         * tests/network-clock.scm: 
10892         * tests/network-clock-utils.scm: A network clock simulator.
10893         Something of an algorithmic testbed before doing something in C.
10894
10895 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10896
10897         * check/Makefile.am:
10898         * check/gst/capslist.h:
10899           copy over from 0.8, and add two with bitmasks specified with
10900           (int) 0xFF...
10901         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10902           add test to parse everything from capslist.h
10903         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10904         (main):
10905           add test for structure deserialization
10906         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10907           add tests for deserialization of strings to int types
10908         * gst/gststructure.c: (gst_structure_nth_field_name):
10909         * gst/gststructure.h:
10910           add a way to get the name of a field referenced by index
10911         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10912           instead of checking if the resulting long long lies between
10913           min and max, we check if the long long would fit into
10914           a number of bytes for the final type.
10915           This fixes cases where a string represents 2^32 - 1, which
10916           when cast to int would be the (valid) -1, but is bigger than
10917           G_MAXINT
10918
10919 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10920
10921         * gst/parse/grammar.y:
10922           add a log line for type deserialization
10923
10924 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10925
10926         * check/gst/gstvalue.c: (START_TEST):
10927         * gst/gstvalue.c: (gst_value_deserialize):
10928           return long long, not int, so gint64 deserialization actually
10929           works.  Is there any flag that makes the compiler check this ?
10930           Fixes #308559
10931
10932 2005-06-22  Wim Taymans  <wim@fluendo.com>
10933
10934         * gst/gstbuffer.h:
10935         Added convenience macros for setting buffers in GValue.
10936
10937 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10938
10939         * check/gst/.cvsignore:
10940         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10941           add a test deserializing int64, and comment part out because
10942           it fails, yay !
10943
10944 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10945
10946         * check/Makefile.am:
10947         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10948         * testsuite/Makefile.am:
10949         * testsuite/caps/Makefile.am:
10950         * testsuite/caps/value_serialize.c:
10951         * testsuite/test_gst_init.c:
10952           move a value_serialize test over
10953
10954 2005-06-20  Wim Taymans  <wim@fluendo.com>
10955
10956         * gst/gstpad.c:
10957         Small doc updates.
10958         
10959         * gst/gstvalue.c: (gst_value_compare_buffer),
10960         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10961         (gst_value_compare_flags), (gst_value_serialize_flags),
10962         (gst_value_deserialize_flags), (_gst_value_initialize):
10963         Fix serialisation of buffers, they are not boxed types anymore
10964
10965 2005-06-20  Wim Taymans  <wim@fluendo.com>
10966
10967         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10968         Testcase to show error in buffer-on-caps serialisation.
10969
10970 2005-06-20  Andy Wingo  <wingo@pobox.com>
10971
10972         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10973         will be adding to later.
10974
10975         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10976         if its socks fill with rocks.
10977         (gst_system_clock_obtain): Set the name on object construction.
10978         Avoid double-checked locking.
10979
10980 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10981
10982         * gst/gsturi.c: (gst_element_make_from_uri):
10983           Fix potential endless loop.
10984
10985 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10986
10987         * check/Makefile.am:
10988           add gsttag
10989         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10990         (main):
10991           move over from testsuite dir and clean up
10992         * configure.ac:
10993         * gst/gsttag.c:
10994         * testsuite/Makefile.am:
10995         * testsuite/tags/.cvsignore:
10996         * testsuite/tags/Makefile.am:
10997         * testsuite/tags/merge.c:
10998           remove testsuite/tags
10999
11000 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11001
11002         * docs/gst/gstreamer-sections.txt:
11003         * docs/gst/tmpl/gstenumtypes.sgml:
11004         * win32/gstenumtypes.c:
11005           clean up documentation build a little
11006
11007 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11008
11009         * check/gstcheck.h:
11010           add macros for checking refcounts on objects and caps
11011         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11012           add some more unit tests
11013         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11014         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11015           fix leaked refcounts (I hope :)) so unittest works
11016         * gst/gstpad.h:
11017           whitespace removal
11018
11019 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11020
11021         * configure.ac: back to HEAD
11022
11023 === release 0.9.1 ===
11024
11025 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11026
11027         * NEWS:
11028         * RELEASE:
11029           updated
11030
11031 2005-06-17  Andy Wingo  <wingo@pobox.com>
11032
11033         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11034         assert; it's always possible that the pad gets deactivated in
11035         between the checks in gstpad.c and the implementation. Rely on
11036         finish_preroll() to return a FLUSHING or similar instead of on the
11037         assert.
11038         
11039         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11040         clock and post an EOS message if we come out of finish_preroll in
11041         the playing state.
11042
11043 2005-06-16  David Schleef  <ds@schleef.org>
11044
11045         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11046         (gst_capsfilter_set_property): Allow NULL as possible value
11047         for filter_caps property, indicating GST_CAPS_ANY.
11048
11049 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11050
11051         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11052           fix debug output
11053         * gst/schedulers/Makefile.am:
11054           use libgst prefix
11055         * gstreamer.spec.in:
11056           fix spec for it
11057
11058 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11059
11060         * gstreamer.spec.in:
11061           clean up
11062
11063 2005-06-08  Andy Wingo  <wingo@pobox.com>
11064
11065         * gst/gstutils.c: RPAD fixes all around.
11066         (gst_element_link_pads): Refcounting fixes.
11067
11068         * tools/gst-inspect.c:
11069         * tools/gst-xmlinspect.c:
11070         * parse/grammar.y:
11071         * gst/base/gsttypefindhelper.c:
11072         * gst/base/gstbasesink.c:
11073         * gst/gstqueue.c: RPAD fixes.
11074
11075         * gst/gstghostpad.h:
11076         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11077         pads. The tricky thing is they provide both source and sink
11078         interfaces, since they proxy the internal pad for the external
11079         pad, and vice versa. Implement with lower-level ProxyPad objects,
11080         with the interior proxy pad as a child of the exterior ghost pad.
11081         Should write a doc on this.
11082         
11083         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11084         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11085         gst_object API.
11086         
11087         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11088         pads are real pads. No ghost pads in this file. Not documenting
11089         the myriad s/RPAD/PAD/ and REALIZE fixes.
11090         (gst_pad_class_init): Add properties for "direction" and
11091         "template". Both are construct-only, so they can't change during
11092         the life of the pad. Fixes properly deriving from GstPad.
11093         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11094         derived objects, just set properties when creating the objects via
11095         g_object_new.
11096         (gst_pad_get_parent): Implement as a function, return NULL if the
11097         parent is not an element.
11098         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11099         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11100         
11101         * gst/gstobject.c (gst_object_class_init): Make name a construct
11102         property. Don't set it in the object init.
11103
11104         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11105         with UNKNOWN direction.
11106         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11107         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11108         (gst_element_remove_pad): Remove ghost-pad special cases.
11109         (gst_element_pads_activate): Remove rpad cruft.
11110
11111         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11112         catch the pad's-parent-not-an-element case.
11113
11114         * gst/gst.h: Include gstghostpad.h.
11115
11116         * gst/gst.c (init_post): No more real, ghost pads.
11117
11118         * gst/Makefile.am: Add gstghostpad.[ch].
11119
11120         * check/Makefile.am:
11121         * check/gst/gstbin.c:
11122         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11123         into a bin creates ghost pads, and that the refcounts are right.
11124         Partly moved from gstbin.c.
11125
11126 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11127
11128         * check/gst-libs/.cvsignore:
11129         * check/gst/.cvsignore:
11130         * check/pipelines/.cvsignore:
11131           ignore more
11132         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11133         (START_TEST), (cleanup_suite), (main):
11134           add some tests related to cleanup after running pipelines
11135
11136 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11137
11138         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11139           add a testsuite for GstBuffer
11140
11141 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11142
11143         * gst/gstminiobject.h:
11144           add defines for accessing the refcount
11145
11146 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11147
11148         * Makefile.am: added support for html unit test coverage reports
11149
11150 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11151
11152         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11153           Free existing caps if the capsfilter changes. Add a FIXME about
11154           setting those caps on the pads.
11155
11156         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11157           Before adding a ghost pad to a parent bin, check that there isn't
11158           already one for the element on the bin. Prevents infinite recursion
11159           when using decodebin in parse pipelines. Andy says he'll rewrite the
11160           way this works anyway, so ignore the hack.
11161
11162 2005-06-02  Andy Wingo  <wingo@pobox.com>
11163
11164         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11165         file size, pass it on to the type find helper.
11166
11167         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11168         segment_start and segment_end properly according to the seek
11169         method. Segment_end is still a bit flaky because offset can be
11170         negative for CUR and END cases, but it takes -1 as an "unset"
11171         value.
11172
11173 2005-06-02  Wim Taymans  <wim@fluendo.com>
11174
11175         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11176         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11177         (gst_basesink_activate):
11178         * gst/base/gstbasesink.h:
11179         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11180         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11181         (gst_pad_query), (gst_pad_start_task):
11182         * gst/gstpad.h:
11183         * gst/gstqueue.c: (gst_queue_bufferalloc),
11184         (gst_queue_handle_sink_event), (gst_queue_chain):
11185         Bufferalloc: return GstFlowReturn to more accuratly report
11186         why allocation failed.
11187
11188 2005-06-02  Wim Taymans  <wim@fluendo.com>
11189
11190         * gst/gstpipeline.c: (gst_pipeline_send_event):
11191         Take snapshot of state without blocking.
11192
11193 2005-06-02  Wim Taymans  <wim@fluendo.com>
11194
11195         * docs/design/part-TODO.txt:
11196         * docs/design/part-caps.txt:
11197         * docs/design/part-clocks.txt:
11198         * docs/design/part-negotiation.txt:
11199         * docs/design/part-preroll.txt:
11200         Small doc updates 
11201
11202 2005-05-30  Wim Taymans  <wim@fluendo.com>
11203
11204         * gst/elements/gstidentity.c: (gst_identity_event),
11205         (gst_identity_transform), (gst_identity_get_property):
11206         Protect last_message property as it is accessed from
11207         multiple threads.
11208
11209 2005-05-30  Wim Taymans  <wim@fluendo.com>
11210
11211         * gst/gstelement.c: (gst_element_init),
11212         (gst_element_pads_activate), (gst_element_change_state):
11213         Slicker pad activation code.
11214
11215 2005-05-30  Wim Taymans  <wim@fluendo.com>
11216
11217         * gst/Makefile.am:
11218         * gst/gstelement.h:
11219         * gst/gstelementfactory.h:
11220         * gst/gsttypes.h:
11221         Move elementfactory methods to separate .h file.
11222
11223 2005-05-30  Wim Taymans  <wim@fluendo.com>
11224
11225         * docs/design/part-overview.txt:
11226         * gst/gstsystemclock.h:
11227         Small typo fixes, doc updates.
11228
11229 2005-05-30  Wim Taymans  <wim@fluendo.com>
11230
11231         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11232         (init_popt_callback):
11233         Remove cpu-opt flag.
11234
11235 2005-05-30  Wim Taymans  <wim@fluendo.com>
11236
11237         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11238         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11239         * gst/gstbuffer.h:
11240         Avoid typechecking in places where not needed.
11241         Added accessor for malloc_data.
11242
11243 2005-05-30  Wim Taymans  <wim@fluendo.com>
11244
11245         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11246         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11247         (gst_pad_configure_sink), (gst_pad_configure_src),
11248         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11249         (gst_pad_start_task):
11250         Propagate errors from _set_caps() in configure_src/sink
11251         functions instead of returning TRUE.
11252         FLUSH events can travel up and downstream
11253
11254
11255 2005-05-30  Wim Taymans  <wim@fluendo.com>
11256
11257         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11258         (gst_basesink_activate):
11259         Handle EOS in preroll.
11260
11261 2005-05-30  Wim Taymans  <wim@fluendo.com>
11262
11263         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11264         (gst_queue_loop), (gst_queue_handle_src_event):
11265         Remove old pieces of code
11266         Flushing the queue in an upstream event is a very bad idea.
11267
11268 2005-05-26  Andy Wingo  <wingo@pobox.com>
11269
11270         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11271         gst_value_set_mini_object so as to add a ref on the object (which
11272         will be removed when the value is unset).
11273
11274         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11275         arg type in ::handoff.
11276
11277         * gst/gstelement.c (gst_element_change_state): Also deactivate
11278         pads in READY->NULL, just in case the element didn't make it to
11279         PAUSED. Wingo tested, Wim approved.
11280
11281 2005-05-26  Wim Taymans  <wim@fluendo.com>
11282
11283         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11284         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11285         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11286         A flushing pad cannot be used to alloc_buffer from.
11287
11288 2005-05-26  Wim Taymans  <wim@fluendo.com>
11289
11290         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11291         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11292         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11293         (gst_bus_create_watch), (gst_bus_add_watch_full):
11294         * gst/gstbus.h:
11295         Implement a real GSource and use g_main_context_wakeup() to
11296         signal new messages instead of the socketpair.
11297
11298 2005-05-25  Wim Taymans  <wim@fluendo.com>
11299
11300         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11301         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11302         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11303         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11304         (gst_pad_send_event), (gst_pad_start_task):
11305         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11306         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11307         (gst_queue_sink_activate), (gst_queue_src_activate),
11308         (gst_queue_change_state):
11309         * gst/gstqueue.h:
11310         Fix state changes for non sinks. We now change sinks, then elements
11311         with unconnected srcpads, then the rest.
11312         More efficient queue unlocking in flush and state changes.
11313         Set the pad activate mode even if it does not have an activate
11314         function.
11315
11316 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11317
11318         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11319           Don't go in pull mode for non-seekable sources.
11320         * gst/elements/gsttypefindelement.h:
11321         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11322         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11323         (free_entry), (stop_typefinding),
11324         (gst_type_find_element_handle_event), (find_peek),
11325         (gst_type_find_element_chain), (do_pull_typefind),
11326         (gst_type_find_element_change_state):
11327           Allow typefinding (w/o seeking) in push-mode, simplified version
11328           of what was in 0.8.
11329         * gst/gstutils.c: (gst_buffer_join):
11330         * gst/gstutils.h:
11331           gst_buffer_join() from 0.8.
11332
11333 2005-05-25  Wim Taymans  <wim@fluendo.com>
11334
11335         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11336         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11337         (gst_pad_send_event), (gst_pad_start_task):
11338         Disable attempt at mode switching until it is figured out.
11339
11340 2005-05-25  Wim Taymans  <wim@fluendo.com>
11341
11342         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11343         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11344         (gst_basesink_finish_preroll), (gst_basesink_chain),
11345         (gst_basesink_loop), (gst_basesink_activate),
11346         (gst_basesink_change_state):
11347         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11348         (gst_basesrc_get_range), (gst_basesrc_loop),
11349         (gst_basesrc_activate):
11350         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11351         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11352         (gst_real_pad_init), (gst_real_pad_set_property),
11353         (gst_real_pad_get_property), (gst_pad_set_active),
11354         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11355         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11356         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11357         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11358         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11359         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11360         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11361         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11362         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11363         (gst_pad_stop_task):
11364         * gst/gstpad.h:
11365         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11366         (gst_queue_loop), (gst_queue_src_activate):
11367         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11368         (gst_task_get_state):
11369         * gst/gsttask.h:
11370         * gst/schedulers/threadscheduler.c:
11371         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11372         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11373         in task function.
11374         Remove ACTIVE pad flag, use FLUSHING everywhere
11375         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11376         functions.
11377         Add locks around IS_FLUSHING when reading.
11378         Take STREAM lock in chain(), get_range() functions so plugins
11379         don't need to take it anymore.
11380         
11381
11382
11383 2005-05-25  Wim Taymans  <wim@fluendo.com>
11384
11385         * tools/gst-launch.c: (event_loop):
11386         Unref message after using its contents instead of
11387         before.
11388
11389 2005-05-24  Wim Taymans  <wim@fluendo.com>
11390
11391         * docs/design/draft-ghostpads.txt:
11392         * docs/design/draft-push-pull.txt:
11393         * docs/design/draft-query.txt:
11394         * docs/design/part-overview.txt:
11395         Docs updates, added general overview doc.
11396
11397 2005-05-21  David Schleef  <ds@schleef.org>
11398
11399         * docs/gst/tmpl/old/GstBin.sgml:
11400         * docs/gst/tmpl/old/GstBuffer.sgml:
11401         * docs/gst/tmpl/old/GstCaps.sgml:
11402         * docs/gst/tmpl/old/GstClock.sgml:
11403         * docs/gst/tmpl/old/GstCompat.sgml:
11404         * docs/gst/tmpl/old/GstData.sgml:
11405         * docs/gst/tmpl/old/GstElement.sgml:
11406         * docs/gst/tmpl/old/GstEvent.sgml:
11407         * docs/gst/tmpl/old/GstIndex.sgml:
11408         * docs/gst/tmpl/old/GstStructure.sgml:
11409         * docs/gst/tmpl/old/GstTag.sgml:
11410         * docs/gst/tmpl/old/cothreads.sgml:
11411         * docs/gst/tmpl/old/cothreads_compat.sgml:
11412         * docs/gst/tmpl/old/gettext.sgml:
11413         * docs/gst/tmpl/old/gobject2gtk.sgml:
11414         * docs/gst/tmpl/old/grammar.tab.sgml:
11415         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11416         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11417         * docs/gst/tmpl/old/gst_private.sgml:
11418         * docs/gst/tmpl/old/gstaggregator.sgml:
11419         * docs/gst/tmpl/old/gstarch.sgml:
11420         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11421         * docs/gst/tmpl/old/gstbufferstore.sgml:
11422         * docs/gst/tmpl/old/gstdata_private.sgml:
11423         * docs/gst/tmpl/old/gstdisksink.sgml:
11424         * docs/gst/tmpl/old/gstdisksrc.sgml:
11425         * docs/gst/tmpl/old/gstelementfactory.sgml:
11426         * docs/gst/tmpl/old/gstextratypes.sgml:
11427         * docs/gst/tmpl/old/gstfakesink.sgml:
11428         * docs/gst/tmpl/old/gstfakesrc.sgml:
11429         * docs/gst/tmpl/old/gstfdsink.sgml:
11430         * docs/gst/tmpl/old/gstfdsrc.sgml:
11431         * docs/gst/tmpl/old/gstfilesink.sgml:
11432         * docs/gst/tmpl/old/gstfilesrc.sgml:
11433         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11434         * docs/gst/tmpl/old/gstidentity.sgml:
11435         * docs/gst/tmpl/old/gstindexfactory.sgml:
11436         * docs/gst/tmpl/old/gstmarshal.sgml:
11437         * docs/gst/tmpl/old/gstmd5sink.sgml:
11438         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11439         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11440         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11441         * docs/gst/tmpl/old/gstpipefilter.sgml:
11442         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11443         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11444         * docs/gst/tmpl/old/gstshaper.sgml:
11445         * docs/gst/tmpl/old/gstspider.sgml:
11446         * docs/gst/tmpl/old/gstspideridentity.sgml:
11447         * docs/gst/tmpl/old/gststatistics.sgml:
11448         * docs/gst/tmpl/old/gsttee.sgml:
11449         * docs/gst/tmpl/old/gsttimecache.sgml:
11450         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11451         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11452         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11453         * docs/gst/tmpl/old/types.sgml:
11454           I didn't intend to add these or check them in.
11455
11456 2005-05-19  David Schleef  <ds@schleef.org>
11457
11458         * configure.ac: Use -no-common everywhere.  In a sane world, it
11459           would be the default in libtool, because without it, you can't
11460           build DLLs on Windows.
11461         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11462         * docs/gst/gstreamer-sections.txt:
11463         * docs/gst/tmpl/gstcpu.sgml:
11464         * docs/gst/tmpl/gstdata.sgml:
11465         * docs/gst/tmpl/gstthread.sgml:
11466
11467 2005-05-19  David Schleef  <ds@schleef.org>
11468
11469         * gst/gstminiobject.c: (gst_value_set_mini_object),
11470         (gst_value_take_mini_object), (gst_value_get_mini_object):
11471         * gst/gstminiobject.h: Add GValue set/get functions.
11472
11473 2005-05-19  Wim Taymans  <wim@fluendo.com>
11474
11475         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11476         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11477         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11478         * gst/gstbuffer.h:
11479         * gst/gstbus.c: (gst_bus_post):
11480         * gst/gstelement.c: (gst_element_get_random_pad):
11481         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11482         Make subbufer unref the parent in finalize.
11483         some more debugging info.
11484
11485
11486 2005-05-19  Wim Taymans  <wim@fluendo.com>
11487
11488         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11489         (gst_basesink_init), (gst_basesink_finalize),
11490         (gst_basesink_activate), (gst_basesink_change_state):
11491         Don't free preroll queue too early.
11492
11493 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11494
11495         * gst/Makefile.am:
11496         * gst/ROADMAP:
11497           Hi, I'm outdated. Please shoot me.
11498
11499 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11500
11501         * gst/gstpipeline.c: (gst_pipeline_send_event):
11502           Do not access variables after they have been deleted.
11503
11504 2005-05-19  Wim Taymans  <wim@fluendo.com>
11505
11506         * tools/gst-inspect.c: (print_plugin_features):
11507         A plugin feature does unfortunatly not use the
11508         object name yet...
11509
11510 2005-05-18  Wim Taymans  <wim@fluendo.com>
11511
11512         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11513         Port _span() functions to new subbuffers.
11514
11515 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11516
11517         * gst/gstbin.c: (gst_bin_add_func):
11518           Fix clock settery in bins when adding kids after the clock has
11519           been selected.
11520
11521 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11522
11523         * gst/elements/gstidentity.c: (gst_identity_class_init):
11524           Workaround until signals support GstMiniObject.
11525
11526 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11527
11528         * gst/gstbuffer.c:
11529         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11530
11531 2005-05-18  Wim Taymans  <wim@fluendo.com>
11532
11533         * gst/base/Makefile.am:
11534         * gst/base/gstadapter.c: (gst_adapter_base_init),
11535         (gst_adapter_class_init), (gst_adapter_init),
11536         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11537         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11538         (gst_adapter_flush), (gst_adapter_available),
11539         (gst_adapter_available_fast):
11540         * gst/base/gstadapter.h:
11541         Ported and added adapter to the base classes.
11542
11543 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11544
11545         * gst/gst.c:
11546         * gst/gstmessage.c:
11547           Make sure the class is reffed/unreffed once before threads can be
11548           used.  Fixes #304551.
11549
11550 2005-05-17  Wim Taymans  <wim@fluendo.com>
11551
11552         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11553         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11554         * gst/gstminiobject.c: (gst_mini_object_get_type),
11555         (gst_mini_object_free):
11556         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11557         (gst_pad_push), (gst_pad_push_event):
11558         * gst/gstqueue.c: (gst_queue_change_state):
11559         Don't queue buffers in basesink when we are flushing.
11560         Unref buffer when flushing in basesink.
11561         Flush queue when going to READY
11562         Unref buffer when _push() returns an error.
11563         Don't free MiniObject instance when refcount is incremented
11564         in _finalize() so that we can recover objects.
11565
11566 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11567
11568         * docs/manual/advanced-schedulers.xml:
11569         * docs/manual/appendix-checklist.xml:
11570         * docs/pwg/advanced-clock.xml:
11571         * docs/pwg/advanced-interfaces.xml:
11572         * docs/pwg/advanced-request.xml:
11573         * docs/pwg/advanced-types.xml:
11574         * docs/pwg/intro-preface.xml:
11575         * examples/plugins/example.c: (gst_example_get_type),
11576         (gst_example_class_init), (gst_example_chain),
11577         (gst_example_set_property), (gst_example_get_property),
11578         (gst_example_change_state), (plugin_init):
11579         * examples/plugins/example.h:
11580           small doc fixes
11581
11582 2005-05-17  Wim Taymans  <wim@fluendo.com>
11583
11584         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11585         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11586         * gst/gstqueue.c: (gst_queue_change_state):
11587         Clear queue when going to READY.
11588         Remove IN_SETCAPS flag too.
11589
11590 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11591
11592         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11593           Remove implicit cast from gboolean to GstElementStateReturn;
11594           make sure we still return failure in paused => ready case if
11595           the parent class fails to change state and our own stop 
11596           vfunc succeeds.
11597
11598 2005-05-17  Wim Taymans  <wim@fluendo.com>
11599
11600         * tools/gst-launch.c: (event_loop):
11601         Message was unreffed too soon.
11602
11603 2005-05-16  Andy Wingo  <wingo@pobox.com>
11604
11605         * gst/gstbin.c (sink_iterator_filter): Err... um...
11606
11607         * check/gst/gstbin.c (test_ghost_pads): New test for the
11608         ghosting-if-elements-not-in-same-bin behavior.
11609
11610 2005-05-16  David Schleef  <ds@schleef.org>
11611
11612         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11613         accessing refcount directly.
11614
11615 2005-05-15  David Schleef  <ds@schleef.org>
11616
11617         * check/Makefile.am: remove GstData checks
11618         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11619         * gst/Makefile.am: add miniobject, remove data
11620         * gst/gst.h: add miniobject, remove data
11621         * gst/gstdata.c: remove
11622         * gst/gstdata.h: remove
11623         * gst/gstdata_private.h: remove
11624         * gst/gsttypes.h: remove GstEvent and GstMessage
11625         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11626         * gst/gstmarshal.list: change BOXED -> OBJECT
11627
11628         Implement GstMiniObject.
11629         * gst/gstminiobject.c:
11630         * gst/gstminiobject.h:
11631
11632         Modify to be subclasses of GstMiniObject.
11633         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11634         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11635         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11636         (gst_subbuffer_get_type), (gst_subbuffer_init),
11637         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11638         (gst_buffer_span):
11639         * gst/gstbuffer.h:
11640         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11641         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11642         (_gst_event_copy), (gst_event_new):
11643         * gst/gstevent.h:
11644         * gst/gstmessage.c: (_gst_message_initialize),
11645         (gst_message_get_type), (gst_message_class_init),
11646         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11647         (gst_message_new), (gst_message_new_error),
11648         (gst_message_new_warning), (gst_message_new_tag),
11649         (gst_message_new_state_changed), (gst_message_new_application):
11650         * gst/gstmessage.h:
11651         * gst/gstprobe.c: (gst_probe_perform),
11652         (gst_probe_dispatcher_dispatch):
11653         * gst/gstprobe.h:
11654         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11655         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11656         (_gst_query_copy), (gst_query_new):
11657
11658         Update elements for GstData -> GstMiniObject changes
11659         * gst/gstquery.h:
11660         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11661         (gst_queue_chain), (gst_queue_loop):
11662         * gst/elements/gstbufferstore.c:
11663         (gst_buffer_store_add_buffer_func),
11664         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11665         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11666         (gst_fakesink_render):
11667         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11668         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11669         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11670         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11671         (gst_filesrc_create_read):
11672         * gst/elements/gstidentity.c: (gst_identity_class_init):
11673         * gst/elements/gsttypefindelement.c:
11674         (gst_type_find_element_src_event), (free_entry_buffers),
11675         (gst_type_find_element_handle_event):
11676         * libs/gst/dataprotocol/dataprotocol.c:
11677         (gst_dp_header_from_buffer):
11678         * libs/gst/dataprotocol/dataprotocol.h:
11679         * libs/gst/dataprotocol/dp-private.h:
11680
11681 2005-05-15  David Schleef  <ds@schleef.org>
11682
11683         * gst/elements/gstelements.c: Don't include headers that were
11684         just removed.
11685
11686 2005-05-15  David Schleef  <ds@schleef.org>
11687
11688         * gst/elements/Makefile.am: Remove some elements that don't
11689         need to be in the core (or even exist at all).
11690         * gst/elements/gstaggregator.c:
11691         * gst/elements/gstaggregator.h:
11692         * gst/elements/gstmd5sink.c:
11693         * gst/elements/gstmd5sink.h:
11694         * gst/elements/gstmultifilesrc.c:
11695         * gst/elements/gstmultifilesrc.h:
11696         * gst/elements/gstpipefilter.c:
11697         * gst/elements/gstpipefilter.h:
11698         * gst/elements/gstshaper.c:
11699         * gst/elements/gstshaper.h:
11700         * gst/elements/gststatistics.c:
11701         * gst/elements/gststatistics.h:
11702         * po/POTFILES.in: Remove above files.
11703
11704 2005-05-14  Andy Wingo  <wingo@pobox.com>
11705
11706         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11707         so as to get the refs right.
11708         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11709         unreffing objects that don't pass the filter.
11710
11711         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11712         gst_element_set_bus.
11713         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11714         normal cases, this will destroy the bus.
11715
11716         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11717         object.
11718
11719         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11720         has no sinks.
11721
11722 2005-05-13  Andy Wingo  <wingo@pobox.com>
11723
11724         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11725         gst_pad_link, call pad_link_maybe_ghosting,
11726         (pad_link_maybe_ghosting): Links pads, making sure that the
11727         elements being linked are in the same bin.
11728         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11729         Helpers for pad_link_maybe_ghosting.
11730
11731 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11732
11733         * configure.ac:
11734           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11735
11736 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11737
11738         * docs/design/part-element-source.txt:
11739           Mention GstPushSrc
11740
11741 2005-05-12  Wim Taymans  <wim@fluendo.com>
11742
11743         * gst/base/gstbasesink.c: (gst_basesink_init),
11744         (gst_basesink_activate):
11745         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11746         (gst_basesrc_is_seekable):
11747         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11748         (bin_element_is_sink), (gst_bin_change_state):
11749         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11750         * gst/gstelement.h:
11751         Identify sinks by their flag to avoid overly complicated
11752         checks (fow now).
11753         Do state changes even for elements not reachable from the
11754         sinks.
11755         BaseSink is a sink now :)
11756         Some more debugging info in the basesrc.
11757
11758
11759 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11760
11761         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11762           Implement _query on a bin, similar to _send_event.
11763
11764 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11765
11766         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11767           Discont event offset format should be GST_FORMAT_BYTES,
11768           not GST_FORMAT_TIME.
11769
11770 2005-05-12  Wim Taymans  <wim@fluendo.com>
11771
11772         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11773         Same fix as Ronald's but without the signal. 
11774
11775 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11776
11777         * gst/gstutils.c: (gst_element_query_position):
11778           No, an element is not a pad.
11779
11780 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11781
11782         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11783         (gst_bin_get_state):
11784           If a child is removed from a bin while we remove the child from
11785           the bin and while we're retrieving its state, signal this to the
11786           get_state function so we abort the wait (instead of waiting for
11787           a timeout) and can immediately re-iterate over all other elements.
11788
11789 2005-05-12  Wim Taymans  <wim@fluendo.com>
11790
11791         * gst/base/Makefile.am:
11792         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11793         (gst_basesrc_start):
11794         * gst/base/gstbasesrc.h:
11795         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11796         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11797         (gst_pushsrc_init), (gst_pushsrc_create):
11798         * gst/base/gstpushsrc.h:
11799         Added is_seekable to BaseSrc
11800         Added simple PushSrc.
11801
11802 2005-05-11  Wim Taymans  <wim@fluendo.com>
11803
11804         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11805         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11806         (gst_element_link_pads), (gst_element_query_position),
11807         (gst_element_query_convert), (intersect_caps_func),
11808         (gst_pad_query_position), (gst_pad_query_convert):
11809         Fix refcounting in utils function.
11810         No point in trying to activate a pad when it's added, it could
11811         be added from the state change function and then we deadlock, the
11812         element has to decide what to do.
11813
11814 2005-05-10  Andy Wingo  <wingo@pobox.com>
11815
11816         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11817         *all* the arguments.
11818
11819         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11820         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11821         lock (according to the docs -- if this is wrong change the docs).
11822
11823         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11824         flush messages in the NULL state.
11825
11826         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11827         message immediately and return.
11828         (gst_bus_set_flushing): New function. If a bus is flushing, it
11829         flushes out any queued messages and immediately unrefs new
11830         messages. This is so when an element goes to NULL, all of the
11831         unhandled messages coming from it can be freed, and their
11832         references to the element dropped. In other words: message source
11833         ref considered harmful :P
11834
11835         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11836         we're finished with it.
11837
11838         * gst/gstmessage.c (gst_message_new_state_changed): 
11839
11840 2005-05-10  Wim Taymans  <wim@fluendo.com>
11841
11842         * gst/gstvalue.c: (gst_value_compare_flags),
11843         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11844         (_gst_value_initialize):
11845         Added flags serialize/deserialize/compare code.
11846
11847 2005-05-09  Andy Wingo  <wingo@pobox.com>
11848
11849         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11850         Intersect the peer's caps with our caps.
11851
11852 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11853
11854         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11855         * gst/elements/gsttypefindelement.c: (find_peek):
11856           Handle negative offsets better. Fixes decodebin.
11857
11858 2005-05-09  Wim Taymans  <wim@fluendo.com>
11859
11860         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11861         (gst_base_transform_event):
11862         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11863         Implement accept_caps.
11864         Fix silly lock/unlock mismatch in base class.
11865
11866 2005-05-09  Wim Taymans  <wim@fluendo.com>
11867
11868         * docs/design/draft-push-pull.txt:
11869         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11870         * gst/elements/gstfilesink.c: (gst_filesink_init),
11871         (gst_filesink_query):
11872         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11873         (gst_type_find_handle_src_query), (find_element_get_length):
11874         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11875         * gst/gstelement.h:
11876         * gst/gstmessage.c:
11877         * gst/gstmessage.h:
11878         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11879         (gst_real_pad_get_caps_unlocked),
11880         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11881         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11882         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11883         (gst_real_pad_dispose), (gst_real_pad_finalize),
11884         (gst_pad_load_and_link), (gst_pad_save_thyself),
11885         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11886         (gst_pad_check_pull_range), (gst_pad_pull_range),
11887         (gst_pad_template_get_type), (gst_pad_template_class_init),
11888         (gst_pad_template_init), (gst_pad_template_dispose),
11889         (name_is_valid), (gst_static_pad_template_get),
11890         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11891         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11892         (gst_pad_get_element_private), (gst_pad_start_task),
11893         (gst_pad_pause_task), (gst_pad_stop_task),
11894         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11895         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11896         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11897         (gst_ghost_pad_new):
11898         * gst/gstpad.h:
11899         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11900         (gst_query_new_position), (gst_query_set_position),
11901         (gst_query_parse_position), (gst_query_new_convert),
11902         (gst_query_set_convert), (gst_query_parse_convert):
11903         * gst/gstquery.h:
11904         * gst/gstqueryutils.c:
11905         * gst/gstqueryutils.h:
11906         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11907         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11908         (gst_queue_handle_src_query):
11909         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11910         (gst_element_query_position), (gst_element_query_convert),
11911         (intersect_caps_func), (gst_pad_query_position),
11912         (gst_pad_query_convert):
11913         * gst/gstutils.h:
11914         * tools/gst-inspect.c: (print_pad_info):
11915         * tools/gst-xmlinspect.c: (print_element_info):
11916         Remove old query functions. Ported old code.
11917         Added position/convert helper functions to gstutils.
11918         Reordered gstpad.c code, grouping relevant things.
11919         Remove gst_message_new(), always need to speficy a specific
11920         message.
11921
11922
11923 2005-05-09  Andy Wingo  <wingo@pobox.com>
11924
11925         * gst/gstiterator.h: Add some includes.
11926
11927         * gst/gstqueryutils.h: Include more headers.
11928
11929         * gst/gstpad.h:
11930         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11931         some uses of gst_pad_query.
11932
11933         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11934         NULL out parameters.
11935         (gst_query_new_position): New proc, allocates a new position
11936         query.
11937
11938         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11939         gstqueryutils.c to the build.
11940
11941         * gst/gststructure.c (gst_structure_set_valist): Implement with
11942         the generic G_VALUE_COLLECT.
11943         
11944 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11945
11946         * gst/Makefile.am: (gst_headers):
11947         Added gstqueryutils.h to the list of headers to install, that was
11948         a 'nachty' move wingo :)
11949
11950 2005-05-06  Andy Wingo  <wingo@pobox.com>
11951
11952         * gst/gstquery.h
11953         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11954         GstData, init a memchunk.
11955         (standard_definitions): Add a few query types, deprecate a few.
11956         (gst_query_get_type): New proc.
11957         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11958         implementation.
11959         (gst_query_new_application, gst_query_get_structure): New public
11960         procs.
11961
11962         * docs/design/draft-query.txt: Removed LINKS from the query types,
11963         because all the rest can be dispatched to other pads -- seemed
11964         ugly to have a query that couldn't be dispatched. internal_links
11965         is fine as a pad method.
11966
11967         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11968         in gstpad.c, but maintain binary compatibility for the moment.
11969         Will fix before 0.9 is out.
11970
11971         * gst/gstqueryutils.c: 
11972         * gst/gstqueryutils.h: New files, implement 3 methods for each
11973         query type: parse_query, parse_response, and set. Probably need an
11974         allocator as well.
11975
11976         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11977
11978         * gst/elements/gstfilesink.c (gst_filesink_query2):
11979         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11980         query_types, and formats methods.
11981
11982         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11983         (gst_pad_set_query2_function): New functions.
11984         (gst_real_pad_init): Set query2_default as the default query2
11985         function. Basically just dispatches to internally linked pads.
11986
11987         Needs review!
11988         
11989         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11990         without using the atomic operations. Only one thread can possibly
11991         be accessing the data at this point. Changed so as to avoid
11992         gst_atomic operations.
11993
11994 2005-05-06  Wim Taymans  <wim@fluendo.com>
11995
11996         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11997         Also set caps if we use the fallback buffer alloc.
11998
11999 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12000
12001         * docs/gst/Makefile.am:
12002         * docs/gst/gstreamer-docs.sgml:
12003         * docs/gst/gstreamer-sections.txt:
12004         * docs/gst/tmpl/gstatomic.sgml:
12005         * docs/gst/tmpl/gstmemchunk.sgml:
12006         * testsuite/elements/struct_i386.h:
12007         * win32/GStreamer.vcproj:
12008         * win32/Makefile:
12009           Purge GstAtomic stuff from docs and win32 makefiles as well
12010
12011 2005-05-06  Wim Taymans  <wim@fluendo.com>
12012
12013         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12014         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12015         * gst/gstpad.c: (gst_pad_peer_get_caps):
12016         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12017         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12018         (gst_queue_src_activate), (gst_queue_change_state):
12019         * gst/gstqueue.h:
12020         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12021         (intersect_caps_func):
12022         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12023         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12024         Some fixes for the peer_get_caps() change.
12025
12026 2005-05-06  Wim Taymans  <wim@fluendo.com>
12027
12028         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12029         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12030         (gst_basesink_activate):
12031         Actually do something with error codes returned from the push
12032         functions.
12033
12034 2005-05-06  Wim Taymans  <wim@fluendo.com>
12035
12036         * docs/design/part-element-sink.txt:
12037         * docs/design/part-element-source.txt:
12038         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12039         (gst_basesink_event), (gst_basesink_activate):
12040         * gst/base/gstbasesink.h:
12041         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12042         (gst_basesrc_activate):
12043         * gst/base/gstbasesrc.h:
12044         * gst/gstelement.c: (gst_element_pads_activate):
12045         Some more documentation.
12046         Fixed scheduling decision in _pads_activate().
12047
12048 2005-05-05  Andy Wingo  <wingo@pobox.com>
12049
12050         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12051         the test suite.
12052
12053 2005-05-05  Wim Taymans  <wim@fluendo.com>
12054
12055         * gst/base/Makefile.am:
12056         * gst/base/gstbasesink.h:
12057         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12058         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12059         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12060         (gst_collectpads_class_init), (gst_collectpads_init),
12061         (gst_collectpads_finalize), (gst_collectpads_new),
12062         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12063         (find_pad), (gst_collectpads_remove_pad),
12064         (gst_collectpads_is_active), (gst_collectpads_collect),
12065         (gst_collectpads_collect_range), (gst_collectpads_start),
12066         (gst_collectpads_stop), (gst_collectpads_peek),
12067         (gst_collectpads_pop), (gst_collectpads_available),
12068         (gst_collectpads_read), (gst_collectpads_flush),
12069         (gst_collectpads_chain):
12070         * gst/base/gstcollectpads.h:
12071         * gst/elements/Makefile.am:
12072         * gst/elements/gstelements.c:
12073         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12074         (gst_fakesink_get_times), (gst_fakesink_event),
12075         (gst_fakesink_preroll), (gst_fakesink_render):
12076         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12077         (gst_filesink_init), (gst_filesink_set_location),
12078         (gst_filesink_open_file), (gst_filesink_close_file),
12079         (gst_filesink_pad_query), (gst_filesink_event),
12080         (gst_filesink_render), (gst_filesink_change_state):
12081         * gst/elements/gstfilesink.h:
12082         Added object to help in making collect pad based elements.
12083         Ported filesink.
12084         Make event function in sink baseclass return gboolean.
12085
12086 2005-05-05  Wim Taymans  <wim@fluendo.com>
12087
12088         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12089         (gst_bin_get_by_name):
12090         * gst/gstbuffer.h:
12091         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12092         (gst_clock_finalize):
12093         * gst/gstdata.c: (gst_data_replace):
12094         * gst/gstdata.h:
12095         * gst/gstelement.c: (gst_element_request_pad),
12096         (gst_element_pads_activate):
12097         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12098         (gst_object_unref):
12099         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12100         (gst_pad_set_checkgetrange_function),
12101         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12102         (gst_pad_check_pull_range), (gst_pad_pull_range),
12103         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12104         (gst_pad_pause_task), (gst_pad_stop_task):
12105         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12106         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12107         Fix name lookup in GstBin.
12108         Added _data_replace() function and _buffer_replace()
12109         Use finalize method to clean up clock.
12110         Fix refcounting on request pads.
12111         Fix pad schedule mode error.
12112         Some more object refcounting debug info,
12113
12114
12115 2005-05-04  Andy Wingo <wingo@pobox.com>
12116
12117         * check/Makefile.am:
12118         * docs/gst/tmpl/gstatomic.sgml:
12119         * docs/gst/tmpl/gstplugin.sgml:
12120         * gst/base/gstbasesink.c: (gst_basesink_activate):
12121         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12122         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12123         (gst_basesrc_query), (gst_basesrc_set_property),
12124         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12125         (gst_basesrc_activate):
12126         * gst/base/gstbasesrc.h:
12127         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12128         (gst_base_transform_src_activate):
12129         * gst/elements/gstelements.c:
12130         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12131         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12132         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12133         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12134         (gst_type_find_element_checkgetrange),
12135         (gst_type_find_element_activate):
12136         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12137         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12138         (gst_caps_load_thyself):
12139         * gst/gstelement.c: (gst_element_pads_activate),
12140         (gst_element_save_thyself), (gst_element_restore_thyself):
12141         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12142         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12143         * gst/gstpad.h:
12144         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12145         (gst_xml_parse_file), (gst_xml_parse_memory),
12146         (gst_xml_get_element), (gst_xml_make_element):
12147         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12148         (_file_index_id_save_xml), (gst_file_index_commit):
12149         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12150         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12151         (load_paths):
12152         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12153         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12154         * tools/gst-complete.c: (main):
12155         * tools/gst-compprep.c: (main):
12156         * tools/gst-inspect.c: (print_element_properties_info):
12157         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12158         * tools/gst-xmlinspect.c: (print_element_properties):
12159         GCC 4 fixen.
12160         
12161 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12162
12163         * gst/gstplugin.c: (gst_plugin_check_module),
12164         (gst_plugin_check_file), (gst_plugin_load_file):
12165             apply patch from #172526 to make register work on MacOSX
12166
12167 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12168
12169         * docs/gst/tmpl/gstconfig.sgml:
12170         * gst/gstconfig.h.in:
12171           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12172         * testsuite/debug/printf_extension.c: (main):
12173           Do not use GST_PTR_FORMAT on pointers to types with
12174           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12175         * testsuite/elements/property.h:
12176           use correct printf format
12177
12178 2005-05-02  Wim Taymans  <wim@fluendo.com>
12179
12180         * docs/design/draft-push-pull.txt:
12181         * docs/design/draft-query.txt:
12182         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12183         (gst_basesrc_start):
12184         Added draft for new query API.
12185         Added draft for better selecting scheduling methods.
12186         Make basesrc ignore length if the subclass does not support
12187         it.
12188
12189 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12190
12191         * gst/Makefile.am:
12192           possible fixes for automake-1.5 - _LIBADD is reserved
12193
12194 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12195
12196         * docs/faq/Makefile.am:
12197         * docs/manual/Makefile.am:
12198         * docs/manuals.mak:
12199         * docs/pwg/Makefile.am:
12200         * gst/Makefile.am:
12201           possible fixes for automake-1.5
12202
12203 2005-04-28  Wim Taymans  <wim@fluendo.com>
12204
12205         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12206         (gst_basesink_pad_getcaps), (gst_basesink_init),
12207         (gst_basesink_do_sync):
12208         * gst/gstclock.c: (gst_clock_entry_new):
12209         * gst/gstevent.c: (gst_event_discont_get_value):
12210         * gst/gstpipeline.c: (pipeline_bus_handler),
12211         (gst_pipeline_change_state):
12212         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12213         Better debugging of clocking info.
12214         Allow NULL values when getting discont values.
12215
12216 2005-04-27  Wim Taymans  <wim@fluendo.com>
12217
12218         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12219         * check/gst/gstpad.c: (gst_pad_suite):
12220         Increase timeout for checks.
12221
12222 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12223
12224         * check/Makefile.am:
12225           fix the broken rule for cleanup.  Apparently this rule is
12226           only needed on FC2, so maybe this warrants further autotool
12227           inspection.
12228
12229 2005-04-26  Wim Taymans  <wim@fluendo.com>
12230
12231         * gst/gsttrashstack.h:
12232         Ooohh. a nasty one! After having a failed pop() from the stack,
12233         it's possible that the stack is empty. In that case, don't
12234         follow the NULL pointer.
12235
12236 2005-04-25  Wim Taymans  <wim@fluendo.com>
12237
12238         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12239         (gst_pad_set_checkgetrange_function),
12240         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12241         (gst_pad_check_pull_range), (gst_pad_pull_range),
12242         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12243         (gst_pad_pause_task), (gst_pad_stop_task):
12244         * gst/gstplugin.c: (gst_plugin_load):
12245         * gst/gstplugin.h:
12246         Remove gst_library_load as it does more harm than good with
12247         the new g_module flags.
12248         Revert bogus caps template check in pad linking, pad caps
12249         are important when linking not the template, which is more
12250         general than the current caps.
12251
12252 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12253
12254         * gst/autoplug/.cvsignore:
12255         * gst/autoplug/Makefile.am:
12256         * gst/autoplug/gstsearchfuncs.c:
12257         * gst/autoplug/gstsearchfuncs.h:
12258         * gst/autoplug/gstspider.c:
12259         * gst/autoplug/gstspider.h:
12260         * gst/autoplug/gstspideridentity.c:
12261         * gst/autoplug/gstspideridentity.h:
12262         * gst/autoplug/spidertest.c:
12263           Die, spider, die.
12264
12265 2005-04-25  Wim Taymans  <wim@fluendo.com>
12266
12267         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12268         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12269         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12270         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12271         * gst/gstpad.h:
12272         Added stubs for unimplemented functions. 
12273
12274 2005-04-24  David Schleef  <ds@schleef.org>
12275
12276         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12277         please fix.
12278
12279 2005-04-24  David Schleef  <ds@schleef.org>
12280
12281         Convert everything from GstAtomicInt to g_atomic_int_*, and
12282         remove gstatomic.
12283         * gst/Makefile.am:
12284         * gst/gstatomic.c:
12285         * gst/gstatomic.h:
12286         * gst/gstatomic_impl.h:
12287         * gst/gstbuffer.c:
12288         * gst/gstcaps.c:
12289         * gst/gstcaps.h:
12290         * gst/gstclock.c:
12291         * gst/gstclock.h:
12292         * gst/gstdata.c:
12293         * gst/gstdata.h:
12294         * gst/gstdata_private.h:
12295         * gst/gstevent.c:
12296         * gst/gstinfo.c:
12297         * gst/gstinfo.h:
12298         * gst/gstmessage.c:
12299         * gst/gstobject.c:
12300         * gst/gstobject.h:
12301         * gst/gststructure.c:
12302         * gst/gststructure.h:
12303         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12304         * gst/gstutils.h:
12305
12306 2005-04-24  David Schleef  <ds@schleef.org>
12307
12308         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12309         make the regressions tests work.  Remove some code that is no
12310         longer true.
12311         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12312         Disable warning for pads without templates.
12313
12314 2005-04-24  David Schleef  <ds@schleef.org>
12315
12316         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12317         functions that handle filtered links.
12318         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12319         removed functions.
12320         * gst/gstutils.c: Fix/remove utility functions that handle
12321         filtered caps.
12322         * gst/gstutils.h:
12323         * gst/gstvalue.c: Add serialization/deserialization of caps
12324         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12325         requires fixing so that the filter caps notation creates
12326         a capsfilter element and sets the filter_caps property.  I
12327         think everyone probably wants to keep the shorthand notation.
12328         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12329         * docs/gst/tmpl/gstpad.sgml:
12330
12331         * gst/elements/gstelements.c: Register capsfilter element.
12332         * gst/Makefile.am: fix spacing
12333         * docs/random/ds/0.9-suggested-changes: random
12334
12335 2005-04-23  David Schleef  <ds@schleef.org>
12336
12337         * gst/elements/Makefile.am:
12338         * gst/elements/gstcapsfilter.c: New element that acts like an
12339         identity, but filters caps.  Will eventually replace filtered
12340         caps in pad linking.
12341         * gst/gstutils.c: (gst_element_create_all_pads): New function
12342         to create all the ALWAYS pads that are registered with an
12343         element class.  This functionality should eventually be
12344         merged in with GstElement initialization.
12345         * gst/gstutils.h:
12346         * testsuite/trigger/README: part of trigger test code that should
12347         have been checked in a long time ago.
12348
12349 2005-04-23  David Schleef  <ds@schleef.org>
12350
12351         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12352         needed with new versions of libtool (nobody will confirm this),
12353         and hard to carry around.
12354         * gst/autoplug/Makefile.am:
12355         * gst/base/Makefile.am:
12356         * gst/elements/Makefile.am:
12357         * gst/indexers/Makefile.am:
12358         * gst/schedulers/Makefile.am:
12359         * libs/gst/bytestream/Makefile.am:
12360         * libs/gst/control/Makefile.am:
12361         * libs/gst/dataprotocol/Makefile.am:
12362         * libs/gst/getbits/Makefile.am:
12363
12364 2005-04-21  Wim Taymans  <wim@fluendo.com>
12365
12366         * docs/design/draft-push-pull.txt:
12367         * docs/design/part-MT-refcounting.txt:
12368         * docs/design/part-TODO.txt:
12369         * docs/design/part-caps.txt:
12370         * docs/design/part-events.txt:
12371         * docs/design/part-gstbus.txt:
12372         * docs/design/part-gstpipeline.txt:
12373         * docs/design/part-messages.txt:
12374         * docs/design/part-push-pull.txt:
12375         * docs/design/part-query.txt:
12376         Some more docs.
12377
12378 2005-04-21  Wim Taymans  <wim@fluendo.com>
12379
12380         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12381         (gst_message_new), (gst_message_new_error),
12382         (gst_message_new_warning), (gst_message_new_tag),
12383         (gst_message_new_state_changed), (gst_message_new_application),
12384         (gst_message_get_structure):
12385         * gst/gstmessage.h:
12386         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12387         (gst_structure_copy_conditional):
12388         Use parent refcount in GstMessage to ensure GstStructure
12389         consistency.
12390         Cleaned up headers a bit.
12391         
12392
12393 2005-04-20  Wim Taymans  <wim@fluendo.com>
12394
12395         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12396         (gst_basesink_pad_getcaps), (gst_basesink_init),
12397         (gst_basesink_chain_unlocked):
12398         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12399         (gst_type_find_helper):
12400         * gst/elements/gsttypefindelement.c:
12401         (gst_type_find_element_have_type), (gst_type_find_element_init),
12402         (stop_typefinding), (gst_type_find_element_handle_event),
12403         (find_suggest), (gst_type_find_element_chain),
12404         (gst_type_find_element_checkgetrange),
12405         (gst_type_find_element_getrange), (do_typefind),
12406         (gst_type_find_element_activate):
12407         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12408         (gst_buffer_default_free), (gst_buffer_default_copy),
12409         (gst_buffer_set_caps):
12410         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12411         (gst_caps_replace):
12412         * gst/gstmessage.c: (gst_message_new),
12413         (gst_message_new_state_changed):
12414         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12415         (gst_pad_set_checkgetrange_function),
12416         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12417         (gst_pad_set_caps), (gst_pad_check_pull_range),
12418         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12419         * gst/gstpad.h:
12420         * gst/gsttypefind.c: (gst_type_find_register):
12421         Make gst_caps_replace() work like other _replace() functions.
12422         Use _caps_replace() where possible.
12423         Make sure _message_new() initialises its field.
12424         Add gst_static_pad_template_get_caps()
12425
12426
12427 2005-04-18  Andy Wingo  <wingo@pobox.com>
12428
12429         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12430         on the peer, not the pad. I think that was a typo. Pass an extra
12431         arg to see if random access is possible. Activate the pads as
12432         PULL_RANGE if possible.
12433
12434         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12435
12436         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12437         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12438         to PROP_....
12439
12440 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12441
12442         * docs/faq/using.xml:
12443           Add note on gstreamer-properties (#154996).
12444
12445 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12446
12447         * docs/random/bbb/optional-properties:
12448           Some analysis on optional properties.
12449
12450 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12451
12452         * docs/gst/tmpl/gstelementfactory.sgml:
12453         * gst/gstelement.h:
12454         * gst/gstelementfactory.c: (gst_element_factory_init),
12455         (gst_element_factory_cleanup), (gst_element_register),
12456         (__gst_element_factory_add_static_pad_template),
12457         (gst_element_factory_get_static_pad_templates),
12458         (gst_element_factory_can_src_caps),
12459         (gst_element_factory_can_sink_caps):
12460         * gst/registries/Makefile.am:
12461         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12462         (gst_xml_registry_class_init), (gst_xml_registry_init),
12463         (gst_xml_registry_new), (gst_xml_registry_set_property),
12464         (gst_xml_registry_get_property), (get_time), (make_dir),
12465         (gst_xml_registry_get_perms_func),
12466         (plugin_times_older_than_recurse), (plugin_times_older_than),
12467         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12468         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12469         (add_to_char_array), (read_string), (read_uint), (read_enum),
12470         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12471         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12472         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12473         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12474         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12475         (gst_xml_registry_rebuild):
12476         * gst/registries/gstlibxmlregistry.h:
12477         * tools/gst-compprep.c: (main):
12478         * tools/gst-inspect.c: (print_pad_templates_info):
12479         * tools/gst-xmlinspect.c: (print_element_info):
12480           Use libxml2 for registry parsing, use staticpadtemplates in
12481           elementfactories. Makes gst_init() +/- 10x faster.
12482
12483 2005-04-12  Wim Taymans  <wim@fluendo.com>
12484
12485         * gst/base/Makefile.am:
12486         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12487         (gst_basesink_pad_getcaps), (gst_basesink_init),
12488         (gst_basesink_event), (gst_basesink_change_state):
12489         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12490         (gst_basesrc_init), (gst_basesrc_query),
12491         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12492         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12493         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12494         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12495         (gst_basesrc_stop), (gst_basesrc_activate),
12496         (gst_basesrc_change_state):
12497         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12498         (helper_find_suggest), (gst_type_find_helper):
12499         * gst/base/gsttypefindhelper.h:
12500         * gst/elements/Makefile.am:
12501         * gst/elements/gstelements.c:
12502         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12503         (gst_fakesink_get_times), (gst_fakesink_event),
12504         (gst_fakesink_preroll), (gst_fakesink_render):
12505         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12506         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12507         (gst_fakesrc_get_property), (gst_fakesrc_create),
12508         (gst_fakesrc_start), (gst_fakesrc_stop):
12509         * gst/elements/gstfakesrc.h:
12510         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12511         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12512         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12513         (gst_filesrc_create_read), (gst_filesrc_create),
12514         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12515         (gst_filesrc_start):
12516         * gst/elements/gsttypefindelement.c:
12517         (gst_type_find_element_have_type), (gst_type_find_element_init),
12518         (start_typefinding), (stop_typefinding), (push_buffer_store),
12519         (gst_type_find_element_handle_event),
12520         (gst_type_find_element_chain),
12521         (gst_type_find_element_checkgetrange),
12522         (gst_type_find_element_getrange), (do_typefind),
12523         (gst_type_find_element_activate),
12524         (gst_type_find_element_change_state):
12525         * gst/elements/gsttypefindelement.h:
12526         * gst/gstpipeline.c: (pipeline_bus_handler):
12527         Added typefind helper.
12528         Small preroll fix in the base sink.
12529         Disable typefind code in basesrc.
12530         Crude port of typefindelement.
12531         Fakesrc cleanups.
12532
12533
12534 2005-04-11  Wim Taymans  <wim@fluendo.com>
12535
12536         * check/gst/gstbus.c: (gstbus_suite):
12537         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12538         * check/gstcheck.h:
12539           Fix up the timeout so that the test does not fail.
12540
12541 2005-04-06  Wim Taymans  <wim@fluendo.com>
12542
12543         * gst/base/README:
12544         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12545         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12546         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12547         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12548         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12549         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12550         (gst_basesrc_stop), (gst_basesrc_activate),
12551         (gst_basesrc_change_state), (basesrc_find_peek),
12552         (basesrc_find_suggest), (gst_basesrc_type_find):
12553         * gst/base/gstbasesrc.h:
12554         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12555         (gst_filesrc_class_init), (gst_filesrc_init),
12556         (gst_filesrc_finalize), (gst_filesrc_set_location),
12557         (gst_filesrc_set_property), (gst_filesrc_get_property),
12558         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12559         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12560         (gst_filesrc_create_read), (gst_filesrc_create),
12561         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12562         * gst/elements/gstfilesrc.h:
12563         * gst/gstelement.c: (gst_element_get_state_func),
12564         (gst_element_lost_state), (gst_element_pads_activate):
12565         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12566         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12567         (gst_pad_pull_range):
12568         * gst/gstpad.h:
12569         More work on the generic source base class, implement seeking,
12570         query.
12571         Make filesrc extend the base source class.
12572         Added gst_pad_set_checkgetrange_function to GstPad.
12573
12574 2005-04-06  Andy Wingo  <wingo@pobox.com>
12575
12576         * pkgconfig/gstreamer-base.pc.in:
12577         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12578
12579         * pkgconfig/Makefile.am:
12580         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12581
12582 2005-04-04  Wim Taymans  <wim@fluendo.com>
12583
12584         * gst/base/Makefile.am:
12585         * gst/base/README:
12586         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12587         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12588         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12589         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12590         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12591         (gst_basesrc_base_init), (gst_basesrc_class_init),
12592         (gst_basesrc_init), (gst_basesrc_get_formats),
12593         (gst_basesrc_get_query_types), (gst_basesrc_query),
12594         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12595         (gst_basesrc_set_property), (gst_basesrc_get_property),
12596         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12597         (gst_basesrc_loop), (gst_basesrc_activate),
12598         (gst_basesrc_change_state):
12599         * gst/base/gstbasesrc.h:
12600         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12601         (gst_fakesrc_class_init), (gst_fakesrc_init),
12602         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12603         (gst_fakesrc_get_property), (gst_fakesrc_create):
12604         * gst/elements/gstfakesrc.h:
12605         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12606         (gst_filesrc_open_file), (gst_filesrc_loop),
12607         (gst_filesrc_activate), (filesrc_find_peek),
12608         (gst_filesrc_type_find):
12609         Made base source class, make fakesrc extend it.
12610         Add comments to basesink class.
12611         Some filesrc cleanup.
12612
12613 2005-03-31  David Schleef  <ds@schleef.org>
12614
12615         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12616         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12617         expected to link against libgstreamer.
12618         * gst/base/Makefile.am: link against libgstreamer
12619         * gst/elements/Makefile.am: same
12620
12621 2005-03-31  Andy Wingo  <wingo@pobox.com>
12622
12623         * tests/instantiate/Makefile.am:
12624         * tests/instantiate/caps.c: Add test to test speed of caps copy
12625         and free.
12626
12627         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12628         GMemChunk to be fair.
12629
12630         * gst/gsttrashstack.h: Remove warning about using the fallback
12631         trash stack implementation, it's still faster than malloc.
12632
12633 2005-03-30  Andy Wingo  <wingo@pobox.com>
12634
12635         * tests/complexity.c: Add a copyright.
12636
12637 2005-03-31  Wim Taymans  <wim@fluendo.com>
12638
12639         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12640         (gst_base_transform_class_init), (gst_base_transform_init),
12641         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12642         (gst_base_transform_get_property),
12643         (gst_base_transform_sink_activate),
12644         (gst_base_transform_src_activate),
12645         (gst_base_transform_change_state):
12646         * gst/base/gstbasetransform.h:
12647         * gst/elements/gstidentity.c: (gst_identity_class_init),
12648         (gst_identity_event), (gst_identity_check_perfect),
12649         (gst_identity_transform), (gst_identity_start),
12650         (gst_identity_stop):
12651         Added start/stop methods to transform base class so subclasses 
12652         don't need to deal with state changes even.
12653
12654 2005-03-31  Wim Taymans  <wim@fluendo.com>
12655
12656         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12657         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12658         * gst/gstevent.h:
12659         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12660         (gst_pad_pull_range):
12661         Added rate to the discont event to prepare for variable speed
12662         and reverse playback.
12663
12664 2005-03-29  David Schleef  <ds@schleef.org>
12665
12666         * configure.ac:
12667         * testsuite/trigger/Makefile.am:
12668         * testsuite/trigger/trigger.c: A little example program to show
12669         how trigger-based elements can work.
12670
12671 2005-03-29  Wim Taymans  <wim@fluendo.com>
12672
12673         * gst/base/Makefile.am:
12674         * gst/base/README:
12675         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12676         (gst_basesink_base_init), (gst_basesink_class_init),
12677         (gst_basesink_pad_getcaps), (gst_basesink_init),
12678         (gst_basesink_activate), (gst_basesink_change_state):
12679         * gst/base/gstbasesink.h:
12680         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12681         (gst_base_transform_base_init), (gst_base_transform_finalize),
12682         (gst_base_transform_class_init), (gst_base_transform_init),
12683         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12684         (gst_base_transform_event), (gst_base_transform_getrange),
12685         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12686         (gst_base_transform_set_property),
12687         (gst_base_transform_get_property),
12688         (gst_base_transform_sink_activate),
12689         (gst_base_transform_src_activate),
12690         (gst_base_transform_change_state):
12691         * gst/base/gstbasetransform.h:
12692         * gst/elements/gstidentity.c: (gst_identity_finalize),
12693         (gst_identity_class_init), (gst_identity_init),
12694         (gst_identity_event), (gst_identity_check_perfect),
12695         (gst_identity_transform), (gst_identity_set_property),
12696         (gst_identity_get_property), (gst_identity_change_state):
12697         * gst/elements/gstidentity.h:
12698         * gst/gstelement.c: (gst_element_get_state_func),
12699         (gst_element_lost_state), (gst_element_pads_activate):
12700         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12701         (gst_pad_check_pull_range), (gst_pad_pull_range):
12702         * gst/gstpad.h:
12703         Simplify pad activation.
12704         Added function to check if pull_range can be performed.
12705         Error out when pulling inactive or flushing pads.
12706         Removed const from refcounted types as it does not make sense.
12707         Simplify pad templates in basesink
12708         Added base class for simple 1-to-1 transforms.
12709         Make identity subclass the base transform.
12710
12711 2005-03-29  Andy Wingo  <wingo@pobox.com>
12712
12713         * docs/libs/gstreamer-libs-overrides.txt: 
12714         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12715         really don't understand what's going on, but like whatever. I want
12716         green buildbot!
12717
12718         * docs/gst/Makefile.am:
12719         * docs/libs/Makefile.am: Dist the overrides files.
12720
12721         * check/Makefile.am (clean-local): Remove .libs directories.
12722
12723         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12724         elements to EXTRA_DIST, so po/ files are happy.
12725
12726         * po/POTFILES.in: Er, remove it here.
12727
12728         * po/POTFILES: Remove gstspider.c.
12729
12730         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12731
12732         * docs/libs/gstreamer-libs-docs.sgml: 
12733         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12734         bytestream.
12735
12736         * tests/complexity.c (main): Set the length of the preroll queue
12737         on the sinks to prevent a lockup.
12738
12739         * libs/gst/dataprotocol/Makefile.am: 
12740         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12741         the same as the one in check/gst-libs/gdp.c.
12742
12743         * po/, docs/gst/: Commit automatic changes to docs and po files.
12744
12745         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12746         the versioned libgstbase.
12747
12748         * check/Makefile.am: Depend on an unversioned gst-register, seems
12749         to make autoconf happier.
12750
12751         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12752
12753 2005-03-28  Wim Taymans  <wim@fluendo.com>
12754
12755         * configure.ac:
12756         * docs/design/part-gstelement.txt:
12757         * docs/design/part-negotiation.txt:
12758         * docs/design/part-preroll.txt:
12759         * docs/design/part-scheduling.txt:
12760         * docs/design/part-states.txt:
12761         * gst/Makefile.am:
12762         * gst/base/Makefile.am:
12763         * gst/base/README:
12764         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12765         (gst_basesink_base_init), (gst_basesink_class_init),
12766         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12767         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12768         (gst_basesink_set_pad_functions),
12769         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12770         (gst_basesink_set_property), (gst_basesink_get_property),
12771         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12772         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12773         (gst_basesink_preroll_queue_push),
12774         (gst_basesink_preroll_queue_empty),
12775         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12776         (gst_basesink_event), (gst_basesink_get_times),
12777         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12778         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12779         (gst_basesink_loop), (gst_basesink_activate),
12780         (gst_basesink_change_state):
12781         * gst/base/gstbasesink.h:
12782         * gst/elements/Makefile.am:
12783         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12784         (gst_fakesink_class_init), (gst_fakesink_init),
12785         (gst_fakesink_set_property), (gst_fakesink_get_property),
12786         (gst_fakesink_get_times), (gst_fakesink_event),
12787         (gst_fakesink_preroll), (gst_fakesink_render),
12788         (gst_fakesink_change_state):
12789         * gst/elements/gstfakesink.h:
12790         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12791         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12792         * gst/gstelement.c: (gst_element_add_pad),
12793         (gst_element_get_state_func), (gst_element_abort_state),
12794         (gst_element_commit_state), (gst_element_lost_state),
12795         (gst_element_set_state), (gst_element_pads_activate):
12796         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12797         * gst/gstpipeline.c: (gst_pipeline_send_event),
12798         (gst_pipeline_change_state):
12799         Added state change code.
12800         Added/updated docs.
12801         Added sink base class, make fakesink extend the base class.
12802         Small cleanups in GstPipeline.
12803
12804 2005-03-26  David Schleef  <ds@schleef.org>
12805
12806         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12807         is broken and should be implemented in a different library.
12808         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12809         * gst/gst.h: remove gstcpu.h
12810         * gst/gstcpu.c: remove
12811         * gst/gstcpu.h: remove
12812         * gst/Makefile.am.future: Remove this file.  It's ancient.
12813
12814 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12815
12816         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12817         (gst_bin_send_event):
12818           Add default event/set_manager handlers. The set_manager handler
12819           takes care that the manager is distributed over kids that were
12820           already in the bin before the manager was set. The event handler
12821           is a utility virtual function that sends the event over all sinks,
12822           so that gst_element_send_event (bin, event); has the expected
12823           behaviour.
12824         * gst/gstpad.c: (gst_pad_event_default):
12825           Re-install default event handling for discontinuities, so that
12826           seeking works without requiring hacks in applications or extra
12827           code in sinks.
12828         * gst/gstpipeline.c: (gst_pipeline_class_init),
12829         (gst_pipeline_send_event):
12830           Half hack, half utility: set a pipeline to PAUSED for seek events,
12831           since that is the only way we can guarantee a/v sync. Means that
12832           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12833           and it "just works".
12834
12835 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12836
12837         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12838           Lock/unlock mismatch.
12839
12840 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12841
12842         * docs/faq/gst-uninstalled:
12843           add gst-plugins-base
12844         * docs/gst/Makefile.am:
12845           don't error out until docs are fixed
12846         * docs/gst/gstreamer.types:
12847           remove thread
12848
12849 2005-03-22  Wim Taymans  <wim@fluendo.com>
12850
12851         * check/Makefile.am:
12852         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12853         * gst/gststructure.c: (gst_structure_set_valist),
12854         (gst_structure_copy_conditional):
12855         Activated more tests.
12856         Added message test.
12857         Added G_TYPE_POINTER to GstStructure.
12858         
12859
12860 2005-03-22  Wim Taymans  <wim@fluendo.com>
12861
12862         * docs/design/part-TODO.txt:
12863         * docs/design/part-events.txt:
12864         * docs/design/part-gstbin.txt:
12865         * docs/design/part-gstbus.txt:
12866         * docs/design/part-gstpipeline.txt:
12867         * docs/design/part-messages.txt:
12868         * gst/gstbus.c:
12869         * gst/gstmessage.c:
12870         Docs updates
12871
12872 2005-03-21  Wim Taymans  <wim@fluendo.com>
12873
12874         * gst/gstbus.c: (gst_bus_post):
12875         Fix copy-and-paste error.
12876
12877 2005-03-21  Wim Taymans  <wim@fluendo.com>
12878
12879         * check/Makefile.am:
12880         * gst/Makefile.am:
12881         * gst/elements/Makefile.am:
12882         * gst/elements/gstelements.c:
12883         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12884         (gst_fakesink_event), (gst_fakesink_chain):
12885         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12886         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12887         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12888         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12889         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12890         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12891         (gst_fakesrc_loop), (gst_fakesrc_activate),
12892         (gst_fakesrc_change_state):
12893         * gst/elements/gstfakesrc.h:
12894         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12895         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12896         (gst_filesrc_open_file), (gst_filesrc_loop),
12897         (gst_filesrc_activate), (gst_filesrc_change_state),
12898         (filesrc_find_peek), (filesrc_find_suggest),
12899         (gst_filesrc_type_find):
12900         * gst/elements/gstidentity.c: (gst_identity_finalize),
12901         (gst_identity_class_init), (gst_identity_init),
12902         (gst_identity_proxy_getcaps), (identity_queue_push),
12903         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12904         (gst_identity_getrange), (gst_identity_chain),
12905         (gst_identity_sink_loop), (gst_identity_src_loop),
12906         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12907         (gst_identity_set_property), (gst_identity_get_property),
12908         (gst_identity_change_state):
12909         * gst/elements/gstidentity.h:
12910         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12911         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12912         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12913         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12914         (gst_tee_sink_activate):
12915         * gst/elements/gsttee.h:
12916         * gst/gst.c: (gst_register_core_elements), (init_post):
12917         * gst/gst.h:
12918         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12919         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12920         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12921         (gst_bin_change_state):
12922         * gst/gstbin.h:
12923         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12924         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12925         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12926         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12927         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12928         (bus_watch_callback), (bus_watch_destroy),
12929         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12930         (poll_timeout), (gst_bus_poll):
12931         * gst/gstbus.h:
12932         * gst/gstcaps.h:
12933         * gst/gstdata.h:
12934         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12935         (gst_element_post_message), (gst_element_message_full),
12936         (gst_element_get_state_func), (gst_element_get_state),
12937         (gst_element_abort_state), (gst_element_commit_state),
12938         (gst_element_lost_state), (gst_element_set_state),
12939         (gst_element_pads_activate), (gst_element_change_state),
12940         (gst_element_dispose), (gst_element_set_manager_func),
12941         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12942         (gst_element_set_manager), (gst_element_get_manager),
12943         (gst_element_set_bus), (gst_element_get_bus),
12944         (gst_element_set_scheduler), (gst_element_get_scheduler):
12945         * gst/gstelement.h:
12946         * gst/gstevent.c: (gst_event_new_segment_seek),
12947         (gst_event_new_flush):
12948         * gst/gstevent.h:
12949         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12950         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12951         (gst_message_new_eos), (gst_message_new_error),
12952         (gst_message_new_warning), (gst_message_new_tag),
12953         (gst_message_new_state_changed), (gst_message_new_application),
12954         (gst_message_get_structure), (gst_message_parse_tag),
12955         (gst_message_parse_state_changed), (gst_message_parse_error),
12956         (gst_message_parse_warning):
12957         * gst/gstmessage.h:
12958         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12959         (gst_real_pad_set_property), (gst_pad_set_active),
12960         (gst_pad_is_active), (gst_pad_set_blocked_async),
12961         (gst_pad_set_blocked), (gst_pad_is_blocked),
12962         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12963         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12964         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12965         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12966         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12967         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12968         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12969         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12970         (gst_pad_set_caps), (gst_pad_configure_sink),
12971         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12972         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12973         (gst_real_pad_dispose), (gst_real_pad_finalize),
12974         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12975         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12976         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12977         * gst/gstpad.h:
12978         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12979         (pipeline_bus_handler), (gst_pipeline_change_state),
12980         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12981         * gst/gstpipeline.h:
12982         * gst/gstprobe.h:
12983         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12984         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12985         (gst_queue_link_src), (gst_queue_bufferalloc),
12986         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12987         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12988         (gst_queue_loop), (gst_queue_handle_src_event),
12989         (gst_queue_handle_src_query), (gst_queue_src_activate),
12990         (gst_queue_change_state):
12991         * gst/gstqueue.h:
12992         * gst/gstscheduler.c: (gst_scheduler_init),
12993         (gst_scheduler_dispose), (gst_scheduler_create_task),
12994         (gst_scheduler_factory_create):
12995         * gst/gstscheduler.h:
12996         * gst/gststructure.c: (gst_structure_get_type),
12997         (gst_structure_copy_conditional):
12998         * gst/gststructure.h:
12999         * gst/gsttaginterface.h:
13000         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13001         (gst_task_init), (gst_task_dispose), (gst_task_create),
13002         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13003         (gst_task_pause):
13004         * gst/gsttask.h:
13005         * gst/gstthread.c:
13006         * gst/gstthread.h:
13007         * gst/gsttypes.h:
13008         * gst/schedulers/Makefile.am:
13009         * gst/schedulers/cothreads_compat.h:
13010         * gst/schedulers/entryscheduler.c:
13011         * gst/schedulers/faircothreads.c:
13012         * gst/schedulers/faircothreads.h:
13013         * gst/schedulers/fairscheduler.c:
13014         * gst/schedulers/gstbasicscheduler.c:
13015         * gst/schedulers/gstoptimalscheduler.c:
13016         * gst/schedulers/gthread-cothreads.h:
13017         * gst/schedulers/threadscheduler.c:
13018         (gst_thread_scheduler_task_get_type),
13019         (gst_thread_scheduler_task_class_init),
13020         (gst_thread_scheduler_task_init),
13021         (gst_thread_scheduler_task_start),
13022         (gst_thread_scheduler_task_stop),
13023         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13024         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13025         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13026         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13027         (plugin_init):
13028         * libs/gst/Makefile.am:
13029         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13030         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13031         (gst_file_pad_parent_set):
13032         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13033         (gst_dp_event_from_packet):
13034         * tests/complexity.c: (main):
13035         * tests/mass_elements.c: (main):
13036         * testsuite/states/locked.c: (message_received), (main):
13037         * testsuite/states/parent.c: (main):
13038         * tools/gst-inspect.c: (print_element_flag_info),
13039         (print_implementation_info), (print_pad_info):
13040         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13041         (main):
13042         * tools/gst-md5sum.c: (event_loop), (main):
13043         * tools/gst-typefind.c: (main):
13044         * tools/gst-xmlinspect.c: (print_element_info):
13045         Next big merge.
13046         Added GstBus for mainloop integration.
13047         Added GstMessage for sending notifications on the bus.
13048         Added GstTask as an abstraction for pipeline entry points.
13049         Removed GstThread.
13050         Removed Schedulers.
13051         Simplified GstQueue for multithreaded core.
13052         Made _link threadsafe, removed old capsnego.
13053         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13054         Added pad blocking functions.
13055         Reworked scheduling functions in GstPad to prepare for
13056         scheduling updates soon.
13057         Moved events out of data stream.
13058         Simplified GstEvent types.
13059         Added return values to push/pull.
13060         Removed clocking from GstElement.
13061         Added prototypes for state change function for next merge.
13062         Removed iterate from bins and state change management.
13063         Fixed some elements, disabled others for now.
13064         Fixed -inspect and -launch.
13065         Added check for GstBus.
13066
13067 2005-03-10  Wim Taymans  <wim@fluendo.com>
13068
13069         * docs/design/part-MT-refcounting.txt:
13070         * docs/design/part-clocks.txt:
13071         * docs/design/part-gstelement.txt:
13072         * docs/design/part-gstobject.txt:
13073         * docs/design/part-standards.txt:
13074         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13075         (gst_bin_remove_func), (gst_bin_remove):
13076         * gst/gstbin.h:
13077         * gst/gstbuffer.c:
13078         * gst/gstcaps.h:
13079         * testsuite/clock/clock1.c: (main):
13080         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13081         (main):
13082         * testsuite/dlopen/loadgst.c: (do_test):
13083         * testsuite/refcounting/bin.c: (add_remove_test1),
13084         (add_remove_test2), (main):
13085         * testsuite/refcounting/element.c: (main):
13086         * testsuite/refcounting/element_pad.c: (main):
13087         * testsuite/refcounting/pad.c: (main):
13088         * tools/gst-launch.c: (sigint_handler_sighandler):
13089         * tools/gst-typefind.c: (main):
13090         Doc updates.
13091         Added doc about clock.
13092         removed gst_bin_iterate_recurse_up(), marked methods
13093         for removal.
13094         Fix more testsuites.
13095
13096 2005-03-09  Wim Taymans  <wim@fluendo.com>
13097
13098         * gst/gstpad.c: (gst_pad_get_direction),
13099         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13100         (gst_pad_collect_valist):
13101         * testsuite/bins/interface.c: (main):
13102         * testsuite/caps/audioscale.c: (test_caps):
13103         * testsuite/caps/caps.c: (test1), (test2), (test3):
13104         * testsuite/caps/deserialize.c: (main):
13105         * testsuite/caps/enumcaps.c: (main):
13106         * testsuite/caps/filtercaps.c: (main):
13107         * testsuite/caps/intersect2.c: (main):
13108         * testsuite/caps/random.c: (main):
13109         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13110         * testsuite/caps/sets.c: (check_caps):
13111         * testsuite/caps/simplify.c: (check_caps), (main):
13112         * testsuite/caps/subtract.c: (check_caps):
13113         Fix _pad_get_direction wrt ghostpads.
13114         Fix caps testsuite.
13115
13116 2005-03-09  Wim Taymans  <wim@fluendo.com>
13117
13118         * check/Makefile.am:
13119         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13120         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13121         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13122         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13123         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13124         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13125         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13126         (bin_element_is_sink), (gst_bin_iterate_sinks),
13127         (gst_bin_iterate_all_by_interface):
13128         * gst/gstbin.h:
13129         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13130         (gst_element_change_state), (gst_element_dispose),
13131         (gst_element_finalize), (gst_element_set_loop_function):
13132         * gst/gstelement.h:
13133         * gst/gstiterator.c: (find_custom_fold_func):
13134         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13135         (gst_pad_collectv), (gst_pad_collect_valist),
13136         (gst_pad_template_new):
13137         * gst/gstpipeline.c: (gst_pipeline_class_init),
13138         (gst_pipeline_dispose), (gst_pipeline_set_property),
13139         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13140         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13141         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13142         * gst/gstutils.h:
13143         * gst/schedulers/entryscheduler.c:
13144         * gst/schedulers/gstbasicscheduler.c:
13145         (gst_basic_scheduler_cothreaded_chain),
13146         (gst_basic_scheduler_chain_add_element):
13147         * testsuite/bins/interface.c: (main):
13148         Added GstBin test.
13149         Added GstSystemClock test.
13150         Implemented clock distribution code in GstBin.
13151         Implemented iterate sinks method for future use.
13152         Rearranged gstelement.h
13153         Fix GstIterator comparison bug.
13154         Moved some code to GstPipeline, mostly clocking related.
13155
13156 2005-03-09  Wim Taymans  <wim@fluendo.com>
13157
13158         * configure.ac:
13159         * gst/gst_private.h:
13160         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13161         (gst_bin_remove_func), (gst_bin_remove),
13162         (gst_bin_get_by_name_recurse_up):
13163         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13164         (gst_clock_id_compare_func), (gst_clock_id_wait),
13165         (gst_clock_id_wait_async), (gst_clock_init),
13166         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13167         * gst/gstelement.h:
13168         * gst/gstinfo.c: (_gst_debug_init):
13169         * gst/gstobject.h:
13170         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13171         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13172         * gst/gstpad.h:
13173         Bump version number, we're now 0.9.0
13174         Add future debugging category.
13175         Fix NULL _unref() in _get_by_name_recurse_up
13176         Rearrange gstpad.h.
13177         Update some docs.
13178
13179 2005-03-08  Wim Taymans  <wim@fluendo.com>
13180
13181         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13182         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13183         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13184         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13185         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13186         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13187         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13188         * gst/elements/gstidentity.c: (gst_identity_class_init):
13189         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13190         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13191         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13192         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13193         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13194         (gst_tee_link):
13195         * gst/gstelement.c: (gst_element_class_init),
13196         (gst_element_base_class_init), (gst_element_init),
13197         (gst_element_get_random_pad), (gst_element_wait_state_change),
13198         (gst_element_change_state), (gst_element_dispose),
13199         (gst_element_finalize), (gst_element_set_loop_function):
13200         * gst/gstelement.h:
13201         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13202         * gst/gstthread.c: (gst_thread_class_init),
13203         (gst_thread_release_children_locks), (gst_thread_change_state):
13204         * gst/schedulers/gstbasicscheduler.c:
13205         (gst_basic_scheduler_loopfunc_wrapper),
13206         (gst_basic_scheduler_chain_wrapper),
13207         (gst_basic_scheduler_src_wrapper),
13208         (gst_basic_scheduler_remove_element):
13209         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13210         Remove threadsafe properties. Fix elements because GObject
13211         complains when installing a property before declaring a
13212         set/get_property handler.
13213         Rearrange gstelement.h file, use STATE macros for state locks.
13214         Free mutexes in the finalize method instead of dispose.
13215
13216 2005-03-08  Wim Taymans  <wim@fluendo.com>
13217
13218         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13219         * gst/gstthread.c: (gst_thread_release_children_locks):
13220         Added parentage check.
13221         Fix build og GstThread again.
13222
13223 2005-03-08  Wim Taymans  <wim@fluendo.com>
13224
13225         * docs/design/part-MT-refcounting.txt:
13226         * docs/design/part-conventions.txt:
13227         * docs/design/part-gstobject.txt:
13228         * docs/design/part-relations.txt:
13229         * docs/design/part-standards.txt:
13230         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13231         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13232         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13233         (gst_bin_iterate_all_by_interface):
13234         * gst/gstbuffer.h:
13235         * gst/gstclock.h:
13236         * gst/gstelement.c: (gst_element_class_init),
13237         (gst_element_change_state), (gst_element_set_loop_function):
13238         * gst/gstelement.h:
13239         * gst/gstiterator.c:
13240         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13241         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13242         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13243         (gst_object_set_parent), (gst_object_unparent),
13244         (gst_object_check_uniqueness):
13245         * gst/gstobject.h:
13246         Docs updates, clean up some headers.
13247
13248 2005-03-07  Wim Taymans  <wim@fluendo.com>
13249
13250         * check/.cvsignore:
13251         * check/Makefile.am:
13252         * check/gst-libs/.cvsignore:
13253         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13254         * check/gst/.cvsignore:
13255         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13256         (START_TEST), (gstbus_suite), (main):
13257         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13258         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13259         (gst_data_suite), (main):
13260         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13261         (add_fold_func), (gstiterator_suite), (main):
13262         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13263         (thread_name_object), (thread_name_object_default),
13264         (gst_object_name_compare), (gst_object_suite), (main):
13265         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13266         (gst_pad_suite), (main):
13267         * check/gstcheck.c: (gst_check_log_message_func),
13268         (gst_check_log_critical_func), (gst_check_init):
13269         * check/gstcheck.h:
13270         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13271         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13272         Added checks.
13273
13274 2005-03-07  Wim Taymans  <wim@fluendo.com>
13275
13276         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13277         (gst_list_iterator_next), (gst_list_iterator_resync),
13278         (gst_list_iterator_free), (gst_iterator_new_list),
13279         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13280         (gst_iterator_free), (gst_iterator_push), (filter_next),
13281         (filter_resync), (filter_uninit), (filter_free),
13282         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13283         (gst_iterator_foreach), (find_custom_fold_func),
13284         (gst_iterator_find_custom):
13285         * gst/gstiterator.h:
13286         Added missing files.
13287
13288 2005-03-07  Wim Taymans  <wim@fluendo.com>
13289
13290         * Makefile.am:
13291         * configure.ac:
13292         * docs/design/part-MT-refcounting.txt:
13293         * docs/design/part-conventions.txt:
13294         * docs/design/part-gstobject.txt:
13295         * docs/design/part-relations.txt:
13296         * examples/mixer/mixer.c: (main):
13297         * examples/thread/thread.c: (eos), (main):
13298         * gst/Makefile.am:
13299         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13300         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13301         (gst_spider_plug_from_srcpad):
13302         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13303         (gst_spider_identity_change_state),
13304         (gst_spider_identity_sink_loop_type_finding):
13305         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13306         * gst/elements/gstidentity.c: (gst_identity_init):
13307         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13308         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13309         * gst/elements/gsttypefindelement.c: (free_entry):
13310         * gst/gst.c:
13311         * gst/gst.h:
13312         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13313         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13314         (gst_bin_set_index), (gst_bin_set_element_sched),
13315         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13316         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13317         (gst_bin_iterate_elements), (iterate_child_recurse),
13318         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13319         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13320         (compare_interface), (gst_bin_get_by_interface),
13321         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13322         * gst/gstbin.h:
13323         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13324         (gst_buffer_default_free), (gst_buffer_default_copy),
13325         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13326         (gst_buffer_create_sub):
13327         * gst/gstbuffer.h:
13328         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13329         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13330         (gst_caps_unref), (gst_static_caps_get),
13331         (gst_caps_remove_and_get_structure), (gst_caps_append),
13332         (gst_caps_append_structure), (gst_caps_remove_structure),
13333         (gst_caps_copy_nth), (gst_caps_set_simple),
13334         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13335         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13336         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13337         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13338         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13339         (gst_caps_structure_figure_out_union),
13340         (gst_caps_switch_structures), (gst_caps_do_simplify),
13341         (gst_caps_replace), (gst_caps_from_string),
13342         (gst_caps_copy_conditional):
13343         * gst/gstcaps.h:
13344         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13345         (_gst_clock_id_free), (gst_clock_id_unref),
13346         (gst_clock_id_compare_func), (gst_clock_id_wait),
13347         (gst_clock_id_wait_async), (gst_clock_class_init),
13348         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13349         (gst_clock_get_time), (gst_clock_set_time_adjust),
13350         (gst_clock_set_property), (gst_clock_get_property):
13351         * gst/gstclock.h:
13352         * gst/gstcompat.h:
13353         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13354         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13355         * gst/gstdata.h:
13356         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13357         (gst_element_requires_clock), (gst_element_provides_clock),
13358         (gst_element_set_clock), (gst_element_clock_wait),
13359         (gst_element_wait), (gst_element_set_time_delay),
13360         (gst_element_is_indexable), (gst_element_add_pad),
13361         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13362         (pad_compare_name), (gst_element_get_static_pad),
13363         (gst_element_request_pad), (gst_element_get_request_pad),
13364         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13365         (gst_element_class_get_pad_template_list),
13366         (gst_element_class_get_pad_template), (gst_element_error_func),
13367         (gst_element_get_random_pad), (gst_element_get_event_masks),
13368         (gst_element_send_event), (gst_element_seek),
13369         (gst_element_get_query_types), (gst_element_query),
13370         (gst_element_get_formats), (gst_element_convert),
13371         (gst_element_is_locked_state), (gst_element_set_locked_state),
13372         (gst_element_sync_state_with_parent), (gst_element_change_state),
13373         (gst_element_finalize), (gst_element_yield),
13374         (gst_element_interrupt), (gst_element_set_scheduler),
13375         (gst_element_get_scheduler), (gst_element_set_loop_function):
13376         * gst/gstelement.h:
13377         * gst/gstevent.h:
13378         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13379         (gst_format_get_by_nick), (gst_format_get_details),
13380         (gst_format_iterate_definitions):
13381         * gst/gstformat.h:
13382         * gst/gstindex.c: (gst_index_gtype_resolver):
13383         * gst/gstinfo.c:
13384         * gst/gstinfo.h:
13385         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13386         (gst_mem_chunk_free):
13387         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13388         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13389         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13390         (gst_object_dispatch_properties_changed),
13391         (gst_object_set_name_default), (gst_object_set_name),
13392         (gst_object_get_name), (gst_object_set_name_prefix),
13393         (gst_object_get_name_prefix), (gst_object_set_parent),
13394         (gst_object_get_parent), (gst_object_unparent),
13395         (gst_object_check_uniqueness), (gst_object_save_thyself),
13396         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13397         (gst_object_set_property), (gst_object_get_property),
13398         (gst_object_get_path_string):
13399         * gst/gstobject.h:
13400         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13401         (gst_real_pad_init), (gst_real_pad_get_property),
13402         (gst_pad_custom_new), (gst_pad_get_direction),
13403         (gst_pad_set_active), (gst_pad_is_active),
13404         (gst_pad_set_event_function), (gst_pad_is_linked),
13405         (gst_pad_link_free), (gst_pad_link_intersect),
13406         (gst_pad_link_fixate), (gst_pad_set_caps),
13407         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13408         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13409         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13410         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13411         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13412         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13413         (gst_pad_realize), (gst_pad_get_allowed_caps),
13414         (gst_real_pad_dispose), (gst_real_pad_finalize),
13415         (gst_pad_collectv), (gst_pad_collect_valist),
13416         (gst_pad_template_dispose), (gst_pad_template_new),
13417         (gst_pad_get_internal_links):
13418         * gst/gstpad.h:
13419         * gst/gstpipeline.c: (gst_pipeline_dispose),
13420         (gst_pipeline_change_state):
13421         * gst/gstpipeline.h:
13422         * gst/gstplugin.c:
13423         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13424         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13425         * gst/gstpluginfeature.h:
13426         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13427         * gst/gstquery.c: (_gst_query_type_initialize),
13428         (gst_query_type_register), (gst_query_type_get_by_nick),
13429         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13430         * gst/gstquery.h:
13431         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13432         * gst/gstscheduler.c: (gst_scheduler_add_element),
13433         (gst_scheduler_factory_create):
13434         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13435         (gst_structure_free), (gst_structure_set_name),
13436         (gst_structure_id_set_value), (gst_structure_set_value),
13437         (gst_structure_set_valist), (gst_structure_remove_field),
13438         (gst_structure_remove_fields),
13439         (gst_structure_remove_fields_valist),
13440         (gst_structure_remove_all_fields), (gst_structure_foreach),
13441         (gst_structure_map_in_place),
13442         (gst_caps_structure_fixate_field_nearest_int),
13443         (gst_caps_structure_fixate_field_nearest_double):
13444         * gst/gststructure.h:
13445         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13446         (gst_system_clock_init), (gst_system_clock_dispose),
13447         (gst_system_clock_async_thread),
13448         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13449         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13450         * gst/gstsystemclock.h:
13451         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13452         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13453         * gst/gsttaginterface.c:
13454         * gst/gstthread.c: (gst_thread_dispose),
13455         (gst_thread_release_children_locks), (gst_thread_change_state),
13456         (gst_thread_main_loop):
13457         * gst/gsttrashstack.h:
13458         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13459         * gst/gsttypes.h:
13460         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13461         (gst_element_request_pad), (gst_element_get_pad_from_template),
13462         (gst_element_request_compatible_pad),
13463         (gst_element_get_compatible_pad_filtered),
13464         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13465         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13466         (gst_element_link_many), (gst_element_link),
13467         (gst_element_link_pads), (gst_element_unlink_pads),
13468         (gst_element_unlink_many), (gst_element_unlink),
13469         (gst_pad_can_link_filtered), (gst_pad_can_link),
13470         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13471         (gst_object_default_error), (gst_bin_add_many),
13472         (gst_bin_remove_many), (gst_element_populate_std_props),
13473         (gst_element_class_install_std_props), (gst_buffer_merge),
13474         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13475         (link_fold_func), (gst_pad_proxy_setcaps):
13476         * gst/gstutils.h:
13477         * gst/gstvalue.c: (gst_value_deserialize_string):
13478         * gst/parse/grammar.y:
13479         * gst/schedulers/gstbasicscheduler.c:
13480         (gst_basic_scheduler_cothreaded_chain),
13481         (gst_basic_scheduler_chain_recursive_add),
13482         (gst_basic_scheduler_pad_link):
13483         * gst/schedulers/gstoptimalscheduler.c:
13484         (get_group_schedule_function),
13485         (gst_opt_scheduler_state_transition),
13486         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13487         * libs/gst/bytestream/bytestream.c:
13488         * libs/gst/dataprotocol/dataprotocol.c:
13489         (gst_dp_header_from_buffer):
13490         * po/nb.po:
13491         * po/ru.po:
13492         * tests/threadstate/threadstate2.c: (eos):
13493         * tools/gst-compprep.c: (main):
13494         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13495         (print_pad_info), (print_children_info):
13496         * tools/gst-launch.c: (idle_func), (main):
13497         * tools/gst-md5sum.c: (idle_func), (main):
13498         * tools/gst-xmlinspect.c: (print_element_info):
13499         First THREADED backport attempt, focusing on adding locks and
13500         making sure the API is threadsafe. Needs more work. More docs
13501         follow this week.
13502
13503 2005-02-24  Andy Wingo  <wingo@pobox.com>
13504
13505         * tests/bench-complexity.scm:
13506         * tests/complexity.gnuplot: New files, good for running complexity
13507         benchmarks.
13508
13509         * tests/Makefile.am:
13510         * tests/complexity.c: New test, sets up N elements, at each level
13511         teeing into M streams per element. Eeeenteresting.
13512
13513         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13514         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13515         running bench-mass_elements.scm.
13516
13517         * tests/bench-mass_elements.scm: New script, runs mass_elements
13518         for various numbers of identities, outputting the results to a
13519         file. Requires guile 1.6. Just for testing.
13520
13521 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13522
13523         * gst/schedulers/fairscheduler.c:
13524           compile with debug disabled
13525
13526 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13527
13528         * configure.ac:
13529           hunting season on 0.9 is now OPEN