gst/gstpluginfeature.c: more meaningful debug output
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2
3         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4         (gst_plugin_feature_load):
5           more meaningful debug output
6         * configure.ac:
7         * tests/Makefile.am:
8         * tests/old/examples/Makefile.am:
9           make make distcheck happy again
10
11 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12
13         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14           Catch the special case where we are operating chain-based,
15           but the downstream peer pad has no chain function. Emit a
16           custom error message in this case instead of letting the
17           core generate one implying that this is some sort of core
18           bug. It's not, it just means that whatever got plugged
19           into the pipeline downstream when we announced the type
20           can only operate pull-based, while our source can only
21           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
22           Error string has not been marked for translation yet, as
23           it probably needs some more work first.
24
25         (gst_type_find_element_get_best_possibility):
26           Add helper function to find the best of all available
27           found possibilities that qualify given the min. threshold.
28
29         (gst_type_find_element_handle_event):
30           Fix the case where we get an EOS while still in TYPEFIND
31           mode (we want to chose the best of all possible types,
32           not just the first type that happens to be in our unsorted
33           list of possible types).
34
35         (gst_type_find_element_chain):
36           Make sure we return GST_FLOW_ERROR when we errored out
37           in stop_typefinding(); also, don't just find the best of
38           all found type entries and then use the last examined
39           type entry, but actually use the best entry.
40
41 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
42
43         * tests/examples/typefind/typefind.c: (type_found):
44         * tests/examples/xml/runxml.c: (xml_loaded):
45           More gcc4 fixes and a mem leak fix.
46
47 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
48
49         * tests/examples/xml/createxml.c: (object_saved):
50           gcc 4 fixes
51
52 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
53
54         * tests/Makefile.am:
55           enable the examples even more
56
57 2005-12-12  Andy Wingo  <wingo@pobox.com>
58
59         * libs/gst/net/gstnettimeprovider.c
60         (gst_net_time_provider_class_init, gst_net_time_provider_init)
61         (gst_net_time_provider_set_property)
62         (gst_net_time_provider_get_property): Export "active" as a GObject
63         property.
64         (gst_net_time_provider_thread): Only respond to time queries if
65         the time provider is active.
66
67         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
68         NetTimeProvider, preserving binary compat.
69
70 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
71
72         * tests/examples/controller/audio-example.c: (main):
73         * tests/examples/launch/Makefile.am:
74           convert comments again
75
76 2005-12-12  Wim Taymans  <wim@fluendo.com>
77
78         * libs/gst/base/gstpushsrc.c:
79         Fix typo.
80
81 2005-12-12  Wim Taymans  <wim@fluendo.com>
82
83         * docs/libs/gstreamer-libs-sections.txt:
84         Added new symbol to docs.
85
86         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
87         (gst_base_src_init), (gst_base_src_set_format),
88         (gst_base_src_default_query), (gst_base_src_query),
89         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
90         (gst_base_src_perform_seek), (gst_base_src_send_event),
91         (gst_base_src_default_event), (gst_base_src_event_handler),
92         (gst_base_src_set_property), (gst_base_src_get_property),
93         (gst_base_src_wait), (gst_base_src_do_sync),
94         (gst_base_src_update_length), (gst_base_src_get_range),
95         (gst_base_src_check_get_range), (gst_base_src_loop),
96         (gst_base_src_default_negotiate), (gst_base_src_start),
97         (gst_base_src_activate_push), (gst_base_src_activate_pull),
98         (gst_base_src_change_state):
99         * libs/gst/base/gstbasesrc.h:
100         Implement seeking to other formats than _BYTES.
101         Implement more seeking methods correctly.
102         Doc updates.
103         Added query vmethod.
104         Added do_seek vmethod to make life easier for subclasses
105         when seeking.
106         API addition: gst_base_src_set_format()
107
108 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
109
110         * tests/examples/Makefile.am:
111           added that too
112
113 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
114
115         * configure.ac:
116         * docs/random/ensonic/media-device-daemon.txt:
117         * tests/examples/controller/.cvsignore:
118         * tests/examples/controller/Makefile.am:
119         * tests/examples/controller/audio-example.c: (main):
120         * tests/examples/helloworld/.cvsignore:
121         * tests/examples/helloworld/Makefile.am:
122         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
123         * tests/examples/launch/.cvsignore:
124         * tests/examples/launch/Makefile.am:
125         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
126         * tests/examples/metadata/.cvsignore:
127         * tests/examples/metadata/Makefile.am:
128         * tests/examples/metadata/read-metadata.c: (message_loop),
129         (make_pipeline), (print_tag), (main):
130         * tests/examples/queue/.cvsignore:
131         * tests/examples/queue/Makefile.am:
132         * tests/examples/queue/queue.c: (event_loop), (main):
133         * tests/examples/typefind/.cvsignore:
134         * tests/examples/typefind/Makefile.am:
135         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
136         (main):
137         * tests/examples/xml/.cvsignore:
138         * tests/examples/xml/Makefile.am:
139         * tests/examples/xml/createxml.c: (object_saved), (main):
140         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
141         * tests/old/examples/Makefile.am:
142         * tests/old/examples/TODO:
143         * tests/old/examples/controller/.cvsignore:
144         * tests/old/examples/controller/Makefile.am:
145         * tests/old/examples/controller/audio-example.c:
146         * tests/old/examples/helloworld/.cvsignore:
147         * tests/old/examples/helloworld/Makefile.am:
148         * tests/old/examples/helloworld/helloworld.c:
149         * tests/old/examples/launch/.cvsignore:
150         * tests/old/examples/launch/Makefile.am:
151         * tests/old/examples/launch/mp3parselaunch.c:
152         * tests/old/examples/launch/mp3play:
153         * tests/old/examples/manual/Makefile.am:
154         * tests/old/examples/metadata/Makefile.am:
155         * tests/old/examples/metadata/read-metadata.c:
156         * tests/old/examples/queue/.cvsignore:
157         * tests/old/examples/queue/Makefile.am:
158         * tests/old/examples/queue/queue.c:
159         * tests/old/examples/typefind/.cvsignore:
160         * tests/old/examples/typefind/Makefile.am:
161         * tests/old/examples/typefind/typefind.c:
162         * tests/old/examples/xml/.cvsignore:
163         * tests/old/examples/xml/Makefile.am:
164         * tests/old/examples/xml/createxml.c:
165         * tests/old/examples/xml/runxml.c:
166           applied some simple fixing to some examples
167           re-enabled the working examples
168
169 2005-12-12  Wim Taymans  <wim@fluendo.com>
170
171         * gst/gstsegment.c: (gst_segment_init),
172         (gst_segment_set_last_stop), (gst_segment_set_seek),
173         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
174         (gst_segment_to_running_time):
175         Added more documentation.
176         Make sure the last_pos value is updated properly.
177         Make sure to_stream_time and to_running_time don't
178         operate on wrong values.
179
180         * tests/check/gst/gstsegment.c: (GST_START_TEST):
181         Update check.
182
183 2005-12-12  Michael Smith  <msmith@fluendo.com>
184
185         * plugins/elements/gsttypefindelement.c: (free_entry),
186         (gst_type_find_element_chain):
187           Now that we're not leaking factories, make sure we keep references
188           to them while we need them.
189
190 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
191
192         * tests/check/gst/struct_i386.h:
193           ifdef out the XML structs
194
195 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
196
197         * gst/gstvalue.c: (gst_value_transform_double_fraction):
198           floor is not needed, F is always positive; this obviates the
199           need for adding -lm when building without libxml
200
201 2005-12-12  Wim Taymans  <wim@fluendo.com>
202
203         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
204         Take current playback rate into account when reporting
205         the position.
206
207 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
208
209         * docs/manual/mime-world.fig:
210           Let's try this again, this time with a file that is
211           actually in XFig format.
212
213 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
214
215         * docs/manual/mime-world.fig:
216           Add audioconvert element to diagram so that it
217           matches the text and the code (fixes #319526).
218
219 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
220
221         * docs/pwg/building-chainfn.xml:
222         * docs/pwg/building-pads.xml:
223         * docs/pwg/building-state.xml:
224         * docs/pwg/other-source.xml:
225           Update state change stuff for 0.10 (fixes #322969).
226
227 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
228
229         * docs/manual/advanced-dataaccess.xml:
230         * docs/manual/appendix-checklist.xml:
231         * docs/manual/appendix-programs.xml:
232         * docs/manual/basics-pads.xml:
233         * docs/manual/highlevel-components.xml:
234         * docs/manual/manual.xml:
235           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
236           add converters in front of pipelines; remove curly
237           brackets for threads stuff, they no longer exist; use
238           GST_TYPE_FRACTION for framerates; update some pieces of
239           code to 0.10, but there's plenty more to do.
240
241         * docs/manual/appendix-porting.xml:
242           Expand on asynchroneous state changes; s/0.9/0.10/;
243           mention disappearance of gst_init_get_popt_table()
244           (fixes #322916).
245
246 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
247
248         * docs/faq/using.xml:
249           Spider no longer exists, and neither does gst-launch-ext.
250           Update examples to use decodebin and playbin and put
251           converters in front of sinks (fixes #323726).
252
253 2005-12-09  Michael Smith  <msmith@fluendo.com>
254
255         * plugins/elements/gsttypefindelement.c: (find_peek),
256         (gst_type_find_element_chain):
257           Fix leaking element factories in typefinding.
258           Fix problem where we forgot about a probable type on non-seekable
259           files, and thus later mis-typefound it.
260
261 2005-12-09  Michael Smith  <msmith@fluendo.com>
262
263         * common/m4/gst-makecontext.m4:
264         * common/m4/gst-mcsc.m4:
265         * configure.ac:
266         * win32/common/config.h:
267         * win32/common/config.h.in:
268           Remove makecontext stuff; not used in 0.10 and causes problems on
269           HPUX according to bug #322441
270
271 2005-12-07  Wim Taymans  <wim@fluendo.com>
272
273         * tests/check/Makefile.am:
274         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
275         (main):
276         * tests/check/libs/struct_i386.h:
277         Added ABI check for libs
278
279 2005-12-07  Wim Taymans  <wim@fluendo.com>
280
281         * tests/check/Makefile.am:
282         And add the struct_i386.h to dist.
283
284 2005-12-07  Wim Taymans  <wim@fluendo.com>
285
286         * tests/check/Makefile.am:
287         * tests/check/gst/.cvsignore:
288         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
289         (main):
290         * tests/check/gst/struct_i386.h:
291         Added check for ABI compatibility.
292
293 2005-12-07  Wim Taymans  <wim@fluendo.com>
294
295         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
296         (gst_fake_src_get_times), (gst_fake_src_create):
297         Fix broken sync option, fixes #323259
298
299 2005-12-07  Wim Taymans  <wim@fluendo.com>
300
301         * gst/gstbuffer.c:
302         Small docs update.
303
304         * gst/gstcaps.c: (gst_caps_is_equal):
305         Don't assert on NULL <--> X. Fixes #323260
306
307         * gst/gstminiobject.c: (gst_mini_object_replace):
308         If we're doing atomic operations, we might just as well use
309         the proper way to get an atomic pointer.
310
311         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
312         Clean up debugging.
313
314 2005-12-07  Michael Smith  <msmith@fluendo.com>
315
316         * gst/parse/grammar.y:
317           Remove handling of { } for threads.
318
319 2005-12-06  David Schleef  <ds@schleef.org>
320
321         * libs/gst/base/gstbasetransform.c: speling fix.
322
323 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
324
325         * docs/libs/tmpl/gstdataprotocol.sgml:
326         * docs/random/omega/testing/gstobject.c:
327         * gst/gst.c:
328         * gst/gstclock.c:
329         * gst/gstelement.c:
330         * gst/gstelementfactory.c:
331         * gst/gsterror.c:
332         * gst/gstevent.c:
333         * gst/gstghostpad.c:
334         * gst/gstinfo.c:
335         * gst/gstpadtemplate.c:
336         * gst/gstregistryxml.c:
337         * gst/gsttaglist.c:
338         * gst/gsttagsetter.c:
339         * gst/gsttypefind.c:
340         * gst/gstvalue.c:
341         * libs/gst/base/gstbasesrc.c:
342         * libs/gst/net/gstnetclientclock.c:
343         * libs/gst/net/gstnettimeprovider.c:
344         * plugins/elements/gstfakesrc.c:
345         * plugins/elements/gstfdsrc.c:
346         * plugins/elements/gstfilesrc.c:
347         * plugins/elements/gstidentity.c:
348         * plugins/elements/gstqueue.c:
349         * plugins/elements/gsttypefindelement.c:
350         * plugins/indexers/gstfileindex.c:
351         * plugins/indexers/gstmemindex.c:
352         * tests/check/gst/gsttag.c:
353         * tests/old/examples/cutter/cutter.c:
354         * tests/old/examples/mixer/mixer.c:
355         * tests/old/examples/xml/runxml.c: (main):
356         * tests/old/testsuite/caps/normalisation.c:
357         * tests/old/testsuite/debug/global.c:
358         * tests/old/testsuite/parse/parse1.c:
359         * tools/gst-xmlinspect.c:
360         * win32/common/dirent.c:
361           expand tabs
362
363 === release 0.10.0 ===
364
365 2005-12-05   <thomas (at) apestaart (dot) org>
366
367         * configure.ac:
368           releasing 0.10.0, "Maroilles"
369
370 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
371
372         submitted by: Funda Wang <fundawang@linux.net.cn>
373
374         * po/LINGUAS:
375         * po/zh_CN.po:
376           added Chinese (Traditional) translation
377
378 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
379
380         * docs/gst/gstreamer-sections.txt:
381         * docs/libs/tmpl/gstdataprotocol.sgml:
382         * docs/random/thomasvs/TODO:
383         * gst/gstutils.c:
384         * gst/gstutils.h:
385           fix docs
386
387 2005-12-05  Andy Wingo  <wingo@pobox.com>
388
389         patch by: Wim Taymans <wim@fluendo.com>
390
391         * libs/gst/base/gstbasetransform.c
392         (gst_base_transform_prepare_output_buf)
393         (gst_base_transform_buffer_alloc):
394         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
395         alloc_buffer_and_set_caps.
396
397         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
398         set_caps on the source pad.
399         (gst_pad_alloc_buffer_and_set_caps): New function, does what
400         alloc_buffer used to do. Fixes #322874.
401
402         * docs/gst/gstreamer-sections.txt: 
403         * docs/design/part-negotiation.txt: 
404         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
405         changes.
406
407 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
408
409         patch by: Sebastien Moutte
410
411         * win32/MANIFEST:
412         * win32/common/config.h.in:
413         * win32/vs6/libgstcontroller.dsp:
414           win32 build fixes
415
416 2005-12-05  Wim Taymans  <wim@fluendo.com>
417
418         * gst/gstcaps.c: (gst_caps_is_equal):
419         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
420         (gst_fake_src_create):
421         Back out previous code changes, leave doc updates, file bugs 
422         instead. 
423
424 2005-12-05  Wim Taymans  <wim@fluendo.com>
425
426         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
427         (gst_fake_src_get_times), (gst_fake_src_create):
428         * plugins/elements/gstfakesrc.h:
429         Fix broken sync code.
430
431 2005-12-05  Wim Taymans  <wim@fluendo.com>
432
433         * gst/gstcaps.c: (gst_caps_is_equal):
434         Comparing NULL against !NULL yields different caps, not a
435         failure.
436
437 2005-12-05  Wim Taymans  <wim@fluendo.com>
438
439         * gst/gstpipeline.c:
440         Fix small typo in docs.
441
442 2005-12-05  Andy Wingo  <wingo@pobox.com>
443
444         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
445
446         * gst/gst.c (init_post): remove hard-coded 0.9 location for
447         registries/plugins with a MAJORMINOR one.
448         (plugin_desc): Rename library from gstcoreleements to
449         staticelements. Fixes #323222.
450
451 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
452
453         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
454           Change debug category to 'collectpads' from 'collect_pads'
455           (fixes #323250).
456
457 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
458
459         patch by: Sebastien Moutte
460
461         * libs/gst/controller/gstinterpolation.c:
462           use convert function for uint64/double
463         * win32/vs6/libgstcontroller.dsp:
464           link to GLib
465
466 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
467
468         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
469         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
470         * gst/gstutils.h:
471         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
472           add tests that seem to show that the guint64/gdouble conversions
473           are correct.
474
475 2005-12-02  Wim Taymans  <wim@fluendo.com>
476
477         * gst/gstregistry.c: (gst_registry_add_path):
478         * gst/gstregistry.h:
479         * gst/gstregistryxml.c:
480         Fix docs again.
481
482 2005-12-02  Wim Taymans  <wim@fluendo.com>
483
484         * gst/gstutils.c: (gst_util_uint64_scale_int64),
485         (gst_util_uint64_scale_int):
486         Small cleanup.
487
488         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
489         Add debug log line.
490
491         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
492         Add FIXME.
493
494 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
495
496         * win32/MANIFEST:
497         * win32/common/config.h:
498         * win32/vs6/gstreamer.dsw:
499         * win32/vs6/libgstcoreelements.dsp:
500         * win32/vs6/libgstelements.dsp:
501           renamed core elements plugin
502
503 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
504
505         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
506         (get_candidates):
507           do piece-wise major/minor comparison so 0.9 < 0.10
508           also allow .exe extensions for tools
509
510 2005-12-02  Michael Smith  <msmith@fluendo.com>
511
512         * gst/gst.c:
513           Escape a % to make gtkdoc happier; bug 322958.
514
515 === release 0.9.7 ===
516
517 2005-12-01   <thomas (at) apestaart (dot) org>
518
519         * configure.ac:
520           releasing 0.9.7, "My Dog Has No Nose"
521
522 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
523
524         * common/gst-xmlinspect.py:
525         * configure.ac:
526         * docs/libs/tmpl/gstdataprotocol.sgml:
527         * docs/random/release:
528         * po/af.po:
529         * po/az.po:
530         * po/bg.po:
531         * po/ca.po:
532         * po/cs.po:
533         * po/de.po:
534         * po/en_GB.po:
535         * po/fr.po:
536         * po/it.po:
537         * po/nb.po:
538         * po/nl.po:
539         * po/ru.po:
540         * po/sq.po:
541         * po/sr.po:
542         * po/sv.po:
543         * po/tr.po:
544         * po/uk.po:
545         * po/vi.po:
546         * win32/common/config.h:
547         * win32/common/config.h.in:
548         * win32/vs6/gst_inspect.dsp:
549         * win32/vs6/gst_launch.dsp:
550         * win32/vs6/libgstbase.dsp:
551         * win32/vs6/libgstelements.dsp:
552         * win32/vs6/libgstreamer.dsp:
553         * win32/vs7/GStreamer.vcproj:
554         * win32/vs7/gst-inspect.vcproj:
555         * win32/vs7/gst-launch.vcproj:
556         * win32/vs7/libgstbase.vcproj:
557           bump GST_MAJORMINOR to 0.10
558           reset libtool version
559
560 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
561
562         * po/LINGUAS:
563         * po/bg.po:
564           Added Bulgarian translation by (Alexander Shopov)
565
566 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
567
568         * tests/check/gst/gstplugin.c:
569           fix test
570
571 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
572
573         * common/gst-xmlinspect.py:
574         * common/gtk-doc-plugins.mak:
575         * configure.ac:
576         * docs/Makefile.am:
577         * docs/gst/Makefile.am:
578         * docs/gst/gstreamer-docs.sgml:
579         * docs/gst/gstreamer-sections.txt:
580         * docs/gst/gstreamer.types:
581         * docs/gst/gstreamer.types.in:
582         * docs/plugins/Makefile.am:
583         * docs/plugins/gstreamer-plugins-docs.sgml:
584         * docs/plugins/gstreamer-plugins-sections.txt:
585         * docs/plugins/gstreamer-plugins.types:
586         * docs/plugins/inspect.stamp:
587         * docs/plugins/inspect/plugin-coreelements.xml:
588         * docs/plugins/inspect/plugin-coreindexers.xml:
589         * docs/plugins/scanobj-build.stamp:
590         * gstreamer.spec.in:
591         * plugins/elements/Makefile.am:
592         * plugins/elements/gstelements.c:
593         * plugins/elements/gstfakesink.c:
594         * plugins/elements/gstfakesrc.c:
595         * plugins/elements/gstfilesink.c:
596         * plugins/elements/gstfilesrc.c:
597         * plugins/elements/gstqueue.c:
598         * plugins/indexers/Makefile.am:
599         * plugins/indexers/gstindexers.c:
600           document core plugins in a separate document just like all the
601           others
602           rename these plugins to something starting with core
603
604 2005-12-01  Andy Wingo  <wingo@pobox.com>
605
606         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
607         padding here before, but it missed the commit.
608
609 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
610
611         * libs/gst/controller/gstinterpolation.c:
612           whitespace prices have crashed, we should feel free to use some now
613           use gst_guint64_to_gdouble
614
615 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
616
617         * libs/gst/controller/gstcontroller.c:
618         * libs/gst/controller/gsthelper.c:
619         * libs/gst/controller/gstinterpolation.c:
620         * libs/gst/controller/lib.c:
621           wrap config.h include
622
623 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
624
625         * docs/gst/gstreamer-sections.txt:
626           update docs
627
628 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
629
630         * plugins/elements/gstelements.c:
631         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
632         (gst_fd_sink__class_init), (gst_fd_sink__init),
633         (gst_fd_sink__chain), (gst_fd_sink__set_property),
634         (gst_fd_sink__get_property):
635         * plugins/elements/gstfdsink.h:
636         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
637         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
638         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
639         (gst_fd_src_unlock), (gst_fd_src_set_property),
640         (gst_fd_src_get_property), (gst_fd_src_create),
641         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
642         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
643         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
644         (gst_fd_src_uri_handler_init):
645         * plugins/elements/gstfdsrc.h:
646         * plugins/elements/gstqueue.c: (gst_queue_get_type):
647           more anal cleanup
648
649 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
650
651         * docs/gst/Makefile.am:
652         * docs/gst/gstreamer.types.in:
653         * gst/Makefile.am:
654           fix the docs build
655
656 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
657
658         * configure.ac:
659         * gst/Makefile.am:
660         * gst/gst.c:
661         * gst/gstplugin.h:
662         * gst/gstregistry.h:
663         * tests/benchmarks/complexity.c:
664         * tests/benchmarks/mass-elements.c:
665         * tests/check/Makefile.am:
666         * tools/Makefile.am:
667         * tools/gst-inspect.c:
668         * tools/gst-xmlinspect.c:
669           various fixes to make
670           --disable-nls --disable-registry --disable-loadsave
671           --disable-parse --disable-gst-debug
672           work and get the core .so down to 360444 bytes after stripping
673
674 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
675
676         * Makefile.am:
677         * configure.ac:
678           descend into tests
679         * docs/random/thomasvs/TODO:
680         * tests/Makefile.am:
681         * tests/README:
682           add a README
683
684 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
685
686         * win32/GStreamer.vcproj:
687         * win32/MANIFEST:
688         * win32/Makefile:
689         * win32/Makefile.inspect:
690         * win32/Makefile.launch:
691         * win32/Makefile.register:
692         * win32/README.txt:
693         * win32/gst-inspect.vcproj:
694         * win32/gst-launch.vcproj:
695         * win32/gst-register.vcproj:
696         * win32/gstelements.vcproj:
697         * win32/gstgetbits.def:
698         * win32/gstgetbits.vcproj:
699         * win32/gstreamer-dbg.def:
700         * win32/gstreamer.def:
701         * win32/libgstbase.def:
702         * win32/libgstbase.vcproj:
703         * win32/link_oldruntime.c:
704         * win32/mman.c:
705         * win32/mman.h:
706         * win32/mman.inl:
707         * win32/msvc71.sln:
708           move even more stuff, win32/ is nice and clean now
709
710 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
711
712         * libs/gst/control/.cvsignore:
713         * win32/MANIFEST:
714         * win32/config.h:
715         * win32/dirent.c:
716         * win32/dirent.h:
717         * win32/gstbytestream.def:
718         * win32/gstbytestream.vcproj:
719         * win32/gstconfig.h:
720         * win32/gstenumtypes.c:
721         * win32/gstenumtypes.h:
722         * win32/gstoptimalscheduler.vcproj:
723         * win32/gstversion.h:
724         * win32/gtchar.h:
725         * win32/testsuite/bins.vcproj:
726         * win32/testsuite/bytestream.vcproj:
727         * win32/testsuite/caps.vcproj:
728         * win32/testsuite/cleanup.vcproj:
729         * win32/testsuite/clock.vcproj:
730         * win32/testsuite/debug.vcproj:
731         * win32/testsuite/dlopen.vcproj:
732         * win32/testsuite/dynparams.vcproj:
733         * win32/testsuite/elements.vcproj:
734         * win32/testsuite/ghostpads.vcproj:
735         * win32/testsuite/indexers.vcproj:
736         * win32/testsuite/negotiation.vcproj:
737         * win32/testsuite/parse.vcproj:
738         * win32/testsuite/plugin.vcproj:
739         * win32/testsuite/refcounting.vcproj:
740         * win32/testsuite/schedulers.vcproj:
741         * win32/testsuite/states.vcproj:
742         * win32/testsuite/tags.vcproj:
743         * win32/testsuite/threads.vcproj:
744           remove old win32 stuff that isn't maintained and should be
745           reorganized
746
747 2005-11-30  Andy Wingo  <wingo@pobox.com>
748
749         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
750         loading the gst.interfaces python module bork.
751
752         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
753         available since GLib 2.2. Fixes #318031.
754
755 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
756
757         * Makefile.am:
758         * check/.cvsignore:
759         * check/Makefile.am:
760         * check/elements/.cvsignore:
761         * check/elements/fakesrc.c:
762         * check/elements/fdsrc.c:
763         * check/elements/identity.c:
764         * check/generic/.cvsignore:
765         * check/generic/states.c:
766         * check/gst-libs/.cvsignore:
767         * check/gst-libs/controller.c:
768         * check/gst-libs/gdp.c:
769         * check/gst/.cvsignore:
770         * check/gst/capslist.h:
771         * check/gst/gst.c:
772         * check/gst/gstbin.c:
773         * check/gst/gstbuffer.c:
774         * check/gst/gstbus.c:
775         * check/gst/gstcaps.c:
776         * check/gst/gstelement.c:
777         * check/gst/gstevent.c:
778         * check/gst/gstghostpad.c:
779         * check/gst/gstiterator.c:
780         * check/gst/gstmessage.c:
781         * check/gst/gstminiobject.c:
782         * check/gst/gstobject.c:
783         * check/gst/gstpad.c:
784         * check/gst/gstpipeline.c:
785         * check/gst/gstplugin.c:
786         * check/gst/gstsegment.c:
787         * check/gst/gststructure.c:
788         * check/gst/gstsystemclock.c:
789         * check/gst/gsttag.c:
790         * check/gst/gstutils.c:
791         * check/gst/gstvalue.c:
792         * check/net/.cvsignore:
793         * check/net/gstnetclientclock.c:
794         * check/net/gstnettimeprovider.c:
795         * check/pipelines/.cvsignore:
796         * check/pipelines/cleanup.c:
797         * check/pipelines/simple_launch_lines.c:
798         * check/pipelines/stress.c:
799         * check/states/.cvsignore:
800         * check/states/sinks.c:
801         * configure.ac:
802         * examples/Makefile.am:
803         * examples/appreader/.cvsignore:
804         * examples/appreader/Makefile.am:
805         * examples/appreader/appreader.c:
806         * examples/controller/.cvsignore:
807         * examples/controller/Makefile.am:
808         * examples/controller/audio-example.c:
809         * examples/cutter/.cvsignore:
810         * examples/cutter/Makefile.am:
811         * examples/cutter/cutter.c:
812         * examples/cutter/cutter.h:
813         * examples/events/Makefile.am:
814         * examples/events/seek.c:
815         * examples/helloworld/.cvsignore:
816         * examples/helloworld/Makefile.am:
817         * examples/helloworld/helloworld.c:
818         * examples/helloworld2/.cvsignore:
819         * examples/helloworld2/Makefile.am:
820         * examples/helloworld2/helloworld2.c:
821         * examples/launch/.cvsignore:
822         * examples/launch/Makefile.am:
823         * examples/launch/mp3parselaunch.c:
824         * examples/launch/mp3play:
825         * examples/manual/.cvsignore:
826         * examples/manual/Makefile.am:
827         * examples/manual/extract.pl:
828         * examples/metadata/Makefile.am:
829         * examples/metadata/read-metadata.c:
830         * examples/mixer/.cvsignore:
831         * examples/mixer/Makefile.am:
832         * examples/mixer/mixer.c:
833         * examples/mixer/mixer.h:
834         * examples/pingpong/.cvsignore:
835         * examples/pingpong/Makefile.am:
836         * examples/pingpong/pingpong.c:
837         * examples/plugins/.cvsignore:
838         * examples/plugins/Makefile.am:
839         * examples/plugins/example.c:
840         * examples/plugins/example.h:
841         * examples/pwg/.cvsignore:
842         * examples/pwg/Makefile.am:
843         * examples/pwg/extract.pl:
844         * examples/queue/.cvsignore:
845         * examples/queue/Makefile.am:
846         * examples/queue/queue.c:
847         * examples/queue2/.cvsignore:
848         * examples/queue2/Makefile.am:
849         * examples/queue2/queue2.c:
850         * examples/queue3/.cvsignore:
851         * examples/queue3/Makefile.am:
852         * examples/queue3/queue3.c:
853         * examples/queue4/.cvsignore:
854         * examples/queue4/Makefile.am:
855         * examples/queue4/queue4.c:
856         * examples/retag/.cvsignore:
857         * examples/retag/Makefile.am:
858         * examples/retag/retag.c:
859         * examples/retag/transcode.c:
860         * examples/thread/.cvsignore:
861         * examples/thread/Makefile.am:
862         * examples/thread/thread.c:
863         * examples/typefind/.cvsignore:
864         * examples/typefind/Makefile.am:
865         * examples/typefind/typefind.c:
866         * examples/xml/.cvsignore:
867         * examples/xml/Makefile.am:
868         * examples/xml/createxml.c:
869         * examples/xml/runxml.c:
870         * tests/Makefile.am:
871         * tests/check/Makefile.am:
872         * testsuite/.cvsignore:
873         * testsuite/Makefile.am:
874         * testsuite/Rules:
875         * testsuite/caps/.cvsignore:
876         * testsuite/caps/Makefile.am:
877         * testsuite/caps/app_fixate.c:
878         * testsuite/caps/audioscale.c:
879         * testsuite/caps/caps.c:
880         * testsuite/caps/caps.h:
881         * testsuite/caps/caps_strings:
882         * testsuite/caps/compatibility.c:
883         * testsuite/caps/deserialize.c:
884         * testsuite/caps/enumcaps.c:
885         * testsuite/caps/eratosthenes.c:
886         * testsuite/caps/filtercaps.c:
887         * testsuite/caps/fixed.c:
888         * testsuite/caps/fraction-convert.c:
889         * testsuite/caps/fraction-multiply-and-zero.c:
890         * testsuite/caps/intersect2.c:
891         * testsuite/caps/intersection.c:
892         * testsuite/caps/normalisation.c:
893         * testsuite/caps/random.c:
894         * testsuite/caps/renegotiate.c:
895         * testsuite/caps/sets.c:
896         * testsuite/caps/simplify.c:
897         * testsuite/caps/string-conversions.c:
898         * testsuite/caps/structure.c:
899         * testsuite/caps/subtract.c:
900         * testsuite/caps/union.c:
901         * testsuite/debug/.cvsignore:
902         * testsuite/debug/Makefile.am:
903         * testsuite/debug/category.c:
904         * testsuite/debug/commandline.c:
905         * testsuite/debug/global.c:
906         * testsuite/debug/output.c:
907         * testsuite/debug/printf_extension.c:
908         * testsuite/dlopen/.cvsignore:
909         * testsuite/dlopen/Makefile.am:
910         * testsuite/dlopen/dlopen_gst.c:
911         * testsuite/dlopen/loadgst.c:
912         * testsuite/elements/.cvsignore:
913         * testsuite/elements/Makefile.am:
914         * testsuite/elements/gst-inspect-check.in:
915         * testsuite/elements/struct_i386.h:
916         * testsuite/elements/struct_size.c:
917         * testsuite/indexers/.cvsignore:
918         * testsuite/indexers/Makefile.am:
919         * testsuite/indexers/cache1.c:
920         * testsuite/indexers/indexdump.c:
921         * testsuite/parse/.cvsignore:
922         * testsuite/parse/Makefile.am:
923         * testsuite/parse/parse1.c:
924         * testsuite/parse/parse2.c:
925         * testsuite/plugin/.cvsignore:
926         * testsuite/plugin/Makefile.am:
927         * testsuite/plugin/README:
928         * testsuite/plugin/dynamic.c:
929         * testsuite/plugin/linked.c:
930         * testsuite/plugin/loading.c:
931         * testsuite/plugin/registry.c:
932         * testsuite/plugin/static.c:
933         * testsuite/plugin/static2.c:
934         * testsuite/plugin/testplugin.c:
935         * testsuite/plugin/testplugin2.c:
936         * testsuite/plugin/testplugin2_s.c:
937         * testsuite/plugin/testplugin_s.c:
938         * testsuite/refcounting/.cvsignore:
939         * testsuite/refcounting/Makefile.am:
940         * testsuite/refcounting/bin.c:
941         * testsuite/refcounting/element.c:
942         * testsuite/refcounting/element_pad.c:
943         * testsuite/refcounting/mainloop.c:
944         * testsuite/refcounting/mem.c:
945         * testsuite/refcounting/mem.h:
946         * testsuite/refcounting/object.c:
947         * testsuite/refcounting/pad.c:
948         * testsuite/refcounting/sched.c:
949         * testsuite/refcounting/thread.c:
950         * testsuite/states/.cvsignore:
951         * testsuite/states/Makefile.am:
952         * testsuite/states/bin.c:
953         * testsuite/states/locked.c:
954         * testsuite/states/parent.c:
955         * testsuite/threads/.cvsignore:
956         * testsuite/threads/159566.c:
957         * testsuite/threads/159852.c:
958         * testsuite/threads/Makefile.am:
959         * testsuite/threads/queue.c:
960         * testsuite/threads/signals.c:
961         * testsuite/threads/staticrec.c:
962         * testsuite/threads/thread.c:
963         * testsuite/threads/threadb.c:
964         * testsuite/threads/threadc.c:
965         * testsuite/threads/threadd.c:
966         * testsuite/threads/threade.c:
967         * testsuite/threads/threadf.c:
968         * testsuite/threads/threadg.c:
969         * testsuite/threads/threadh.c:
970         * testsuite/threads/threadi.c:
971           move all of these under tests
972
973 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
974
975         * configure.ac:
976         * tests/Makefile.am:
977           fix distcheck
978
979 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
980
981         * docs/gst/gstreamer-sections.txt:
982         * tests/sched/.cvsignore:
983         * tests/sched/Makefile.am:
984         * tests/sched/cases/(fs-fs).xml:
985         * tests/sched/cases/(fs-i-fs).xml:
986         * tests/sched/cases/(fs-i-i-fs).xml:
987         * tests/sched/cases/(fs-i-q[i-fs]).xml:
988         * tests/sched/dynamic-pipeline.c:
989         * tests/sched/interrupt1.c:
990         * tests/sched/interrupt2.c:
991         * tests/sched/interrupt3.c:
992         * tests/sched/runtestcases:
993         * tests/sched/runxml.c:
994         * tests/sched/sched-stress.c:
995         * tests/sched/sort.c:
996         * tests/sched/testcases:
997         * tests/sched/testcases1.tc:
998         * tests/seeking/.cvsignore:
999         * tests/seeking/Makefile.am:
1000         * tests/seeking/seeking1.c:
1001         * tests/threadstate/.cvsignore:
1002         * tests/threadstate/Makefile.am:
1003         * tests/threadstate/test1.c:
1004         * tests/threadstate/test2.c:
1005         * tests/threadstate/threadstate1.c:
1006         * tests/threadstate/threadstate2.c:
1007         * tests/threadstate/threadstate3.c:
1008         * tests/threadstate/threadstate4.c:
1009         * tests/threadstate/threadstate5.c:
1010           remove obsolete tests
1011         * configure.ac:
1012         * tests/bench-complexity.scm:
1013         * tests/bench-mass_elements.scm:
1014         * tests/complexity.c:
1015         * tests/complexity.gnuplot:
1016         * tests/instantiate/.cvsignore:
1017         * tests/instantiate/Makefile.am:
1018         * tests/instantiate/caps.c:
1019         * tests/mass_elements.c:
1020         * tests/network-clock-utils.scm:
1021         * tests/network-clock.scm:
1022         * tests/plot-data:
1023         First pass at cleaning up tests/ dir before moving the rest
1024         Combined with CVS surgery
1025
1026 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1027
1028         * po/POTFILES.in:
1029           queue has moved, update
1030
1031 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1032
1033         * docs/gst/gstreamer-sections.txt:
1034           remove double entries from the docs
1035         * gst/gst_private.h:
1036         * gst/gstinfo.c: (_gst_debug_init):
1037           remove the THREAD debug category
1038         * gst/Makefile.am:
1039         * gst/gstqueue.c:
1040         * gst/gstqueue.h:
1041         * docs/gst/gstreamer.types:
1042         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1043         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1044           completely move queue and fix up debugging categories
1045
1046 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1047
1048         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1049           make initialization portable, using LL is not
1050
1051 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1052
1053         * win32/common/gstconfig.h:
1054           add large padding
1055
1056 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1057
1058         * win32/common/libgstreamer.def:
1059           rename symbols; sort base section
1060
1061 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1062
1063         * gst/gstclock.c: (do_linear_regression):
1064           remove crack non-portable handrolled DEBUG macro
1065
1066 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1067
1068         * docs/random/release:
1069           update notes
1070         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1071         (gst_object_flags_get_type), (register_gst_bin_flags),
1072         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1073         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1074         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1075         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1076         (gst_caps_flags_get_type), (register_gst_clock_return),
1077         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1078         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1079         (gst_clock_flags_get_type), (register_gst_state),
1080         (gst_state_get_type), (register_gst_state_change_return),
1081         (gst_state_change_return_get_type), (register_gst_state_change),
1082         (gst_state_change_get_type), (register_gst_element_flags),
1083         (gst_element_flags_get_type), (register_gst_core_error),
1084         (gst_core_error_get_type), (register_gst_library_error),
1085         (gst_library_error_get_type), (register_gst_resource_error),
1086         (gst_resource_error_get_type), (register_gst_stream_error),
1087         (gst_stream_error_get_type), (register_gst_event_type_flags),
1088         (gst_event_type_flags_get_type), (register_gst_event_type),
1089         (gst_event_type_get_type), (register_gst_seek_type),
1090         (gst_seek_type_get_type), (register_gst_seek_flags),
1091         (gst_seek_flags_get_type), (register_gst_format),
1092         (gst_format_get_type), (register_gst_index_certainty),
1093         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1094         (gst_index_entry_type_get_type),
1095         (register_gst_index_lookup_method),
1096         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1097         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1098         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1099         (gst_index_flags_get_type), (register_gst_debug_level),
1100         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1101         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1102         (gst_iterator_result_get_type), (register_gst_iterator_item),
1103         (gst_iterator_item_get_type), (register_gst_message_type),
1104         (gst_message_type_get_type), (register_gst_mini_object_flags),
1105         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1106         (gst_pad_link_return_get_type), (register_gst_flow_return),
1107         (gst_flow_return_get_type), (register_gst_activate_mode),
1108         (gst_activate_mode_get_type), (register_gst_pad_direction),
1109         (gst_pad_direction_get_type), (register_gst_pad_flags),
1110         (gst_pad_flags_get_type), (register_gst_pad_presence),
1111         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1112         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1113         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1114         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1115         (gst_plugin_flags_get_type), (register_gst_rank),
1116         (gst_rank_get_type), (register_gst_query_type),
1117         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1118         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1119         (gst_tag_flag_get_type), (register_gst_task_state),
1120         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1121         (gst_alloc_trace_flags_get_type),
1122         (register_gst_type_find_probability),
1123         (gst_type_find_probability_get_type), (register_gst_uri_type),
1124         (gst_uri_type_get_type), (register_gst_parse_error),
1125         (gst_parse_error_get_type):
1126         * win32/common/gstenumtypes.h:
1127         * win32/common/gstversion.h:
1128           update visual studio generated files
1129
1130 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1131
1132         * win32/vs6/libgstbase.dsp:
1133         * win32/vs6/libgstelements.dsp:
1134           update project files for new locations
1135
1136 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1137
1138         * Makefile.am:
1139           remove some files
1140         * README:
1141           reinstate and update
1142         * DEVEL:
1143         * REQUIREMENTS:
1144           removed
1145         * LICENSE:
1146         * docs/random/LICENSE:
1147           moved to random
1148
1149 2005-11-30  Edward Hervey  <edward@fluendo.com>
1150
1151         * gst/gsttypefind.c: (gst_type_find_register):
1152         * gst/gsttypefind.h:
1153         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1154         (gst_type_find_factory_dispose):
1155         * gst/gsttypefindfactory.h:
1156         Fix memory leak in GstTypeFindFactory.
1157
1158 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1159
1160         * gst/gst.c:
1161         * plugins/elements/Makefile.am:
1162         * plugins/elements/gstelements.c:
1163         * plugins/elements/gstqueue.c:
1164           move queue from core to the elements plugin
1165
1166 2005-11-29  Andy Wingo  <wingo@pobox.com>
1167
1168         * libs/gst/base/gstbasetransform.h: 
1169         * libs/gst/base/gstbasesrc.h: 
1170         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1171
1172         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1173         of pointers by which to pad very extensible base classes (like the
1174         ones in libs/gst/base).
1175
1176 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1177
1178         * docs/gst/gstreamer-docs.sgml:
1179         * docs/gst/gstreamer-sections.txt:
1180         * docs/libs/gstreamer-libs-docs.sgml:
1181         * docs/libs/gstreamer-libs-sections.txt:
1182           moving documentation from core to lib
1183
1184 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1185
1186         * check/Makefile.am:
1187         * configure.ac:
1188         * docs/gst/Makefile.am:
1189         * gst/Makefile.am:
1190         * gst/base/.cvsignore:
1191         * gst/base/Makefile.am:
1192         * gst/base/README:
1193         * gst/base/gstadapter.c:
1194         * gst/base/gstadapter.h:
1195         * gst/base/gstbasesink.c:
1196         * gst/base/gstbasesink.h:
1197         * gst/base/gstbasesrc.c:
1198         * gst/base/gstbasesrc.h:
1199         * gst/base/gstbasetransform.c:
1200         * gst/base/gstbasetransform.h:
1201         * gst/base/gstcollectpads.c:
1202         * gst/base/gstcollectpads.h:
1203         * gst/base/gstpushsrc.c:
1204         * gst/base/gstpushsrc.h:
1205         * gst/base/gsttypefindhelper.c:
1206         * gst/base/gsttypefindhelper.h:
1207         * gst/check/Makefile.am:
1208         * gst/check/gstcheck.c:
1209         * gst/check/gstcheck.h:
1210         * gst/net/Makefile.am:
1211         * gst/net/gstnet.h:
1212         * gst/net/gstnetclientclock.c:
1213         * gst/net/gstnetclientclock.h:
1214         * gst/net/gstnettimepacket.c:
1215         * gst/net/gstnettimepacket.h:
1216         * gst/net/gstnettimeprovider.c:
1217         * gst/net/gstnettimeprovider.h:
1218         * libs/gst/Makefile.am:
1219         * libs/gst/base/Makefile.am:
1220         * libs/gst/base/gstbasetransform.c:
1221         * libs/gst/check/Makefile.am:
1222         * plugins/elements/Makefile.am:
1223         * po/POTFILES.in:
1224           CVS surgery + support to move base, check, and net out of gst
1225           and into libs/gst
1226
1227 2005-11-29  Andy Wingo  <wingo@pobox.com>
1228
1229         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1230
1231         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1232         padding.
1233
1234         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1235
1236         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1237
1238         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1239
1240         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1241         padding; reduces object size by about 30%. We don't expect
1242         anything else to go into gstobject.
1243
1244         * gst/gstminiobject.h (struct _GstMiniObject)
1245         (struct _GstMiniObjectClass): Only one pointer of padding; the
1246         payload is only a pointer and two ints anyway. For the class there
1247         are only two methods as well.
1248         
1249         * gst/gstelement.h (struct _GstElementClass): Removed
1250         the state_changed signal callback, it is not used.
1251
1252 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1253
1254         * docs/gst/gstreamer.types:
1255           fix includes, though they are a little dinky
1256
1257 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1258
1259         * check/Makefile.am:
1260           look in the right place for elements, a lot more chance of
1261           success
1262         * gst/Makefile.am:
1263           remove indexers and elements subdirs
1264         * plugins/Makefile.am:
1265           make indexers conditional
1266
1267 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1268
1269         * Makefile.am:
1270         * configure.ac:
1271         * plugins/elements/Makefile.am:
1272         * plugins/elements/gstcapsfilter.c:
1273         * plugins/elements/gstfilesink.c:
1274         * plugins/elements/gstfilesrc.c:
1275         * plugins/elements/gstidentity.c:
1276         * plugins/indexers/Makefile.am:
1277           do CVS surgery and related build fixery to move elements
1278           and indexers in a new gstreamer/plugins directory, out of the
1279           gst/ directory
1280
1281 2005-11-29  Andy Wingo  <wingo@pobox.com>
1282
1283         * check/Makefile.am:
1284         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1285         * pkgconfig/gstreamer-net.pc.in:
1286         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1287         #322257.
1288
1289 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1290
1291         * tools/Makefile.am:
1292         * tools/gst-complete.1.in:
1293         * tools/gst-complete.c:
1294         * tools/gst-compprep.1.in:
1295         * tools/gst-compprep.c:
1296           removing -compprep and -complete
1297
1298 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1299
1300         * gst/gstevent.c: (gst_event_new_new_segment),
1301         (gst_event_parse_new_segment):
1302         * gst/gstevent.h:
1303           fix #320529 - clean up new_segment API and structure.
1304           Let's hope everyone was using the methods, and not the structure.
1305
1306 2005-11-29  Edward Hervey  <edward@fluendo.com>
1307
1308         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1309         (gst_base_sink_event), (gst_base_sink_do_sync),
1310         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1311         Properly handle non GST_FORMAT_TIME segment
1312         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1313         Properly handle non GST_FORMAT_TIME segment
1314         * gst/gstsegment.c:
1315         This function is valid if the accumulator is 0 and the format
1316         is different from the requested format.
1317         
1318 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1319
1320         * docs/gst/gstreamer-sections.txt:
1321         Add gst_query_new_seeking and gst_query_parse_seeking to the
1322         docs.
1323
1324 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1325
1326         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1327           Treat a pad alloc with new caps the same as if we were not
1328           negotiated, in order to allow a changing upstream output
1329           to produce a new format of data.
1330
1331 2005-11-29  Edward Hervey  <edward@fluendo.com>
1332
1333         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1334         (gst_base_transform_event), (gst_base_transform_eventfunc):
1335         The event virtual method is now properly implemented, with a default
1336         handler
1337         Sub classes should call the parent_class event method. They should
1338         return FALSE if they had a problem handling the given event, or don't
1339         want GstBaseTransform to send that even downstream
1340         * gst/elements/gstidentity.c: (gst_identity_class_init),
1341         (gst_identity_init), (gst_identity_event),
1342         (gst_identity_transform_ip), (gst_identity_set_property),
1343         (gst_identity_get_property):
1344         * gst/elements/gstidentity.h:
1345         Added the single-segment boolean property.
1346         If set to TRUE, it will output a single segment of data, starting from
1347         0, will eat up all incoming newsegment, and modify the timestamp of the
1348         buffers accordingly
1349
1350 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1351
1352         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1353           Don't ref NULL target pad (#322751). Improve docs.
1354
1355 2005-11-29  Michael Smith  <msmith@fluendo.com>
1356
1357         * gst/gstregistryxml.c: (load_plugin):
1358           Don't crash if we failed to load a feature from a plugin. 
1359
1360 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1361
1362         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1363         (GST_START_TEST):
1364           use more check API and less GLib API
1365
1366 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1367
1368         * Makefile.am:
1369           don't run checks if we don't have check
1370         * common/check.mak:
1371           remove the registry when running make torture
1372         * docs/gst/gstreamer-sections.txt:
1373           remove second multiply
1374         * gst/gstqueue.c: (gst_queue_loop):
1375           fix a compile warning when disabling debug
1376
1377 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1378
1379         * gst/gstinfo.h:
1380         Hey! Let's print the pad name if the pointer != NULL instead
1381         of when it == NULL :-)
1382
1383 2005-11-28  Wim Taymans  <wim@fluendo.com>
1384
1385         * check/gst/gstutils.c: (GST_START_TEST):
1386         Updated check, add some scaling accuracy checking code.
1387
1388         * gst/gstutils.c: (gst_util_div128_64),
1389         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1390         (gst_util_uint64_scale_int):
1391         Fix 6 times faster division code. Optimize for common 
1392         1/1 and less common X/1 cases.
1393
1394 2005-11-28  Wim Taymans  <wim@fluendo.com>
1395
1396         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1397         More checks.
1398
1399         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1400         (do_linear_regression), (gst_clock_add_observation):
1401         Cleanups.
1402         Release lock when the clock cannot be slaved.
1403         Catch the case where the regression returned an invalid denominator.
1404
1405         * gst/gstutils.c: (gst_util_div128_64_iterate),
1406         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1407         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1408         Add protentially more performant non-iterative 128/64 divide function
1409         that unfortunatly does not work yet.
1410         Shortcut the trivial 0/X = 0 case.
1411         Remove the warnings on overflow.
1412
1413 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1414
1415         * gst/gstplugin.c: (gst_plugin_register_func):
1416           everything causing a plugin not to load should be at least a WARNING
1417
1418 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1419
1420         * docs/random/ensonic/dparams.txt:
1421           some TODOs for the next dev cycle
1422         * libs/gst/controller/gstcontroller.c:
1423         (gst_controlled_property_set_interpolation_mode),
1424         (gst_controlled_property_new):
1425         * libs/gst/controller/gstcontroller.h:
1426           use base type to assign acccessor functions
1427
1428 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1429
1430         * check/Makefile.am:
1431         Oops, that should have been top_srcdir
1432
1433 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1434
1435         * check/Makefile.am:
1436         * check/elements/fdsrc.c: (GST_START_TEST):
1437         Use a cmdline define to specify the location of a file to use for
1438         testing, to avoid breaking distcheck.
1439
1440 2005-11-28  Andy Wingo  <wingo@pobox.com>
1441
1442         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1443
1444 2005-11-28  Edward Hervey  <edward@fluendo.com>
1445
1446         * tools/gst-launch.c: (main):
1447         Clarify the output strings, makes it easier to translate.
1448         Fixes #322626
1449
1450 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1451
1452         * gst/Makefile.am:
1453           don't try and build net if we don't even have <sys/socket.h>
1454
1455 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1456
1457         * check/Makefile.am:
1458         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1459         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1460           Add tests for fdsrc seekability
1461
1462         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1463         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1464         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1465         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1466         * gst/elements/gstfdsrc.h:
1467           fdsrc should not be a 'live' source.
1468           Implement seeking on seekable fd's.
1469
1470         * gst/gstquery.c: (gst_query_new_seeking),
1471         (gst_query_parse_seeking):
1472         * gst/gstquery.h:
1473           Implement SEEKING query functions: 
1474             *_new_seeking and *_parse_seeking
1475
1476 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1477
1478         * gst/gstelement.c: (gst_element_dispose):
1479           don't loop forever
1480
1481         * gst/gstiterator.c:
1482         * gst/gststructure.c:
1483           doc fixes
1484
1485         * libs/gst/controller/gstcontroller.c:
1486         (gst_controlled_property_set_interpolation_mode):
1487         * libs/gst/controller/gstcontroller.h:
1488         * libs/gst/controller/gstinterpolation.c:
1489         (interpolate_none_get_enum_value_array):
1490           support controlling enums
1491
1492 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1493
1494         * gst/gstvalue.c:
1495           Improve documentation for gst_value_union().
1496
1497         * gst/gstvalue.h:
1498           Change return value for union, intersect and subtract functions
1499           from gint to gboolean.
1500
1501 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1502
1503         * gst/gstvalue.c: (gst_value_serialize_any_list),
1504         (gst_value_transform_any_list_string),
1505         (gst_value_deserialize_list), (gst_value_deserialize_array),
1506         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1507         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1508         (gst_value_set_fraction_range_full),
1509         (gst_value_deserialize_fraction_range),
1510         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1511         (gst_value_deserialize_boolean),
1512         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1513         (gst_value_serialize_float), (gst_value_deserialize_float),
1514         (gst_string_wrap), (gst_value_deserialize_string),
1515         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1516         (gst_value_union_int_range_int_range),
1517         (gst_value_intersect_int_range_int_range),
1518         (gst_value_intersect_double_range_double_range),
1519         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1520         (gst_value_subtract_int_range_int_range),
1521         (gst_value_subtract_double_double_range),
1522         (gst_value_subtract_double_range_double_range),
1523         (gst_value_deserialize_fraction):
1524         * gst/gstvalue.h:
1525           Use gint, gdouble and gchar in our API instead of int, double and
1526           char (and make usage in gstvalue.c more consistent).
1527
1528 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1529
1530         * check/Makefile.am:
1531         * libs/gst/controller/Makefile.am:
1532         * libs/gst/dataprotocol/Makefile.am:
1533           fix up Makefile.am and remove GST_ENABLE_NEW
1534
1535 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1536
1537         * configure.ac:
1538         * gst/Makefile.am:
1539         * gst/base/Makefile.am:
1540         * gst/check/Makefile.am:
1541         * gst/elements/Makefile.am:
1542         * gst/net/Makefile.am:
1543           update LDFLAGS use some more
1544
1545 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1546
1547         * common/m4/gst-doc.m4:
1548           Fixes #312589
1549
1550 2005-11-26  Edward Hervey  <edward@fluendo.com>
1551
1552         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1553         This shouldn't issue a g_warning since it returns NULL if it
1554         couldn't find the plugin, and all functions using this behave
1555         properly on a NULL return. Switching to a GST_WARNING.
1556
1557 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1558
1559         * gst/gstbin.c: (gst_bin_handle_message_func):
1560         Don't leak clock messages.
1561
1562 2005-11-25  Wim Taymans  <wim@fluendo.com>
1563
1564         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1565         (gst_util_uint64_scale_int):
1566         Optimisations, remove unneeded vars.
1567
1568 2005-11-25  Wim Taymans  <wim@fluendo.com>
1569
1570         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1571         Added more checks for the high precision uint64 cases.
1572
1573         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1574         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1575         Implement high precision (guint64 * guint64) / guint64.
1576
1577 2005-11-24  Wim Taymans  <wim@fluendo.com>
1578
1579         * gst/base/gstbasesrc.c: (gst_base_src_query):
1580         Fix wrong percentage query.
1581
1582         * gst/gstutils.c: (gst_util_uint64_scale),
1583         (gst_util_uint64_scale_int):
1584         Add some more common cases that can be handled 
1585         efficiently to _scale.
1586
1587 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1588
1589         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1590         (gst_mini_object_suite):
1591           don't use check calls from threads; check probably isn't
1592           threadsafe and using a lock to make it threadsafe would
1593           defeat the purpose of this check
1594         * gst/check/gstcheck.c:
1595         * gst/check/gstcheck.h:
1596           use GST_DEBUG some more
1597
1598 2005-11-24  Wim Taymans  <wim@fluendo.com>
1599
1600         * gst/gstutils.c: (gst_util_uint64_scale),
1601         (gst_util_uint64_scale_int):
1602         Chain trivial case to _scale_int.
1603
1604 2005-11-24  Wim Taymans  <wim@fluendo.com>
1605
1606         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1607         Added test for scaling.
1608
1609         * gst/gstclock.h:
1610         Small doc fix.
1611
1612         * gst/gstutils.c: (gst_util_uint64_scale_int):
1613         Implemented high precision scaling code.
1614
1615 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1616
1617         * gst/gstinfo.h:
1618           do not crash on pad==NULL
1619
1620 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1621
1622         Patch by: Stefan Kost
1623
1624         * common/gtk-doc.mak:
1625         * docs/gst/Makefile.am:
1626         * docs/libs/Makefile.am:
1627           Fix distcheck issues for the libraries docs build
1628           Closes #319599.
1629
1630 2005-11-24  Michael Smith <msmith@fluendo.com>
1631
1632         * docs/manual/basics-helloworld.xml:
1633           Fix bug #315027: memory leak in example code in docs.
1634
1635 2005-11-24  Michael Smith <msmith@fluendo.com>
1636
1637         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1638           Unlock the PREROLL_LOCK in a failure case.
1639
1640 2005-11-24  Wim Taymans  <wim@fluendo.com>
1641
1642         * docs/gst/gstreamer-sections.txt:
1643         * gst/base/gstadapter.h:
1644         * gst/base/gstbasesink.h:
1645         * gst/base/gstbasesrc.h:
1646         * gst/base/gstbasetransform.h:
1647         * gst/base/gstpushsrc.h:
1648         * gst/elements/gstfakesink.h:
1649         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1650         * gst/elements/gstfakesrc.h:
1651         * gst/elements/gstfilesink.h:
1652         * gst/elements/gstfilesrc.h:
1653         * gst/gst.c:
1654         * gst/gstbin.c:
1655         * gst/gstbuffer.c: (_gst_buffer_copy):
1656         * gst/gstbus.h:
1657         * gst/gstcaps.c:
1658         * gst/gstchildproxy.c:
1659         * gst/gstclock.c:
1660         * gst/gstelement.c:
1661         * gst/gstelementfactory.c:
1662         * gst/gstelementfactory.h:
1663         * gst/gstevent.c:
1664         * gst/gstghostpad.h:
1665         * gst/gstindex.h:
1666         * gst/gstinterface.h:
1667         * gst/gstminiobject.c:
1668         * gst/gstminiobject.h:
1669         * gst/gstpad.c:
1670         * gst/gstpad.h:
1671         * gst/gstpadtemplate.h:
1672         * gst/gstpipeline.h:
1673         * gst/gstpluginfeature.h:
1674         * gst/gstquery.h:
1675         * gst/gstqueue.h:
1676         * gst/gsttaglist.c:
1677         * gst/gsttaglist.h:
1678         * gst/gsttagsetter.c:
1679         * gst/gsttagsetter.h:
1680         * gst/gsttrace.c:
1681         * gst/gsttrace.h:
1682         * gst/gsttypefind.h:
1683         * gst/gsturi.h:
1684         * gst/gstvalue.c:
1685         * gst/net/gstnetclientclock.c:
1686         * gst/net/gstnetclientclock.h:
1687         * gst/net/gstnettimepacket.c:
1688         * gst/net/gstnettimeprovider.c:
1689         * gst/net/gstnettimeprovider.h:
1690         Doc fixes.
1691
1692 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1693
1694         * configure.ac: back to HEAD
1695
1696 === release 0.9.6 ===
1697
1698 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1699
1700         * configure.ac:
1701           releasing 0.9.6, "Always On Time"
1702
1703 2005-11-23  Wim Taymans  <wim@fluendo.com>
1704
1705         * docs/gst/gstreamer-sections.txt:
1706         * gst/glib-compat.c:
1707         * gst/gsttagsetter.c:
1708         * gst/gstvalue.c:
1709         * gst/net/gstnetclientclock.c:
1710         * gst/net/gstnettimepacket.h:
1711         Doc updates.
1712
1713 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1714
1715         * docs/faq/using.xml:
1716         * docs/libs/tmpl/gstcontrol.sgml:
1717         * docs/manual/advanced-dparams.xml:
1718         * docs/manual/appendix-checklist.xml:
1719         * docs/manual/basics-elements.xml:
1720         * docs/pwg/other-source.xml:
1721         * docs/random/moving-plugins:
1722         * gst/gstpad.c:
1723         * tools/gst-launch.1.in:
1724           remove mentions of sinesrc
1725
1726 2005-11-23  Michael Smith <msmith@fluendo.com>
1727
1728         * docs/gst/gstreamer-sections.txt:
1729           Update for new API and API changes.
1730         * gst/gstobject.h:
1731           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1732         * gst/gstvalue.c:
1733           Documentation typo fix.
1734         * gst/net/gstnettimepacket.c:
1735           Documentation fixes for arguments.
1736
1737 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1738
1739         * gst/gststructure.c: (gst_structure_get_fraction),
1740         (gst_structure_parse_value),
1741         (gst_structure_fixate_field_nearest_fraction):
1742         * gst/gststructure.h:
1743         * gst/gstutils.c: (gst_util_uint64_scale_int):
1744         * gst/gstutils.h:
1745         * scripts/update-funcnames:
1746         API Changes. 
1747         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1748         Make gst_structure_fixate_field_nearest_fraction take a numerator
1749         and denominator argument instead of a GValue
1750         add gst_structure_get_fraction helper function.
1751
1752 2005-11-23  Wim Taymans  <wim@fluendo.com>
1753
1754         * docs/design/part-TODO.txt:
1755         Update TODO.
1756
1757         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1758         * gst/net/gstnetclientclock.h:
1759         Use parent fields for timeout and window_size.
1760
1761 2005-11-23  Andy Wingo  <wingo@pobox.com>
1762
1763         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1764         rate_num/rate_denom change.
1765
1766         * gst/net/gstnetclientclock.c
1767         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1768         OBJECT_LOCK. Don't call add_observation with the lock.
1769
1770         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1771         fraction.
1772         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1773         rate fraction.
1774         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1775         deal with rate as a fraction whose numerator and denominator are
1776         GstClockTime values.
1777         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1778         master; the other fields are protected by the SLAVE_LOCK.
1779         (do_linear_regression): Note that this must be called with the
1780         SLAVE_LOCK.
1781         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1782         OBJECT_LOCK. Call set_calibration instead of touching the
1783         variables directly.
1784         (gst_clock_set_property, gst_clock_get_property): Protect
1785         master/slave parameters with the SLAVE_LOCK.
1786
1787         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1788         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1789         note that all of the instance variables that add_observation and
1790         the set_master functions use are protected by that lock and not
1791         the OBJECT_LOCK.
1792         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1793
1794         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1795         the caller to take the object lock.
1796
1797 2005-11-23  Wim Taymans  <wim@fluendo.com>
1798
1799         * gst/gsterror.c: (_gst_core_errors_init):
1800         * gst/gsterror.h:
1801         Add error for clock stuff.
1802
1803         * gst/gstpipeline.c: (gst_pipeline_change_state),
1804         (gst_pipeline_set_clock):
1805         Post clock error when clock cannot be used in a pipeline.
1806
1807 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1808
1809         * docs/gst/gstreamer-sections.txt:
1810           make two symbols from gstinfo private for the docs
1811         * gst/base/gstcollectpads.h:
1812         * gst/gstutils.c:
1813           fix doc typos, update docs
1814
1815 2005-11-22  Wim Taymans  <wim@fluendo.com>
1816
1817         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1818         (gst_base_sink_wait), (gst_base_sink_do_sync),
1819         (gst_base_sink_handle_event):
1820         * gst/base/gstbasesink.h:
1821         No need to store the clock, the parent element class already
1822         has it.
1823
1824         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1825         Updates for clock_set returning a gboolean
1826
1827         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1828         (gst_clock_id_wait_async), (gst_clock_class_init),
1829         (gst_clock_init), (gst_clock_finalize),
1830         (gst_clock_get_internal_time), (gst_clock_get_time),
1831         (gst_clock_slave_callback), (gst_clock_set_master),
1832         (gst_clock_get_master), (do_linear_regression),
1833         (gst_clock_add_observation), (gst_clock_set_property),
1834         (gst_clock_get_property):
1835         * gst/gstclock.h:
1836         Implement master/slave. When setting a clock as a slave, a
1837         periodic timeout is scheduled to sample master and slave times.
1838         Then the slave clock is recalibrated to match offset and rate
1839         of the master clock.
1840         Update logging a bit.
1841         Add flag so that a clock can state that is cannot be slaved to
1842         another clock.
1843
1844         * gst/gstelement.c: (gst_element_set_clock):
1845         * gst/gstelement.h:
1846         The set clock returns a gboolean for when an element cannot
1847         deal with the selected clock in the pipeline. 
1848
1849         * gst/gstpipeline.c: (gst_pipeline_change_state),
1850         (gst_pipeline_set_clock):
1851         * gst/gstpipeline.h:
1852         Handle the case where the selected clock cannot be set on
1853         the pipeline.
1854
1855         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1856         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1857         (gst_net_client_clock_set_property),
1858         (gst_net_client_clock_get_property),
1859         (gst_net_client_clock_observe_times):
1860         * gst/net/gstnetclientclock.h:
1861         Use regression code in GstClock parent, remove duplicated
1862         functionality.
1863
1864 2005-11-22  Michael Smith <msmith@fluendo.com>
1865
1866         * gst/gstutils.c: (gst_util_clock_time_scale):
1867         * gst/gstutils.h:
1868         * docs/gst/gstreamer-sections.txt:
1869           Rename method to have extra underscore.
1870
1871 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1872
1873         * gst/elements/Makefile.am:
1874         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1875         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1876         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1877         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1878         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1879         * gst/elements/gstfakesrc.h:
1880         * gst/gstqueue.c: (queue_leaky_get_type):
1881           correctly fix GEnumValues so that nick is the short lowercase
1882           dashed tag
1883         * tools/gst-inspect.c: (print_element_properties_info):
1884           also show the nick, since it's useful to use from parse_launch
1885           syntax
1886           Fixes #322139
1887
1888 2005-11-22  Michael Smith <msmith@fluendo.com>
1889
1890         * gst/gstutils.c: (gst_util_clocktime_scale):
1891         * gst/gstutils.h:
1892         * docs/gst/gstreamer-sections.txt:
1893           Add util method for scaling a clocktime by a fraction. Useful 
1894           implementation is left as an exercise for the reader.
1895
1896 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1897
1898         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1899         If needed, allocate storage in the destination value during
1900         collection.
1901
1902 2005-11-22  Edward Hervey  <edward@fluendo.com>
1903
1904         * docs/gst/gstreamer-sections.txt:
1905         * gst/Makefile.am:
1906         * gst/gst.h:
1907         * gst/gsturitype.c:
1908         * gst/gsturitype.h:
1909         * gst/gstutils.c: (gst_util_set_object_arg):
1910         * tools/gst-compprep.c: (main):
1911         * tools/gst-inspect.c: (print_element_properties_info):
1912         Removed GstURI, closes bug #321061
1913
1914 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1915
1916         * check/gst/gststructure.c: (GST_START_TEST):
1917         * gst/gststructure.c: (gst_structure_parse_value):
1918           Oops, broke automatic string type parsing.
1919           Add a test to catch it in future.
1920
1921 2005-11-22  Andy Wingo  <wingo@pobox.com>
1922
1923         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1924         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1925         Actually rename the function implementations. Grr.
1926
1927 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1928
1929         * check/gst/capslist.h:
1930           Comment test cases
1931         * check/gst/gststructure.c: (GST_START_TEST),
1932         (gst_structure_suite):
1933           Test automatic value type detection in gst_structure_from_string.
1934         * gst/gststructure.c: (gst_structure_parse_value):
1935           Add fraction as a type we try and guess automatically in
1936           caps/structure strings.
1937
1938 2005-11-22  Andy Wingo  <wingo@pobox.com>
1939
1940         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1941
1942         * gst/gsttagsetter.h:
1943         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1944         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1945         (gst_tag_setter_add_tag_valist)
1946         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1947         _add_values, _add_valist, and _add_valist_values. Since this is an
1948         interface the function suffixes should be more explicit so
1949         language binding don't end up with element.add_valist ->
1950         gst_tag_setter_add_valist, for example. Fixes #322069.
1951
1952 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1953
1954         * check/gst/gstcaps.c: (GST_START_TEST):
1955           Extend caps string tests to check that a caps to string
1956           conversion is reversible and produces the same caps.
1957
1958         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1959           Output "fraction" as the generic type fraction range, so caps
1960           serialisation and deserialisation works.
1961         * check/gst/capslist.h:
1962         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1963           Support 'MIN' and 'MAX' for deserialising fractions.
1964
1965 2005-11-22  Andy Wingo  <wingo@pobox.com>
1966
1967         * gst/gstevent.h (gst_event_new_new_segment)
1968         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1969         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1970         Renamed from *_newsegment, *_buffersize, *_notarget.
1971
1972         * scripts/update-funcnames: New script, performs the changes
1973         listed above.
1974
1975 2005-11-22  Wim Taymans  <wim@fluendo.com>
1976
1977         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1978         Make sure the GstFlowReturn is returned.
1979
1980         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1981         (gst_bus_add_signal_watch):
1982         * gst/gstbus.h:
1983         add gst_bus_add_signal_watch_full.
1984
1985         * gst/gstplugin.c: (gst_plugin_load_file):
1986         Small style cleanup.
1987
1988 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1989
1990         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1991           Block the fakesrc srcpad when we send an event, to avoid
1992           contention on the stream_lock causing random test failures.
1993
1994 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1995
1996         * check/gst/gstvalue.c: (GST_START_TEST):
1997         * gst/gstvalue.c: (gst_value_fraction_subtract):
1998           Fix subtraction.
1999
2000 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2001
2002         * gst/gst.h:
2003           include "gstchildproxy.h"
2004         * gst/gstchildproxy.h:
2005         * libs/gst/controller/gstcontroller.h:
2006           use G_GNUC_NULL_TERMINATED
2007
2008 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2009
2010         * check/gst/capslist.h:
2011         * check/gst/gstcaps.c: (GST_START_TEST):
2012         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2013         * gst/gststructure.c: (gst_structure_parse_range),
2014         (gst_structure_fixate_field_nearest_fraction):
2015         * gst/gststructure.h:
2016         * gst/gstvalue.c: (gst_value_init_fraction_range),
2017         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2018         (gst_value_collect_fraction_range),
2019         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2020         (gst_value_set_fraction_range_full),
2021         (gst_value_get_fraction_range_min),
2022         (gst_value_get_fraction_range_max),
2023         (gst_value_serialize_fraction_range),
2024         (gst_value_transform_fraction_range_string),
2025         (gst_value_compare_fraction_range),
2026         (gst_value_deserialize_fraction_range),
2027         (gst_value_intersect_fraction_fraction_range),
2028         (gst_value_intersect_fraction_range_fraction_range),
2029         (gst_value_subtract_fraction_fraction_range),
2030         (gst_value_subtract_fraction_range_fraction),
2031         (gst_value_subtract_fraction_range_fraction_range),
2032         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2033         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2034         (gst_value_transform_string_fraction), (_gst_value_initialize):
2035         * gst/gstvalue.h:
2036           Implement fraction ranges and extend GstFraction to support
2037           arithmetic subtraction, as well as deserialization from integer
2038           strings such as "100"
2039           Add a testsuite as for int and double range set operations
2040
2041 2005-11-21  Andy Wingo  <wingo@pobox.com>
2042
2043         * gst/gsttaglist.h: 
2044         * gst/gstcaps.h: 
2045         * gst/gststructure.h: Add glib-compat.h.
2046
2047 2005-11-21  Wim Taymans  <wim@fluendo.com>
2048
2049         * gst/gstbin.c: (gst_bin_change_state_func):
2050         Fix for #321595
2051
2052 2005-11-21  Wim Taymans  <wim@fluendo.com>
2053
2054         * gst/gstsegment.h:
2055         And add a nice define too.
2056
2057 2005-11-21  Wim Taymans  <wim@fluendo.com>
2058
2059         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2060         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2061         (gst_segment_set_duration), (gst_segment_set_last_stop),
2062         (gst_segment_set_seek), (gst_segment_set_newsegment),
2063         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2064         (gst_segment_clip):
2065         * gst/gstsegment.h:
2066         Make binding friendly.
2067
2068 2005-11-21  Andy Wingo  <wingo@pobox.com>
2069
2070         * gst/gsttagsetter.h: 
2071         * gst/gsttaglist.h: 
2072         * gst/gststructure.h: 
2073         * gst/gstcaps.h: 
2074         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2075         #319940.
2076
2077         * gst/gsterror.c (_gst_core_errors_init):
2078         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2079         category.
2080
2081         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2082         (noinst_HEADERS): noinst the -private.
2083
2084 2005-11-21  Michael Smith <msmith@fluendo.com>
2085
2086         * gst/gstplugin.h:
2087         * gst/gstregistry.h:
2088           Remove unimplemented declarations for which we can see no sensible
2089           use.
2090
2091 2005-11-21  Andy Wingo  <wingo@pobox.com>
2092
2093         * gst/gst.h: Include glib-compat.h.
2094
2095         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2096
2097         * gst/glib-compat.c: Include the public and the private header.
2098
2099         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2100
2101         * gst/gstvalue.c: 
2102         * gst/gstpad.c: 
2103         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2104
2105         * check/gst/gstevent.c (create_custom_events): Check that
2106         FLUSH_STOP is serialized.
2107
2108         * check/elements/identity.c (event_func): 
2109         * check/elements/fakesrc.c (event_func): No stream lock, the core
2110         takes it.
2111
2112         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2113         stream lock taking, yay.
2114
2115         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2116         ensure that core takes the stream lock.
2117
2118         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2119         lock name change.
2120
2121         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2122         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2123         it already. For the flush start we do take it though so we get the
2124         right preroll state change messages.
2125
2126         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2127         the stream lock here, the core does it for us.
2128
2129         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2130         GST_STREAM_GET_LOCK.
2131         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2132         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2133         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2134         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2135         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2136         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2137
2138         * gst/gstpad.c: Update for stream lock name change.
2139
2140         * gst/base/gstbasesink.c: Update for preroll lock name change.
2141
2142 2005-11-21  Wim Taymans  <wim@fluendo.com>
2143
2144         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2145         (gst_clock_get_master):
2146         * gst/gstclock.h:
2147         * gst/gstsystemclock.c: (gst_system_clock_init):
2148         Convert Clock flags to object flags.
2149         Added methods to manage master/slave clocks.
2150
2151 2005-11-21  Wim Taymans  <wim@fluendo.com>
2152
2153         * check/gst/gstsegment.c: (GST_START_TEST):
2154         * docs/design/part-TODO.txt:
2155         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2156         (gst_base_sink_event), (gst_base_sink_do_sync),
2157         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2158         (gst_base_sink_query), (gst_base_sink_change_state):
2159         * gst/base/gstbasesink.h:
2160         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2161         (gst_base_src_default_newsegment),
2162         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2163         (gst_base_src_get_range), (gst_base_src_loop),
2164         (gst_base_src_change_state):
2165         * gst/base/gstbasesrc.h:
2166         * gst/base/gstbasetransform.c:
2167         (gst_base_transform_prepare_output_buf),
2168         (gst_base_transform_event), (gst_base_transform_change_state):
2169         * gst/base/gstbasetransform.h:
2170         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2171         (gst_collect_pads_event):
2172         * gst/base/gstcollectpads.h:
2173         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2174         (gst_fake_src_create):
2175         * gst/elements/gstfakesrc.h:
2176         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2177         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2178         (gst_segment_set_last_stop), (gst_segment_set_seek),
2179         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2180         (gst_segment_to_running_time), (gst_segment_clip):
2181         * gst/gstsegment.h:
2182         More segment updates, replace code in plugins with segment
2183         helper functions.
2184
2185 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2186
2187         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2188         Don't ignore sscanf results
2189
2190 2005-11-21  Andy Wingo  <wingo@pobox.com>
2191
2192         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2193
2194         * *.h:
2195         * *.c: Ran scripts/update-macros. Oh yes.
2196
2197         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2198         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2199         GST_GET_LOCK, etc.
2200
2201         * scripts/update-macros: New script. Run it on your files to
2202         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2203         well.
2204
2205 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2206
2207         * docs/gst/Makefile.am:
2208         * docs/gst/gstreamer-docs.sgml:
2209         * docs/gst/gstreamer-sections.txt:
2210         * docs/gst/gstreamer.types:
2211         * gst/gstinfo.h:
2212           more docs fixes, add new api to the docs
2213
2214 2005-11-21  Andy Wingo  <wingo@pobox.com>
2215
2216         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2217         state_broadcast call.
2218
2219         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2220
2221 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2222
2223         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2224         function calls for arrays.
2225
2226 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2227
2228         * docs/random/ensonic/media-device-daemon.txt:
2229           wild idea, can this be done?
2230         * docs/gst/gstreamer-sections.txt:
2231         * gst/gsterror.h:
2232         * gst/gstfilter.c:
2233         * gst/gstfilter.h:
2234         * gst/gstplugin.h:
2235         * gst/gstpluginfeature.c:
2236         * gst/gsttrace.c:
2237         * gst/gstvalue.c:
2238         * gst/gstvalue.h:
2239           doc fixes and additions
2240
2241 2005-11-21  Andy Wingo  <wingo@pobox.com>
2242
2243         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2244         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2245         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2246         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2247         private to the basesrc implementation.
2248
2249         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2250         behalf of event function if necessary. It should no longer be
2251         necessary to take the stream lock in pad's event functions. Fixes
2252         #320299.
2253
2254 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2255         * docs/gst/gstreamer-sections.txt:
2256         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2257         (gst_structure_fixate_field_nearest_double),
2258         (gst_structure_fixate_field_boolean):
2259         * gst/gststructure.h:
2260         * win32/common/libgstreamer.def:
2261         * win32/gstreamer.def:
2262
2263         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2264         (#322027)
2265
2266 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2267
2268         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2269         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2270         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2271         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2272         (gst_fdsrc_uri_handler_init):
2273         * gst/elements/gstfdsrc.h:
2274           Port fd:// URI handler from 0.8 to fdsrc
2275
2276 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2277
2278         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2279         (gst_value_serialize_fourcc):
2280         * gst/gstvalue.h:
2281           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2282           consistent with our other format defines (#320324).
2283
2284 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2285
2286         * gst/gstvalue.c: (gst_value_is_fixed):
2287           Revert previous commit. Value lists are by definition
2288           not fixed, as they are a list of possible values.
2289
2290 2005-11-21  Andy Wingo  <wingo@pobox.com>
2291
2292         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2293         during the stable series if we need it. Fixes #319178.
2294
2295         * gst/gstevent.c (gst_event_new_filler): Removed.
2296
2297         * check/gst/gstevent.c: Update comment about filler events.
2298
2299 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2300
2301         * gst/gstvalue.c: (gst_value_is_fixed):
2302           Should handle both value arrays and value lists.
2303
2304 2005-11-21  Andy Wingo  <wingo@pobox.com>
2305
2306         patch by: Alessandro Dessina <alessandro nnva org>
2307
2308         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2309         functions to access arrays. Fixes #321962.
2310
2311 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2312
2313         * docs/gst/gstreamer.types:
2314           gst_collectpads_get_type => gst_collect_pads_get_type.
2315           
2316         * gst/base/gstbasetransform.c:
2317           Remove unused SIGNAL_HANDOFF enum.
2318
2319 2005-11-21  Andy Wingo  <wingo@pobox.com>
2320
2321         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2322         the event type (upstream, downstream, serialized). Renamed
2323         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2324         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2325         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2326
2327         * gst/gstevent.c: Update for new CUSTOM event names.
2328
2329         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2330
2331         * gst/gstevent.h:
2332         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2333         bug #319392.
2334
2335 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2336
2337         * docs/gst/gstreamer-sections.txt:
2338         * win32/common/libgstbase.def:
2339         * win32/libgstbase.def:
2340         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2341         (gst_collect_pads_class_init), (gst_collect_pads_init),
2342         (gst_collect_pads_finalize), (gst_collect_pads_new),
2343         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2344         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2345         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2346         (gst_collect_pads_start), (gst_collect_pads_stop),
2347         (gst_collect_pads_peek), (gst_collect_pads_pop),
2348         (gst_collect_pads_available), (gst_collect_pads_read),
2349         (gst_collect_pads_flush), (gst_collect_pads_event),
2350         (gst_collect_pads_chain):
2351         * gst/base/gstcollectpads.h:
2352           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2353           unimplemented functions as unimplemented. Add padding to
2354           GstCollectData. (#320766, #320423)
2355
2356 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2357
2358         * gst/gstmessage.c:
2359           Improve docs for DURATION message (usage of duration parameter)
2360           (#320113)
2361
2362 2005-11-20  Wim Taymans  <wim@fluendo.com>
2363
2364         * check/Makefile.am:
2365         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2366         (main):
2367         * gst/Makefile.am:
2368         * gst/gst.h:
2369         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2370         (gst_segment_set_seek), (gst_segment_set_newsegment),
2371         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2372         (gst_segment_clip):
2373         * gst/gstsegment.h:
2374         Added segment helper structure and methods. Not fully implemented
2375         yet.
2376         Added segment check.
2377
2378 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2379
2380         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2381           Add a deserialisation test for fractions
2382         * examples/metadata/read-metadata.c: (message_loop),
2383         (make_pipeline), (main):
2384           Fix up metadata reading sample.
2385         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2386           Debug format fix
2387         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2388           Don't try and fixate empty caps
2389         * gst/gst_private.h:
2390           Wrap in G_BEGIN_DECLS/G_END_DECLS
2391         * gst/gstvalue.c: (gst_value_collect_fraction),
2392         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2393         (gst_value_transform_string_fraction),
2394         (gst_value_compare_fraction):
2395           Add some extra guards to ensure that we don't end up 
2396           with an invalid denominator of 0 in a gstfraction and
2397           that fractions always get reduced.
2398
2399 2005-11-20  Wim Taymans  <wim@fluendo.com>
2400
2401         * docs/gst/gstreamer-sections.txt:
2402         * gst/gstbuffer.h:
2403         * gst/gstelement.c:
2404         * gst/gstformat.c:
2405         * gst/gstformat.h:
2406         * gst/gstindex.h:
2407         * gst/gstquery.c:
2408         * gst/gstquery.h:
2409         * gst/gstvalue.c:
2410         Doc fixes.
2411
2412 2005-11-20  Wim Taymans  <wim@fluendo.com>
2413
2414         * docs/design/part-TODO.txt:
2415         * gst/gstcaps.h:
2416         Make a proper enum of the flag.
2417
2418 2005-11-19  Wim Taymans  <wim@fluendo.com>
2419
2420         * docs/design/part-TODO.txt:
2421         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2422         (gst_format_to_quark), (gst_format_register):
2423         * gst/gstformat.h:
2424         * gst/gstquery.c: (_gst_query_initialize),
2425         (gst_query_type_get_name), (gst_query_type_to_quark),
2426         (gst_query_type_register):
2427         * gst/gstquery.h:
2428         Add type to quark and type to string conversions.
2429
2430 2005-11-19  Andy Wingo  <wingo@pobox.com>
2431
2432         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2433         #320097.
2434
2435 2005-11-19  Wim Taymans  <wim@fluendo.com>
2436
2437         * docs/design/part-TODO.txt:
2438         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2439         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2440         (gst_bin_handle_message_func):
2441         * gst/gstbin.h:
2442         Make message handling overridable.
2443
2444 2005-11-19  Andy Wingo  <wingo@pobox.com>
2445
2446         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2447
2448         * gst/gstclock.h:
2449         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2450         be a GstClockTime.
2451         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2452         is a GstClockTime. Fixes #321710.
2453
2454         * gst/gstclock.h (GstClock): Remove offset property. Add
2455         internal_calibration and external_calibration. Fix padding. Pad
2456         also by GstClockTime so we don't run into problems.
2457
2458         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2459         (gst_clock_get_rate_offset): Remove.
2460         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2461
2462         * gst/gstutils.h:
2463         * gst/gstutils.c (g_static_rec_cond_wait)
2464         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2465
2466         * gst/gstbin.c: Remove terrible continue_state prototype.
2467
2468         * gst/gstelement.h (gst_element_continue_state): Make public.
2469
2470         * gst/gstelement.h:
2471         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2472         by continue_state. Fixes #319389.
2473
2474         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2475         Really fixes #168438. However I don't see anywhere where the
2476         filter function is called... stupid GStreamer...
2477         
2478         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2479         don't have a dispose function, so it won't get called when the
2480         object is unreffed, but oh well!
2481
2482         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2483         allows a destroy function to be set so user_data can be freed.
2484         Fixes #168438.
2485         (gst_index_set_filter): Call gst_index_set_filter_full.
2486
2487         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2488
2489         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2490         string should produce an error, given the lack of a way to
2491         represent NULL strings. Fixes #165650.
2492         
2493         * gst/gstvalue.h: 
2494         * gst/gstvalue.c (gst_value_array_append_value) 
2495         (gst_value_array_prepend_value, gst_value_array_get_size) 
2496         (gst_value_array_get_value): New API, copied from
2497         gst_value_list_*, only operates on arrays.
2498         (gst_value_list_append_value, gst_value_list_prepend_value) 
2499         (gst_value_list_concat, gst_value_list_get_size) 
2500         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2501
2502         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2503         init_list, because it works on both.
2504         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2505         (gst_value_copy_list_or_array): Renamed from copy_list.
2506         (gst_value_free_list_or_array): Renamed from free_list.
2507         (gst_value_collect_list_or_array): Renamed from collect_list.
2508         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2509         (gst_value_list_or_array_peek_pointer): Renamed from
2510         list_peek_pointer.
2511         (_gst_value_array_value_table, _gst_value_list_value_table):
2512         Update value table functions.
2513         (gst_value_compare_list_or_array): Renamed from compare_list.
2514
2515         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2516         some constness.
2517
2518         * gst/gsttaglist.c:
2519         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2520         GstTagList*. Fixes #143472.
2521
2522         * gst/gststructure.h: Clarify what the foreach/map functions can
2523         or can't do to their arguments.
2524
2525 2005-11-18  Wim Taymans  <wim@fluendo.com>
2526
2527         * gst/gstclock.c: (gst_clock_set_calibration),
2528         (gst_clock_get_calibration):
2529         Doc and API fixes.
2530         Calibration can be set with internal time equal to current
2531         internal time too.
2532
2533 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2534
2535         * gst/gsterror.c:
2536         * gst/gsterror.h:
2537           document
2538
2539 2005-11-18  Andy Wingo  <wingo@pobox.com>
2540
2541         * configure.ac: 
2542         * pkgconfig/gstreamer-net.pc.in:
2543         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2544         * pkgconfig/Makefile.am: Add net pkgconfig files.
2545
2546 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2547
2548         * gst/gstcaps.c:
2549         * gst/gstghostpad.c:
2550         * gst/gsttrace.c:
2551         * gst/gstvalue.c:
2552         * gst/gstvalue.h:
2553           docs fixes
2554
2555 2005-11-18  Andy Wingo  <wingo@pobox.com>
2556
2557         * gst/net/gstnetclientclock.c: Turn off debugging.
2558
2559         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2560         times connverge somewhat. Can't make a real test.
2561
2562         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2563         integer arithmetic. Return the minimum of the domain, which can be
2564         set as "internal" for gst_clock_set_calibration.
2565         (gst_net_client_clock_observe_times): Call _set_calibration.
2566         (gst_net_client_clock_new): Call _set_calibration instead of
2567         rate_offset.
2568
2569         * check/net/gstnetclientclock.c (test_functioning): Use the right
2570         adjustment api.
2571
2572         * gst/gstclock.h:
2573         * gst/gstclock.c (gst_clock_get_calibration) 
2574         (gst_clock_set_calibration): New functions, obsolete the ones I
2575         added yesterday. Doh. Precision issues mean we have to extrapolate
2576         from a point in the more recent past than 1970.
2577         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2578         obsolete.
2579         (gst_clock_adjust_unlocked): Use the right calibration data.
2580
2581 2005-11-18  Edward Hervey  <edward@fluendo.com>
2582
2583         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2584         Also reset the ->current_* values in READY->PAUSED
2585
2586 2005-11-18  Andy Wingo  <wingo@pobox.com>
2587
2588         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2589         Whoops, check the right fd. Also add some debugging.
2590         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2591         (do_linear_regression): Add a crapload of debugging. Subtract off
2592         the minimum values from the input series to discard unneeded bits.
2593         Use only int arithmetic. There is still double arithmetic when
2594         calculating the intercept that needs fixing. Return boolean to
2595         indicate success; FALSE would mean the domain or range is too
2596         great. Still needs fixes.
2597
2598 2005-11-18  Wim Taymans  <wim@fluendo.com>
2599
2600         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2601         For the current position in stream time, we need to subtract
2602         accumulated time.
2603         
2604         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2605         Release lock before calling the callback function of async
2606         entries.
2607
2608 2005-11-18  Andy Wingo  <wingo@pobox.com>
2609
2610         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2611         Port goes all the way to MAXUINT16.
2612
2613         * gst/net/gstnettimeprovider.c: Make the port range the same as
2614         for the kernel: 0 assigns, otherwise ports are less than
2615         MAXUINT16.
2616
2617         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2618         port change.
2619
2620         * check/net/gstnetclientclock.c (test_functioning): Add the start
2621         of another test. 
2622
2623 2005-11-18  Wim Taymans  <wim@fluendo.com>
2624
2625         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2626         (gst_bin_remove_func), (bin_bus_handler):
2627         * gst/gstbin.h:
2628         Removing a clock provider from a bin, triggers a clock lost message
2629         so that a new clock will be selected.
2630         Adding a clock to a bin triggers a clock provider message.
2631         Make sure we reselect a clock when we received a clock lost message.
2632         Keep a reference to the element that provided the clock.
2633
2634 2005-11-18  Andy Wingo  <wingo@pobox.com>
2635
2636         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2637         the clock initially so it produces values around the base time.
2638         (gst_net_client_clock_class_init): Typo fix.
2639         (gst_net_client_clock_thread): Add note on when the socket gets
2640         closed.
2641
2642 2005-11-17  Wim Taymans  <wim@fluendo.com>
2643
2644         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2645         Free remote and local time arrays.
2646
2647 2005-11-17  Wim Taymans  <wim@fluendo.com>
2648
2649         * gst/net/gstnetclientclock.c: (do_linear_regression),
2650         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2651         Fix compilation, uninitialized vars and a forgotten continue.
2652
2653 2005-11-17  Andy Wingo  <wingo@pobox.com>
2654
2655         * check/Makefile.am (check_PROGRAMS): 
2656         * check/net/gstnetclientclock.c: Add a most minimal test for the
2657         net client clock. More to come later.
2658
2659         * gst/net/gstnet.h: 
2660         * gst/net/Makefile.am: Add netclientclock.
2661
2662         * gst/net/gstnetclientclock.h:
2663         * gst/net/gstnetclientclock.c: New files, implement an untested
2664         GstClock that takes its time from a network time provider.
2665         Implements the algorithm in network-clock.scm.
2666
2667         * tests/network-clock.scm (*window-size*): Rename from
2668         *queue-length*.
2669         * tests/network-clock.scm (network-time): 
2670         * tests/network-clock-utils.scm (q-push): Update callers.
2671
2672 2005-11-17  Wim Taymans  <wim@fluendo.com>
2673
2674         * gst/gstbin.c: (gst_bin_provide_clock_func),
2675         (gst_bin_sort_iterator_new):
2676         And unref the child too..
2677
2678 2005-11-17  Wim Taymans  <wim@fluendo.com>
2679
2680         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2681         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2682         Refactor the sort iterator so it can be used while holding the
2683         LOCK too.
2684         Make clock selection select a clock closest to the source.
2685
2686 2005-11-17  Michael Smith <msmith@fluendo.com>
2687
2688         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2689         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2690         * gst/gstclock.h:
2691           Anonymous structs are a gcc (and some other compilers) extension, so
2692           don't use them. Since this is only for ABI-compatibility, and our
2693           API/ABI freeze is over in a few days, this whole thing will only
2694           last a few days, so don't bother trying to think up a meaningful
2695           name for the struct.
2696
2697 2005-11-17  Andy Wingo  <wingo@pobox.com>
2698
2699         * gst/gstclock.h (GstClock): Add rate and offset properties,
2700         preserving ABI stability. Add rate/offset accessors. Will file bug
2701         for the freeze break.
2702
2703         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2704         and offset, trying to keep precision and avoiding
2705         underflow/overflow.
2706         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2707         functions. Make gst_clock_set_time_adjust obsolete.
2708         (gst_clock_set_time_adjust): Note that this function is obsolete.
2709         Will file bug soon.
2710
2711         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2712         greppable by using GST_PADDING-1+1.
2713
2714 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2715
2716         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2717
2718         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2719           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2720
2721         * gst/gstpadtemplate.h:
2722         * gst/gstpluginfeature.h:
2723           Don't use c++ style comments in headers (#321638).
2724
2725 2005-11-16  Andy Wingo  <wingo@pobox.com>
2726
2727         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2728         buffer.
2729
2730         * check/net/gstnettimeprovider.c: Check to see that the time
2731         provider actually provides times. Works, yo!
2732
2733 2005-11-16  Wim Taymans  <wim@fluendo.com>
2734
2735         * check/Makefile.am:
2736         Enable more tests.
2737
2738         * check/elements/fakesrc.c: (GST_START_TEST):
2739         Set element to NULL before disposing it.
2740
2741 2005-11-16  Andy Wingo  <wingo@pobox.com>
2742
2743         * gst/net/Makefile.am:
2744         * gst/net/gstnet.h:
2745         * gst/net/gstnettimeprovider.c: 
2746         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2747         provider, include it from gstnet.h, and add it to the build.
2748
2749         * gst/net/gstnettimepacket.h: 
2750         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2751         sending and receiving.
2752
2753 2005-11-16  Wim Taymans  <wim@fluendo.com>
2754
2755         * check/Makefile.am:
2756         Enable valgrind check.
2757
2758         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2759         (gst_fake_src_alloc_buffer):
2760         Fix memleak.
2761
2762 2005-11-16  Wim Taymans  <wim@fluendo.com>
2763
2764         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2765         Call parent finalize too.
2766
2767 2005-11-16  Wim Taymans  <wim@fluendo.com>
2768
2769         * check/Makefile.am:
2770         Enable valgrind check that should work fine now.
2771
2772         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2773         * gst/gstqueue.c: (gst_queue_init):
2774         Fix memleaks in pad allocation.
2775
2776 2005-11-16  Andy Wingo  <wingo@pobox.com>
2777
2778         * gst/net/Makefile.am:
2779         * gst/net/gstnet.h: New part of core to hold network elements and
2780         objects. Put in core because it exposes API that applications want
2781         to use. The library is named libgstnet-tempname right now because
2782         of the existing libgstnet in gst-plugins-base. Solution is
2783         probably to rename the one in plugins-base; will file a bug for
2784         the freeze break.
2785
2786         * gst/net/gstnettimeprovider.c: 
2787         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2788         get_time call over the network.
2789
2790         * configure.ac: 
2791         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2792
2793         * check/Makefile.am:
2794         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2795         get additions shortly.
2796
2797 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2798
2799         * gst/gstpad.c: (gst_pad_new_from_static_template):
2800         * gst/gstpad.h:
2801           add gst_pad_new_from_static_template functions
2802         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2803         (gst_check_setup_sink_pad):
2804         * gst/elements/gsttee.c: (gst_tee_init):
2805           and use them
2806
2807 2005-11-16  Wim Taymans  <wim@fluendo.com>
2808
2809         * gst/gstpad.c: (gst_pad_pause_task):
2810         Removed warning, it's not really an error either.
2811
2812 2005-11-16  Wim Taymans  <wim@fluendo.com>
2813
2814         * gst/base/gstbasetransform.c:
2815         (gst_base_transform_prepare_output_buf),
2816         (gst_base_transform_event):
2817         Check if the caps are NULL, this can happen if the element
2818         is shutting down and the pad caps are set to NULL.
2819
2820 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2821
2822         * gst/elements/gsttee.c: (gst_tee_init):
2823           fix pad template leak in tee
2824
2825 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2826
2827         * gst/glib-compat.c: (g_value_dup_gst_object):
2828         * gst/glib-compat.h:
2829         * gst/gstpad.c: (gst_pad_set_property):
2830           use gst_object_ref when setting the pad template; this will
2831           trigger the pad template leaks on GLib 2.6 and the slaves
2832
2833 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2834
2835         * gst/glib-compat.c: (gst_flags_get_first_value):
2836         * gst/glib-compat.h:
2837         * gst/gstregistryxml.c:
2838           remove functions copied from GLib 2.6
2839
2840 2005-11-16  Michael Smith <msmith@fluendo.com>
2841
2842         * gst/Makefile.am:
2843           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2844           do, but only breaks with newer valgrind versions. We're not a
2845           valgrind tool, we have no link-time dependencies on libcoregrind.
2846
2847 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2848
2849         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2850           some debug changes
2851         * gst/gstmessage.h:
2852           typo fixes
2853
2854 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2855
2856         * gst/base/gstbasesrc.c: (gst_base_src_init):
2857         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2858         * gst/gstqueue.c: (gst_queue_init):
2859         * gst/gstregistryxml.c: (load_feature):
2860           Revert all these unrefs, they don't even pass make check !
2861
2862 2005-11-15  Johan Dahlin  <johan@gnome.org>
2863
2864         * gst/base/gstbasesrc.c: (gst_base_src_init):
2865         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2866         * gst/gstqueue.c: (gst_queue_init): 
2867         Free pad templates, fixes a couple of leaks.
2868
2869 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2870
2871         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2872
2873         * gst/gstpad.c: (gst_pad_get_property):
2874           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2875           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2876           (#321452)
2877
2878 2005-11-15  Wim Taymans  <wim@fluendo.com>
2879
2880         * gst/gstevent.c:
2881         Small doc update.
2882
2883 2005-11-15  Andy Wingo  <wingo@pobox.com>
2884
2885         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2886
2887         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2888         using GST_CLOCK_TIME_NONE to disable base time management.
2889         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2890         time if it was NONE before.
2891         (gst_pipeline_change_state): Only munge the base time if
2892         stream_time != GST_CLOCK_TIME_NONE.
2893
2894         * check/gst/gstpipeline.c (test_base_time): Punt around the
2895         problem of the probe not being called, because that's not the
2896         issue I'm looking at. Add a check that setting stream_time to NONE
2897         disables base time management.
2898         
2899 2005-11-15  Wim Taymans  <wim@fluendo.com>
2900
2901         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2902         segment_stop == -1 at startup.
2903
2904         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2905         (gst_base_transform_change_state):
2906         Init segment values at start.
2907
2908 2005-11-15  Wim Taymans  <wim@fluendo.com>
2909
2910         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2911         0 segment values are 0 in any format.
2912
2913         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2914         * gst/base/gstbasetransform.h:
2915         Parse newsegment correctly in basetransform
2916
2917         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2918         Sync to clock using updated segment values.
2919
2920 2005-11-15  Andy Wingo  <wingo@pobox.com>
2921
2922         * check/gst/gstpipeline.c (test_base_time): Add check that the
2923         base time and stream time are reset correctly.
2924
2925 2005-11-15  Wim Taymans  <wim@fluendo.com>
2926
2927         * docs/design/part-TODO.txt:
2928         Some more TODO items.
2929
2930 2005-11-15  Andy Wingo  <wingo@pobox.com>
2931
2932         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2933         error if the user selected "no clock" as the clocking method.
2934
2935         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2936         timestamps with live capture.
2937
2938         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2939         is 0 but we are a live source, timestamp the buffers using the
2940         element's clock.
2941
2942 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2943
2944         * docs/gst/gstreamer-sections.txt:
2945         * gst/gsterror.c:
2946         * gst/gstghostpad.c:
2947         * gst/gstobject.h:
2948         * gst/gstxml.c:
2949           more section docs
2950
2951 2005-11-14  Wim Taymans  <wim@fluendo.com>
2952
2953         * common/gst.supp:
2954           add suppressions from Wim's Debian machine
2955
2956 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2957
2958         * common/gst.supp:
2959           add suppressions from Andy's AMD64 Ubuntu machine
2960
2961 2005-11-14  Andy Wingo  <wingo@pobox.com>
2962
2963         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2964         STATE_LOCK not necessary. Fixes #311489.
2965
2966         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2967         #305291.
2968
2969         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2970         this function is not implemented.
2971
2972 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2973
2974         * gst/base/gstbasetransform.c:
2975         (gst_base_transform_prepare_output_buf):
2976         Ref the source pad caps while we need them.
2977         Fixes (#321386)
2978
2979 2005-11-11  Wim Taymans  <wim@fluendo.com>
2980
2981         * docs/gst/gstreamer-sections.txt:
2982         Added some docs for GstCollectData.
2983
2984         * gst/base/gstadapter.c:
2985         Some small code example fix.
2986
2987         * gst/base/gstcollectpads.c:
2988         * gst/base/gstcollectpads.h:
2989         Document some more.
2990
2991 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2992
2993         * configure.ac: back to HEAD
2994
2995 === release 0.9.5 ===
2996
2997 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2998
2999         * configure.ac:
3000           releasing 0.9.5, "Bike Lunch Day"
3001
3002 2005-11-11  Wim Taymans  <wim@fluendo.com>
3003
3004         * gst/gstbuffer.c: (_gst_buffer_copy):
3005         Copy more flags.
3006
3007         * gst/gstcaps.c: (gst_caps_is_equal):
3008         Fix some docs.
3009         Make _is_equal fast in the trivial cases.
3010
3011         * gst/gstminiobject.c:
3012         * gst/gstminiobject.h:
3013         More docs. Spifify .h file.
3014
3015         * gst/gstutils.c:
3016         Small doc update.
3017
3018 2005-11-11  Wim Taymans  <wim@fluendo.com>
3019
3020         * gst/base/gstbasetransform.c:
3021         (gst_base_transform_prepare_output_buf),
3022         (gst_base_transform_handle_buffer):
3023         Small cleanups.
3024         If we're processing a buffer and need to allocate an output
3025         buffer, we cannot accept a format change. If we did get a 
3026         format change, we have to alloc a buffer ourselves of the 
3027         right size.
3028
3029 2005-11-11  Wim Taymans  <wim@fluendo.com>
3030
3031         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3032         While checking the flag for reentrancy in the gstcaps function
3033         is nice to detect recursive invocations, it also makes it 
3034         impossible to call getcaps from multiple threads, which must be
3035         possible. So, checking for recursive calls has to go.
3036
3037 2005-11-11  Michael Smith <msmith@fluendo.com>
3038
3039         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3040           Don't sync on buffers that fall partially outside our current
3041           segment. Prevents an assertion failure/abort playing some files.
3042
3043 2005-11-10  Andy Wingo  <wingo@pobox.com>
3044
3045         * check/gst/gstbin.c (test_message_state_changed_children): Style
3046         fix..
3047
3048         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3049         gst_bus_poll with the signal watch. Ensures that poll and a signal
3050         watch see the same messages.
3051
3052         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3053         a poll and a watch at the same time get the same messages.
3054
3055 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3056
3057         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3058         * gst/gstcaps.c: (gst_caps_intersect):
3059           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3060           and it's not needed.
3061
3062 2005-11-10  Wim Taymans  <wim@fluendo.com>
3063
3064         * docs/design/part-TODO.txt:
3065         Updated todo.
3066
3067 2005-11-10  Wim Taymans  <wim@fluendo.com>
3068
3069         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3070         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3071         (gst_base_src_do_sync), (gst_base_src_get_range):
3072         Implement clock sync in base class.
3073
3074 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3075
3076         patch by: Tim-Philipp Müller <tim at centricular dot net>
3077
3078         * gst/gststructure.c: (gst_structure_parse_field),
3079         (gst_structure_from_string):
3080           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3081           so that gst_parse_launch() can deal with spaces in filtered link
3082           caps (fixes #164479)
3083         * check/gst/capslist.h:
3084         * check/gst/gststructure.c: (GST_START_TEST):
3085           add unit tests for this change
3086
3087 2005-11-10  Wim Taymans  <wim@fluendo.com>
3088
3089         * docs/gst/gstreamer-sections.txt:
3090         * gst/gstelement.c:
3091         * gst/gstelement.h:
3092         Fix docs, move some STATE macros to private.
3093
3094 2005-11-10  Wim Taymans  <wim@fluendo.com>
3095
3096         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3097         Added check for bug #317341
3098
3099         * gst/gstbuffer.c:
3100         * gst/gstbuffer.h:
3101         Some more spiffifying.
3102
3103         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3104         Call peer linkfunction if we are a source pad. Totally fixes
3105         #317341
3106
3107         * gst/gstpad.c:
3108         Update docs, source pads should call the peer linkfunction
3109         so they can atomically perform the pad link.
3110
3111 2005-11-09  Wim Taymans  <wim@fluendo.com>
3112
3113         * gst/gstbuffer.c:
3114         * gst/gstbuffer.h:
3115         Uber-spiffy-spiffify some more.
3116
3117 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3118
3119         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3120         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3121         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3122         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3123         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3124         * gst/gstpad.c: (gst_pad_init):
3125           Use GST_DEBUG_FUNCPTR() more extensively.
3126
3127 2005-11-09  Wim Taymans  <wim@fluendo.com>
3128
3129         * gst/gstobject.c: (gst_object_class_init):
3130         * gst/gstobject.h:
3131         Documentation fixes.
3132
3133 2005-11-09  Edward Hervey  <edward@fluendo.com>
3134
3135         * gst/gsttypefindfactory.c:
3136         Fix docs.
3137         
3138 2005-11-09  Edward Hervey  <edward@fluendo.com>
3139
3140         * gst/base/gsttypefindhelper.c:
3141         * gst/gsttypefind.c:
3142         * gst/gsttypefind.h:
3143         Fix docs.
3144
3145 2005-11-09  Wim Taymans  <wim@fluendo.com>
3146
3147         * gst/gstiterator.c:
3148         Fix revision data.
3149
3150         * gst/gsttask.c:
3151         * gst/gsttask.h:
3152         Fix docs.
3153
3154 2005-11-09  Wim Taymans  <wim@fluendo.com>
3155
3156         * gst/gstevent.h:
3157         * gst/gsturi.h:
3158         Fix docs.
3159
3160 2005-11-09  Wim Taymans  <wim@fluendo.com>
3161
3162         * docs/gst/gstreamer-sections.txt:
3163         Moved the message async delivery private lock and cond
3164         to the private section.
3165
3166         * gst/gstmessage.c:
3167         * gst/gstmessage.h:
3168         Fixed docs.
3169
3170 2005-11-09  Edward Hervey  <edward@fluendo.com>
3171
3172         * docs/gst/gstreamer-sections.txt:
3173         * gst/gsturi.c:
3174         * gst/gsturi.h:
3175         Document GstURIHandler
3176
3177 2005-11-09  Wim Taymans  <wim@fluendo.com>
3178
3179         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3180         (gst_iterator_find_custom):
3181         * gst/gstiterator.h:
3182         Fix iterator docs.
3183
3184 2005-11-09  Wim Taymans  <wim@fluendo.com>
3185
3186         * gst/gstbin.h:
3187         Document another field.
3188
3189         * gst/gststructure.c:
3190         * gst/gststructure.h:
3191         Document.
3192
3193 2005-11-09  Wim Taymans  <wim@fluendo.com>
3194
3195         * gst/gstbin.h:
3196         Documented structs.
3197
3198 2005-11-09  Wim Taymans  <wim@fluendo.com>
3199
3200         * docs/gst/gstreamer-sections.txt:
3201         Added some new macros.
3202
3203         * gst/gstclock.c:
3204         * gst/gstclock.h:
3205         * gst/gstobject.h:
3206         Docs updates.
3207
3208 2005-11-09  Wim Taymans  <wim@fluendo.com>
3209
3210         * docs/design/part-TODO.txt:
3211         Some more items for the TODO
3212
3213         * gst/gstcaps.c:
3214         * gst/gstcaps.h:
3215         Document GstCaps.
3216
3217 2005-11-09  Andy Wingo  <wingo@pobox.com>
3218
3219         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3220         to work on something else now tho...
3221
3222         * gst/base/gstadapter.c: More adapter docs.
3223
3224         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3225         (gst_file_sink_stop): New functions, replace the state change
3226         handler.
3227         (gst_file_sink_class_init): Hook up the start and stop functions.
3228         (gst_file_sink_base_init): Don't set the state change handler any
3229         more. It was a bit ugly too, being set from here...
3230         (gst_file_sink_get_property, gst_file_sink_set_property):
3231         Cleanups...
3232         (gst_file_sink_set_location): More robust check that doesn't call
3233         GST_STATE. Ugggggg.
3234
3235 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3236
3237         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3238           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3239
3240 2005-11-08  Wim Taymans  <wim@fluendo.com>
3241
3242         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3243         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3244         (gst_base_sink_chain), (gst_base_sink_change_state):
3245         * gst/base/gstbasesink.h:
3246         * gst/base/gstbasesrc.h:
3247         * gst/gstelement.h:
3248         * gst/gstevent.h:
3249         Avoid excessive typechecking in macros.
3250
3251         * gst/gstminiobject.c: (gst_mini_object_get_type),
3252         (gst_mini_object_init), (gst_mini_object_new),
3253         (gst_mini_object_free):
3254         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3255         (gst_object_finalize):
3256         Remove cruft code, optimize alloc_trace.
3257
3258 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3259
3260         * docs/faq/gst-uninstalled:
3261           fix up PS1 for systems that try to reset it
3262
3263 2005-11-07  Wim Taymans  <wim@fluendo.com>
3264
3265         * gst/base/gstbasesrc.c: (gst_base_src_init),
3266         (gst_base_src_get_range):
3267         Set the segment_end to -1 initially. Fixed typefind.
3268
3269 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3270
3271         * gst/base/gstadapter.c:
3272           Debug category should be 'adapter', not 'GstAdapter'.
3273           
3274         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3275         (gst_collectpads_class_init), (gst_collectpads_init),
3276         (gst_collectpads_peek), (gst_collectpads_pop),
3277         (gst_collectpads_event), (gst_collectpads_chain):
3278           Add debug category and some debugging output. Use boilerplate
3279           macros. Remove some extraneous words from docs.
3280
3281 2005-11-05  Andy Wingo  <wingo@pobox.com>
3282
3283         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3284         macro.
3285
3286 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3287
3288         * docs/gst/gstreamer-sections.txt:
3289         * gst/gstcaps.h:
3290         * gst/gstinfo.c:
3291         * gst/gstminiobject.h:
3292         * gst/gstobject.h:
3293         * gst/gstutils.h:
3294           more docs added
3295
3296 2005-11-04  Wim Taymans  <wim@fluendo.com>
3297
3298         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3299         Small update to stop at the configured segment_end
3300         position.
3301
3302 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3303
3304         * gst/gstregistry.c:
3305         * gst/gstregistry.h:
3306           added missing docs
3307
3308 2005-11-04  Edward Hervey  <edward@fluendo.com>
3309
3310         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3311         Check if we are doing a segment seek and have arrived at the
3312         end of that segment.
3313
3314 2005-11-04  Wim Taymans  <wim@fluendo.com>
3315
3316         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3317         Don't leak a mutex unlock in case of an error.
3318
3319         * gst/gstbus.h:
3320         Doc fixes.
3321
3322 2005-11-04  Wim Taymans  <wim@fluendo.com>
3323
3324         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3325         (gst_bus_post):
3326         Get the context to wake up only once.
3327
3328 2005-11-03  Wim Taymans  <wim@fluendo.com>
3329
3330         * check/states/sinks.c: (GST_START_TEST):
3331         Uncomment fixed check.
3332
3333         * docs/design/part-TODO.txt:
3334         Updated TODO.
3335
3336         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3337         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3338         (gst_base_sink_get_position):
3339         If we are going to PLAYING, post the right pending state
3340         when we post the intermediate paused message.
3341
3342         * gst/gstelement.c: (gst_element_continue_state),
3343         (gst_element_set_state_func), (gst_element_change_state):
3344         Don't post state changes that were between the same state
3345         and were not ASYNC.
3346
3347 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3348
3349         * docs/gst/gstreamer-sections.txt:
3350         * gst/gstcaps.h:
3351         * gst/gstinfo.c:
3352         * gst/gstminiobject.h:
3353         * gst/gstobject.h:
3354         * gst/gstutils.h:
3355           more docs and doc style fixes
3356
3357 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3358
3359         * docs/gst/gstreamer-sections.txt:
3360         * gst/gstelement.c:
3361         * gst/gstminiobject.c:
3362         doc fixes
3363
3364 2005-11-03  Andy Wingo  <wingo@pobox.com>
3365
3366         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3367         state-changed messages actually have the right order and the right
3368         values.
3369
3370 2005-11-03  Wim Taymans  <wim@fluendo.com>
3371
3372         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3373         Added some more checks. Specifically the case where NO_PREROLL
3374         elements are in the pipeline.
3375
3376         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3377         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3378         (gst_base_sink_get_position):
3379         Post READY->PAUSED state change messages too.
3380         Fix bug where VOID was posted as pending state...
3381
3382         * gst/gstbin.c: (gst_bin_recalc_state):
3383         use _element_continue_state() to continue the state change.
3384
3385         * gst/gstelement.c: (gst_element_continue_state),
3386         (gst_element_commit_state), (gst_element_set_state_func),
3387         (gst_element_change_state), (gst_element_change_state_func):
3388         Lots of state change cleanups, assign the STATE_RETURN in
3389         a new continue_state() function that also propagates the
3390         last return value from a state change to the app.
3391         Update some debug statements with proper category.
3392
3393 2005-11-03  Wim Taymans  <wim@fluendo.com>
3394
3395         * docs/design/part-events.txt:
3396         * docs/design/part-gstpipeline.txt:
3397         * docs/design/part-messages.txt:
3398         * docs/design/part-overview.txt:
3399         * docs/design/part-seeking.txt:
3400         * docs/design/part-states.txt:
3401         * docs/design/part-trickmodes.txt:
3402         * docs/manual/advanced-position.xml:
3403         Small docs updates.
3404
3405         * gst/gstobject.h:
3406         People think !! is ugly, this looks better.
3407
3408         * gst/gstpad.c: (gst_pad_set_blocked_async):
3409         Remove !! since it's fixed elsewhere now.
3410
3411 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3412
3413         * gst/gstminiobject.h:
3414         * gst/gstobject.h:
3415           Add !! to _FLAG_IS_SET macros to make the result boolean.
3416
3417 2005-11-03  Edward Hervey  <edward@fluendo.com>
3418
3419         * gst/gstpad.c: (gst_pad_set_blocked_async):
3420         comparing a flag and a gboolean rarely returns coherent results...
3421         Added two characters (!!) to make that work correctly.
3422         
3423 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3424
3425         * gst/gstbus.c: (gst_bus_class_init):
3426           Fix some typos.
3427           
3428         * gst/gstqueue.c: (gst_queue_loop):
3429           Don't assume a miniobject that isn't a buffer is an
3430           event (it could be that there is a refcounting
3431           problem somewhere and the pointer is stale and
3432           refers to an already destroyed miniobject).
3433
3434 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3435
3436         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3437
3438 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3439
3440         * docs/manual/advanced-position.xml:
3441           Update seek example and explanations to current 0.9 API.
3442
3443         * gst/elements/gsttypefindelement.c:
3444         (gst_type_find_element_activate):
3445           Remove FIXME comment now that the found caps
3446           are unreffed.
3447
3448 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3449
3450         * gst/gstregistryxml.c: (load_feature):
3451           Add another GST_STR_NULL instance
3452
3453 2005-11-02  Edward Hervey  <edward@fluendo.com>
3454
3455         * gst/gstpad.c: (handle_pad_block):
3456         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3457         
3458 2005-11-02  Wim Taymans  <wim@fluendo.com>
3459
3460         * gst/gstbin.c:
3461         Fix typo in docs.
3462
3463         * gst/gstelement.c: (gst_element_commit_state):
3464         Remove unused value.
3465
3466         * gst/gstiterator.c:
3467         Mention that the returned element is reffed in the docs.
3468
3469 2005-11-02  Wim Taymans  <wim@fluendo.com>
3470
3471         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3472         (gst_pad_push), (gst_pad_push_event):
3473         Unlock blocked pads when they are flushed.
3474
3475 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3476
3477         * docs/README:
3478         * docs/gst/gstreamer-sections.txt:
3479         * gst/gstbin.c:
3480           doc updates
3481         * gst/gstregistry.c: (gst_registry_scan_path_level):
3482           fix for a nasty little missed situation where an installed plug-in
3483           which was in the cache did not get overridden by an uninstalled one
3484           which was earlier in the plugin path because the newly created plugin
3485           for the uninstalled one (not in the registry) didn't get its
3486           ->registered set to TRUE
3487
3488 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3489
3490         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3491         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3492         (gst_collectpads_is_active), (gst_collectpads_collect),
3493         (gst_collectpads_collect_range), (gst_collectpads_start),
3494         (gst_collectpads_stop), (gst_collectpads_peek),
3495         (gst_collectpads_pop), (gst_collectpads_available),
3496         (gst_collectpads_read), (gst_collectpads_flush):
3497           Guard public API with assertions.
3498         
3499         * gst/gstpad.c:
3500           Fix docs for gst_pad_set_link_function().
3501
3502 2005-11-02  Johan Dahlin  <johan@gnome.org>
3503
3504         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3505         Unref found_caps after we used it.
3506
3507 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3508
3509         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3510           Don't try to ref NULL.
3511
3512 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3513
3514         * win32/common/config.h.in:
3515           provide a GST_FUNCTION that just gives a string for now
3516
3517 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3518
3519         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3520         (gst_object_flags_get_type), (register_gst_bin_flags),
3521         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3522         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3523         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3524         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3525         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3526         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3527         (gst_clock_flags_get_type), (register_gst_state),
3528         (gst_state_get_type), (register_gst_state_change_return),
3529         (gst_state_change_return_get_type), (register_gst_state_change),
3530         (gst_state_change_get_type), (register_gst_element_flags),
3531         (gst_element_flags_get_type), (register_gst_core_error),
3532         (gst_core_error_get_type), (register_gst_library_error),
3533         (gst_library_error_get_type), (register_gst_resource_error),
3534         (gst_resource_error_get_type), (register_gst_stream_error),
3535         (gst_stream_error_get_type), (register_gst_event_type),
3536         (gst_event_type_get_type), (register_gst_seek_type),
3537         (gst_seek_type_get_type), (register_gst_seek_flags),
3538         (gst_seek_flags_get_type), (register_gst_format),
3539         (gst_format_get_type), (register_gst_index_certainty),
3540         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3541         (gst_index_entry_type_get_type),
3542         (register_gst_index_lookup_method),
3543         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3544         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3545         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3546         (gst_index_flags_get_type), (register_gst_debug_level),
3547         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3548         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3549         (gst_iterator_result_get_type), (register_gst_iterator_item),
3550         (gst_iterator_item_get_type), (register_gst_message_type),
3551         (gst_message_type_get_type), (register_gst_mini_object_flags),
3552         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3553         (gst_pad_link_return_get_type), (register_gst_flow_return),
3554         (gst_flow_return_get_type), (register_gst_activate_mode),
3555         (gst_activate_mode_get_type), (register_gst_pad_direction),
3556         (gst_pad_direction_get_type), (register_gst_pad_flags),
3557         (gst_pad_flags_get_type), (register_gst_pad_presence),
3558         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3559         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3560         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3561         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3562         (gst_plugin_flags_get_type), (register_gst_rank),
3563         (gst_rank_get_type), (register_gst_query_type),
3564         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3565         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3566         (gst_tag_flag_get_type), (register_gst_task_state),
3567         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3568         (gst_alloc_trace_flags_get_type),
3569         (register_gst_type_find_probability),
3570         (gst_type_find_probability_get_type), (register_gst_uri_type),
3571         (gst_uri_type_get_type), (register_gst_parse_error),
3572         (gst_parse_error_get_type):
3573         * win32/common/gstversion.h:
3574           update win32 copies
3575
3576 2005-11-01  Luca Ognibene  <luogni@tin.it>
3577
3578         * gst/gst.c:
3579           fix docs. popt is dead, long live GOption.
3580
3581 2005-10-31  Wim Taymans  <wim@fluendo.com>
3582
3583         * gst/gstbuffer.h:
3584         Small doc fix.
3585
3586 2005-10-31  Andy Wingo  <wingo@pobox.com>
3587
3588         * Boo!
3589
3590         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3591
3592         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3593         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3594         the possibility of deadlocks here if code calling notify() or
3595         set() has a lock that can be taken in another notify handler (ABBA
3596         with class lock and e.g. python GIL state lock).
3597
3598 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3599
3600         * gst/gstbus.c: Doc updates.
3601
3602 2005-10-28  Wim Taymans  <wim@fluendo.com>
3603
3604         * docs/design/part-TODO.txt:
3605         * gst/gstiterator.c:
3606         * gst/gstsystemclock.c:
3607         * gst/gstsystemclock.h:
3608         Doc updates.
3609
3610 2005-10-28  Edward Hervey  <edward@fluendo.com>
3611
3612         * docs/gst/gstreamer-docs.sgml:
3613         * docs/gst/gstreamer-sections.txt:
3614         the GstURIType documentation page is private, it only defines GstURIType
3615         which should be defined in the GstURIHandler page
3616         
3617 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3618
3619         * gst/gstbin.c: (gst_bin_class_init):
3620         * gst/gstbin.h:
3621         * gst/gstutils.c:
3622         Documentation updates.
3623
3624 2005-10-28  Wim Taymans  <wim@fluendo.com>
3625
3626         * docs/gst/gstreamer-sections.txt:
3627         * gst/gstclock.c:
3628         * gst/gstclock.h:
3629         Documented the clocks.
3630
3631 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3632
3633         * docs/gst/gstreamer-sections.txt:
3634           move some macros to private sections
3635         * gst/gstminiobject.c:
3636         * gst/gstminiobject.h:
3637           add descriptions provided by ds and some more
3638         * gst/gstpad.h:
3639           mark macro as to be removed
3640
3641 2005-10-28  Wim Taymans  <wim@fluendo.com>
3642
3643         * docs/design/part-TODO.txt:
3644         Add an item to TODO.
3645
3646         * gst/gstiterator.c: (gst_iterator_fold),
3647         (gst_iterator_find_custom):
3648         * gst/gstiterator.h:
3649         Add iterator docs.
3650
3651 2005-10-28  Wim Taymans  <wim@fluendo.com>
3652
3653         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3654         (gst_base_transform_init):
3655         Don't leak class.
3656
3657         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3658         An EOS event marks the queue as completely filled.
3659
3660 2005-10-27  Wim Taymans  <wim@fluendo.com>
3661
3662         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3663         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3664         Some more debugging.
3665
3666         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3667         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3668         (gst_base_transform_event), (gst_base_transform_getrange),
3669         (gst_base_transform_chain):
3670         * gst/base/gstbasetransform.h:
3671         Fix debugging,
3672         Protect transform and concurrent buffer alloc with a new lock.
3673         Try not to break ABI/API.
3674
3675 2005-10-27  Wim Taymans  <wim@fluendo.com>
3676
3677         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3678         (gst_base_src_init), (gst_base_src_query),
3679         (gst_base_src_default_newsegment),
3680         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3681         (gst_base_src_send_event), (gst_base_src_event_handler),
3682         (gst_base_src_pad_get_range), (gst_base_src_loop),
3683         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3684         (gst_base_src_start), (gst_base_src_deactivate),
3685         (gst_base_src_activate_push), (gst_base_src_change_state):
3686         Move some stuff around and cleanup things.
3687
3688 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3689
3690         * gst/base/gstbasesrc.c: (gst_base_src_query):
3691           Add missing break statements.
3692
3693 2005-10-27  Wim Taymans  <wim@fluendo.com>
3694
3695         * check/gst/gstbin.c: (GST_START_TEST):
3696         An extra refcount is taken in basesrc.
3697
3698         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3699         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3700         (gst_base_src_loop):
3701         Small cleanups, check for flushing after being unlocked from the 
3702         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3703         Don't send out EOS when going to READY.
3704
3705 2005-10-27  Wim Taymans  <wim@fluendo.com>
3706
3707         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3708         (gst_base_sink_get_position):
3709         Some more debug.
3710
3711         * gst/gstbin.c: (message_check), (bin_replace_message),
3712         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3713         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3714         (bin_query_duration_init), (bin_query_duration_fold),
3715         (bin_query_duration_done), (bin_query_generic_fold),
3716         (gst_bin_query):
3717         * tools/gst-launch.c: (main):
3718         Remove old option.
3719
3720 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3721
3722         * examples/controller/audio-example.c: (main):
3723         * examples/queue/queue.c: (event_loop):
3724         * gst/base/gstbasetransform.h:
3725         * gst/gstelement.c: (gst_element_send_event):
3726         * gst/gstevent.h:
3727         * gst/gstpad.c: (gst_pad_send_event):
3728           fixing examples
3729           fixing docs typos
3730           changing log priority in error situations
3731
3732 2005-10-25  Wim Taymans  <wim@fluendo.com>
3733
3734         * gst/gstbin.c: (message_check), (bin_replace_message),
3735         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3736         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3737         (bin_query_duration_init), (bin_query_duration_fold),
3738         (bin_query_duration_done), (bin_query_generic_fold),
3739         (gst_bin_query):
3740         Some doc and debug updates.
3741         Cache previously requested query DURATION for speed. invalidate
3742         cached duration if element posts a DURATION message.
3743
3744 2005-10-25  Wim Taymans  <wim@fluendo.com>
3745
3746         * docs/design/part-TODO.txt:
3747         Update TODO.
3748
3749         * gst/gstbin.c: (message_check), (bin_replace_message),
3750         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3751         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3752         (bin_query_duration_init), (bin_query_duration_fold),
3753         (bin_query_duration_done), (bin_query_generic_fold),
3754         (gst_bin_query):
3755         Handle SEGMENT_START/DONE messages correctly.
3756         More evolved query algorithm that handles duration queries
3757         correctly.
3758
3759         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3760         (gst_element_get_state_func), (gst_element_abort_state),
3761         (gst_element_commit_state), (gst_element_lost_state):
3762         Some more debugging.
3763
3764         * gst/gstmessage.h:
3765         Added doc.
3766
3767 2005-10-25  Wim Taymans  <wim@fluendo.com>
3768
3769         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3770         Don't use invalid stream_time.
3771
3772         * gst/gstevent.c: (gst_event_new_newsegment):
3773         stream_time in newsegment cannot be undefined.
3774
3775 2005-10-24  Wim Taymans  <wim@fluendo.com>
3776
3777         * gst/gstbus.c:
3778         Doc fix.
3779
3780         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3781         (gst_queue_loop):
3782         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3783
3784 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3785
3786         * docs/libs/tmpl/gstdparam.sgml:
3787         * docs/libs/tmpl/gstdplinint.sgml:
3788         * docs/libs/tmpl/gstdpman.sgml:
3789         * docs/libs/tmpl/gstdpsmooth.sgml:
3790         * docs/libs/tmpl/gstunitconvert.sgml:
3791           these are obsolete
3792
3793 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3794
3795         * configure.ac:
3796           back to HEAD
3797
3798 === release 0.9.4 ===
3799
3800 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3801
3802         * configure.ac:
3803           releasing 0.9.4, "Tyrannosaurus Rex"
3804
3805 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3806
3807         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3808         (gst_file_sink_get_current_offset):
3809           Use fseeko() and ftello() if available. When falling back on
3810           lseek() to get the current offset, fflush() first to make sure
3811           everything is up-to-date and we get the right offset.
3812
3813 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3814
3815         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3816         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3817         * gst/gsterror.c: (_gst_stream_errors_init):
3818         * gst/gsterror.h:
3819         * gst/gstqueue.c: (gst_queue_loop):
3820         * po/POTFILES.in:
3821           remove prematurely added error category and clean up the instances
3822
3823 2005-10-21  Wim Taymans  <wim@fluendo.com>
3824
3825         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3826         (gst_base_sink_get_position), (gst_base_sink_query),
3827         (gst_base_sink_change_state):
3828         Simply set the right flag when going to playing, that's all
3829         we need to do instead of calling a function inside the object
3830         lock (that could take the lock as well and deadlock)
3831
3832 2005-10-21  Wim Taymans  <wim@fluendo.com>
3833
3834         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3835         (gst_base_src_loop):
3836         Don't warn, the peer element knows what to do best when
3837         the seek failed, it might try something else.
3838
3839 2005-10-21  Wim Taymans  <wim@fluendo.com>
3840
3841         * gst/base/gstbasesrc.c: (gst_base_src_init),
3842         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3843         Fix seeking.
3844
3845 2005-10-21  Wim Taymans  <wim@fluendo.com>
3846
3847         * docs/design/part-segments.txt:
3848         More docs.
3849
3850         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3851         Correctly set caps, even on the subbufer.
3852
3853 2005-10-21  Wim Taymans  <wim@fluendo.com>
3854
3855         * docs/gst/gstreamer-docs.sgml:
3856         * docs/gst/gstreamer-sections.txt:
3857         * gst/gstelement.h:
3858         * gst/gstevent.c:
3859         * gst/gstevent.h:
3860         * gst/gstmessage.h:
3861         * gst/gstpad.h:
3862         * gst/gstparse.h:
3863         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3864         * gst/gsttask.h:
3865         * gst/gstutils.c:
3866         * gst/gstutils.h:
3867         And 2% more doc coverage.
3868
3869 2005-10-21  Andy Wingo  <wingo@pobox.com>
3870
3871         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3872         position reporting.
3873
3874 2005-10-20  Wim Taymans  <wim@fluendo.com>
3875
3876         * gst/gsterror.c: (gst_error_get_message):
3877         * gst/gstparse.h:
3878         * gst/gstquery.h:
3879         * gst/gststructure.c:
3880         * gst/gsttrace.c:
3881         * gst/gstutils.c:
3882         More docs.
3883
3884 2005-10-20  Wim Taymans  <wim@fluendo.com>
3885
3886         * gst/gstbuffer.h:
3887         * gst/gstpad.c:
3888         * gst/gstparse.c:
3889         Another 1% more coverage.
3890
3891 2005-10-20  Wim Taymans  <wim@fluendo.com>
3892
3893         * docs/gst/gstreamer-sections.txt:
3894         * gst/gstelement.c: (gst_element_get_state_func),
3895         (gst_element_abort_state), (gst_element_commit_state),
3896         (gst_element_lost_state):
3897         * gst/gstevent.h:
3898         * gst/gstquery.c: (gst_query_set_position),
3899         (gst_query_parse_position), (gst_query_set_duration),
3900         (gst_query_parse_duration), (gst_query_new_convert):
3901         * gst/gstutils.c:
3902         Yay! 1% more docs coverage.
3903
3904 2005-10-20  Wim Taymans  <wim@fluendo.com>
3905
3906         * gst/gstpad.h:
3907         * gst/gstquery.c: (gst_query_set_position),
3908         (gst_query_parse_position), (gst_query_set_duration),
3909         (gst_query_parse_duration), (gst_query_new_convert):
3910         * gst/gstquery.h:
3911         * gst/gstutils.c: (gst_element_query_convert):
3912         * gst/gstutils.h:
3913         Docs and consistency fixes.
3914
3915 2005-10-20  Wim Taymans  <wim@fluendo.com>
3916
3917         * gst/gsttask.c:
3918         * gst/gsttask.h:
3919         More docs.
3920
3921 2005-10-20  Wim Taymans  <wim@fluendo.com>
3922
3923         * gst/gstbin.c: (message_check), (bin_replace_message),
3924         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3925         (update_degree), (gst_bin_sort_iterator_next),
3926         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3927         Reworked the message handling a bit, cache the messages instead of
3928         only the senders. alows us to do more in the future.
3929
3930 2005-10-20  Wim Taymans  <wim@fluendo.com>
3931
3932         * docs/design/part-TODO.txt:
3933         Update TODO
3934
3935         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3936         (gst_base_sink_query):
3937         Don't use clock time to report position when in EOS.
3938
3939 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3940
3941         * tools/gst-inspect.c: (print_interfaces),
3942         (print_element_properties_info), (print_element_info):
3943           Fix interface output with gst-inspect -a; don't print
3944           newlines after double/float properties.
3945
3946 2005-10-20  Wim Taymans  <wim@fluendo.com>
3947
3948         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3949         (gst_base_sink_query):
3950         Speed up current position calculation.
3951
3952         * gst/base/gstbasesrc.c: (gst_base_src_query),
3953         (gst_base_src_default_newsegment):
3954         Correctly set stream position in newsegment.
3955
3956         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3957         (update_degree), (gst_bin_sort_iterator_next),
3958         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3959         * gst/gstmessage.c: (gst_message_new_custom):
3960         Clean up debugging info
3961
3962         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3963         (gst_queue_loop), (gst_queue_handle_src_query):
3964         Pause task faster.
3965
3966 2005-10-19  Wim Taymans  <wim@fluendo.com>
3967
3968         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3969         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3970         Fix query handling again.
3971
3972 2005-10-19  Wim Taymans  <wim@fluendo.com>
3973
3974         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3975         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3976         * gst/base/gstbasesrc.c: (gst_base_src_query):
3977         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3978         * gst/elements/gsttypefindelement.c:
3979         (gst_type_find_handle_src_query), (find_element_get_length),
3980         (gst_type_find_element_activate):
3981         API change fix.
3982
3983         * gst/gstquery.c: (gst_query_new_position),
3984         (gst_query_set_position), (gst_query_parse_position),
3985         (gst_query_new_duration), (gst_query_set_duration),
3986         (gst_query_parse_duration), (gst_query_set_segment),
3987         (gst_query_parse_segment):
3988         * gst/gstquery.h:
3989         Bundling query position/duration is not a good idea since duration
3990         does not change much and we don't want to recalculate it for every
3991         position query, so they are separated again..
3992         Base value in segment query is not needed.
3993
3994         * gst/gstqueue.c: (gst_queue_handle_src_query):
3995         * gst/gstutils.c: (gst_element_query_position),
3996         (gst_element_query_duration), (gst_pad_query_position),
3997         (gst_pad_query_duration):
3998         * gst/gstutils.h:
3999         Updates for query API change.
4000         Added some docs here and there.
4001
4002 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4003
4004         * check/gst/gstbin.c: (GST_START_TEST):
4005         * check/gst/gstghostpad.c: (GST_START_TEST):
4006         * check/pipelines/cleanup.c: (GST_START_TEST):
4007           wait on thread to die so we can check refcount correctly
4008
4009 2005-10-18  Wim Taymans  <wim@fluendo.com>
4010
4011         * check/pipelines/stress.c: (GST_START_TEST):
4012         Make check a little more time consuming.
4013
4014 2005-10-18  Wim Taymans  <wim@fluendo.com>
4015
4016         * check/Makefile.am:
4017         * check/pipelines/stress.c: (GST_START_TEST),
4018         (simple_launch_lines_suite), (main):
4019         Small state change torture test.
4020
4021         * docs/design/part-states.txt:
4022         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4023         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4024         (gst_base_sink_change_state):
4025         Never take state lock from streaming thread, clean up ugly
4026         hacks. Unfortunatly core does not yet support nice ways to
4027         async commit state.
4028         
4029         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4030         (bin_bus_handler):
4031         Start state recalc if a STATE_DIRTY message is posted, but only
4032         on the toplevel bin.
4033
4034         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4035         (gst_element_get_state_func), (gst_element_abort_state),
4036         (gst_element_commit_state), (gst_element_lost_state),
4037         (gst_element_set_state_func), (gst_element_change_state):
4038         * gst/gstelement.h:
4039         State variables are now protected with the LOCK, the state
4040         lock is only used to serialize _set_state().
4041
4042 2005-10-18  Wim Taymans  <wim@fluendo.com>
4043
4044         * check/gst/gstbin.c: (GST_START_TEST):
4045         * check/gst/gstmessage.c: (GST_START_TEST):
4046         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4047         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4048         (bin_bus_handler):
4049         * gst/gstelement.c: (gst_element_abort_state),
4050         (gst_element_commit_state), (gst_element_lost_state):
4051         * gst/gstmessage.c: (gst_message_new_state_changed),
4052         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4053         (gst_message_new_segment_done), (gst_message_new_duration),
4054         (gst_message_parse_state_changed),
4055         (gst_message_parse_segment_start),
4056         (gst_message_parse_segment_done), (gst_message_parse_duration):
4057         * gst/gstmessage.h:
4058         * tools/gst-launch.c: (event_loop):
4059         Seriously, this is better than a previous commit as we only need
4060         to notify the fact that an element changed state in a streaming
4061         thread, marking the state of the parents dirty, hence the 
4062         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4063         message.
4064
4065 2005-10-18  Wim Taymans  <wim@fluendo.com>
4066
4067         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4068         (gst_bin_recalc_func):
4069         * gst/gstelement.c: (gst_element_set_clock),
4070         (gst_element_abort_state), (gst_element_lost_state):
4071         Cleanups, prepare for state change fixes.
4072
4073 2005-10-18  Wim Taymans  <wim@fluendo.com>
4074
4075         * gst/gstbin.h:
4076         * gst/gstelement.c: (gst_element_class_init),
4077         (gst_element_set_state), (gst_element_set_state_func):
4078         * gst/gstelement.h:
4079         Pending ABI changes.
4080         GThreadPool in GstBinClass to monitor async state changes.
4081         state_cookie in GstElement to detect concurrent gst/set state.
4082         set_state is now virtual too in case a very complicated element
4083         has to be constructed.
4084
4085 2005-10-18  Wim Taymans  <wim@fluendo.com>
4086
4087         * check/gst/gstbin.c: (GST_START_TEST):
4088         * check/gst/gstmessage.c: (GST_START_TEST):
4089         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4090         * gst/gstbin.c: (bin_bus_handler):
4091         * gst/gstelement.c: (gst_element_commit_state),
4092         (gst_element_lost_state):
4093         * gst/gstmessage.c: (gst_message_new_state_changed),
4094         (gst_message_new_segment_start), (gst_message_new_segment_done),
4095         (gst_message_new_duration), (gst_message_parse_state_changed),
4096         (gst_message_parse_segment_start),
4097         (gst_message_parse_segment_done), (gst_message_parse_duration):
4098         * gst/gstmessage.h:
4099         * tools/gst-launch.c: (event_loop):
4100         Make messages future proof.
4101         state-change gets a flag if it was a message comming from the
4102         streaming thread.
4103         segment-start/stop can also be specified in other formats.
4104         A message to notify an app that a pipeline changed playback 
4105         duration.
4106         Also fix a GstMessage leak in -launch
4107
4108 2005-10-18  Andy Wingo  <wingo@pobox.com>
4109
4110         * gst/gstelement.c (gst_element_dispose): More helpful message.
4111
4112 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4113
4114         reviewed by: <delete if not using a buddy>
4115
4116         * common/gtk-doc.mak:
4117
4118 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4119
4120         * gst/gstregistry.c: (gst_registry_scan_path_level):
4121           unref a plug-in we get that was already initialized
4122
4123 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4124
4125         * docs/gst/gstreamer-sections.txt:
4126         * docs/libs/gstreamer-libs-sections.txt:
4127         * gst/gstelement.h:
4128           add new api entries
4129           hide internal macro
4130
4131 2005-10-17  Andy Wingo  <wingo@pobox.com>
4132
4133         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4134         cleanup.
4135
4136         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4137
4138         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4139
4140         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4141         (gst_element_get_state_func): Better debug message.
4142         (gst_element_commit_state): s/INFO/DEBUG/.
4143         (gst_element_lost_state, gst_element_change_state): 
4144
4145         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4146         (gst_message_new_custom): s/INFO/LOG/.
4147
4148 2005-10-17  Michael Smith <msmith@fluendo.com>
4149
4150         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4151           Check if end time is valid using end time, not start time.
4152
4153 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4154
4155         * check/gst-libs/controller.c: (GST_START_TEST),
4156         (gst_controller_suite):
4157         * libs/gst/controller/gstcontroller.c:
4158         (gst_controlled_property_set_interpolation_mode):
4159         * libs/gst/controller/gstcontroller.h:
4160         * libs/gst/controller/gstinterpolation.c:
4161         * testsuite/controller/.cvsignore:
4162         * testsuite/controller/Makefile.am:
4163         * testsuite/controller/interpolator.c:
4164           merge controller testsuites
4165           fix broken tests
4166           remove mem-chunk from docs
4167
4168 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4169
4170         * gst/gstmemchunk.c:
4171         * gst/gstmemchunk.h:
4172         * gst/gsttrashstack.c:
4173         * gst/gsttrashstack.h:
4174           out.  get out.  you're fired.  to the Attic !
4175
4176 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4177
4178         * gst/gstcaps.c: (gst_caps_intersect):
4179           fix signedness issues in a (hopefully) correct way
4180         * gst/gstelement.c: (gst_element_pads_activate):
4181           some debugging
4182         * gst/gstobject.c: (gst_object_set_parent):
4183           some debugging
4184
4185 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4186
4187         * gst/gstvalue.h: Fix prototypes.
4188
4189 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4190
4191         * docs/gst/gstreamer-sections.txt:
4192         * gst/gst.c: (gst_version_string):
4193         * gst/gst.h:
4194         * gst/gstversion.h.in:
4195         * win32/common/libgstreamer.def:
4196           add gst_version_string ()
4197
4198 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4199
4200         * configure.ac:
4201           clean up further
4202         * gst/gst.c: (init_post):
4203         * win32/common/config.h.in:
4204           it's PLUGINDIR now
4205         * gst/gstcaps.c: (gst_caps_intersect):
4206           use gint64, the range could be bigger than a guint
4207
4208 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4209
4210         * gst/gstclock.h:
4211           document potential problem in 2038
4212
4213 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4214
4215         * gst/gstcaps.c: (gst_caps_intersect):
4216           Fix guint j diving under 0
4217
4218 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4219
4220         * configure.ac:
4221         * win32/common/config.h:
4222         * win32/common/config.h.in:
4223           check for process.h, declares getpid() on Windows
4224         * gst/gstinfo.c:
4225           include process.h if we have it
4226         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4227         * gst/gstmemchunk.h:
4228           fix signedness issues
4229         * win32/common/libgstreamer.def:
4230           fix get_type's
4231
4232 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4233
4234         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4235         fix. Because of unsigned ints, caps intersection was going nuts and
4236         trying to access structures with G_MAXUINT index. That fixes
4237         videotestsrc ! ffmpegcolorspace ! fakesink
4238         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4239         consistency.
4240
4241 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4242
4243         * configure.ac:
4244           use the gettext macro
4245         * gst/elements/gstelements.c:
4246         * gst/gst.c:
4247         * gst/indexers/gstindexers.c:
4248           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4249         * win32/common/config.h:
4250           updated config.h
4251         * win32/common/config.h.in:
4252           add the template to generate config.h
4253         * win32/common/gstenumtypes.c:
4254         * win32/common/gstversion.h:
4255           updated copies
4256
4257 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4258
4259         * gst/gst.c: (gst_version):
4260         * gst/gstversion.h.in:
4261           add the nano
4262
4263 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4264
4265         * gst/gstevent.h:
4266           Oops, add missing closing bracket.
4267
4268 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4269
4270         * configure.ac:
4271           use common m4's for argument checking
4272
4273 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4274
4275         * docs/gst/gstreamer-sections.txt:
4276         * gst/gstevent.h:
4277           Add GST_EVENT_TYPE_NAME() macro.
4278
4279 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4280
4281         * gst/gstinfo.c:
4282         * gst/gstpluginfeature.c:
4283         * gst/gsttask.c:
4284           privatize more symbols
4285
4286 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4287
4288         * configure.ac:
4289           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4290           everything that uses GStreamer API should have the includes
4291
4292 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4293
4294         * docs/gst/gstreamer-sections.txt:
4295         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4296         * gst/gstvalue.h:
4297           give each value a _get_type, removes the DATA exports
4298
4299 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4300
4301         * gst/gst.c:
4302         * gst/gst.h:
4303           remove _gst_registry_auto_load, not used anymore
4304         * gst/gstbin.c: (gst_bin_get_type):
4305         * gst/gstbin.h:
4306         * gst/gstelement.c: (gst_element_get_type):
4307         * gst/gstelement.h:
4308         * gst/gstobject.c: (gst_object_get_type):
4309         * gst/gstobject.h:
4310         * gst/gstpad.c: (gst_pad_get_type):
4311         * gst/gstpad.h:
4312           make _get_type functions similar, fixes data export from library
4313
4314 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4315
4316         * configure.ac:
4317           correctly make conditionals
4318         * gst/elements/Makefile.am:
4319         * gst/elements/gstelements.c:
4320           fix typo causing fdsrc not to build
4321
4322 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4323
4324         * testsuite/Makefile.am:
4325         * testsuite/bytestream/.cvsignore:
4326         * testsuite/bytestream/Makefile.am:
4327         * testsuite/bytestream/filepadsink.c:
4328         * testsuite/bytestream/gstbstest.c:
4329         * testsuite/bytestream/test1.c:
4330         * testsuite/bytestream/testfile1:
4331         * testsuite/caps/normalisation.c:
4332         * testsuite/caps/random.c: (main):
4333         * testsuite/cleanup/.cvsignore:
4334         * testsuite/cleanup/Makefile.am:
4335         * testsuite/cleanup/cleanup1.c:
4336         * testsuite/cleanup/cleanup2.c:
4337         * testsuite/cleanup/cleanup3.c:
4338         * testsuite/cleanup/cleanup4.c:
4339         * testsuite/cleanup/cleanup5.c:
4340         * testsuite/controller/interpolator.c:
4341         * testsuite/debug/printf_extension.c: (main):
4342         * testsuite/elements/tee.c:
4343         * testsuite/negotiation/.cvsignore:
4344         * testsuite/negotiation/Makefile.am:
4345         * testsuite/negotiation/pad_link.c:
4346         * testsuite/pad/Makefile.am:
4347         * testsuite/pad/chainnopull.c:
4348         * testsuite/pad/getnopush.c:
4349         * testsuite/pad/link.c:
4350         * testsuite/refcounting/sched.c: (create_pipeline):
4351         * testsuite/registry/Makefile.am:
4352         * testsuite/registry/gst-print-formats.c:
4353         * testsuite/schedulers/.cvsignore:
4354         * testsuite/schedulers/142183-2.c:
4355         * testsuite/schedulers/142183.c:
4356         * testsuite/schedulers/143777-2.c:
4357         * testsuite/schedulers/143777.c:
4358         * testsuite/schedulers/147713.c:
4359         * testsuite/schedulers/147819.c:
4360         * testsuite/schedulers/147894-2.c:
4361         * testsuite/schedulers/147894.c:
4362         * testsuite/schedulers/Makefile.am:
4363         * testsuite/schedulers/group_link.c:
4364         * testsuite/schedulers/queue_link.c:
4365         * testsuite/schedulers/relink.c:
4366         * testsuite/schedulers/unlink.c:
4367         * testsuite/schedulers/unref.c:
4368         * testsuite/schedulers/useless_iteration.c:
4369         * testsuite/states/bin.c:
4370           clean out/remove some stuff from the testsuite directories
4371
4372 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4373
4374         * configure.ac:
4375           check for some headers
4376         * gst/elements/Makefile.am:
4377         * gst/elements/gstelements.c:
4378           don't compile fdsrc without sys/socket.h
4379         * gst/indexers/Makefile.am:
4380         * gst/indexers/gstindexers.c: (plugin_init):
4381           don't compile fileindex without mmap
4382
4383 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4384
4385         * configure.ac:
4386           reorganize
4387           clean up
4388           document more
4389           remove cruft
4390         * check/Makefile.am:
4391         * docs/gst/Makefile.am:
4392         * examples/helloworld/Makefile.am:
4393         * gst/Makefile.am:
4394         * gst/base/Makefile.am:
4395         * gst/check/Makefile.am:
4396         * gst/elements/Makefile.am:
4397         * gst/indexers/Makefile.am:
4398         * gst/parse/Makefile.am:
4399         * libs/gst/controller/Makefile.am:
4400         * libs/gst/dataprotocol/Makefile.am:
4401         * examples/helloworld/helloworld.c: (event_loop):
4402           compile fixes, though it's not being compiled currently
4403
4404 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4405
4406         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4407           Add some simple tests for the new taglist date API.
4408
4409 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4410
4411         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4412         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4413           Beautify 'last-message' output: print 'none' for buffer timestamps
4414           and durations if none is set; improve alignment with next messages.
4415
4416 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4417
4418         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4419         * gst/gstpluginfeature.h:
4420         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4421         * gst/gstregistry.h:
4422         * docs/gst/gstreamer-sections.txt:
4423           Add new API to check plugin feature version requirements.
4424
4425         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4426           Some basic tests for the above.         
4427
4428 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4429
4430         * gst/gststructure.c: (gst_structure_to_string):
4431           guard against NULL printf - happens when for example
4432           a message structure with GstClock gets serialized
4433
4434 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4435
4436         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4437           Fix presumable copy'n'pasto.
4438
4439 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4440
4441         * gst/elements/gstfakesrc.h:
4442         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4443         * gst/elements/gsttypefindelement.c:
4444           fix some signedness
4445         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4446           I wonder if this could actually write +2GB files before
4447
4448 2005-10-13  Andy Wingo  <wingo@pobox.com>
4449
4450         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4451         Fix Timmeke Waymans bug.
4452         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4453         string of the proper length to gst_caps_from_string. There's a
4454         potential for, before this fix, that this could cause someone
4455         connecting over the network to cause a segfault if the payload is
4456         not NUL-terminated.
4457
4458 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4459
4460         * docs/design/draft-push-pull.txt:
4461         * docs/design/part-overview.txt:
4462         * docs/random/TODO-pre-0.9:
4463         * docs/random/old/ChangeLog.gstreamer:
4464         * gst/base/gstpushsrc.c:
4465         * gst/gstclock.c:
4466           fixed typos
4467
4468 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4469
4470         * gst/glib-compat.c: (gst_flags_get_first_value):
4471         * gst/glib-compat.h:
4472         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4473         (gst_value_compare_double), (gst_value_serialize_flags):
4474           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4475           infinite loop
4476
4477 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4478
4479         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4480         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4481           fix up debugging
4482         * tools/gst-launch.c: (event_loop):
4483           print out clock nicely
4484
4485 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4486
4487         * docs/gst/gstreamer-sections.txt:
4488         * gst/gsttaglist.h:
4489         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4490         (gst_tag_list_get_date_index):
4491           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4492           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4493
4494 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4495
4496         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4497         (gst_collectpads_chain):
4498         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4499         in CollectData.
4500
4501 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4502
4503         * docs/gst/gstreamer-sections.txt:
4504         * gst/gst.c:
4505         * gst/gsterror.h:
4506         * tools/gst-inspect.c: (main):
4507         * tools/gst-launch.c: (main):
4508         * tools/gst-run.c: (main):
4509         * tools/gst-xmlinspect.c: (main):
4510           fix GOption context leaks
4511           doc fixes
4512
4513 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4514
4515         * gst/gstbus.c:
4516           use HAVE_UNISTD_H
4517         * win32/common/config.h:
4518           update config
4519         * win32/vs6/grammar.dsp:
4520         * win32/vs6/libgstelements.dsp:
4521         * win32/vs6/libgstreamer.dsp:
4522           update vs6 files
4523
4524 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4525
4526         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4527         * gst/base/gstbasesrc.c: (gst_base_src_query):
4528           fix more guint64<->gdouble conversions
4529
4530 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4531
4532         * Makefile.am:
4533           add win32-update target
4534         * win32/common/gstconfig.h:
4535         * win32/common/gstenumtypes.c:
4536         * win32/common/gstenumtypes.h:
4537         * win32/common/gstversion.h:
4538           add files that visual studio can't generate
4539
4540 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4541
4542         * Makefile.am:
4543           add a win32-update target
4544         * configure.ac:
4545
4546 2005-10-12  Wim Taymans  <wim@fluendo.com>
4547
4548         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4549         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4550         * gst/gstelement.c: (gst_element_commit_state),
4551         (gst_element_set_state):
4552         Protect flags with proper lock.
4553         unref provided cached clock in dispose.
4554
4555 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4556
4557         * gst/gst.c:
4558         * gst/gstminiobject.h:
4559         * gst/gstpad.h:
4560         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4561           removed unused flags from miniobject
4562           doc fixes
4563
4564 2005-10-12  Wim Taymans  <wim@fluendo.com>
4565
4566         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4567         (gst_file_sink_event), (gst_file_sink_render):
4568         Flush before seeking.
4569
4570 2005-10-12  Andy Wingo  <wingo@pobox.com>
4571
4572         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4573         always been the case.
4574
4575 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4576
4577         * check/gst/gstbin.c: (GST_START_TEST):
4578         * docs/gst/gstreamer-sections.txt:
4579         * gst/base/gstbasesink.c: (gst_base_sink_init):
4580         * gst/base/gstbasesrc.c: (gst_base_src_init),
4581         (gst_base_src_get_range), (gst_base_src_check_get_range),
4582         (gst_base_src_start), (gst_base_src_stop):
4583         * gst/base/gstbasesrc.h:
4584         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4585         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4586         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4587         (bin_bus_handler):
4588         * gst/gstbin.h:
4589         * gst/gstbuffer.h:
4590         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4591         * gst/gstbus.h:
4592         * gst/gstelement.c: (gst_element_is_locked_state),
4593         (gst_element_set_locked_state), (gst_element_commit_state),
4594         (gst_element_set_state):
4595         * gst/gstelement.h:
4596         * gst/gstindex.c: (gst_index_init):
4597         * gst/gstindex.h:
4598         * gst/gstminiobject.h:
4599         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4600         (gst_object_set_parent):
4601         * gst/gstobject.h:
4602         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4603         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4604         * gst/gstpad.h:
4605         * gst/gstpadtemplate.h:
4606         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4607         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4608         * gst/gstpipeline.h:
4609         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4610         (gst_file_index_commit):
4611         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4612         * testsuite/pad/link.c: (gst_test_src_init),
4613         (gst_test_filter_init), (gst_test_sink_init):
4614         * testsuite/states/locked.c: (main):
4615           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4616           moved bitshift from macro to enum definition
4617
4618 2005-10-12  Wim Taymans  <wim@fluendo.com>
4619
4620         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4621         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4622         (gst_file_sink_render):
4623         Some more debugging info.
4624
4625 2005-10-12  Wim Taymans  <wim@fluendo.com>
4626
4627         * docs/design/part-states.txt:
4628         * tools/gst-launch.c: (main):
4629         Some doc updates.
4630         Revert non-intentional change.
4631
4632 2005-10-12  Wim Taymans  <wim@fluendo.com>
4633
4634         * check/gst/gstbin.c: (GST_START_TEST):
4635         * check/gst/gstelement.c: (GST_START_TEST):
4636         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4637         * check/gst/gstghostpad.c: (GST_START_TEST):
4638         * check/gst/gstpipeline.c: (GST_START_TEST):
4639         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4640         * check/states/sinks.c: (GST_START_TEST):
4641         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4642         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4643         (gst_bin_remove_func), (gst_bin_get_state_func),
4644         (gst_bin_recalc_state), (gst_bin_change_state_func),
4645         (bin_bus_handler):
4646         * gst/gstelement.c: (gst_element_get_state_func),
4647         (gst_element_get_state), (gst_element_abort_state),
4648         (gst_element_commit_state), (gst_element_set_state),
4649         (gst_element_change_state), (gst_element_change_state_func):
4650         * gst/gstelement.h:
4651         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4652         (gst_pipeline_provide_clock_func):
4653         * gst/gstutils.c: (gst_element_link_pads_filtered):
4654         * tools/gst-launch.c: (main):
4655         * tools/gst-typefind.c: (main):
4656         Use GstClockTime in _get_state() instead of GTimeVal.
4657         Remove old code in gstutils.c
4658
4659 2005-10-12  Andy Wingo  <wingo@pobox.com>
4660
4661         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4662         removed.
4663
4664         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4665         there is no task. Shouldn't affect any code, as nothing in our
4666         plugins checks this return value.
4667         (gst_pad_stop_task): Also take the stream lock if the pad has no
4668         task. Docs updated.
4669
4670 2005-10-12  Wim Taymans  <wim@fluendo.com>
4671
4672         * gst/gstpad.c: (pre_activate), (post_activate),
4673         (gst_pad_activate_pull), (gst_pad_activate_push):
4674         Cleanup activation code. Reset old state if
4675         activation failed.
4676
4677 2005-10-12  Wim Taymans  <wim@fluendo.com>
4678
4679         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4680         (gst_base_sink_change_state):
4681         No need to prerol after receiving EOS.
4682
4683         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4684         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4685         * gst/elements/gstidentity.c: (gst_identity_event):
4686         Print events more verbosely.
4687
4688 2005-10-12  Wim Taymans  <wim@fluendo.com>
4689
4690         * check/Makefile.am:
4691         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4692         * check/states/sinks2.c:
4693         Moved sinks2 testcode in sinks check.
4694
4695         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4696         (gst_bin_remove_func), (gst_bin_recalc_state),
4697         (gst_bin_change_state_func), (bin_bus_handler):
4698         Fix potential race condition when _get_state() iterated over an
4699         ASYNC element right before it posted a state completion.
4700
4701         * gst/gstclock.h:
4702         Do proper cast here.
4703
4704         * gst/gstevent.c: (gst_event_new_newsegment),
4705         (gst_event_parse_newsegment):
4706         A playback rate of 0.0 is not allowed.
4707
4708 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4709
4710         * win32/common/config.h:
4711         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4712         (_trewinddir), (_ttelldir), (_tseekdir):
4713         * win32/common/dirent.h:
4714         * win32/common/gtchar.h:
4715         * win32/common/libgstbase.def:
4716         * win32/common/libgstreamer.def:
4717         * win32/vs6/grammar.dsp:
4718         * win32/vs6/gst_inspect.dsp:
4719         * win32/vs6/gst_launch.dsp:
4720         * win32/vs6/gstreamer.dsw:
4721         * win32/vs6/libgstbase.dsp:
4722         * win32/vs6/libgstelements.dsp:
4723         * win32/vs6/libgstreamer.dsp:
4724           Visual Studio 6 project files, and a new common directory.
4725           Phear.
4726
4727 2005-10-11  Wim Taymans  <wim@fluendo.com>
4728
4729         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4730         (gst_base_sink_do_sync), (gst_base_sink_query),
4731         (gst_base_sink_change_state):
4732         * gst/base/gstbasesink.h:
4733         Correctly parse newsegment info.
4734
4735 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4736
4737         * gst/gst.c: (init_post):
4738           split plugin paths correctly
4739
4740 2005-10-11  Wim Taymans  <wim@fluendo.com>
4741
4742         * check/gst/gstevent.c: (GST_START_TEST):
4743         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4744         (gst_base_sink_change_state):
4745         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4746         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4747         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4748         * gst/gstevent.c: (gst_event_new_newsegment),
4749         (gst_event_parse_newsegment):
4750         * gst/gstevent.h:
4751         Added extra flag to newsegment for future API freeze.
4752         Updated check and base elements.
4753
4754 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4755
4756         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4757         (gst_collectpads_add_pad), (gst_collectpads_pop),
4758         (gst_collectpads_event), (gst_collectpads_chain):
4759         * gst/base/gstcollectpads.h: Handle EOS correctly.
4760
4761 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4762
4763         * tools/gst-launch.c: (main):
4764           more null protecting
4765
4766 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4767
4768         * gst/gst-i18n-lib.h:
4769           check for ENABLE_NLS, not GETTEXT_PACKAGE
4770         * gst/gstregistry.c: (gst_registry_add_plugin),
4771         (gst_registry_scan_path_level),
4772         (_gst_registry_remove_cache_plugins):
4773           protect possibly NULL strings
4774         * gst/parse/types.h:
4775           config.h already included before
4776         * tools/gst-inspect.c: (main):
4777           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4778           check for ENABLE_NLS, not GETTEXT_PACKAGE
4779         * tools/gst-launch.c: (main):
4780           check for ENABLE_NLS, not GETTEXT_PACKAGE
4781
4782 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4783
4784         * configure.ac:
4785           if we don't have glib, fail before testing 2.8
4786         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4787           fix a leak, should fix plugins-base testsuite
4788
4789 2005-10-11  Andy Wingo  <wingo@pobox.com>
4790
4791         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4792         take the mode we're going to as an arg. Go head and set the mode
4793         and flushing flags now, so that if the activate function starts a
4794         thread all the flags will be in the right state.
4795         (post_activate): Renamed also. Just handle making sure streaming
4796         finishes for the deactivation case, and setting the deactivated
4797         mode.
4798         (gst_pad_set_active): Complain loudly if deactivation fails.
4799         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4800         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4801         remove the terrible hack.
4802
4803 2005-10-11  Wim Taymans  <wim@fluendo.com>
4804
4805         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4806         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4807         (gst_bin_recalc_state), (gst_bin_change_state_func),
4808         (gst_bin_dispose), (bin_bus_handler):
4809         * gst/gstbin.h:
4810         Prepare to make current EOS message queue more generic.
4811         Fix some typos.
4812
4813         * gst/gstevent.c: (gst_event_new_newsegment),
4814         (gst_event_parse_newsegment):
4815         * gst/gstevent.h:
4816         Rename base to stream_time.
4817
4818         * gst/gstmessage.h:
4819         Fix typo in docs.
4820
4821 2005-10-11  Wim Taymans  <wim@fluendo.com>
4822
4823         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4824         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4825         (gst_bin_change_state_func), (bin_bus_handler):
4826         * gst/gstbin.h:
4827         Work on proper clock selection.
4828
4829 2005-10-11  Edward Hervey  <edward@fluendo.com>
4830
4831         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4832         * libs/gst/controller/gstcontroller.h:
4833         Added GList* version of _remove_properties() in order to be able to wrap
4834         it in bindings.
4835
4836 2005-10-11  Wim Taymans  <wim@fluendo.com>
4837
4838         * docs/design/part-states.txt:
4839         Some more docs.
4840
4841         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4842         (gst_bin_change_state_func), (bin_bus_handler):
4843         Doc updates. Don't distribute the same clock over and over again.
4844
4845         * gst/gstclock.c:
4846         * gst/gstclock.h:
4847         Doc updates.
4848
4849         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4850         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4851         (gst_pad_send_event):
4852         * gst/gstpad.h:
4853         Make probe emission threadsafe again.
4854         Register quarks and move _get_name() from utils.
4855         Doc updates.
4856
4857         * gst/gstpipeline.c: (gst_pipeline_class_init),
4858         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4859         Only redistribute the clock of it changed.
4860
4861         * gst/gstsystemclock.h:
4862         Doc updates. 
4863
4864         * gst/gstutils.c:
4865         * gst/gstutils.h:
4866         Moved the _flow_get_name() to GstPad.
4867
4868 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * check/gst-libs/gdp.c: (GST_START_TEST):
4871         * check/gst/gstcaps.c: (GST_START_TEST):
4872         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4873         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4874         (gst_dp_packet_from_caps):
4875           fix more valgrind warnings before turning up the heat
4876
4877 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4878
4879         * gst/parse/grammar.y:
4880           some cleanup before the hacking
4881
4882 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4883
4884         * gst/base/gstbasesrc.c: (gst_base_src_query):
4885           use conversions
4886         * gst/gstutils.c: (gst_guint64_to_gdouble),
4887         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4888         * gst/gstutils.h:
4889           externalize, basesrc uses it
4890           obviously the implementation needs testing
4891
4892 2005-10-10  Wim Taymans  <wim@fluendo.com>
4893
4894         * tests/sched/Makefile.am:
4895         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4896         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4897
4898 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4899
4900         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4901           apparently converting from guint64 to double is not implemented
4902           on MSVC
4903
4904 2005-10-10  Wim Taymans  <wim@fluendo.com>
4905
4906         * check/Makefile.am:
4907         * check/generic/states.c: (GST_START_TEST):
4908         * check/gst/gstbin.c: (GST_START_TEST):
4909         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4910         * check/states/sinks.c: (GST_START_TEST):
4911         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4912         (main):
4913         Check fixes, use API as stated in design docs, remove hacks.
4914
4915         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4916         (gst_base_sink_change_state):
4917         Catch stopping our task while we're shutting down.
4918
4919         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4920         (gst_bin_remove_func), (gst_bin_get_state_func),
4921         (gst_bin_recalc_state), (gst_bin_change_state_func),
4922         (bin_bus_handler):
4923         * gst/gstbin.h:
4924         * gst/gstelement.c: (gst_element_init),
4925         (gst_element_get_state_func), (gst_element_abort_state),
4926         (gst_element_commit_state), (gst_element_lost_state),
4927         (gst_element_set_state), (gst_element_change_state),
4928         (gst_element_change_state_func):
4929         * gst/gstelement.h:
4930         New state change algorithm (see #318116)
4931
4932         * gst/gstpipeline.c: (gst_pipeline_class_init),
4933         (gst_pipeline_init), (gst_pipeline_set_property),
4934         (gst_pipeline_get_property), (do_pipeline_seek),
4935         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4936         * gst/gstpipeline.h:
4937         Remove crude state change hacks.
4938
4939         * gst/gstutils.h:
4940         Remove crude hacks.
4941
4942         * tools/gst-launch.c: (main):
4943         Fixes for state change. Needs some more work to fully use the
4944         new stuff.
4945
4946 2005-10-10  Andy Wingo  <wingo@pobox.com>
4947
4948         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4949
4950         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4951         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4952         issue.
4953
4954 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4955
4956         * gst/gstiterator.c: (gst_iterator_new):
4957           Fix my previous commit: GTypes passed to gst_iterator_new()
4958           can be fundamental types.
4959
4960 2005-10-10  Wim Taymans  <wim@fluendo.com>
4961
4962         * gst/gstelement.c: (gst_element_iterate_pad_list),
4963         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4964         (gst_element_iterate_sink_pads):
4965         Use src/sink pads lists for the respective iterators instead
4966         of filtering.
4967
4968 2005-10-10  Andy Wingo  <wingo@pobox.com>
4969
4970         Merged in popt removal + GOption addition patch from Ronald, bug
4971         #169772.
4972
4973         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4974         GstElement macros around, remove popt-related symbols, add goption
4975         stuff.
4976
4977         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4978         
4979         * docs/gst/Makefile.am:
4980         * docs/libs/Makefile.am: No POPT_CFLAGS.
4981         
4982         * examples/manual/Makefile.am:
4983         * docs/manual/basics-init.xml: Doc updates with an example.
4984         
4985         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4986         (gst_init), (parse_one_option), (parse_goption_arg):
4987         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4988         bit of hand merging and debugging to get the GOption stuff working
4989         tho.
4990         
4991         * tests/Makefile.am:
4992         * tools/Makefile.am:
4993         * tools/gst-inspect.c: (main):
4994         * tools/gst-launch.c: (main):
4995         * tools/gst-run.c: (main):
4996         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4997
4998 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4999
5000         * gst/gstiterator.c: (gst_iterator_new):
5001           Add assertions to make sure passed GType is likely to really
5002           be a GType (as the compiler won't catch it if the size and
5003           GType arguments get mixed up, see #318447).
5004
5005 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5006
5007         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5008
5009         * gst/gstbin.c: (gst_bin_iterate_sorted):
5010           Pass GType and size arguments to gst_iterator_new() in the right
5011           order (maybe we should make _new() take the GType as first argument
5012           just like _new_list()?) (#318447).
5013           
5014
5015 2005-10-10  Wim Taymans  <wim@fluendo.com>
5016
5017         * gst/gstelement.c: (gst_element_finalize):
5018         And free the GStaticRecMutex too
5019
5020 2005-10-10  Andy Wingo  <wingo@pobox.com>
5021
5022         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5023         Allocate and free the mutex properly.
5024
5025         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5026         New macros.
5027         (GstElement): The state_lock is now recursive. Rebuild your
5028         plugins, suckers. Old macros adapted.
5029
5030         * docs/gst/gstreamer-sections.txt: Doc updates.
5031
5032         * gst/gstutils.h:
5033         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5034         (g_static_rec_cond_wait): Ported from state changes patch, while
5035         we wait on bug #317802 to be solved in a well-distributed GLib.
5036
5037         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5038         gst_element_change_state, variable name changes.
5039         (gst_element_change_state): Split out of gst_element_set_state in
5040         preparation for the state change merge. Doesn't pay attention to
5041         the 'transition' argument.
5042         (gst_element_set_state): Updates, hopefully purely cosmetic.
5043         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5044         state change patch.
5045         (gst_element_get_state_func): Renamed from get_state, cosmetic
5046         changes.
5047
5048 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5049
5050         * gst/elements/gstelements.c:
5051         * win32/GStreamer.vcproj:
5052         * win32/config.h:
5053         * win32/dirent.c: (_tseekdir):
5054         * win32/gst-inspect.vcproj:
5055         * win32/gst-launch.vcproj:
5056         * win32/gstconfig.h:
5057         * win32/gstelements.vcproj:
5058         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5059         * win32/gstreamer.def:
5060         * win32/msvc71.sln:
5061           updates for the win32 build (patch from Sebastien Moutte)
5062
5063 2005-10-10  Andy Wingo  <wingo@pobox.com>
5064
5065         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5066         gst_bin_get_state, cleaned up (but no logic changes).
5067         (bin_element_is_sink): Comment updates.
5068         (sink_iterator_filter): Remove needless cast.
5069         (gst_bin_iterate_sinks): Doc update.
5070         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5071         cleaned up (but no logic changes).
5072
5073         * check/states/sinks.c (test_src_sink): Cleanups from the state
5074         change patch.
5075         (test_livesrc_sink): Sync on the state.
5076
5077         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5078         the state change patch.
5079
5080         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5081         change patch.
5082
5083         * check/gst/gstbin.c: Merge in some style fixes and additional
5084         checks from Wim's state change patch.
5085
5086 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5087
5088         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5089         (gst_type_find_helper):
5090           Check whether we have the requested data already in our list of
5091           cached buffers before pulling a new buffer; also make the buffer
5092           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5093
5094 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * gst/gstcaps.c:
5097         * gst/gstevent.c:
5098           doc updates
5099         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5100           don't use long long, it's not portable.  Replacing with
5101           gint64 seems to work; let's hope no skeletons fall out of the closet.
5102
5103 2005-10-10  Andy Wingo  <wingo@pobox.com>
5104
5105         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5106
5107 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5108
5109         * docs/gst/gstreamer-sections.txt:
5110         * gst/gstevent.c:
5111         * gst/gstevent.h:
5112         * gst/gstinfo.c:
5113         * gst/gstinfo.h:
5114         * gst/gstmessage.c: (gst_message_parse_state_changed):
5115         * gst/gstpad.c:
5116         * gst/gstpad.h:
5117           more docs, fix compilation
5118
5119 2005-10-09  Philippe Khalaf <burger@speedy.org>
5120         * gst/gstmessage.c:
5121           Fixed a few forgotten variables on previous commit
5122
5123 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5124
5125         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5126           Fix evil typefind crasher: getrange() might return a short
5127           buffer at the end of a file, but gst_type_find_peek() must
5128           either return the full data as requested or NULL, but
5129           never a short buffer.
5130
5131 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5132
5133         * gst/gstmessage.c: (gst_message_new_state_changed),
5134         (gst_message_parse_state_changed):
5135         * gst/gstmessage.h:
5136           don't use "new", it's a C++ keyword
5137
5138 2005-10-08  Wim Taymans  <wim@fluendo.com>
5139
5140         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5141         * gst/gstelement.c: (gst_element_post_message):
5142         * gst/gstpipeline.c: (gst_pipeline_change_state):
5143         Small docs and debug updates.
5144
5145 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5146
5147         * docs/gst/gstreamer-sections.txt:
5148         * gst/gstelementfactory.c:
5149         * gst/gstevent.c:
5150         * gst/gsttaglist.c:
5151           more docs
5152
5153 2005-10-08  Wim Taymans  <wim@fluendo.com>
5154
5155         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5156         (gst_bin_dispose), (bin_bus_handler):
5157         Fix typos, add comments.
5158         Clear EOS list when going to PAUSED from any direction and do it
5159         in a threadsafe way.
5160         Get base time in a threadsafe way too.
5161         Fix confusing debug in the change_state function.
5162         Various other small cleanups.
5163         
5164         * gst/gstelement.c: (gst_element_post_message):
5165         Fix very verbose bus posting code.
5166
5167         * gst/gstpipeline.c: (gst_pipeline_class_init),
5168         (gst_pipeline_set_property), (gst_pipeline_get_property),
5169         (gst_pipeline_change_state):
5170         Small ARG_ -> PROP_ cleanup
5171
5172 2005-10-08  Wim Taymans  <wim@fluendo.com>
5173
5174         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5175         Do a less CPU demanding EOS check because we can.
5176
5177 2005-10-08  Wim Taymans  <wim@fluendo.com>
5178
5179         * libs/gst/dataprotocol/dataprotocol.c:
5180         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5181         (gst_dp_packet_from_event):
5182         * libs/gst/dataprotocol/dataprotocol.h:
5183         * libs/gst/dataprotocol/dp-private.h:
5184         It's about time we bump the version number.
5185         Since event types don't fit in the guint8 anymore describing
5186         the payload type, make payload type 16 bits wide.
5187
5188 2005-10-08  Wim Taymans  <wim@fluendo.com>
5189
5190         * docs/design/part-TODO.txt:
5191         * docs/design/part-clocks.txt:
5192         * docs/design/part-events.txt:
5193         * docs/design/part-gstbin.txt:
5194         * docs/design/part-gstelement.txt:
5195         * docs/design/part-gstpipeline.txt:
5196         * docs/design/part-live-source.txt:
5197         * docs/design/part-messages.txt:
5198         * docs/design/part-overview.txt:
5199         * docs/design/part-states.txt:
5200         Many doc updates.
5201
5202 2005-10-08  Wim Taymans  <wim@fluendo.com>
5203
5204         * gst/gstevent.c:
5205         * gst/gstevent.h:
5206         Fix event quark registration.
5207         Add some space between events so we can insert them in the
5208         right groups.
5209
5210 2005-10-08  Wim Taymans  <wim@fluendo.com>
5211
5212         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5213         (gst_base_sink_handle_buffer):
5214         Better log message.
5215
5216         * gst/gstbus.h:
5217         * gst/gstelement.h:
5218         More docs.
5219
5220         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5221         (gst_queue_set_property), (gst_queue_get_property):
5222         * gst/gstqueue.h:
5223         Remove old unused properties.
5224
5225 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5226         * docs/gst/gstreamer-sections.txt:
5227         * gst/gstmessage.c:
5228         * gst/gstmessage.h:
5229         * gst/gstminiobject.c:
5230         * gst/gstminiobject.h:
5231         * gst/gstobject.h:
5232         * gst/gstpad.h:
5233         * gst/gstutils.h:
5234           lots of new docs and doc fixes
5235
5236 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5237
5238         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5239         * gst/gstplugin.h:
5240         * gst/gstregistry.c: (gst_registry_lookup_locked),
5241         (gst_registry_scan_path_level):
5242         * gst/gstregistryxml.c: (load_plugin):
5243           Only ever load one plugin for a given plugin basename.
5244           This ensures correct overriding of GST_PLUGIN_PATH over
5245           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5246           system installed plugins.
5247
5248 2005-10-08  Wim Taymans  <wim@fluendo.com>
5249
5250         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5251         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5252         Prepare for doing QOS.
5253
5254 2005-10-08  Wim Taymans  <wim@fluendo.com>
5255
5256         * check/gst/gstbin.c: (GST_START_TEST):
5257         * check/pipelines/cleanup.c: (GST_START_TEST):
5258         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5259         Allow new clock message too.
5260
5261 2005-10-08  Wim Taymans  <wim@fluendo.com>
5262
5263         * gst/gstmessage.c: (gst_message_new_error),
5264         (gst_message_new_warning), (gst_message_new_tag),
5265         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5266         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5267         (gst_message_new_segment_start), (gst_message_new_segment_done),
5268         (gst_message_parse_state_changed),
5269         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5270         (gst_message_parse_new_clock):
5271         * gst/gstmessage.h:
5272         Also carry the clock in question.
5273
5274 2005-10-08  Wim Taymans  <wim@fluendo.com>
5275
5276         * gst/gstmessage.c: (gst_message_new_custom),
5277         (gst_message_new_eos), (gst_message_new_error),
5278         (gst_message_new_warning), (gst_message_new_tag),
5279         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5280         (gst_message_new_new_clock), (gst_message_new_segment_start),
5281         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5282         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5283         * gst/gstmessage.h:
5284         Clean up.
5285         Added clock related messages.
5286
5287         * gst/gstpipeline.c: (gst_pipeline_change_state):
5288         Post message when the clock changed.
5289
5290         * tools/gst-launch.c: (event_loop):
5291         Print new clock.
5292
5293 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5294
5295         * tools/gst-inspect.c: (print_element_properties_info):
5296           Can't pass NULL strings to g_print() on windows.
5297
5298 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5299
5300         * docs/Makefile.am:
5301         * docs/gst/Makefile.am:
5302         * docs/gst/gstreamer-docs.sgml:
5303         * docs/gst/running.xml:
5304         * docs/version.entities.in:
5305           add a chapter on running GStreamer.
5306           document GST_DEBUG and GST_PLUGIN* env vars
5307
5308 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5309
5310         * Makefile.am:
5311           remove include dir
5312         * configure.ac:
5313           remove PLUGINS_BUILDDIR stuff
5314         * gst/gst.c: (init_post):
5315           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5316         * idiottest.mak:
5317           remove, it was condescending and not needed
5318
5319 2005-10-08  Wim Taymans  <wim@fluendo.com>
5320
5321         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5322         (gst_base_sink_handle_object), (gst_base_sink_event),
5323         (gst_base_sink_wait), (gst_base_sink_handle_event),
5324         (gst_base_sink_change_state):
5325         * gst/base/gstbasesink.h:
5326         Repost EOS message while going to PLAYING if still EOS.
5327         Make sure that when receiving a FLUSH_START we don't attempt
5328         to sync on the clock anymore.
5329
5330 2005-10-08  Wim Taymans  <wim@fluendo.com>
5331
5332         * tools/gst-launch.c: (event_loop):
5333         Better message printout.
5334
5335 2005-10-08  Wim Taymans  <wim@fluendo.com>
5336
5337         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5338         (gst_bin_child_proxy_get_children_count):
5339         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5340         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5341         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5342         (gst_child_proxy_set_valist):
5343         * gst/parse/grammar.y:
5344         Make ChildProxy threadsafe and fix mem leaks.
5345
5346 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5347
5348         * gst/gst.c: (init_post):
5349           debug the GST_PLUGIN_ env vars
5350
5351 2005-10-08  Wim Taymans  <wim@fluendo.com>
5352
5353         * check/gst/gstbin.c: (GST_START_TEST):
5354         * check/gst/gstmessage.c: (GST_START_TEST):
5355         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5356         * gst/gstelement.c: (gst_element_commit_state),
5357         (gst_element_lost_state):
5358         * gst/gstmessage.c: (gst_message_new_state_changed),
5359         (gst_message_parse_state_changed):
5360         * gst/gstmessage.h:
5361         * tools/gst-launch.c: (event_loop):
5362         Added extra field to STATE_CHANGE message with the pending
5363         state, which will be different from the new state soon.
5364
5365 2005-10-08  Wim Taymans  <wim@fluendo.com>
5366
5367         * gst/gstbus.c: (gst_bus_pop):
5368         * gst/gstclock.c:
5369         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5370         Small cleanups and doc updates.
5371
5372 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5373
5374         * gst/gst.c: (init_pre):
5375         * gst/gstbin.c: (gst_bin_add_func):
5376           log distributing clocks and base time
5377         * gst/gstregistry.c: (gst_registry_add_plugin),
5378         (gst_registry_scan_path_level), (gst_registry_scan_path):
5379           clean up the debugging output a little
5380         * gst/gstutils.c: (gst_element_state_get_name):
5381           warn about a memleak (I've actually seen this be used, though
5382           it was probably a bug)
5383
5384 2005-10-07  Wim Taymans  <wim@fluendo.com>
5385
5386         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5387         (gst_base_src_init), (gst_base_src_default_newsegment),
5388         (gst_base_src_newsegment), (gst_base_src_do_seek),
5389         (gst_base_src_loop), (gst_base_src_start):
5390         * gst/base/gstbasesrc.h:
5391         Make the newsegment event customizable by subclasses.
5392
5393 2005-10-07  Wim Taymans  <wim@fluendo.com>
5394
5395         * gst/gstevent.c: (gst_event_new_buffersize),
5396         (gst_event_parse_buffersize):
5397         * gst/gstevent.h:
5398         New event for future idea.
5399
5400 2005-10-07  Andy Wingo  <wingo@pobox.com>
5401
5402         * gst/gstelement.c (gst_element_post_message): Doc update.
5403
5404         * docs/gst/gstreamer-sections.txt: Update.
5405
5406         * gst/gstmessage.c (gst_message_new_application): Made into a
5407         function like honest API calls.
5408         (gst_message_new_element): New message type.
5409
5410         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5411
5412         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5413         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5414         times.
5415
5416         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5417         NO_PREROLL from gst_element_change_state to fall through.
5418
5419 2005-10-07  Wim Taymans  <wim@fluendo.com>
5420
5421         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5422         (gst_ghost_pad_do_activate_push):
5423         Activating a ghostpad with no internal pad in push mode
5424         is ok.
5425
5426 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5427
5428         * gst/gstobject.h:
5429           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5430           Fixes compilation on Windows.
5431
5432 2005-10-07  Michael Smith <msmith@fluendo.com>
5433
5434         * tools/gst-inspect.c:
5435           Print out feature and plugin count at the end when printing out
5436           all features.
5437
5438 2005-10-04  Michael Smith <msmith@fluendo.com>
5439
5440         * gst/gsterror.c: (_gst_stream_errors_init):
5441           Add another error string used in a few existing plugins.
5442
5443         * gst/gstplugin.c:
5444         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5445         * tools/gst-inspect.c: (print_element_info):
5446           When a feature disappears from a plugin (and the feature exists in
5447           the cached registry file), things went horribly wrong. This isn't a
5448           complete fix, we should actually be removing the 'missing' features
5449           from the features list when we load the actual plugin. That's not
5450           yet implemented. 
5451
5452 2005-10-04  Johan Dahlin  <johan@gnome.org>
5453
5454         * check/gst/gstiterator.c: (GST_START_TEST):
5455         * gst/gstbin.c: (gst_bin_iterate_elements),
5456         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5457         * gst/gstelement.c: (gst_element_iterate_pads):
5458         * gst/gstformat.c: (gst_format_iterate_definitions):
5459         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5460         (gst_iterator_new_list), (gst_iterator_filter):
5461         * gst/gstiterator.h:
5462         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5463         Add a GType to GstIterator, update callsites and tests.
5464
5465 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5466
5467         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5468           give events a chance to be handled by event probes when the pad
5469           is not linked
5470
5471 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5472
5473         * gst/gstevent.c: (gst_event_type_get_name),
5474         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5475         * gst/gstevent.h:
5476           add string representations for event types
5477
5478 2005-10-06  Wim Taymans  <wim@fluendo.com>
5479
5480         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5481         Don't use NULL pointers.
5482
5483 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5484
5485         * gst/gst_private.h:
5486         * gst/gstbus.c:
5487         * gst/gstelement.c:
5488         * gst/gstinfo.c:
5489         * gst/gstpluginfeature.c:
5490           widen the debug category in output to fit the biggest one we have
5491           add a bus category and use it
5492           play with the colors
5493           fix up some categories
5494
5495 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5496
5497         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5498           add push activation of sink ghost pads.
5499           Andye, please verify
5500
5501 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5502
5503         * gst/gstutils.c: (gst_element_link_pads):
5504           fix a bug in the case where neither element has a pad
5505         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5506           add a test for that case
5507
5508 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5509
5510         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5511           emit have-data before checking for peers.  This allows
5512           for probe handlers to connect elements.  This helps autopluggers.
5513         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5514         (gst_pad_suite):
5515           add six checks, linked/unlinked with no/true/false probe
5516
5517 2005-10-04  Wim Taymans  <wim@fluendo.com>
5518
5519         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5520         (gst_fake_sink_event), (gst_fake_sink_preroll),
5521         (gst_fake_sink_render), (gst_fake_sink_change_state):
5522         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5523         (gst_fake_src_get_property), (gst_fake_src_create),
5524         (gst_fake_src_stop):
5525         * gst/elements/gstidentity.c: (gst_identity_stop):
5526         Protect last_message with lock.
5527
5528 2005-10-04  Edward Hervey  <edward@fluendo.com>
5529
5530         * gst/gstformat.h: 
5531         Added precision in the comments for GST_FORMAT_DEFAULT
5532
5533 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5534
5535         * tools/gst-launch.c: (main):
5536           Don't try to run erroneous pipelines.
5537
5538 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5539
5540         * gst/gstbus.c: We don't need this header.
5541
5542 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5543
5544         * configure.ac:
5545           back to development
5546
5547 === release 0.9.3 ===
5548
5549 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5550
5551         * README:
5552         * configure.ac:
5553           Releasing 0.9.3, "Unregistered"
5554
5555 2005-10-03  Andy Wingo  <wingo@pobox.com>
5556
5557         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5558         whereby calling a pad's activatepush() function can start a thread
5559         that starts to push or pull before the pad gets the FLUSHING flag
5560         unset. Hack around it by holding the stream lock until the flag is
5561         set. Need to replace this with a proper solution. Together with
5562         the ghost pad fixes, this fixes mp3 playing/tagreading.
5563
5564         * docs/design/part-gstghostpad.txt: Add a note about activation of
5565         proxy pads outside of ghost pads.
5566
5567         * gst/gstghostpad.c: Implement the ghost pad activation design.
5568
5569 2005-10-02  Andy Wingo  <wingo@pobox.com>
5570
5571         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5572         It is volatile, after all.
5573
5574         * docs/design/part-gstghostpad.txt: Flesh out activation with
5575         ghost pads.
5576
5577         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5578         GST_DEBUG_FUNCPTR.
5579
5580 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5581
5582         * configure.ac:
5583           Fix (unused) AM_CONDITIONAL tests.
5584
5585 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5586
5587         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5588
5589         * gst/gstutils.c: (gst_pad_query_convert):
5590           Add assertion that makes sure src_val is >=0, just like
5591           gst_query_new_convert() has. (#315895)
5592
5593 2005-09-30  Edward Hervey  <edward@fluendo.com>
5594
5595         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5596         Let's not iterate pads we're not interested in, it avoids getting 
5597         sky-high refcounts on sinkpad.
5598
5599 2005-09-30  Wim Taymans  <wim@fluendo.com>
5600
5601         * gst/gstelement.c: (gst_element_set_state),
5602         (gst_element_change_state):
5603         Small tweak, element in ASYNC remains ASYNC.
5604
5605 2005-09-30  Wim Taymans  <wim@fluendo.com>
5606
5607         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5608         Only error is an error.
5609
5610         * gst/gstbin.c: (gst_bin_change_state):
5611         Better debugging.
5612
5613         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5614         Also call pad_block in pad alloc.
5615
5616         * gst/gstutils.c: (gst_flow_get_name):
5617         Better debugging.
5618
5619 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5620
5621         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5622         (gst_base_src_get_range):
5623           Fix documentation typos. Add some more debug info.
5624
5625 2005-09-29  David Schleef  <ds@schleef.org>
5626
5627         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5628           more end-user friendly.
5629         * tools/gst-inspect.c: (main): Check if command-line argument is
5630           a file and attempt to load that file as a plugin.
5631
5632 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5633
5634         * check/gst/gstbin.c:
5635         * check/states/sinks.c:
5636           fix tests for the new warning
5637         * check/gst/gstpipeline.c:
5638           add a test for pipeline and bus interaction
5639         * gst/gstelement.c:
5640           elements should be NULL if they get disposed; add a warning if not
5641
5642 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5643
5644         * gst/gstobject.c:
5645           for 2.6 refcounting, make debug log more correct by printing
5646           the actual refcounts at the time of swap (Wim)
5647
5648 2005-09-29  Andy Wingo  <wingo@pobox.com>
5649
5650         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5651         removes signal watches previously added via
5652         gst_bus_add_signal_watch.
5653         (gst_bus_add_signal_watch): Don't return the source id, just store
5654         it on the bus if there wasn't an id already.
5655
5656         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5657         add_signal_watch and remove_signal_watch.
5658
5659 2005-09-29  Edward Hervey  <edward@fluendo.com>
5660
5661         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5662         Better if we actually iterate the list :)
5663
5664 2005-09-29  Wim Taymans  <wim@fluendo.com>
5665
5666         * check/gst/gstbin.c: (GST_START_TEST):
5667         Change for new bus API.
5668
5669         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5670         (send_messages), (GST_START_TEST), (gstbus_suite):
5671         Change for new bus signal API.
5672
5673         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5674         (gst_bus_source_prepare), (gst_bus_source_check),
5675         (gst_bus_create_watch), (gst_bus_add_watch_full),
5676         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5677         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5678         * gst/gstbus.h:
5679         Remove support for multiple GSources operating on different
5680         message types as it is too complex and unneeded when using
5681         signals.
5682         Added support for receiving signals from the bus.
5683
5684 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5685
5686         * docs/libs/tmpl/gstdataprotocol.sgml:
5687         * docs/manual/advanced-dataaccess.xml:
5688         * gst/elements/gstcapsfilter.c:
5689         * gst/gstutils.c:
5690           rename filter-caps to caps property
5691
5692 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5693
5694         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5695           More robust fraction string parsing.
5696
5697         * docs/pwg/appendix-porting.xml:
5698           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5699
5700 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5701
5702         * gst/gstcaps.c: (gst_caps_do_simplify):
5703           Thou shalt not free a structure and then continue using it
5704           in the next loop iteration.
5705
5706         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5707         (gst_caps_suite):
5708           Add test case for caps simplification.
5709
5710 2005-09-29  Wim Taymans  <wim@fluendo.com>
5711
5712         * check/gst/gstbin.c: (GST_START_TEST):
5713         Oops.
5714
5715 2005-09-29  Wim Taymans  <wim@fluendo.com>
5716
5717         * check/gst/gstbin.c: (GST_START_TEST):
5718         Add bus to bin.
5719
5720         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5721         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5722         (find_element), (gst_bin_sort_iterator_next),
5723         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5724         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5725         (gst_bin_change_state), (gst_bin_dispose):
5726         A bin does not have a bus, it gets the bus from the parent.
5727
5728         * gst/gstelement.c: (gst_element_requires_clock),
5729         (gst_element_provides_clock), (gst_element_is_indexable),
5730         (gst_element_is_locked_state), (gst_element_change_state),
5731         (gst_element_set_bus_func):
5732         Small cleanups.
5733
5734         * gst/gstpipeline.c: (gst_pipeline_class_init),
5735         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5736         The pipeline provides a bus.
5737
5738 2005-09-28  Johan Dahlin  <johan@gnome.org>
5739
5740         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5741         gst_structure_get_enum instead of gst_structure_get_int
5742
5743         * gst/gststructure.c (gst_structure_get_enum): Impl.
5744
5745         * gst/gststructure.h (gst_structure_get_enum): Add
5746
5747         * docs/gst/gstreamer-sections.txt: Ditto
5748
5749         * gst/gstmessage.c (gst_message_new_state_changed): Use
5750         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5751         which does introspection.
5752         Reviewed by Christian Schaller
5753
5754 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5755
5756         * gst/gstinfo.c: (gst_debug_log_default):
5757           don't do dummy g_strdup()s
5758         * libs/gst/controller/gstcontroller.c:
5759         (on_object_controlled_property_changed),
5760         (gst_controlled_property_new), (gst_controller_new_valist),
5761         (gst_controller_new_list),
5762         (gst_controller_remove_properties_valist), (gst_controller_set),
5763         (gst_controller_get), (gst_controller_sync_values),
5764         (gst_controller_get_value_array), (_gst_controller_class_init),
5765         (gst_controller_get_type):
5766         * libs/gst/controller/gstcontroller.h:
5767         * libs/gst/controller/gstinterpolation.c:
5768         (gst_controlled_property_find_timed_value_node):
5769           convert // to /**/ comments
5770
5771 2005-09-28  Wim Taymans  <wim@fluendo.com>
5772
5773         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5774         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5775         (gst_bus_sync_signal_handler):
5776         * gst/gstbus.h:
5777         Added async-message and sync-message signals to the bus.
5778         Added helper BusFunc to emit signals for all posted messages.
5779
5780         * gst/gstmessage.c: (gst_message_type_get_name),
5781         (gst_message_type_to_quark), (gst_message_get_type):
5782         * gst/gstmessage.h:
5783         Register quarks for message names.
5784
5785 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5786
5787         * docs/libs/gstreamer-libs-sections.txt:
5788         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5789         (gst_controller_new_list):
5790         * libs/gst/controller/gstcontroller.h:
5791           added another constructor for language bindings
5792
5793 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5794
5795         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5796           add another check
5797         * gst/gstbus.c:
5798           add some doc
5799         * gst/gstinfo.c: (_gst_debug_init):
5800           slightly more readable color for refcount debugging
5801
5802 2005-09-28  Wim Taymans  <wim@fluendo.com>
5803
5804         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5805         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5806         (find_element), (gst_bin_sort_iterator_next),
5807         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5808         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5809         (gst_bin_change_state), (gst_bin_dispose):
5810         Small doc fixes. get_clock -> provide_clock.
5811
5812         * gst/gstelement.c: (gst_element_class_init),
5813         (gst_element_provides_clock), (gst_element_provide_clock),
5814         (gst_element_get_clock), (gst_element_commit_state),
5815         (gst_element_lost_state):
5816         * gst/gstelement.h:
5817         Make get/set_clock() symetric. Add provide_clock vmethod since
5818         that is actually what this function does.
5819
5820         * gst/gstpipeline.c: (gst_pipeline_class_init),
5821         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5822         (gst_pipeline_get_clock):
5823         get_clock -> provide_clock.
5824
5825 2005-09-28  Andy Wingo  <wingo@pobox.com>
5826
5827         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5828         lieu of real docs...
5829
5830         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5831
5832 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5833
5834         * gst/elements/gstcapsfilter.c:
5835         * gst/elements/gstfakesink.c:
5836         * gst/elements/gstfakesrc.c:
5837         * gst/elements/gstfdsink.c:
5838         * gst/elements/gstfdsrc.c:
5839         * gst/elements/gstfilesink.c:
5840         * gst/elements/gstfilesrc.c:
5841         * gst/elements/gstidentity.c:
5842         * gst/elements/gsttee.c:
5843         * gst/elements/gsttypefindelement.c:
5844           Make element details static.
5845
5846 2005-09-28  Wim Taymans  <wim@fluendo.com>
5847
5848         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5849         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5850         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5851         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5852         (gst_bin_change_state), (gst_bin_dispose):
5853         Some documentation updates.
5854         Clean up dispose handlers.
5855
5856         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5857         * gst/gstpad.c: (gst_pad_dispose):
5858         Clean up dispose handler.
5859
5860         * gst/gstpipeline.c: (gst_pipeline_change_state):
5861         Removed spurious UNLOCK.
5862
5863 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5864
5865         * docs/gst/gstreamer-sections.txt:
5866         * gst/base/gstbasesrc.h:
5867         * gst/gstelement.h:
5868         * gst/gstevent.h:
5869         * gst/gstobject.h:
5870         * gst/gstpad.h:
5871         * gst/gstpipeline.c:
5872         * gst/gstpipeline.h:
5873         * gst/gstutils.h:
5874         * gst/gstxml.h:
5875           added two new functions to the docs
5876                 documents all undocumented GstXXXFlags
5877                 completed some incomplete docs 
5878
5879 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5880
5881         * gst/gstbin.c: (gst_bin_dispose):
5882         * gst/gstelement.c: (gst_element_dispose):
5883           remove now useless and leaky resurrection code in dispose
5884         * gst/base/gstbasesrc.c: (gst_base_src_init):
5885         * gst/gstelementfactory.c: (gst_element_factory_create):
5886         * gst/gstobject.c: (gst_object_set_parent):
5887           add some debugging
5888
5889 2005-09-27  Wim Taymans  <wim@fluendo.com>
5890
5891         * docs/design/part-TODO.txt:
5892         Update TODO.
5893
5894         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5895         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5896         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5897         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5898         (gst_bin_change_state):
5899         * gst/gstelement.h:
5900         Remove element variable, we keep element info in the iterator now.
5901
5902 2005-09-27  Andy Wingo  <wingo@pobox.com>
5903
5904         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5905         values.
5906
5907 2005-09-27  Wim Taymans  <wim@fluendo.com>
5908
5909         * check/gst/gstbin.c: (GST_START_TEST):
5910         Enable check that works now.
5911
5912         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5913         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5914         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5915         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5916         (gst_bin_change_state):
5917         * gst/gstbin.h:
5918         Redid the state change algorithm using a topological sort algo.
5919         Handles all cases correctly.
5920         Exposed iterator for state change order.
5921
5922         * gst/gstelement.h:
5923         Temp storage for state changes. Need to get rid of this soon.
5924
5925 2005-09-27  Wim Taymans  <wim@fluendo.com>
5926
5927         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5928         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5929         (link_fold_func), (gst_pad_proxy_setcaps):
5930         Leak fixes, the fold functions need to unref the passed object and
5931         _get_parent_*() returns ref to parent.
5932
5933 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5934
5935         * check/gst/gstbuffer.c: (test_make_writable):
5936           Plug leak in test case and fix 'make check-valgrind'
5937
5938 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5939
5940         * gst/gstbuffer.c: (gst_subbuffer_init):
5941           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5942           works correctly in all circumstances (we could have just copied
5943           the parent buffer's readonly flag, but conceptually it seems
5944           cleaner to mark all subbuffers as read-only). (based on patch
5945           by Alessandro Decina, #314710).
5946         
5947         * check/gst/gstbuffer.c: (create_read_only_buffer),
5948         (test_make_writable), (test_subbuffer_make_writable),
5949         (gst_test_suite):
5950           Add some tests for gst_buffer_make_writable().
5951
5952 2005-09-27  Wim Taymans  <wim@fluendo.com>
5953
5954         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5955         use gst_object_has_ancestor().
5956
5957         * gst/gstobject.c: (gst_object_has_ancestor):
5958         * gst/gstobject.h:
5959         gst_object_has_ancestor() copied from gstbin.c as it is a
5960         usefull function.
5961
5962         * tests/instantiate/create.c: (create_all_elements):
5963         * tests/lat.c: (handoff_src), (handoff_sink):
5964         * tests/sched/runxml.c: (main):
5965         * tests/seeking/seeking1.c: (main):
5966         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5967         (main):
5968         Fix compilation of some tests.
5969
5970 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5971
5972         * gst/gsterror.h:
5973           Remove comment. GST_TYPE_G_ERROR is here to stay,
5974           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5975           (#316961, #300610).
5976
5977 2005-09-26  Wim Taymans  <wim@fluendo.com>
5978
5979         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5980         Added check that shows error in state change order.
5981
5982 2005-09-26  Wim Taymans  <wim@fluendo.com>
5983
5984         * gst/gstbin.c: (gst_bin_change_state):
5985         Make state change function use 3 queues again, we were
5986         adding elements in the wrong order.
5987
5988         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5989         Some debug info,
5990
5991         * gst/gstpad.c: (gst_pad_dispose):
5992         Added some debug info first.
5993
5994 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5995
5996         * docs/design/draft-push-pull.txt:
5997         * docs/design/part-events.txt:
5998         * docs/design/part-overview.txt:
5999         * docs/design/part-scheduling.txt:
6000           Replace all _pull_region() with _pull_range()
6001           
6002 2005-09-26  Andy Wingo  <wingo@pobox.com>
6003
6004         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6005
6006         * check/gst-libs/controller.c: Update for controller api change.
6007
6008         * configure.ac: 
6009         * tests/Makefile.am:
6010         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6011         over by GLib bug 118439.
6012         
6013         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6014         routines to a function.
6015
6016         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6017
6018         * libs/gst/controller/gsthelper.c:
6019         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6020         (gst_object_sync_values): Renamed from sink_values. Ugh.
6021
6022         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6023
6024         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6025         Renamed from controller_key, as it is exported.
6026
6027         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6028
6029 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6030
6031         * gst/Makefile.am:
6032         * gst/gst.h:
6033         * gst/gstpad.h:
6034         * gst/gstpadtemplate.h:
6035         * gst/gstquery.c:
6036         * gst/gstquery.h:
6037         * gst/gstqueryutils.c:
6038         * gst/gstqueryutils.h:
6039           remove queryutils headers after moving the two used functions
6040           to gstquery.  also fixes build problem for gstsiddec
6041
6042 2005-09-26  Michael Smith <msmith@fluendo.com>
6043
6044         * tools/gst-launch.1.in:
6045         Correct documentation in manpage of debug syntax
6046
6047 2005-09-26  Wim Taymans  <wim@fluendo.com>
6048
6049         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6050         (gst_base_src_is_seekable), (gst_base_src_change_state):
6051         Some more debugging info.
6052
6053 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6054
6055         * docs/gst/gstreamer-sections.txt:
6056         * gst/base/gstbasetransform.h:
6057         * gst/gstindex.h:
6058           added more docs
6059
6060 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6061
6062         * docs/gst/.cvsignore:
6063         * docs/gst/tmpl/.cvsignore:
6064         * docs/gst/tmpl/gstpipeline.sgml:
6065         * docs/gst/tmpl/gstplugin.sgml:
6066         * gst/gstpipeline.c:
6067         * gst/gstplugin.c:
6068         * gst/gstplugin.h:
6069           inlined the last two docs files
6070           removed the tmpl directory from cvs (no more conflicts here!)
6071
6072 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6073
6074         * docs/gst/gstreamer-sections.txt:
6075         * docs/gst/tmpl/.cvsignore:
6076         * docs/gst/tmpl/gstpad.sgml:
6077         * docs/gst/tmpl/gstpadtemplate.sgml:
6078         * gst/Makefile.am:
6079         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6080         (gst_pad_finalize), (gst_pad_set_pad_template):
6081         * gst/gstpad.h:
6082         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6083         (gst_pad_template_class_init), (gst_pad_template_init),
6084         (gst_pad_template_dispose), (name_is_valid),
6085         (gst_static_pad_template_get), (gst_pad_template_new),
6086         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6087         (gst_pad_template_pad_created):
6088         * gst/gstpadtemplate.h:
6089           inlined two more docs
6090           factored gstpadtemplate out of gstpad
6091
6092 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6093
6094         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6095         (test_children_state_change_order_semi_sink):
6096           Fix test case: we can't rely on a fixed state change order when
6097           going from READY => PAUSED because the sink might commit its 
6098           new state first when the first buffer created by the source 
6099           reaches the sink before the source has finished its change state.
6100           (Test case still fails at times, see #316856, comment 5 onwards)
6101
6102 2005-09-24  Wim Taymans  <wim@fluendo.com>
6103
6104         * docs/design/part-events.txt:
6105         * docs/design/part-gstbus.txt:
6106         * docs/design/part-gstpipeline.txt:
6107         * docs/design/part-messages.txt:
6108         * docs/design/part-overview.txt:
6109         * docs/design/part-segments.txt:
6110         * gst/gstbin.c:
6111         * gst/gstbuffer.c:
6112         * gst/gstclock.c:
6113         * gst/gstelement.c:
6114         * gst/gstevent.c:
6115         * gst/gstfilter.c:
6116         * gst/gstiterator.c:
6117         Various documentation updates.
6118
6119 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6120
6121         * gst/gstclock.h:
6122           Well, that's embarassing.  Luckily we weren't using
6123           GST_CLOCK_DIFF anywhere.
6124
6125 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6126
6127         * common/gtk-doc.mak:
6128           don't fail on building XML, FC4 slave shows a bunch of doc
6129           missing bits that I don't get
6130         * gst/gstpad.c:
6131         * gst/gstpipeline.c:
6132         * gst/gststructure.c:
6133           some doc updates
6134
6135 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6136
6137         * docs/design/part-gstbin.txt:
6138         * docs/design/part-gstbus.txt:
6139         * gst/gstbus.c:
6140           Add blurb about how the bus goes into flushing mode and
6141           drops all messages when its bin goes from READY into NULL 
6142           state.
6143
6144 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6145
6146         * docs/gst/gstreamer-sections.txt:
6147         * gst/gststructure.c: (gst_structure_get_clock_time):
6148         * gst/gststructure.h:
6149           add a method to get a GstClockTime out of a structure
6150
6151 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6152
6153         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6154         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6155           Added test to check state change order in bins (can still be made
6156           to fail here under heavy disk load; bails out with 'Push on pad
6157           fakesink:sink0, but it was not activated in push mode').
6158
6159         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6160           Fix state change order when there is only a semi sink (#316856)
6161
6162         * gst/gstbus.c: (gst_bus_class_init):
6163           Use _class_peek_parent(), not _class_ref(); fix docs to say
6164           'default main context' instead of 'mainloop' where that is
6165           what's meant.
6166
6167         * gst/gstelement.c: (gst_element_commit_state),
6168         (gst_element_set_state):
6169           Fix typos in debug messages
6170
6171 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6172
6173         * docs/README:
6174         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6175         * gst/gstpluginfeature.c:
6176         * gst/gstutils.c:
6177           various doc updates
6178         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6179           change an assert into an error until it gets fixed properly
6180
6181 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6182
6183         * docs/gst/gstreamer-sections.txt:
6184         * docs/gst/tmpl/.cvsignore:
6185         * docs/gst/tmpl/gstelement.sgml:
6186         * docs/gst/tmpl/gstinfo.sgml:
6187         * docs/gst/tmpl/gstobject.sgml:
6188         * gst/gstelement.c:
6189         * gst/gstelement.h:
6190         * gst/gstinfo.c:
6191         * gst/gstinfo.h:
6192         * gst/gstobject.c: (gst_object_class_init):
6193         * gst/gstobject.h:
6194           inlined 3 more biiiig doc files and added some missing docs on the fly
6195
6196 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6197
6198         * check/gst/.cvsignore:
6199         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6200         * gst/gstregistryxml.c: (load_plugin),
6201         (gst_registry_xml_save_plugin):
6202           put back source in registry.  add checks for find_plugin.
6203         * testsuite/states/bin.c: (assert_state), (empty_bin),
6204         (test_adding_one_element), (main):
6205         * testsuite/states/locked.c: (main):
6206           some compile/run fixes
6207
6208 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6209
6210         * check/gst/gstvalue.c: (GST_START_TEST):
6211           fix leaks in the test itself
6212
6213 2005-09-22  Wim Taymans  <wim@fluendo.com>
6214
6215         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6216         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6217         (gst_base_sink_query):
6218         Prepare for more accurate position reporting and query
6219         handling.
6220
6221         * gst/gstelement.c: (gst_element_send_event),
6222         (gst_element_set_state):
6223         Add some comment.
6224
6225 2005-09-22  Wim Taymans  <wim@fluendo.com>
6226
6227         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6228         (gst_query_parse_segment):
6229         * gst/gstquery.h:
6230         More documentation.
6231         Add segment query for future use.
6232
6233 2005-09-22  Wim Taymans  <wim@fluendo.com>
6234
6235         * gst/gstbin.c: (gst_bin_add_func):
6236         Some more debug info.
6237
6238         * gst/gstelement.c: (gst_element_send_event):
6239         Simplify send_event
6240
6241         * gst/gstelement.h:
6242         Don't know how flags got broken.
6243
6244         * gst/gstquery.h:
6245         Added new query.
6246
6247 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6248
6249         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6250           Add simplistic test suite for GST_TYPE_DATE serialisation and
6251           deserialisation.
6252
6253 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6254
6255         * docs/gst/gstreamer-sections.txt:
6256         * gst/gststructure.c: (gst_structure_set_valist),
6257         (gst_structure_get_date):
6258         * gst/gststructure.h:
6259         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6260         (gst_date_copy), (gst_value_compare_date),
6261         (gst_value_serialize_date), (gst_value_deserialize_date),
6262         (gst_value_transform_date_string),
6263         (gst_value_transform_string_date), (_gst_value_initialize):
6264         * gst/gstvalue.h:
6265           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6266           bunch of utility functions along with a hack that checks that
6267           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6268           is required. Part of the grand scheme in #170777.
6269
6270 2005-09-22  Andy Wingo  <wingo@pobox.com>
6271
6272         * gst/gstconfig.h.in: Psych out gtk-doc.
6273
6274         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6275
6276         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6277
6278         * tools/gst-inspect.c (print_element_list): Plug some
6279         inconsequential leaks.
6280
6281         * gst/gstregistry.c (gst_registry_get_default): Doc.
6282
6283         * check/gst/gstplugin.c: 
6284         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6285         * gst/gstelementfactory.c (gst_element_factory_create): 
6286         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6287         refcount changes.
6288
6289         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6290         (gst_plugin_feature_load): Doc, don't eat refs.
6291
6292         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6293         (gst_plugin_list_free): Doc.
6294         (gst_plugin_load_file): Doc updates.
6295
6296         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6297         accessors returning refcounted objects, return a ref.
6298
6299         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6300         accessor for caps. IDEMPOTENCE. Oh yes.
6301
6302 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6303
6304         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6305
6306         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6307         (_gst_debug_register_funcptr):
6308           Add mutex to serialise access to the hash table with
6309           the function pointer => function name string mapping;
6310           make that hash table static scope (#316809).
6311
6312         * gst/registries/.cvsignore:
6313           Remove left-over file.
6314
6315 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6316
6317         * docs/pwg/appendix-porting.xml:
6318           And something about newsegment events and caps-on-buffers to
6319           the porting guide (feel free to improve).
6320
6321 2005-09-21  Andy Wingo  <wingo@pobox.com>
6322
6323         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6324         data and event probes on the same pad.
6325         (test_buffer_probe_once): Test that removing probes from within
6326         the probe functions works.
6327
6328 2005-09-21  Andy Wingo  <wingo@pobox.com>
6329
6330         * check/gst/gstutils.c: New file.
6331         (test_buffer_probe_n_times): A simple buffer probe test. More to
6332         come, foolios.
6333
6334         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6335         have-data::buffer, not have-data.
6336         (gst_pad_add_event_probe): Likewise for have-data::event.
6337         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6338         peer' isn't quite right yet though.
6339         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6340         (gst_pad_remove_data_probe): Change to take the guint handler_id
6341         as their arg, not the function+data, which is more glib-like.
6342
6343         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6344         the signal emission to indicate if the data is a buffer or an
6345         event.
6346         (gst_pad_get_type): Initialize buffer and event quarks.
6347         (gst_pad_class_init): have-data is now a detailed signal, yes it
6348         is.
6349
6350 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6351
6352         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6353         * gst/gstutils.c: (gst_util_set_value_from_string),
6354         (gst_util_set_object_arg):
6355           Don't put functional code in g_return_if_fail() or
6356           g_return_val_if_fail() statements, otherwise things will 
6357           break when G_DISABLE_CHECKS is defined during compilation.
6358
6359 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6360
6361         * docs/gst/tmpl/.cvsignore:
6362         * docs/gst/tmpl/gstvalue.sgml:
6363         * gst/gstvalue.c:
6364         * gst/gstvalue.h:
6365           inlied another one and added  some obvious docs
6366
6367 2005-09-21  Wim Taymans  <wim@fluendo.com>
6368
6369         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6370         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6371         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6372         (gst_fdsrc_get_property), (gst_fdsrc_create):
6373         * gst/elements/gstfdsrc.h:
6374         Properly implement fdsrc. Removed signal and timeout,
6375         better implemented somewhere else.
6376
6377 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6378
6379         * docs/gst/tmpl/.cvsignore:
6380         * docs/gst/tmpl/gstimplementsinterface.sgml:
6381         * gst/gstinterface.c:
6382           inlined more docs
6383
6384 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6385
6386         * docs/gst/gstreamer-sections.txt:
6387         * docs/gst/tmpl/.cvsignore:
6388         * docs/gst/tmpl/gstenumtypes.sgml:
6389           remove obsolete doc file
6390
6391 2005-09-21  David Schleef  <ds@schleef.org>
6392
6393         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6394         little beer, fix a little leak.
6395
6396 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6397
6398         * docs/gst/gstreamer-docs.sgml:
6399         * docs/gst/gstreamer-sections.txt:
6400         * docs/gst/tmpl/.cvsignore:
6401         * gst/Makefile.am:
6402         * gst/gst.h:
6403         * gst/gstbin.c:
6404         * gst/gstelement.h:
6405         * gst/gstindex.c: (gst_index_class_init):
6406         * gst/gstindex.h:
6407         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6408         (gst_index_factory_class_init), (gst_index_factory_init),
6409         (gst_index_factory_finalize), (gst_index_factory_new),
6410         (gst_index_factory_destroy), (gst_index_factory_find),
6411         (gst_index_factory_create), (gst_index_factory_make):
6412         * gst/gstindexfactory.h:
6413         * gst/gstpluginfeature.c:
6414         * gst/gstpluginfeature.h:
6415         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6416           more docs inlined, splitted gstindex.{c,h}
6417
6418 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6419
6420         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6421           fix a leak
6422
6423 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6424
6425         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6426           Set sync to FALSE by default.
6427
6428 2005-09-20  Wim Taymans  <wim@fluendo.com>
6429
6430         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6431         (gst_base_sink_init):
6432         Make sync property settable from subclass.
6433
6434         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6435         (gst_fake_sink_change_state):
6436         Set sync to FALSE by default.
6437
6438 2005-09-20  Wim Taymans  <wim@fluendo.com>
6439
6440         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6441         * tools/gst-launch.c: (main):
6442         The timeout handler should have lower priority than the source
6443         so we don't timeout before popping a message with 0 timeout.
6444         Dump error messages after failed state change.
6445
6446 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6447
6448         * tools/gst-inspect.c: (print_element_properties_info):
6449           Fix two typos.
6450
6451 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6452
6453         * check/gst/gstevent.c:
6454         * gst/elements/gstfakesink.c:
6455         * gst/elements/gstfakesink.h:
6456           remove the sync property from fakesink.
6457           has the side effect of setting sync TRUE
6458           for fakesink, which is a change.  Anyone who knows how
6459           to fix this nicely in a GObject-y way, feel free.
6460
6461 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6462
6463         * docs/gst/gstreamer-docs.sgml:
6464           remove probe refsection
6465
6466 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6467
6468         * check/Makefile.am:
6469           disable valgrinding the controller test again
6470         * docs/gst/gstreamer-sections.txt:
6471           update for api-changes
6472
6473 2005-09-20  Wim Taymans  <wim@fluendo.com>
6474
6475         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6476         (gst_base_sink_set_property), (gst_base_sink_get_property),
6477         (gst_base_sink_do_sync):
6478         * gst/base/gstbasesink.h:
6479         Added sync property to basesink to disable clock sync.
6480
6481 2005-09-20  Andy Wingo  <wingo@pobox.com>
6482
6483         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6484         eating the caller's refcount.
6485
6486         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6487         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6488         refcount.
6489
6490         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6491         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6492         of GLib 2.8 public, so we can know which refcount to check in
6493         tests.
6494
6495         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6496         (gst_object_init): Only set the gst refcount if we're going ahead
6497         with the refcount hack.
6498
6499 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6500
6501         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6502         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6503           more leaks plumbed, added more debug-logging
6504         * gst/gstmacros.h:
6505           whitespace fix
6506
6507 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6508
6509         * gst/gstmessage.c:
6510           remove include of gstmemchunk.h
6511
6512 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6513
6514         * gst/gstclock.c: (_gst_clock_id_free):
6515           Commit from the Political Party For More Atomic CVS Commits,
6516           so that people don't waste too much of their day fishing
6517           out obvious leaks out of massive commits.
6518           Oh, and fix a pretty damn obvious leak in the memchunk
6519           removal code.
6520
6521 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6522
6523         * check/Makefile.am:
6524         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6525           plug mem-leak, re-add to valgrindable tests
6526
6527 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6528
6529         * gst/gstplugin.h:
6530           unbreak the build for those who have chronic arthritis
6531           and typing "make check" is just too taxing on the hands
6532
6533 2005-09-20  Andy Wingo  <wingo@pobox.com>
6534
6535         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6536         really want it out, you should fix plugins at the same time.
6537
6538 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6539
6540         * configure.ac:
6541         * docs/gst/gstreamer-sections.txt:
6542         * gst/gstobject.c:
6543           added missing symbols to api docs
6544           disable ref-count hack if we have glib >= 2.8
6545
6546 2005-09-19  David Schleef  <ds@schleef.org>
6547
6548         * docs/gst/Makefile.am: Ignore a few more internal headers
6549         * docs/gst/gstreamer-docs.sgml: Remove old sections
6550         * docs/gst/gstreamer-sections.txt: Remove old sections
6551         * docs/gst/tmpl/gstobject.sgml: update
6552         * docs/gst/tmpl/gstplugin.sgml: update
6553         * docs/gst/tmpl/gstpluginfeature.sgml: update
6554         * docs/random/ds/0.9-suggested-changes: update.
6555         * gst/Makefile.am: remove memchunk and trashstack, since they're
6556           not used.
6557         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6558         * gst/gst.h: don't include some headers
6559         * gst/gstchildproxy.c: add gstmarshal.h
6560         * gst/gstclock.c: Don't use memchunks
6561         * gst/gstminiobject.c: Add some docs
6562         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6563         * gst/gstobject.h: same
6564         * gst/gstplugin.c: include gstmacros.h
6565         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6566         * gst/gstquery.c: don't use memchunks
6567         * gst/gstregistry.c: rename gst_registry_deinit()
6568         * gst/gstregistry.h: same
6569
6570 2005-09-19  David Schleef  <ds@schleef.org>
6571
6572         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6573         * docs/libs/gstreamer-libs-sections.txt:
6574         * docs/libs/tmpl/gstgetbits.sgml:
6575         * docs/libs/tmpl/gstputbits.sgml:
6576
6577 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6578
6579         * win32/gstenumtypes.c:
6580         * win32/gstenumtypes.h:
6581           Update.
6582
6583 2005-09-19  Wim Taymans  <wim@fluendo.com>
6584
6585         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6586         Automatically PAUSE and RESUME a pipeline when a flushing seek
6587         is performed.
6588
6589 2005-09-19  Andy Wingo  <wingo@pobox.com>
6590
6591         * gst/gstregistry.h: Spacing fixen.
6592
6593 2005-09-19  Wim Taymans  <wim@fluendo.com>
6594
6595         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6596         Handle state change failure more correctly.
6597
6598 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6599
6600         * check/Makefile.am:
6601         * check/pipelines/cleanup.c: (run_pipeline):
6602         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6603         (GST_START_TEST):
6604           enable cleanup again after fixing the leak
6605         * docs/README:
6606           some more info on docs
6607
6608 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6609
6610         * check/Makefile.am:
6611           re-enable tests now that leaks are plugged
6612         * check/gst/gst.c:
6613         * check/gst/gstbin.c:
6614         * check/gst/gstpipeline.c:
6615           add some more tests while fixing leaks
6616         * common/check.mak:
6617           make sure binaries are uptodate when valgrinding/gdbing
6618         * gst/gst.c:
6619         * gst/gstelementfactory.c:
6620           remove a ref too many, and add a FIXME for when we get
6621           round to disposing of classes
6622         * gst/gstplugin.c:
6623           fix the refcounting when loading a plugin from a file and
6624           the code pretends that the pointer is the same even though
6625           of course it can change
6626         * gst/gstpluginfeature.c:
6627           unref plugins marked cached (a bit confusing as a name)
6628           as the docs state should be done
6629           various doc additions to explain refcounting
6630         * gst/gstregistry.c:
6631         * gst/gstregistryxml.c:
6632           debugging
6633
6634 2005-09-19  Wim Taymans  <wim@fluendo.com>
6635
6636         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6637         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6638         (send_messages), (GST_START_TEST), (gstbus_suite):
6639         * check/gst/gstpipeline.c: (GST_START_TEST):
6640         * check/pipelines/cleanup.c: (run_pipeline):
6641         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6642         (GST_START_TEST):
6643         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6644         (gst_bus_source_check), (gst_bus_source_dispatch),
6645         (gst_bus_create_watch), (gst_bus_add_watch_full),
6646         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6647         * gst/gstbus.h:
6648         * tools/gst-launch.c: (event_loop):
6649         * tools/gst-md5sum.c: (event_loop):
6650         GstBusHandler -> GstBusFunc, return value has the same meaning as
6651         any other GSource (FALSE == remove source).
6652         _add_watch() and _add_watch_full() now take a MessageType mask to
6653         only handle specific types of messages.
6654         _poll() returns the GstMessage instead of the message type to avoid
6655         race conditions.
6656         _have_pending() takes a MessageType mask now too.
6657         Added testsuite for multiple bus watches.
6658         Fix testsuites and applications for new bus API.
6659
6660 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6661
6662         * check/Makefile.am:
6663           mark a bunch of the tests as to fix until we fix them
6664
6665 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6666
6667         * common/check.mak:
6668           use GST_PLUGIN settings for valgrind tests as well, so we're
6669           valgrinding the correct thing
6670         * gst/gst.c: (init_post):
6671           plug another leak
6672
6673 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6674
6675         * gst/gst.c: (init_post), (gst_deinit):
6676         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6677         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6678         * gst/gstindex.c: (gst_index_factory_class_init),
6679         (gst_index_factory_finalize):
6680         * gst/gstobject.c: (gst_object_dispose):
6681         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6682         (gst_plugin_load_file), (gst_plugin_desc_free):
6683         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6684         (gst_plugin_feature_finalize):
6685         * gst/gstregistry.c: (gst_registry_class_init),
6686         (gst_registry_init), (gst_registry_finalize),
6687         (gst_registry_get_default), (gst_registry_deinit):
6688         * gst/gstregistry.h:
6689         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6690           various cleanups and memleak plugging.  make valgrind is happy now.
6691
6692 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6693
6694         * common/check.mak:
6695           add a check-valgrind target
6696
6697 2005-09-18  David Schleef  <ds@schleef.org>
6698
6699         * tools/gst-inspect.c: Revert the GOption code.
6700
6701 2005-09-17  David Schleef  <ds@schleef.org>
6702
6703         * check/Makefile.am: Fix environment variables.
6704         * check/gst/gstplugin.c: Fix for API changes.
6705         * tools/gst-inspect.c: Fix for API changes.
6706         * tools/gst-xmlinspect.c: Fix for API changes.
6707         * gst/gstelementfactory.c:
6708         * gst/gstplugin.c:
6709         * gst/gstplugin.h:
6710         * gst/gstpluginfeature.c:
6711         * gst/gstpluginfeature.h:
6712         * gst/gstregistry.c:
6713         * gst/gstregistry.h:
6714         * gst/gstregistryxml.c:
6715         * gst/gsttypefind.c:
6716         * gst/gsttypefindfactory.c:
6717         * gst/indexers/gstfileindex.c:
6718         * gst/indexers/gstmemindex.c:
6719         * gst/schedulers/Makefile.am:
6720           Change registry to keep track of both plugins and features,
6721           removing the feature tracking from plugins themselves.
6722
6723 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6724
6725         * check/Makefile.am:
6726         * tools/gst-register.1.in:
6727           remove gst-register
6728
6729 2005-09-15  David Schleef  <ds@schleef.org>
6730
6731         * check/gst/gstplugin.c:
6732         * gst/gstelementfactory.c:
6733         * gst/gstplugin.c:
6734         * gst/gstpluginfeature.c:
6735         * gst/gstregistry.c:
6736           Getting tired of debugging.  Disabled all the unreffing of
6737           plugins and features, which fixes the segfaults, but of
6738           course leaks like crazy.  At least playbin works.
6739
6740 2005-09-15  David Schleef  <ds@schleef.org>
6741
6742         * check/gst/gstplugin.c: (register_check_elements),
6743         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6744         More testing
6745         * gst/elements/gsttypefindelement.c: Fix refcounting.
6746         * gst/gsttypefind.c:
6747         * gst/gsttypefindfactory.c:
6748         * gst/gsttypefindfactory.h:
6749
6750 2005-09-15  David Schleef  <ds@schleef.org>
6751
6752         * gst/gstindex.c: get refcounting correct.
6753         * gst/gstregistry.c: Handle the case where a feature/plugin is
6754           not found.
6755
6756 2005-09-15  David Schleef  <ds@schleef.org>
6757
6758         * check/Makefile.am:
6759         * check/gst/gstplugin.c: Add test
6760         * gst/gstplugin.c: Fix problems noticed by testsuite
6761         * gst/gstplugin.h:
6762         * gst/gstregistry.c: 
6763         * gst/gstregistry.h:
6764
6765 2005-09-15  David Schleef  <ds@schleef.org>
6766
6767         * gst/gstplugin.c: Implement semi-decent recounting and locking
6768           in plugins and plugin features.
6769         * gst/gstplugin.h:
6770         * gst/gstpluginfeature.c:
6771         * gst/gstpluginfeature.h:
6772         * gst/gstregistry.c:
6773
6774 2005-09-15  Michael Smith <msmith@fluendo.com>
6775
6776         * gst/gstregistry.c: (gst_registry_get_feature_list):
6777           Implement this. Makes oggdemux work; decodebin still broken.
6778
6779 2005-09-14  David Schleef  <ds@schleef.org>
6780
6781         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6782           #316076)
6783         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6784         * gst/check/Makefile.am:
6785         * libs/gst/controller/Makefile.am:
6786         * libs/gst/dataprotocol/Makefile.am:
6787
6788 2005-09-14  David Schleef  <ds@schleef.org>
6789
6790         * configure.ac: Remove getbits library.  Nothing uses it, and
6791           it should be in something like liboil if someone did want
6792           to use it.
6793         * libs/gst/Makefile.am:
6794         * libs/gst/getbits/Makefile.am:
6795         * libs/gst/getbits/gbtest.c:
6796         * libs/gst/getbits/getbits.c:
6797         * libs/gst/getbits/getbits.h:
6798         * libs/gst/getbits/gstgetbits_generic.c:
6799         * libs/gst/getbits/gstgetbits_i386.s:
6800         * libs/gst/getbits/gstgetbits_inl.h:
6801
6802 2005-09-14  David Schleef  <ds@schleef.org>
6803
6804         * gst/Makefile.am: Dist glib-compat.h
6805
6806 2005-09-14  David Schleef  <ds@schleef.org>
6807
6808         * configure.ac: Remove gst/registries, since it's no longer used.
6809         * gst/registries/Makefile.am:
6810         * gst/registries/gstlibxmlregistry.c:
6811         * gst/registries/gstlibxmlregistry.h:
6812         * gst/registries/gstxmlregistry.c:
6813         * gst/registries/gstxmlregistry.h:
6814         * gst/registries/registrytest.c:
6815
6816 2005-09-14  David Schleef  <ds@schleef.org>
6817
6818         * gst/glib-compat.h:
6819         * gst/gstregistryxml.c:
6820           Convergence is near.  Seriously.
6821
6822 2005-09-14  David Schleef  <ds@schleef.org>
6823
6824         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6825         * gst/glib-compat.h:
6826           Attempt #4 to appease the buildbots.
6827
6828 2005-09-14  David Schleef  <ds@schleef.org>
6829
6830         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6831           Attempt #3.
6832
6833 2005-09-14  David Schleef  <ds@schleef.org>
6834
6835         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6836         Attempt #2.
6837
6838 2005-09-14  David Schleef  <ds@schleef.org>
6839
6840         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6841           the new functions.
6842
6843 2005-09-14  David Schleef  <ds@schleef.org>
6844
6845         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6846         * gst/glib-compat.h: Add some functions that are in newer versions
6847           of glib than we care to require.
6848         * gst/gstregistryxml.c: Use them.
6849
6850 2005-09-14  David Schleef  <ds@schleef.org>
6851
6852         * po/POTFILES.in: remove gst-register.c
6853
6854 2005-09-14  David Schleef  <ds@schleef.org>
6855
6856         * docs/gst/gstreamer-docs.sgml:
6857         * docs/gst/gstreamer-sections.txt:
6858         * docs/gst/gstreamer.types:
6859         * docs/gst/tmpl/gstelement.sgml:
6860         * docs/gst/tmpl/gstplugin.sgml:
6861         * docs/gst/tmpl/gstpluginfeature.sgml:
6862           Documentation updates for registry changes.
6863
6864 2005-09-14  David Schleef  <ds@schleef.org>
6865
6866         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6867           because we don't require glib-2.8.
6868
6869 2005-09-14  David Schleef  <ds@schleef.org>
6870
6871         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6872           registries directory.
6873
6874 2005-09-14  David Schleef  <ds@schleef.org>
6875
6876         * check/Makefile.am:
6877         * check/generic/states.c:
6878         * gst/Makefile.am:
6879         * gst/gst.c:
6880         * gst/gst.h:
6881         * gst/gst_private.h:
6882         * gst/gstelementfactory.c:
6883         * gst/gstindex.c:
6884         * gst/gstinfo.c:
6885         * gst/gstplugin.c:
6886         * gst/gstplugin.h:
6887         * gst/gstpluginfeature.c:
6888         * gst/gstpluginfeature.h:
6889         * gst/gstregistry.c:
6890         * gst/gstregistry.h:
6891         * gst/gstregistrypool.c: remove
6892         * gst/gstregistrypool.h: remove
6893         * gst/gsttypefind.c:
6894         * gst/gsttypefindfactory.c:
6895         * gst/gsturi.c:
6896         * tools/Makefile.am:
6897         * tools/gst-compprep.c:
6898         * tools/gst-inspect.c:
6899         * tools/gst-register.c: remove
6900         * tools/gst-xmlinspect.c:
6901           Registry rewrite.  Changes registry from being a file created
6902           by a tool into a simple cache file created automatically by 
6903           libgstreamer.  Removed gst-register (because it's no longer
6904           needed).  Remove registry pools, because we only have one
6905           registry implementation (XML).  Fix up other subsystems as
6906           necessary.
6907
6908 2005-09-13  Michael Smith <msmith@fluendo.com>
6909
6910         * gst/gstconfig.h.in:
6911           Don't Use windows linking attributes for MinGW. Fixes #316157
6912
6913 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6914
6915         * gst/gstutils.c: (set_state_async_thread_func),
6916         (gst_element_set_state_async):
6917           Apparently people think it's better if this function doesn't
6918           try to set the state to whatever state was asked for on the first
6919           call to this function for any object.  Seriously.
6920
6921 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6922
6923         * check/gst/gstpipeline.c: (GST_START_TEST):
6924         * docs/gst/gstreamer-sections.txt:
6925         * gst/gstutils.c: (set_state_async_thread_func),
6926         (gst_element_set_state_async):
6927         * gst/gstutils.h:
6928           add a "gst_element_set_state_async" method that
6929           sets the state and starts a thread to make sure the state
6930           change completes as best as it can
6931
6932 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6933
6934         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6935           codify design+behaviour in testsuite after discussion
6936
6937 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6938
6939         * docs/gst/tmpl/gstelement.sgml:
6940         * docs/manual/appendix-quotes.xml:
6941           add a quote
6942         * gst/gstelement.c: (gst_element_set_state):
6943           add some debug
6944
6945 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6946
6947         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6948         (gst_base_transform_prepare_output_buf),
6949         (gst_base_transform_handle_buffer):
6950         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6951         (gst_capsfilter_prepare_buf):
6952           Remove the requirement for sub-classes to call the parent
6953           implementation of prepare_output_buffer with a wrapper function.
6954           
6955         * gst/gsttaglist.h:
6956         * gst/gsttagsetter.h:
6957           Fix #define wrapper
6958
6959 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6960
6961         * docs/gst/gstreamer-sections.txt:
6962           more doc cleanups
6963
6964 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6965
6966         * docs/gst/gstreamer-sections.txt:
6967         * docs/gst/tmpl/gstelement.sgml:
6968         * docs/gst/tmpl/gstplugin.sgml:
6969         * gst/gstminiobject.c:
6970         * gst/gstvalue.h:
6971           docs now stop throwing warnings
6972
6973 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6974
6975         * docs/gst/gstreamer-sections.txt:
6976         * docs/gst/gstreamer.types:
6977         * docs/gst/tmpl/gstpad.sgml:
6978         * docs/gst/tmpl/gsttypes.sgml:
6979         * gst/base/gstadapter.h:
6980         * gst/base/gstbasesink.h:
6981         * gst/base/gstbasesrc.h:
6982         * gst/gstbin.h:
6983         * gst/gstbuffer.h:
6984         * gst/gstbus.h:
6985         * gst/gstcaps.h:
6986         * gst/gstclock.h:
6987         * gst/gstelement.h:
6988         * gst/gstevent.h:
6989         * gst/gstmessage.h:
6990         * gst/gstpad.h:
6991         * gst/gststructure.c:
6992         * gst/registries/gstlibxmlregistry.h:
6993           various documentation fixes
6994
6995 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6996
6997         * docs/gst/gstreamer-sections.txt:
6998         * docs/gst/tmpl/gstvalue.sgml:
6999           rearrange gstvalue section
7000         * gst/gstutils.c: (gst_element_state_get_name):
7001           NONE -> VOID
7002         * gst/gstvalue.c: (_gst_value_initialize):
7003         * gst/gstvalue.h:
7004           doc updates
7005
7006 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7007
7008         * check/gst-libs/controller.c:
7009           Header include fix.
7010         * gst/base/gstbasetransform.c:
7011         (gst_base_transform_default_prepare_buf),
7012         (gst_base_transform_handle_buffer):
7013         * gst/base/gstbasetransform.h:
7014           Some more basetransform changes and fixes to enable sub-classes
7015           that modify buffer metadata only.
7016         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7017         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7018         (gst_capsfilter_prepare_buf):
7019           If the output pad has fixed allowed caps and input buffers 
7020           don't have any, set the fixed caps on outgoing buffers.
7021
7022 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7023         * check/elements/identity.c: (GST_START_TEST):
7024           Make the error a little clearer when the test fails because
7025           identity made a copy of the buffer.
7026         * docs/gst/gstreamer-sections.txt:
7027           New symbols in gstbasetransform.h
7028         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7029         (gst_base_transform_init), (gst_base_transform_transform_size),
7030         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7031         (gst_base_transform_default_prepare_buf),
7032         (gst_base_transform_get_unit_size),
7033         (gst_base_transform_buffer_alloc),
7034         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7035         (gst_base_transform_change_state),
7036         (gst_base_transform_set_passthrough),
7037         (gst_base_transform_set_in_place),
7038         (gst_base_transform_is_in_place):
7039         * gst/base/gstbasetransform.h:
7040           Change BaseTransform to separate in_place operate from same_caps
7041           output. in_place implies that the element can perform the transform
7042           on incoming buffers in-place, even if the caps on the output are
7043           different.
7044           Sub-class elements can now implement special buffer allocation
7045           methods for outgoing buffers if they wish to.
7046           Big documentation addition.
7047         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7048         * gst/elements/gstelements.c:
7049           Changes for basetransform modifications.
7050         * gst/elements/Makefile.am:
7051         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7052           Compile fix. Extra debug output.
7053
7054 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7055
7056         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7057         (gst_pad_suite):
7058           add tests for valid pad naming
7059         * gst/check/gstcheck.c: (gst_check_log_message_func),
7060         (gst_check_log_critical_func):
7061           add ASSERT_WARNING
7062           remove printing of code, it is fragile when the code contains
7063           % and the line number is enough info
7064         * gst/check/gstcheck.h:
7065         * gst/gstpad.c: (gst_pad_template_new):
7066           fix memleaks
7067
7068 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7069
7070         * configure.ac:
7071           say what CHECK flags we use
7072         * docs/libs/gstreamer-libs.types:
7073         * libs/gst/controller/Makefile.am:
7074         * libs/gst/controller/gst-controller.c:
7075         * libs/gst/controller/gst-controller.h:
7076         * libs/gst/controller/gst-helper.c:
7077         * libs/gst/controller/gst-interpolation.c:
7078         * libs/gst/controller/gstcontroller.c:
7079         * libs/gst/controller/gsthelper.c:
7080         * libs/gst/controller/gstinterpolation.c:
7081         * tools/gst-inspect.c: (print_plugin_info):
7082           we don't use dashes in header names
7083
7084 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7085
7086         * check/Makefile.am:
7087         * check/gst/.cvsignore:
7088         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7089         (gst_pipeline_suite), (main):
7090           adding a test for pipelines and state changes
7091         * gst/gstutils.c: (get_state_func):
7092           add some debugging
7093         * gstreamer.spec.in:
7094           fix up spec file
7095
7096 2005-09-08  Michael Smith <msmith@fluendo.com>
7097
7098         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7099         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7100         (gst_file_src_is_seekable), (gst_file_src_get_size),
7101         (gst_file_src_start):
7102         * gst/elements/gstfilesrc.h:
7103           Various fixes for unseekable, unmmapable, and non-normal files, so
7104           that fallback to read() rather than mmap() works.
7105         * gst/gstevent.c: (gst_event_new_newsegment):
7106           Allow newsegment events with segment_start == segment_end, as will
7107           correctly happen if you use filesrc on a zero-size file, for
7108           example.
7109
7110 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7111
7112         * gst/gstplugin.c: (gst_plugin_load_file):
7113           Call g_module_close when we don't load the module
7114
7115         * gst/registries/gstlibxmlregistry.c:
7116         (gst_xml_registry_get_property):
7117           Port leak fix from 0.8
7118
7119 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7120
7121         * docs/gst/gstreamer-docs.sgml:
7122         * docs/gst/tmpl/.cvsignore:
7123         * docs/gst/tmpl/gsttrace.sgml:
7124         * docs/gst/tmpl/gsttrashstack.sgml:
7125         * gst/Makefile.am:
7126         * gst/gst.h:
7127         * gst/gstelement.h:
7128         * gst/gstevent.h:
7129         * gst/gstmessage.c:
7130         * gst/gstmessage.h:
7131         * gst/gsttag.c:
7132         * gst/gsttag.h:
7133         * gst/gsttaginterface.c:
7134         * gst/gsttaginterface.h:
7135         * gst/gsttaglist.c:
7136         * gst/gsttaglist.h:
7137         * gst/gsttagsetter.c:
7138         * gst/gsttagsetter.h:
7139         * gst/gsttrace.c:
7140         * gst/gsttrace.h:
7141         * gst/gsttrashstack.c:
7142           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7143           inlined docs for gsttrace, gsttrashstack
7144
7145 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7146
7147         * gst/Makefile.am:
7148         * gst/elements/gstbufferstore.h:
7149         * gst/elements/gsttypefindelement.c:
7150         * gst/elements/gsttypefindelement.h:
7151         * gst/gst.h:
7152         * gst/gsttypefind.c:
7153         * gst/gsttypefind.h:
7154         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7155         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7156         (gst_type_find_factory_dispose),
7157         (gst_type_find_factory_unload_thyself),
7158         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7159         (gst_type_find_factory_get_caps),
7160         (gst_type_find_factory_get_extensions),
7161         (gst_type_find_factory_call_function):
7162         * gst/gsttypefindfactory.h:
7163         * gst/registries/gstlibxmlregistry.c:
7164         * gst/registries/gstxmlregistry.c:
7165           splitted gsttypefind into gsttypefind, gsttypefindfactory
7166
7167 2005-09-07  Andy Wingo  <wingo@pobox.com>
7168
7169         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7170         condition whereby the pad's task function is entered before the
7171         pad_mode variable was set.
7172
7173 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7174
7175         * gst/gstpad.c: (gst_pad_alloc_buffer):
7176           Catch misbehaving pad_alloc functions that don't
7177           set up caps and do it for them.
7178
7179 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7180
7181         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7182           test for pipe!=NULL
7183         * docs/gst/tmpl/.cvsignore:
7184         * docs/gst/tmpl/gstmemchunk.sgml:
7185         * docs/gst/tmpl/gstparse.sgml:
7186         * docs/gst/tmpl/gsttaglist.sgml:
7187         * docs/gst/tmpl/gsttagsetter.sgml:
7188         * docs/gst/tmpl/gsttypefind.sgml:
7189         * docs/gst/tmpl/gsttypefindfactory.sgml:
7190         * gst/gstmemchunk.c:
7191         * gst/gstparse.c:
7192         * gst/gsttag.c:
7193         * gst/gsttaginterface.c:
7194         * gst/gsttypefind.c:
7195         * gst/gsttypefind.h:
7196           inlined more docs
7197
7198 === release 0.9.2 ===
7199
7200 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7201
7202         * NEWS:
7203         * RELEASE:
7204         * configure.ac:
7205           releasing 0.9.2, "South"
7206
7207 2005-09-05  Andy Wingo  <wingo@pobox.com>
7208
7209         * gst/registries/gstxmlregistry.h:
7210         * gst/registries/gstxmlregistry.c: Um... resurrect...
7211         
7212         * gst/registries/gstxmlregistry.h:
7213         * gst/registries/gstxmlregistry.c: and update to newer API.
7214         Incidentally they should be a bit faster now that they don't have
7215         to parse the caps.
7216         
7217 2005-09-05  Andy Wingo  <wingo@pobox.com>
7218
7219         * gst/registries/gstxmlregistry.h:
7220         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7221         replaced by the libxml registry a while back
7222
7223 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7224
7225         * docs/gst/tmpl/gstplugin.sgml:
7226         * gst/elements/gstelements.c:
7227         * gst/gst.c:
7228         * gst/gstplugin.c: (gst_plugin_register_func),
7229         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7230         (gst_plugin_get_source):
7231         * gst/gstplugin.h:
7232         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7233         (gst_xml_registry_save_plugin):
7234         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7235         (gst_xml_registry_save_plugin):
7236         * tools/gst-inspect.c: (print_plugin_info):
7237           add a "source" plugin description field, to represent the source
7238           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7239           will set it to PACKAGE, which is automake's idea of the name of
7240           the source project.
7241
7242 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7243
7244         * Makefile.am:
7245         * autogen.sh:
7246         * configure.ac:
7247         * docs/Makefile.am:
7248         * docs/faq/Makefile.am:
7249         * docs/gst/tmpl/gstelement.sgml:
7250         * docs/gst/tmpl/gsttypes.sgml:
7251         * docs/htmlinstall.mak:
7252         * docs/manual/Makefile.am:
7253         * docs/pwg/Makefile.am:
7254           reorganize doc build a little
7255           split out docbook and gtk-doc stuff
7256           have two separate --enable's and enable them through autogen
7257           but disable by default in configure (to be similar to other
7258           projects)
7259         * gstreamer.spec.in:
7260           clean up docs install
7261         * po/af.po:
7262         * po/az.po:
7263         * po/ca.po:
7264         * po/cs.po:
7265         * po/de.po:
7266         * po/en_GB.po:
7267         * po/fr.po:
7268         * po/it.po:
7269         * po/nb.po:
7270         * po/nl.po:
7271         * po/ru.po:
7272         * po/sq.po:
7273         * po/sr.po:
7274         * po/sv.po:
7275         * po/tr.po:
7276         * po/uk.po:
7277         * po/vi.po:
7278           translation updates
7279
7280 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7281
7282         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7283           Add comment.
7284           
7285         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7286         (gst_fake_sink_change_state):
7287           Make state change function thread-safe.
7288           
7289         * gst/gstpad.c: (gst_pad_alloc_buffer):
7290           Set offset on generic buffer allocated by fallback.
7291
7292 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7293
7294         * docs/gst/gstreamer-sections.txt:
7295         * docs/gst/tmpl/gstelement.sgml:
7296         * gst/gstpad.c:
7297         * libs/gst/controller/gst-controller.c:
7298         (gst_controlled_property_set_interpolation_mode),
7299         (gst_controlled_property_new),
7300         (gst_controller_find_controlled_property):
7301          run the wingo-magic script against the docs
7302
7303 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7304
7305         * docs/gst/gstreamer-docs.sgml:
7306         * docs/gst/gstreamer-sections.txt:
7307         * docs/gst/tmpl/.cvsignore:
7308         * docs/gst/tmpl/gstelementdetails.sgml:
7309         * docs/gst/tmpl/gstelementfactory.sgml:
7310         * gst/gst.c:
7311         * gst/gstbus.c:
7312         * gst/gstelementfactory.c:
7313         * gst/gstelementfactory.h:
7314           merged elementdetails docs into elementfactory docs
7315           inlined both
7316
7317 2005-09-02  Andy Wingo  <wingo@pobox.com>
7318
7319         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7320         consider this enum an enum and not a flags.
7321
7322 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7323
7324         * docs/gst/gstreamer-docs.sgml:
7325         * docs/gst/tmpl/.cvsignore:
7326         * docs/gst/tmpl/gstghostpad.sgml:
7327         * docs/gst/tmpl/gstiterator.sgml:
7328         * docs/gst/tmpl/gstmacros.sgml:
7329         * docs/gst/tmpl/gstrealpad.sgml:
7330         * docs/gst/tmpl/gstregistry.sgml:
7331         * docs/gst/tmpl/gstregistrypool.sgml:
7332         * docs/gst/tmpl/gststructure.sgml:
7333         * docs/gst/tmpl/gstsystemclock.sgml:
7334         * docs/gst/tmpl/gsttrace.sgml:
7335         * gst/gstghostpad.c:
7336         * gst/gstmacros.h:
7337         * gst/gstmemchunk.c:
7338         * gst/gstmemchunk.h:
7339         * gst/gstqueue.c:
7340         * gst/gstregistry.c:
7341         * gst/gstregistrypool.c:
7342         * gst/gststructure.c:
7343         * gst/gstsystemclock.c:
7344           more docs inlined
7345
7346 2005-09-02  Andy Wingo  <wingo@pobox.com>
7347
7348         * gst/gstelement.h (GstState): Renamed from GstElementState,
7349         changed to be a normal enum instead of flags.
7350         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7351         munged to be GST_STATE_CHANGE_*.
7352         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7353         work with the new state representation.
7354         (GstStateChange): New enumeration of possible state transitions.
7355         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7356         (GstElementClass::change_state): Pass the GstStateChange along as
7357         an argument. Helps language bindings, so they don't have to use
7358         tricky lock-needing macros like GST_STATE_CHANGE ().
7359
7360         * scripts/update-states (file): New script. Run it on a file to
7361         update it for state naming and API changes. Updates files in
7362         place.
7363
7364         * All files updated for the new API.
7365
7366 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7367
7368         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7369         * gst/gstutils.c: (gst_util_set_value_from_string),
7370         (gst_util_set_object_arg):
7371           fix a bunch of unchecked return values
7372         * tools/gst-complete.c: (main):
7373         * gstreamer.spec.in:
7374           clean up a little
7375
7376 2005-09-01  Wim Taymans  <wim@fluendo.com>
7377
7378         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7379         (gst_base_sink_event), (gst_base_sink_do_sync),
7380         (gst_base_sink_handle_event):
7381         * gst/base/gstbasesink.h:
7382         Handle newsegments more correctly.
7383
7384         * gst/gstbus.c:
7385         Fix docs.
7386
7387         * gst/gstevent.c: (gst_event_new_newsegment):
7388         A newsegment cannot have a start_time of -1
7389
7390 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7391
7392         * win32/gstenumtypes.c:
7393         * win32/gstenumtypes.h:
7394           Update
7395
7396 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7397
7398         * libs/gst/controller/gst-controller.c:
7399         (gst_controlled_property_set_interpolation_mode),
7400         (gst_controlled_property_new):
7401          fixed boolean again
7402
7403 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7404
7405         * docs/faq/gst-uninstalled:
7406           add -good
7407         * gst/gstevent.c:
7408         * gst/gstevent.h:
7409           remove wrong docs
7410         * gst/gstutils.c: (gst_element_link_filtered):
7411         * gst/gstutils.h:
7412           add gst_element_link_filtered
7413
7414 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7415
7416         * docs/gst/gstreamer-docs.sgml:
7417         * docs/gst/gstreamer-sections.txt:
7418         * docs/gst/tmpl/.cvsignore:
7419         * docs/gst/tmpl/gsterror.sgml:
7420         * docs/gst/tmpl/gstfilter.sgml:
7421         * docs/gst/tmpl/gsturihandler.sgml:
7422         * docs/gst/tmpl/gsturitype.sgml:
7423         * docs/gst/tmpl/gstutils.sgml:
7424         * docs/gst/tmpl/gstxml.sgml:
7425         * gst/gsterror.c:
7426         * gst/gsterror.h:
7427         * gst/gstfilter.c:
7428         * gst/gsturi.c:
7429         * gst/gsturitype.c:
7430         * gst/gstutils.c:
7431         * gst/gstxml.c:
7432           inlined more docs, fixed double id-ref
7433
7434 2005-08-31  Wim Taymans  <wim@fluendo.com>
7435
7436         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7437         (gst_base_transform_handle_buffer):
7438         Passthrough elements don't need the caps as they don't care.
7439
7440 2005-08-31  Wim Taymans  <wim@fluendo.com>
7441
7442         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7443         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7444         Don't leak refcounts on buffers.
7445
7446 2005-08-31  Wim Taymans  <wim@fluendo.com>
7447
7448         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7449         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7450         (gst_base_transform_chain), (gst_base_transform_change_state):
7451         * gst/base/gstbasetransform.h:
7452         Handle the case where we are not negotiated more gracefully.
7453
7454 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7455
7456         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7457         (gst_file_src_map_region):
7458           Set READONLY flag on mmap'ed buffers, otherwise
7459           gst_buffer_make_writable() won't work properly (#314708).
7460
7461 2005-08-31  Wim Taymans  <wim@fluendo.com>
7462
7463         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7464         passthrough elements can even do inplace on non writable
7465         buffers (as they don't touch them).
7466
7467 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7468
7469         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7470         (gst_test_mono_source_set_property),
7471         (gst_test_mono_source_class_init), (GST_START_TEST),
7472         (gst_controller_suite):
7473           more tests (hehe I have the most)
7474         * gst/gstbus.c:
7475           describe popping messages whenusing mulltiple sources
7476         * libs/gst/controller/gst-controller.c:
7477         (gst_controlled_property_set_interpolation_mode),
7478         (gst_controlled_property_new):
7479         * libs/gst/controller/gst-controller.h:
7480         * libs/gst/controller/gst-interpolation.c:
7481           implement boolean properties
7482
7483 2005-08-31  Wim Taymans  <wim@fluendo.com>
7484
7485         * gst/gstminiobject.c: (gst_mini_object_ref):
7486         Cannot assert that the refcount has to be positive
7487         since a disposed object can be resurrected.
7488
7489 2005-08-31  Wim Taymans  <wim@fluendo.com>
7490
7491         * gst/gstpad.c: (gst_pad_init):
7492         Revert change, need to first fix badly behaving 
7493         apps.
7494
7495 2005-08-30  Wim Taymans  <wim@fluendo.com>
7496
7497         * check/elements/fakesrc.c: (setup_fakesrc):
7498         * check/elements/identity.c: (setup_identity):
7499         Activate pads before using them.
7500
7501 2005-08-30  Wim Taymans  <wim@fluendo.com>
7502
7503         * gst/base/gstadapter.c: (gst_adapter_flush):
7504         Flushing out 0 bytes is ok for this function.
7505
7506         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7507         no newsegment gives a warning and sets the start/stop to 
7508         invalid.
7509
7510         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7511         (gst_base_transform_set_passthrough):
7512         Some debug info.
7513
7514         * gst/gstminiobject.c: (gst_mini_object_ref):
7515         Check refcount here too.
7516
7517         * gst/gstpad.c: (gst_pad_init):
7518         Pads are initially flushing and refusing data.
7519
7520         * gst/gstutils.c: (gst_element_link_pads_filtered):
7521         When adding a capsfilter element make sure it has the
7522         same state as the parent bin.
7523
7524 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7525
7526         * docs/gst/tmpl/.cvsignore:
7527         * docs/gst/tmpl/gstformat.sgml:
7528         * docs/gst/tmpl/gstversion.sgml:
7529         * gst/gstbus.h:
7530         * gst/gstformat.c:
7531         * gst/gstformat.h:
7532         * gst/gstversion.h.in:
7533           more docs and two more inlined
7534
7535 2005-08-30  Wim Taymans  <wim@fluendo.com>
7536
7537         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7538         Don't sync to clock.
7539
7540 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7541
7542         * docs/gst/gstreamer-sections.txt:
7543           ultral33t func10ns deserve to appear in the docs actually
7544         * docs/gst/tmpl/.cvsignore:
7545         * docs/gst/tmpl/gstcompat.sgml:
7546         * docs/gst/tmpl/gstconfig.sgml:
7547         * gst/check/gstcheck.c:
7548         * gst/gstcompat.h:
7549         * gst/gstconfig.h.in:
7550           inlined more docs
7551
7552 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7553
7554         * docs/gst/tmpl/.cvsignore:
7555         * docs/gst/tmpl/gstquery.sgml:
7556         * docs/gst/tmpl/gstutils.sgml:
7557         * gst/gstquery.c:
7558         * gst/gstquery.h:
7559           inlined and extended docs
7560
7561 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7562
7563         * check/gst-libs/controller.c: (GST_START_TEST),
7564         (gst_controller_suite):
7565           more tests
7566         * docs/gst/tmpl/gstutils.sgml:
7567         * docs/libs/gstreamer-libs-sections.txt:
7568         * docs/libs/tmpl/gstdataprotocol.sgml:
7569           include path fixes
7570         * examples/controller/audio-example.c: (main):
7571           controller example works now
7572         * gst/gstclock.h:
7573           doc fixes
7574         * tools/gst-inspect.c: (print_element_properties_info):
7575           show param spec flags
7576
7577 2005-08-29  Andy Wingo  <wingo@pobox.com>
7578
7579         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7580
7581 2005-08-28  Andy Wingo  <wingo@pobox.com>
7582
7583         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7584         as having two arguments instead of just one. Allows superclasses
7585         to access information on subclasses -- see the terrible for() loop
7586         in gtype.c:g_type_create_instance for the reason why. All callers
7587         changed.
7588
7589 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7590
7591         * docs/design/part-messages.txt:
7592           update info
7593         * docs/gst/tmpl/.cvsignore:
7594         * docs/gst/tmpl/gstcaps.sgml:
7595         * docs/gst/tmpl/gstclock.sgml:
7596         * gst/gstbus.c:
7597         * gst/gstcaps.c:
7598         * gst/gstcaps.h:
7599         * gst/gstclock.c:
7600         * gst/gstclock.h:
7601         * gst/gstmessage.c:
7602           added descriptions for bus and message
7603           inline caps and clock docs
7604
7605 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7606
7607         * gst/gstmessage.c:
7608         * gst/gstmessage.h:
7609           doc fixes
7610
7611 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7612
7613         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7614           fix div-by-zero
7615
7616 2005-08-26  Andy Wingo  <wingo@pobox.com>
7617
7618         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7619         element_set_state's return val.
7620         (test_2_elements): Add test that's been disabled for months.
7621
7622         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7623         can-activate-pull properties.
7624
7625         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7626         can-activate-pull properties. Implement is_seekable so fakesrc can
7627         operate in pull mode.
7628
7629         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7630         properties.
7631         (gst_base_sink_activate, gst_base_sink_activate_pull)
7632         (gst_base_sink_activate_push): Make activation mode choosing work.
7633         Cleanups.
7634         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7635         is right. Make pull mode work. Post an eos before pausing in pull
7636         mode.
7637         (gst_base_sink_change_state): Pay attention to the core's
7638         change_state() return val.
7639         
7640         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7641         has-getrange properties. Cleanups.
7642         
7643         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7644         has_getrange and replace with can_activate_pull and
7645         can_activate_push.
7646
7647         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7648         locking comments. Remove has_loop, has_chain and replace with
7649         can_activate_pull and can_activate_push.
7650
7651 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7652
7653         * configure.ac:
7654         * examples/Makefile.am:
7655         * examples/metadata/Makefile.am:
7656         * examples/metadata/read-metadata.c: (message_loop),
7657         (have_pad_handler), (make_pipeline), (print_tag), (main):
7658           Add metadata reading example that loops over a list of filenames,
7659           dumping any tags found.
7660
7661         * gst/gstbus.c: (gst_bus_dispose):
7662         * gst/gstelement.c: (gst_element_dispose):
7663           Release a few potentially-held references in dispose.
7664
7665 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7666
7667         * docs/gst/tmpl/gstminiobject.sgml:
7668           do *not* add tmpl/*.sgml files to CVS!
7669
7670 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7671
7672         * libs/gst/bytestream/.cvsignore:
7673         * libs/gst/bytestream/Makefile.am:
7674         * libs/gst/bytestream/adapter.c:
7675         * libs/gst/bytestream/adapter.h:
7676         * libs/gst/bytestream/bytestream.c:
7677         * libs/gst/bytestream/bytestream.h:
7678         * libs/gst/bytestream/filepad.c:
7679         * libs/gst/bytestream/filepad.h:
7680           removing obsolete files
7681
7682 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7683
7684         * docs/gst/gstreamer-docs.sgml:
7685         * docs/libs/gstreamer-libs-docs.sgml:
7686           disabed additional index entries again, as this makes docs-gen just
7687           slow and they aren't useful yet
7688         * docs/libs/gstreamer-libs-sections.txt:
7689           little -section.txt cleanup for libs
7690
7691 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7692
7693         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7694         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7695           fix up some debugging
7696         (gst_base_transform_get_unit_size),
7697         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7698         (gst_base_transform_handle_buffer):
7699         * gst/base/gstbasetransform.h:
7700           handle and store timed NEWSEGMENT events so that subclasses that
7701           calculate time by counting samples have a segment_start time they
7702           need to add to their timestamps - see audioresample
7703
7704 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7705
7706         * gst/gstbin.h:
7707           removed ';' from the end of macro defs
7708         * docs/gst/gstreamer-docs.sgml:
7709         * docs/gst/gstreamer-sections.txt:
7710         * docs/gst/tmpl/.cvsignore:
7711         * gst/gstbus.h:
7712         * gst/gstelement.c: (gst_element_class_init),
7713         (gst_element_set_state), (activate_pads),
7714         (gst_element_save_thyself):
7715         * gst/gstevent.c: (gst_event_new_newsegment):
7716         * gst/gstevent.h:
7717         * gst/gstiterator.c:
7718         * gst/gstiterator.h:
7719         * gst/gstpad.c:
7720         * gst/gstprobe.h:
7721         * gst/gstutils.c: (gst_pad_query_convert):
7722         * gst/gstutils.h:
7723           fixed parameter name mismatches between source, header and docs
7724           added some more docs, resolved the last batch of unused elements in
7725           docs (now someone needs to doc them)
7726
7727 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7728
7729         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7730         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7731           don't walk through the plugins backwards.  Where is all this
7732           reversed logic coming from ?
7733
7734 2005-08-25  Wim Taymans  <wim@fluendo.com>
7735
7736         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7737         (gst_base_transform_transform_size),
7738         (gst_base_transform_configure_caps),
7739         (gst_base_transform_get_unit_size),
7740         (gst_base_transform_buffer_alloc),
7741         (gst_base_transform_change_state):
7742         * gst/base/gstbasetransform.h:
7743         Cache caps unit_size.
7744         Make sure we cannot negotiate up and downstream at the
7745         same time.
7746
7747 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7748
7749         * gst/gst.c: (init_pre), (init_post):
7750           register the installed plugin path after the env var
7751         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7752         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7753           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7754           directories, so the tests can prefer uninstalled over installed
7755
7756 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7757
7758         * gst/base/gstbasetransform.h:
7759           comment
7760         * gst/gstpad.c:
7761           add to docs
7762
7763 2005-08-25  Wim Taymans  <wim@fluendo.com>
7764
7765         * gst/gstbin.c: (bin_bus_handler):
7766         Be a bit more conservative about the posted message.
7767         
7768         * gst/gstbus.c: (gst_bus_post):
7769         Some cleanups, warn wrong return values.
7770
7771 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7772
7773         * check/gst/gstbin.c: (GST_START_TEST):
7774         * gst/gstbin.c: (bin_bus_handler):
7775         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7776         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7777         (gst_message_new_warning), (gst_message_new_tag),
7778         (gst_message_new_state_changed), (gst_message_new_segment_start),
7779         (gst_message_new_segment_done), (gst_message_new_custom):
7780         * gst/gstmessage.h:
7781         * tools/gst-launch.c: (event_loop):
7782         * tools/gst-md5sum.c: (event_loop):
7783           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7784
7785 2005-08-25  Wim Taymans  <wim@fluendo.com>
7786
7787         * check/generic/states.c: (GST_START_TEST):
7788         Cleanup can be done at the end.
7789
7790         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7791         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7792         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7793         Oh boy.. Thanks for finding this, Thomas. 
7794
7795 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7796
7797         * docs/gst/gstreamer.types:
7798           added missing types
7799
7800 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7801
7802         * docs/gst/gstreamer-docs.sgml:
7803         * docs/gst/gstreamer-sections.txt:
7804         * docs/gst/tmpl/.cvsignore:
7805         * gst/gstbin.c:
7806         * gst/gstiterator.c:
7807         * gst/gstutils.c:
7808         * gst/registries/gstxmlregistry.h:
7809           added missing classes and symbols (123 more to go)
7810           removed removed symbols from section file
7811           fixed many doc-comments
7812
7813 2005-08-24  Wim Taymans  <wim@fluendo.com>
7814
7815         * check/generic/states.c: (GST_START_TEST):
7816         Make sure all tasks are stopped.
7817
7818         * check/gst/gstbin.c: (GST_START_TEST):
7819         Unref after usage for proper valgrinding.
7820
7821         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7822         Really wait for the task to stop before destroying the
7823         mutex.
7824
7825         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7826         (gst_queue_src_activate_push):
7827         Small cleanups. Don't stop the task when we did not start
7828         it.
7829
7830         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7831         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7832         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7833         (gst_task_join):
7834         * gst/gsttask.h:
7835         Protect the stream lock with the object lock.
7836         Disallow setting the stream lock when running.
7837         Add cleanup_all to wait for the threadpool to finish.
7838         Remove code to autoallocate a mutex if none was provided.
7839         Add _join() to wait for a task to stop.
7840         Protect the thread pool with a global lock.
7841
7842 2005-08-24  Wim Taymans  <wim@fluendo.com>
7843
7844         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7845         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7846         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7847         * gst/base/gstbasesink.h:
7848         Handle newsegment events correctly.
7849         Drop buffers out of the segment range.
7850
7851 2005-08-22  Andy Wingo  <wingo@pobox.com>
7852
7853         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7854         macro, implements an interface and gstimplementsinterface for a
7855         new type.
7856
7857 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7858
7859         * check/Makefile.am:
7860         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7861           add a test that does a bunch of state changes on elements
7862           needs some fixing for valgrind
7863         * check/states/sinks.c: (gst_object_suite):
7864           whitespace
7865         * gst/gstcaps.h:
7866           add prototype for gst_caps_is_equal_fixed
7867         * gst/gstplugin.c:
7868         * gst/gstregistrypool.c:
7869           doc fixes
7870
7871 2005-08-24  Andy Wingo  <wingo@pobox.com>
7872
7873         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7874         convert a negative value. Doesn't make much sense. Mostly this is
7875         here to force callers to ensure -1 maps to -1.
7876
7877 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7878
7879         * docs/pwg/advanced-types.xml:
7880           Well done to Michael for catching my deliberate introduction
7881           of this spelling mistake. 
7882         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7883         * gst/gstelement.h:
7884           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7885           unlink pads before removing the element from the bin.
7886
7887 2005-08-24  Andy Wingo  <wingo@pobox.com>
7888
7889         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7890         the same thing as GST_DEBUG=*:4.
7891         (parse_debug_level, parse_debug_category): New helper parsers.
7892
7893 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7894
7895         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7896         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7897         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7898         (gst_base_transform_buffer_alloc),
7899         (gst_base_transform_handle_buffer):
7900           use gboolean return values and pointers to size so we can use the
7901           full GST_BUFFER_SIZE range (guint) for buffer sizes
7902           use GstPadDirection for transform_caps
7903         * gst/base/gstbasetransform.h:
7904           rename get_size to get_unit_size since that's what it is
7905         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7906           use GstPadDirection for transform_caps
7907         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7908         * gst/gstutils.h:
7909           cleanup and debugging
7910
7911 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7912
7913         * gst/gstelement.c: (gst_element_class_init),
7914         (gst_element_set_state), (activate_pads),
7915         (gst_element_save_thyself):
7916         * tools/gst-compprep.c: (main):
7917         * tools/gst-inspect.c: (print_element_properties_info):
7918         * tools/gst-xmlinspect.c: (print_element_properties):
7919           Fixed long standing mem-leak
7920
7921 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7922
7923         * check/gst/gstbin.c: (GST_START_TEST):
7924         * gst/gstbin.c: (bin_bus_handler):
7925         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7926         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7927         (gst_message_new_warning), (gst_message_new_tag),
7928         (gst_message_new_state_changed), (gst_message_new_segment_start),
7929         (gst_message_new_segment_done), (gst_message_new_custom):
7930         * gst/gstmessage.h:
7931         * tools/gst-launch.c: (event_loop):
7932         * tools/gst-md5sum.c: (event_loop):
7933           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7934           that applications can sensibly post custom messages with references
7935           to their own objects.
7936
7937 2005-08-24  Andy Wingo  <wingo@pobox.com>
7938
7939         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7940         already.
7941
7942 2005-08-24  Wim Taymans  <wim@fluendo.com>
7943
7944         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7945         (gst_base_transform_transform_caps),
7946         (gst_base_transform_transform_size),
7947         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7948         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7949         (gst_base_transform_handle_buffer):
7950         * gst/base/gstbasetransform.h:
7951         Many fixes and new features added by Thomas. Can now also do
7952         transforms with variable sizes and a custom fixate_caps function.
7953
7954 2005-08-24  Wim Taymans  <wim@fluendo.com>
7955
7956         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7957         Some debugging.
7958
7959         * gst/gstclock.h:
7960         Cast to ClockTime before formatting to time.
7961
7962         * gst/gstutils.h:
7963         Cleanups.
7964
7965 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7966
7967         * check/gst-libs/controller.c: (GST_START_TEST),
7968         (gst_controller_suite):
7969         * docs/gst/tmpl/gstcaps.sgml:
7970         * docs/gst/tmpl/gstghostpad.sgml:
7971         * docs/gst/tmpl/gstquery.sgml:
7972         * docs/gst/tmpl/gstutils.sgml:
7973         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7974         (gst_object_sink_values), (gst_object_get_value_arrays),
7975         (gst_object_get_value_array):
7976           gracefully handle helper method calls to objects that are not beeing
7977           controlled, added test case for that          
7978
7979 2005-08-23  Wim Taymans  <wim@fluendo.com>
7980
7981         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7982         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7983         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7984         (gst_event_parse_qos), (gst_event_new_seek),
7985         (gst_event_parse_seek):
7986         * gst/gstevent.h:
7987         Some more debugging output and doc cleanups.
7988
7989         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7990         Fix possible deadlock.
7991
7992 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7993
7994         * docs/gst/gstreamer-docs.sgml:
7995         * docs/gst/gstreamer-sections.txt:
7996         * docs/gst/gstreamer.types:
7997         * docs/gst/tmpl/.cvsignore:
7998         * gst/gstbin.h:
7999         * gst/gstbus.c:
8000         * gst/gstelement.c:
8001         * gst/gstevent.h:
8002           added 100 symbols from gstreamer-unused.txt to the right sections
8003           fixed more broken comments
8004           added GstBus to docs
8005
8006 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8007
8008         * docs/gst/gstreamer-sections.txt:
8009         * docs/gst/tmpl/.cvsignore:
8010         * docs/gst/tmpl/gstbin.sgml:
8011         * docs/gst/tmpl/gstbuffer.sgml:
8012         * gst/base/gstbasesrc.c:
8013         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8014         * gst/gstbuffer.c:
8015         * gst/gstbuffer.h:
8016         * tools/gst-launch.1.in:
8017           inlined more doc comments, added missing comments and fixed comments
8018           fixed typos
8019
8020 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8021
8022         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8023           some debugging
8024         * gst/gstcaps.h:
8025           whitespace fixes
8026         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8027           more debugging
8028         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8029         * gst/gststructure.h:
8030           add a fixate function for booleans; add a FIXME that these func
8031           names should probably be gst_structure_fixate_*
8032
8033 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8034
8035         * docs/gst/gstreamer-docs.sgml:
8036         * docs/gst/gstreamer-sections.txt:
8037         * gst/Makefile.am:
8038         * gst/gstbin.c: (gst_bin_get_type),
8039         (gst_bin_child_proxy_get_child_by_index),
8040         (gst_bin_child_proxy_get_children_count),
8041         (gst_bin_child_proxy_init):
8042         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8043         (gst_child_proxy_get_child_by_index),
8044         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8045         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8046         (gst_child_proxy_get), (gst_child_proxy_set_property),
8047         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8048         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8049         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8050         * gst/gstchildproxy.h:
8051         * gst/parse/grammar.y:
8052         * tools/gst-inspect.c: (print_interfaces),
8053         (print_element_properties_info), (print_element_info):
8054           ported gstchildproxy over from 0.8
8055           ported gst-inspect fixes and enhancements over from 0.8
8056
8057 2005-08-22  Wim Taymans  <wim@fluendo.com>
8058
8059         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8060         (gst_base_transform_handle_buffer):
8061         Also call the transform function if we have ANY caps.
8062
8063         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8064         Fix debug info.
8065
8066 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8067
8068         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8069           Don't pretend to handle seek events if the source is not seekable
8070
8071 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8072
8073         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8074           Remove extra parameter to debug output
8075
8076         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8077         (gst_base_src_do_seek), (gst_base_src_activate_push):
8078           Fix seek event handling.
8079
8080         * gst/gstpipeline.c: (gst_pipeline_change_state):
8081         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8082         (gst_queue_src_activate_push):
8083           Don't start the src pad task on FLUSH_STOP if the pad
8084           isn't linked.
8085           Debug changes.
8086
8087 2005-08-22  Wim Taymans  <wim@fluendo.com>
8088
8089         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8090         Added check for gst_static_caps_get() refcounting.
8091
8092 2005-08-22  Wim Taymans  <wim@fluendo.com>
8093
8094         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8095         Make _static_caps_get() refcounting sane.
8096         
8097         * gst/gstelement.c: (gst_element_set_state):
8098         Add g_return_val_if_fail() to protect against segfaults.
8099
8100 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8101
8102         * docs/gst/tmpl/gstevent.sgml:
8103         * gst/gstevent.c:
8104         * gst/gstevent.h:
8105           inlined remaining docs, added missing doc comments
8106
8107 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8108
8109         * check/gst/gstbin.c: (GST_START_TEST):
8110           since we don't know when preroll is done, use refcount range
8111           check for the sink
8112         * gst/check/gstcheck.h:
8113           add macro for checking refcount range
8114
8115 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8116
8117         * check/Makefile.am:
8118           clean up environment for when registry gets built versus
8119           when actual tests are run; valgrind seems to not report
8120           leaks if GST_PLUGIN_PATH is set to some specific values
8121         * check/gst/gstbin.c: (GST_START_TEST):
8122           add more refcounting checks; maybe this exposes a
8123           preroll lock bug ?
8124         * common/check.mak:
8125         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8126         * gst/check/gstcheck.h:
8127         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8128         (gst_bin_change_state):
8129         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8130           add/fix debugging/whitespace
8131
8132 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8133
8134         * check/gst/gstevent.c: (event_probe), (test_event),
8135         (GST_START_TEST):
8136          Er, don't call gst_bin_watch_for_state_change you idiot.
8137
8138 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8139
8140         * check/Makefile.am:
8141           Use CHECK_CFLAGS and CHECK_LIBS
8142         * check/gst/gstevent.c: (event_probe), (test_event),
8143         (GST_START_TEST):
8144           Don't leak events.
8145         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8146         (gst_base_src_start), (gst_base_src_stop),
8147         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8148         (gst_base_src_change_state):
8149           Sprinkle gst_base_src_stop liberally around error paths to fix
8150           problems reusing a source after failed state changes.
8151         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8152         (helper_find_suggest), (gst_type_find_helper):
8153           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8154         * gst/gstevent.h:
8155         * docs/gst/tmpl/gstevent.sgml:
8156           Migrate part of the docs from the SGML file. Wait for ensonic to
8157           tell me how I did it wrong ;)
8158         * tools/gst-typefind.c: (main):
8159           Extra robustness to state changes between files.
8160
8161 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8162
8163         * check/Makefile.am:
8164           don't valgrind the controller test - it's leaking - Stefan, HELP
8165         * gst/check/gstcheck.c: (gst_check_message_error),
8166         (gst_check_chain_func), (gst_check_setup_element),
8167         (gst_check_teardown_element), (gst_check_setup_src_pad),
8168         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8169         (gst_check_teardown_sink_pad):
8170         * gst/check/gstcheck.h:
8171           add a bunch of methods to set up elements, and src and sink pads
8172         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8173         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8174         (GST_START_TEST):
8175           use them
8176         * gst/gstmessage.c:
8177         * gst/gsttag.h:
8178           whitespace/doc fixes
8179
8180 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8181
8182         * gst/gstelement.h:
8183           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8184           be handled by the application and not always printed as well
8185
8186 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8187
8188         * check/Makefile.am:
8189           set GST_TOOLS_DIR
8190         * gst/check/gstcheck.c: (gst_check_message_error):
8191         * gst/check/gstcheck.h:
8192           add a fail_unless_equals_int
8193           add fail_unless for error messages
8194
8195 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8196
8197         * check/Makefile.am:
8198         * check/gst.supp:
8199         * common/Makefile.am:
8200         * common/check.mak:
8201         * common/gst.supp:
8202           factor out some of the common stuff so we can use it
8203
8204 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8205
8206         * check/Makefile.am:
8207         * check/gst/gstiterator.c: (GST_START_TEST):
8208         * check/gst/gstsystemclock.c: (GST_START_TEST),
8209         (gst_systemclock_suite):
8210         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8211         * gst/gstclock.c:
8212           valgrind more tests
8213
8214 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8215
8216         * check/elements/.cvsignore:
8217         * check/elements/gstfakesrc.c:
8218           rename to name of element
8219         * check/elements/identity.c: (chain_func), (event_func),
8220         (setup_identity), (cleanup_identity), (GST_START_TEST),
8221         (identity_suite), (main):
8222           add a test for identity
8223         * check/Makefile.am:
8224         * pkgconfig/Makefile.am:
8225         * pkgconfig/gstreamer-check.pc.in:
8226         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8227         * gst/check:
8228         * gst/Makefile.am:
8229         * configure.ac:
8230           move the check stuff to a library that gets installed
8231         * check/gst-libs/controller.c: (GST_START_TEST):
8232         * check/gst-libs/gdp.c:
8233         * check/gst/gst.c: (GST_START_TEST):
8234         * check/gst/gstbin.c:
8235         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8236         * check/gst/gstbus.c:
8237         * check/gst/gstcaps.c: (GST_START_TEST):
8238         * check/gst/gstelement.c:
8239         * check/gst/gstghostpad.c:
8240         * check/gst/gstiterator.c:
8241         * check/gst/gstmessage.c:
8242         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8243         * check/gst/gstobject.c:
8244         * check/gst/gstpad.c: (GST_START_TEST):
8245         * check/gst/gststructure.c: (GST_START_TEST):
8246         * check/gst/gstsystemclock.c: (GST_START_TEST),
8247         (gst_systemclock_suite):
8248         * check/gst/gsttag.c: (gst_tag_suite):
8249         * check/gst/gstvalue.c:
8250         * check/pipelines/cleanup.c:
8251         * check/pipelines/simple_launch_lines.c:
8252         * check/states/sinks.c:
8253           change include statement
8254
8255         * docs/gst/gstreamer-sections.txt:
8256         * docs/gst/tmpl/gstpad.sgml:
8257           document more pad stuff
8258         * gst/gstminiobject.c: (gst_mini_object_ref),
8259         (gst_mini_object_unref):
8260           debug refcounting
8261
8262 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8263
8264         * docs/gst/tmpl/gst.sgml:
8265         * gst/gst.c:
8266           eliminate another tmpl file, fix spelling in the long-description
8267
8268 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8269
8270         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8271         (test_event), (timediff), (gstevents_suite):
8272           Should fix build on 64-bit arch's
8273
8274 2005-08-18  Andy Wingo  <wingo@pobox.com>
8275
8276         Make sure that when a pipeline goes to PLAYING, that data has
8277         actually hit the sink.
8278
8279         * check/states/sinks.c (test_sink): A sink that doesn't get any
8280         data shouldn't return SUCCESS for going to either PLAYING or
8281         PAUSED. Test also the return values on the way back down.
8282
8283         * gst/gstelement.c (gst_element_set_state): When changing the
8284         state of an element currently changing state asynchronously, go to
8285         lost-state after commiting the pending state. Makes future calls
8286         to get_state continue to return ASYNC.
8287
8288         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8289         ASYNC when going to PLAYING if we still don't have preroll, as can
8290         happen with live sources.
8291
8292 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8293
8294         * docs/pwg/advanced-types.xml:
8295           Hack long paragraph into 2 chunks as a workaround for buggy
8296           jadetex version in sid and breezy that loops infinitely and
8297           eats all RAM.
8298
8299 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8300
8301         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8302         (test_event), (timediff), (gstevents_suite):
8303           Provide more error margin in clock measurements to allow for 
8304           g_get_current_time inaccuracies.
8305
8306 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8307
8308         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8309         (test_event), (timediff), (gstevents_suite):
8310            Fix error message output so I might be able to tell why the
8311            test works here but fails on the build farm.
8312
8313 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8314
8315         * check/Makefile.am:
8316         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8317         (test_event), (timediff), (gstevents_suite), (main):
8318           I wrote a test!
8319
8320         * docs/design/part-seeking.txt:
8321           Spelling correction
8322
8323         * docs/gst/tmpl/gstevent.sgml:
8324         * docs/gst/tmpl/gstfakesrc.sgml:
8325           Docs updates.
8326
8327         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8328           Treat a buffer-without-newsegment the same as a receiving 
8329           a newsegment not in time format, and disable syncing to the clock
8330           with a warning.
8331
8332         * gst/gstbus.c: (gst_bus_set_sync_handler):
8333           Assert if anyone tries to replace the existing sync_handler for bus, 
8334           as only the owner should be setting it.
8335
8336         * gst/gstevent.h:
8337           Have a fixed set of custom event enums with events identified by
8338           their structure name (as in 0.8), rather than a free-for-all
8339           allowing collisions between enum values from different plugins.
8340
8341         * gst/gstpad.c: (gst_pad_class_init):
8342           Docs change.
8343           
8344         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8345           Handle out-of-band downstream events from the sending thread.
8346
8347 2005-08-17  Andy Wingo  <wingo@pobox.com>
8348
8349         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8350         play-timeout==0 to mean no timeout at all. In that case, don't
8351         bother with a get_state or a warning, just return directly, even
8352         if it's ASYNC.
8353
8354         * gst/base/gstbasetransform.c: Debug changes.
8355
8356         * gst/gstutils.h:
8357         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8358         ensure bins post state change messages. A bit of a hack but I can't
8359         think of a way to avoid it.
8360
8361         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8362
8363 2005-08-16  Andy Wingo  <wingo@pobox.com>
8364
8365         * gst/base/gstadapter.h:
8366         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8367         peek() but you own the data. Not terribly efficient atm.
8368
8369 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8370
8371         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8372         (gst_element_found_tags):
8373         * gst/gstutils.h:
8374           Add two utility functions for tag handling.
8375
8376 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8377
8378         * docs/manual/advanced-dataaccess.xml:
8379         * docs/manual/basics-helloworld.xml:
8380           Fix docs to use _bin_add() before _link(), which fixes the examples
8381           with recent core versions (reported by Madhan Raj M
8382           <raj_madan@rediffmail.com>, #313199).
8383
8384 2005-08-16  Wim Taymans  <wim@fluendo.com>
8385
8386         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8387         Added subtract checks.
8388
8389         * docs/design/part-events.txt:
8390         Some more docs about newsegment
8391
8392         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8393         Fix FIXME
8394
8395         * gst/gstcaps.c: (gst_caps_to_string):
8396         Add comments, cleanups.
8397         
8398         * gst/gstelement.c: (gst_element_save_thyself):
8399         cleanups
8400         
8401         * gst/gstvalue.c: (gst_value_collect_int_range),
8402         (gst_string_unwrap), (gst_value_union_int_int_range),
8403         (gst_value_union_int_range_int_range),
8404         (gst_value_intersect_int_int_range),
8405         (gst_value_intersect_int_range_int_range),
8406         (gst_value_intersect_double_double_range),
8407         (gst_value_intersect_double_range_double_range),
8408         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8409         (gst_value_subtract_int_range_int),
8410         (gst_value_subtract_double_range_double),
8411         (gst_value_subtract_double_range_double_range),
8412         (gst_value_subtract_from_list), (gst_value_subtract_list),
8413         (gst_value_can_compare), (gst_value_compare_fraction):
8414         Cleanups, add comments, remove unneeded asserts.
8415
8416 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8417
8418         * tools/gst-launch.c: (event_loop):
8419           don't convert NULL structures to strings
8420
8421 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8422
8423         * docs/gst/gstreamer-sections.txt:
8424           made some defines private
8425         * docs/gst/tmpl/gstconfig.sgml:
8426         * docs/gst/tmpl/gstqueue.sgml:
8427         * docs/gst/tmpl/gsttaglist.sgml:
8428         * docs/gst/tmpl/gsttypes.sgml:
8429         * docs/gst/tmpl/gstutils.sgml:
8430         * docs/pwg/appendix-porting.xml:
8431         * gst/base/gstbasesink.h:
8432         * gst/base/gstbasesrc.c:
8433         * gst/base/gstbasesrc.h:
8434         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8435         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8436         * gst/gstelement.c: (gst_element_class_init):
8437         * gst/gstpad.c: (gst_pad_class_init):
8438         * gst/gstqueue.c: (gst_queue_class_init):
8439         * gst/gstxml.c: (gst_xml_class_init):
8440           documented all undocumented signal inline
8441         * libs/gst/controller/gst-controller.h:
8442           added padding
8443
8444 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8445
8446         * docs/pwg/appendix-porting.xml:
8447           Document _set_link_function -> _set_setcaps_function.
8448
8449 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8450
8451         * check/Makefile.am:
8452           add a .check target for running the check
8453         * check/gst-libs/controller.c: (GST_START_TEST):
8454           cosmetic fixups
8455         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8456           complete checks for gstbuffer; would be nice if I could get the
8457           gcov stuff to work so I can see if I actually completed gstbuffer.c
8458         * check/gstcheck.h:
8459           add ASSERT_BUFFER_REFCOUNT
8460
8461 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8462
8463         * docs/gst/gstreamer-sections.txt:
8464         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8465         * gst/gsttag.h:
8466           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8467           spew out a warning if a tag that is already registered
8468           is re-registered, unless it is re-registered with a 
8469           different type (#308438).
8470
8471 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8472
8473         * docs/pwg/appendix-porting.xml:
8474         * docs/pwg/building-state.xml:
8475           Add some paragraphs about state changes in 0.9 to the PWG
8476           and the porting guide, in particular about the new meaning
8477           of GST_STATE_PAUSED and how to write state change functions
8478           with concurrent access by multiple threads in mind.
8479
8480 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8481
8482         * docs/gst/gstreamer-docs.sgml:
8483         * docs/libs/gstreamer-libs-docs.sgml:
8484           added deprecation and since indexes
8485         * libs/gst/controller/gst-controller.c:
8486         * libs/gst/controller/gst-helper.c:
8487           added since tags
8488
8489
8490 2005-08-11  Wim Taymans  <wim@fluendo.com>
8491
8492         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8493         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8494         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8495         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8496         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8497         (gst_ghost_pad_set_target):
8498         Actually implement (re)setting the target on a ghostpad
8499         as described in the docs.
8500
8501 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8502
8503         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8504           Check whether GST_DEBUG_NO_COLOR environment variable is
8505           set and disable coloured debug output if that is the case.
8506
8507 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8508
8509         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8510         (gst_type_find_helper):
8511           The memory returned by gst_type_find_peek() needs to
8512           stay valid until the end of a typefind function, and
8513           typefind functions may keep results from different 
8514           offsets around, so we can't just unref the buffer from
8515           the previous _peek(), but have to save all buffers 
8516           returned by _peek() until typefinding is done and only
8517           free them then.
8518
8519 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8520
8521         * docs/gst/gstreamer-sections.txt:
8522         * gst/gstutils.h:
8523           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8524
8525 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8526
8527         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8528           Fix a pretty good memleak.
8529
8530 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8531
8532         * gst/gstiterator.h:
8533           Fix wrong include and 'make distcheck'.
8534
8535 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8536
8537         * gst/gstbin.c: (bin_bus_handler):
8538           Use gst_element_post_message() instead.
8539
8540 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8541
8542         * gst/base/gstadapter.h:
8543         * gst/base/gstbasesink.h:
8544         * gst/base/gstbasesrc.h:
8545         * gst/base/gstbasetransform.h:
8546         * gst/base/gstcollectpads.h:
8547         * gst/base/gstpushsrc.h:
8548         * gst/gstiterator.h:
8549           Add padding to our base elements' class and instance structs and
8550           to GstIterator (you will need to rebuild all plugins and apps!)
8551
8552 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8553
8554         * gst/gstbin.c: (bin_bus_handler):
8555           Make default message forwarding from child->bus to bin->bus
8556           threadsafe and make it not emit warnings if the parent has no bus.
8557
8558 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8559
8560         * gst/gstelement.c: (activate_pads):
8561           On paused->ready, set pad->caps to NULL, as is the documented
8562           behaviour in this state change. Fixes playback of series of
8563           media files when visualization is enabled in Totem.
8564
8565 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8566
8567         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8568           Allow NULL as filter-caps (which means "any").
8569
8570 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8571
8572         * docs/libs/gstreamer-libs-sections.txt:
8573         * libs/gst/controller/gst-controller.c:
8574         * libs/gst/controller/gst-controller.h:
8575         * libs/gst/controller/gst-helper.c:
8576           adding more entries to the docs and fix small doc-bugs
8577
8578 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8579
8580         * docs/gst/gstreamer-docs.sgml:
8581         * docs/gst/gstreamer-sections.txt:
8582         * docs/gst/gstreamer.types:
8583         * docs/gst/tmpl/gstbasesink.sgml:
8584         * docs/gst/tmpl/gstbasesrc.sgml:
8585         * docs/gst/tmpl/gstbasetransform.sgml:
8586         * docs/gst/tmpl/gstfakesrc.sgml:
8587         * gst/base/gstcollectpads.c:
8588         * gst/base/gstcollectpads.h:
8589         * libs/gst/controller/gst-controller.c:
8590         * libs/gst/controller/gst-controller.h:
8591         * libs/gst/controller/gst-helper.c:
8592         * libs/gst/controller/gst-interpolation.c:
8593         * libs/gst/controller/lib.c:
8594           added long/short desc for controller docs
8595           added collectpads base class docs
8596           added correct includes to base-class docs
8597
8598 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8599
8600         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8601         (gst_test_mono_source_set_property),
8602         (gst_test_mono_source_class_init), (GST_START_TEST),
8603         (gst_controller_suite):
8604         * docs/gst/gstreamer-docs.sgml:
8605         * docs/gst/gstreamer-sections.txt:
8606         * docs/gst/gstreamer.types:
8607         * docs/libs/gstreamer-libs-docs.sgml:
8608         * docs/libs/gstreamer-libs-sections.txt:
8609         * gst/base/gstadapter.c:
8610         * libs/gst/controller/gst-controller.c:
8611         (gst_controlled_property_new), (gst_controlled_property_free),
8612         (gst_controller_new_valist),
8613         (gst_controller_remove_properties_valist),
8614         (gst_controller_sink_values), (_gst_controller_finalize):
8615         * libs/gst/controller/gst-controller.h:
8616         * libs/gst/controller/gst-helper.c:
8617         (gst_object_control_properties), (gst_object_uncontrol_properties),
8618         (gst_object_get_controller), (gst_object_set_controller),
8619         (gst_object_sink_values), (gst_object_get_value_arrays),
8620         (gst_object_get_value_array):
8621           more tests (and fixes) for the controller
8622           more docs for the controller
8623           integrated companies docs for the adapter 
8624
8625 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8626
8627         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8628         (GST_START_TEST), (fakesrc_suite):
8629           add tests for sizetype
8630
8631 2005-08-04  Andy Wingo  <wingo@pobox.com>
8632
8633         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8634         fixes buffer_alloc proxying among other things.
8635
8636         * gst/base/gstbasetransform.c:
8637         * gst/base/gstbasetransform.h:
8638         Revert patch to gstbasetransform from 7-28 removing
8639         delay_configure.
8640
8641         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8642         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8643         Semantics changed, should return not the size of the output buffer
8644         but the byte size of a buffer with a given caps.
8645
8646         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8647         debug object.
8648         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8649         out) are not the pad caps until setcaps finishes.
8650         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8651         not-in-place case as well. Deal with changing from in-place to
8652         not-in-place within calling pad_alloc_buffer. Still a bit
8653         concerned about the overhead here...
8654
8655 2005-08-03  Andy Wingo  <wingo@pobox.com>
8656
8657         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8658         fixating is an error.
8659
8660 2005-08-04  Edward Hervey  <edward@fluendo.com>
8661
8662         * gst/base/gstadapter.h: 
8663         Added gst_adapter_get_type() to the header
8664
8665 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8666
8667         * check/Makefile.am:
8668         * check/gst-libs/controller.c:
8669         * libs/gst/controller/gst-controller.c:
8670         (gst_controller_new_valist):
8671           added check test suite for the controller
8672         * gst/base/gstpushsrc.c:
8673           fixed a doc typo
8674
8675 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8676
8677         * docs/gst/Makefile.am:
8678         * docs/gst/gstreamer-docs.sgml:
8679         * docs/gst/gstreamer-sections.txt:
8680         * docs/gst/gstreamer.types:
8681         * docs/gst/tmpl/gstfakesrc.sgml:
8682         * gst/base/README:
8683         * gst/base/gstbasesink.c:
8684         * gst/base/gstbasesink.h:
8685         * gst/base/gstbasesrc.c:
8686         * gst/base/gstbasesrc.h:
8687         * gst/base/gstbasetransform.c:
8688         * gst/base/gstpushsrc.c:
8689         * gst/base/gstpushsrc.h:
8690           add short/long description docs to base classes
8691           add pushsrc to the docs
8692           remove consolidated doc fragments
8693
8694 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8695
8696         * configure.ac:
8697         * docs/libs/Makefile.am:
8698         * docs/libs/gstreamer-libs-docs.sgml:
8699         * docs/libs/gstreamer-libs-sections.txt:
8700         * docs/libs/gstreamer-libs.types:
8701         * examples/Makefile.am:
8702         * examples/controller/.cvsignore:
8703         * examples/controller/Makefile.am:
8704         * examples/controller/audio-example.c: (main):
8705         * libs/gst/Makefile.am:
8706         * libs/gst/controller/.cvsignore:
8707         * libs/gst/controller/Makefile.am:
8708         * libs/gst/controller/gst-controller.c:
8709         (on_object_controlled_property_changed), (gst_timed_value_compare),
8710         (gst_timed_value_find),
8711         (gst_controlled_property_set_interpolation_mode),
8712         (gst_controlled_property_new), (gst_controlled_property_free),
8713         (gst_controller_find_controlled_property),
8714         (gst_controller_new_valist), (gst_controller_new),
8715         (gst_controller_remove_properties_valist),
8716         (gst_controller_remove_properties), (gst_controller_set),
8717         (gst_controller_set_from_list), (gst_controller_unset),
8718         (gst_controller_get), (gst_controller_get_all),
8719         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8720         (gst_controller_get_value_array),
8721         (gst_controller_set_interpolation_mode),
8722         (_gst_controller_finalize), (_gst_controller_init),
8723         (_gst_controller_class_init), (gst_controller_get_type):
8724         * libs/gst/controller/gst-controller.h:
8725         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8726         (g_object_uncontrol_properties), (g_object_get_controller),
8727         (g_object_set_controller), (g_object_sink_values),
8728         (g_object_get_value_arrays), (g_object_get_value_array):
8729         * libs/gst/controller/gst-interpolation.c:
8730         (gst_controlled_property_find_timed_value_node),
8731         (interpolate_none_get), (interpolate_trigger_get),
8732         (interpolate_trigger_get_value_array):
8733         * libs/gst/controller/lib.c: (gst_controller_init):
8734         * pkgconfig/Makefile.am:
8735         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8736         * pkgconfig/gstreamer-control.pc.in:
8737         * testsuite/Makefile.am:
8738         * testsuite/controller/.cvsignore:
8739         * testsuite/controller/Makefile.am:
8740         * testsuite/controller/interpolator.c: (main):
8741           added controller code
8742           removed dparam pc files
8743
8744 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8745         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8746         (gst_collectpads_stop):
8747           Broadcast the condition when shutting down, to make sure we wake all
8748           threads up. Shut down pads on finalize, for safety.
8749
8750 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8751         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8752         (gst_base_transform_handle_buffer),
8753         (gst_base_transform_change_state):
8754           Handle PAUSED->READY->PAUSED transition after negotiation
8755           occurred already.
8756         * gst/gstmessage.c: (gst_message_init):
8757           Extra piece of debug for new messages.
8758
8759 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8760
8761         * configure.ac:
8762         * docs/gst/tmpl/gstbasesrc.sgml:
8763         * docs/gst/tmpl/gstelement.sgml:
8764         * docs/gst/tmpl/gstevent.sgml:
8765         * docs/gst/tmpl/gstfakesrc.sgml:
8766         * docs/gst/tmpl/gstformat.sgml:
8767         * docs/gst/tmpl/gstghostpad.sgml:
8768         * docs/gst/tmpl/gstpad.sgml:
8769         * docs/gst/tmpl/gstquery.sgml:
8770         * docs/gst/tmpl/gststructure.sgml:
8771         * docs/gst/tmpl/gsttaglist.sgml:
8772         * docs/gst/tmpl/gstvalue.sgml:
8773         * docs/libs/gstreamer-libs-docs.sgml:
8774         * docs/libs/gstreamer-libs-sections.txt:
8775         * docs/libs/gstreamer-libs.types:
8776         * libs/gst/Makefile.am:
8777         * libs/gst/control/.cvsignore:
8778         * libs/gst/control/Makefile.am:
8779         * libs/gst/control/control.c:
8780         * libs/gst/control/control.h:
8781         * libs/gst/control/dparam.c:
8782         * libs/gst/control/dparam.h:
8783         * libs/gst/control/dparam_smooth.c:
8784         * libs/gst/control/dparam_smooth.h:
8785         * libs/gst/control/dparamcommon.h:
8786         * libs/gst/control/dparammanager.c:
8787         * libs/gst/control/dparammanager.h:
8788         * libs/gst/control/dplinearinterp.c:
8789         * libs/gst/control/dplinearinterp.h:
8790         * libs/gst/control/unitconvert.c:
8791         * libs/gst/control/unitconvert.h:
8792         * testsuite/Makefile.am:
8793         * testsuite/dynparams/.cvsignore:
8794         * testsuite/dynparams/Makefile.am:
8795         * testsuite/dynparams/dparamstest.c:
8796         * tools/Makefile.am:
8797         * tools/gst-inspect.c: (print_element_info), (main):
8798         * tools/gst-xmlinspect.c: (print_element_info), (main):
8799           deactivate and remove dparams (libgstcontrol)
8800
8801 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8802
8803         * gst/elements/gsttypefindelement.c:
8804         (gst_type_find_element_have_type), (gst_type_find_element_init),
8805         (stop_typefinding), (gst_type_find_element_handle_event),
8806         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8807         * gst/elements/gsttypefindelement.h:
8808           Set caps on all outgoing buffers, not just the first one.
8809
8810 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8811
8812         * gst/elements/gsttypefindelement.c:
8813         (gst_type_find_element_have_type),
8814         (gst_type_find_element_check_set_buffer_caps),
8815         (gst_type_find_element_init), (stop_typefinding),
8816         (gst_type_find_element_handle_event),
8817         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8818         * gst/elements/gsttypefindelement.h:
8819           Set caps on first outgoing buffer when we've found the type.
8820
8821 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8822
8823         * docs/gst/gstreamer-docs.sgml:
8824         * docs/gst/gstreamer-sections.txt:
8825         * docs/gst/tmpl/gstscheduler.sgml:
8826         * docs/gst/tmpl/gstschedulerfactory.sgml:
8827           Remove some old cruft from docs.
8828
8829 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8830
8831         * gst/gstpad.h:
8832           Fix inline docs for GstPadLinkReturn.
8833           
8834         * gst/gststructure.c: (gst_structure_has_name):
8835         * gst/gststructure.h:
8836         * docs/gst/gstreamer-sections.txt:
8837           New API: gst_structure_has_name().
8838
8839 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8840
8841         * configure.ac:
8842           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8843           and _LARGEFILE_SOURCE in config.h as required. Do not 
8844           export those flags in our .pc files any longer (#142209).
8845
8846           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8847
8848         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8849         (gst_file_sink_do_seek), (gst_file_sink_event),
8850         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8851           Redo seek/tell calls with large file support in mind; add some
8852           debugging messages; add log message that tells us when large
8853           file support is unavailable or not enabled for some reason.
8854
8855         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8856           Add log message that tells us when large file support 
8857           is unavailable or not enabled for some reason.
8858
8859 2005-07-29  Wim Taymans  <wim@fluendo.com>
8860
8861         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8862         Added test for removing an element with ghostpad from a bin.
8863         Fixed test as current implementation does the right thing.
8864
8865         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8866         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8867         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8868         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8869         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8870         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8871         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8872         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8873         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8874         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8875         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8876         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8877         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8878         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8879         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8880         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8881         * gst/gstghostpad.h:
8882         Clean up ghostpads, remove properties for internal stuff.
8883         Make threadsafe.
8884         Fix refcounting.
8885         Prepare for switching targets, not all use cases work yet.
8886
8887 2005-07-29  Wim Taymans  <wim@fluendo.com>
8888
8889         * docs/design/part-gstghostpad.txt:
8890         Small update.
8891
8892         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8893         (gst_bin_remove_func):
8894         Unlinking pads while holding the bin LOCK is not a good
8895         idea.
8896
8897         * gst/gstpad.c: (gst_pad_class_init),
8898         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8899         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8900         No prob setting template after creating the pad.
8901
8902 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8903
8904         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8905         (gst_bus_peek), (gst_bus_source_dispatch),
8906         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8907         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8908           gst_bus_poll may be called from other threads. Handle
8909           this nicely by not making poll_data disappear off the
8910           stack once gst_bus_poll returns.
8911           gst_bus_peek now increments the refcount on the returned
8912           message.
8913
8914 2005-07-29  Wim Taymans  <wim@fluendo.com>
8915
8916         * docs/design/part-gstghostpad.txt:
8917         Overview of current GhostPad datastructures and use
8918         cases for changing the target.
8919
8920 2005-07-28  Wim Taymans  <wim@fluendo.com>
8921
8922         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8923         Added checks for hierarchy consistency whan adding linked
8924         elements to bins.
8925
8926         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8927         Added check to test element scheduling without bin/pipeline.
8928
8929         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8930         First add elements to bin, then link.
8931         
8932         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8933         (gst_bin_remove_func):
8934         Unlink pads from elements added/removed from bin to maintain
8935         hierarchy consistency.
8936
8937 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8938
8939         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8940         (gst_base_transform_handle_buffer):
8941         * gst/base/gstbasetransform.h:
8942           Remove broken delay_configure (fixes renegotiation of software
8943           scaling pipelines); remove some leftover printf()s.
8944
8945 2005-07-28  Wim Taymans  <wim@fluendo.com>
8946
8947         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8948         Added some more tests for wrong hierarchy
8949
8950         * docs/design/part-overview.txt:
8951         Some updates.
8952
8953         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8954         Cleanups.
8955
8956         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8957         (gst_element_dispose):
8958         Some more cleanups.
8959
8960         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8961         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8962         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8963         (gst_pad_set_caps), (gst_pad_send_event):
8964         Check for correct hierarchy when linking pads. Moving to
8965         strict requirement for ghostpads when linking elements in
8966         different bins.
8967
8968         * gst/gstpad.h:
8969         Clean ups. Added WRONG_HIERARCHY return value.
8970
8971 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8972
8973         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8974           Better debug if no transform is possible.
8975
8976 2005-07-27  Wim Taymans  <wim@fluendo.com>
8977
8978         * docs/random/wtay/network-transp:
8979         Some old doc I had.
8980
8981 2005-07-27  Wim Taymans  <wim@fluendo.com>
8982
8983         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8984         (gst_dp_event_from_packet):
8985         Fix serialization of seek events.
8986
8987 2005-07-27  Wim Taymans  <wim@fluendo.com>
8988
8989         * check/gst-libs/gdp.c: (GST_START_TEST):
8990         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8991         Fix compilation and fix event serialization.
8992
8993 2005-07-27  Wim Taymans  <wim@fluendo.com>
8994
8995         * CHANGES-0.9:
8996         * docs/design/part-TODO.txt:
8997         * docs/design/part-events.txt:
8998         Some docs updates
8999
9000         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9001         (gst_base_sink_event), (gst_base_sink_do_sync),
9002         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9003         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9004         (gst_base_src_do_seek), (gst_base_src_event_handler),
9005         (gst_base_src_loop):
9006         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9007         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9008         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9009         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9010         (gst_base_transform_set_passthrough),
9011         (gst_base_transform_is_passthrough):
9012         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9013         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9014         Event updates.
9015
9016         * gst/gstbuffer.h:
9017         Use faster casts.
9018
9019         * gst/gstelement.c: (gst_element_seek):
9020         * gst/gstelement.h:
9021         Update gst_element_seek.
9022
9023         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9024         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9025         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9026         (gst_event_new_eos), (gst_event_new_newsegment),
9027         (gst_event_parse_newsegment), (gst_event_new_tag),
9028         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9029         (gst_event_parse_qos), (gst_event_new_seek),
9030         (gst_event_parse_seek), (gst_event_new_navigation):
9031         * gst/gstevent.h:
9032         Make GstEvent use GstStructure. Add parsing code, make sure the
9033         API is sufficiently generic.
9034         Mark possible directions of events and serialization.
9035
9036         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9037         (_gst_message_copy), (gst_message_new_segment_start),
9038         (gst_message_new_segment_done), (gst_message_new_custom),
9039         (gst_message_parse_segment_start),
9040         (gst_message_parse_segment_done):
9041         Small cleanups.
9042
9043         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9044         (gst_pad_set_caps), (gst_pad_send_event):
9045         Update for new events. 
9046         Catch events sent in wrong directions.
9047
9048         * gst/gstqueue.c: (gst_queue_link_src),
9049         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9050         (gst_queue_handle_src_query):
9051         Event updates.
9052
9053         * gst/gsttag.c:
9054         * gst/gsttag.h:
9055         Remove event code from this file.
9056
9057         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9058         (gst_dp_event_from_packet):
9059         Event updates.
9060
9061 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9062
9063         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9064         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9065         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9066           Make debugging actually useful.
9067
9068 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9069
9070         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9071         (gst_pad_fixate_caps):
9072           Implement default fixation once again, so that gst_pad_fixate()
9073           actually does anything at all. This probably needs to be some
9074           sort of a last resort, and use profile-based fixation first, but
9075           since that doesn't exist yet, this is the best we have. Fixes
9076           visualization in Totem.
9077
9078 2005-07-22  Wim Taymans  <wim@fluendo.com>
9079
9080         * docs/design/part-events.txt:
9081         Small update.
9082
9083         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9084         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9085         (gst_base_sink_activate_pull):
9086         Some more comments.
9087
9088         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9089         (gst_fake_src_create):
9090         Fix handoff marshall.
9091
9092         * gst/elements/gstidentity.c: (gst_identity_class_init),
9093         (gst_identity_transform_ip):
9094         We're a real inplace element.
9095
9096         * gst/gstbus.c: (gst_bus_post):
9097         Added some comments.
9098
9099         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9100         * tests/muxing/case1.c: (main):
9101         * tests/sched/dynamic-pipeline.c: (main):
9102         * tests/sched/interrupt1.c: (main):
9103         * tests/sched/interrupt2.c: (main):
9104         * tests/sched/interrupt3.c: (main):
9105         * tests/sched/runxml.c: (main):
9106         * tests/sched/sched-stress.c: (main):
9107         * tests/seeking/seeking1.c: (event_received), (main):
9108         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9109         (main):
9110         * tests/threadstate/threadstate3.c: (main):
9111         * tests/threadstate/threadstate4.c: (main):
9112         * tests/threadstate/threadstate5.c: (main):
9113         Fix the tests.
9114
9115 2005-07-21  Wim Taymans  <wim@fluendo.com>
9116
9117         * docs/design/part-seeking.txt:
9118         Some small additions.
9119
9120         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9121         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9122         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9123         * gst/base/gstbasesink.h:
9124         discont values are gint64, handle the math correctly.
9125
9126         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9127         Make the basesrc report error if the source pad is not linked.
9128
9129         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9130         (gst_queue_loop), (gst_queue_handle_src_query),
9131         (gst_queue_src_activate_push):
9132         Make queue collect data even if the srcpad is not linked.
9133         Start pushing out data as soon as it is linked.
9134
9135         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9136         * gst/gstutils.h:
9137         Added gst_flow_get_name() to ease error reporting.
9138
9139 2005-07-20  Wim Taymans  <wim@fluendo.com>
9140
9141         * gst/gstmessage.c: (gst_message_new_segment_start),
9142         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9143         (gst_message_parse_segment_done):
9144         * gst/gstmessage.h:
9145         Added a bunch of messages for advanced seeking.
9146
9147         * gst/parse/grammar.y:
9148         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9149         (gst_dpman_state_changed):
9150         Fix some new-pad -> pad-added signals
9151
9152 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9153
9154         * docs/manual/appendix-porting.xml:
9155         * docs/pwg/appendix-porting.xml:
9156           Document new-pad/state-change signal renames and the FixedList
9157           type rename.
9158
9159 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9160
9161         * docs/manual/advanced-autoplugging.xml:
9162         * docs/manual/basics-helloworld.xml:
9163         * docs/manual/basics-pads.xml:
9164         * docs/random/ds/0.9-suggested-changes:
9165         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9166         * gst/gstelement.h:
9167         * gst/gstevent.h:
9168         * gst/gstformat.h:
9169         * gst/gstquery.h:
9170         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9171         (gst_structure_parse_array), (gst_structure_parse_value):
9172         * gst/gstvalue.c: (gst_type_is_fixed),
9173         (gst_value_list_prepend_value), (gst_value_list_append_value),
9174         (gst_value_list_get_size), (gst_value_list_get_value),
9175         (gst_value_transform_array_string), (gst_value_serialize_array),
9176         (gst_value_deserialize_array), (gst_value_intersect_array),
9177         (gst_value_is_fixed), (_gst_value_initialize):
9178         * gst/gstvalue.h:
9179           GstElement::new-pad -> pad-added, GstElement::state-change ->
9180           state-changed, GstValueFixedList -> GstValueArray, add format and
9181           flags as their own arguments in gst_element_seek() (should improve
9182           "bindeability"), remove function generators since they don't work
9183           under a whole bunch of compilers (they were deprecated already
9184           anyway).
9185
9186 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9187
9188         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9189         (_gst_debug_register_funcptr):
9190         * gst/gstinfo.h:
9191           Fix illegal cast on some platforms (#309253).
9192
9193 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9194
9195         * gst/gstmessage.c: (gst_message_new_custom):
9196         * gst/gstmessage.h:
9197           Add _new_custom, make _new_application a macro to _new_custom.
9198
9199 2005-07-20  Wim Taymans  <wim@fluendo.com>
9200
9201         * gst/base/gstbasesrc.c: (gst_base_src_init),
9202         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9203         * gst/base/gstbasesrc.h:
9204         Add a gboolean to decide when to push out a discont.
9205
9206         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9207         (gst_queue_loop), (gst_queue_handle_src_query),
9208         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9209         (gst_queue_set_property), (gst_queue_get_property):
9210         Some cleanups.
9211
9212         * tests/threadstate/threadstate1.c: (main):
9213         Make a thread test compile and run... very silly..
9214
9215
9216 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9217
9218         * docs/manual/appendix-porting.xml:
9219           Mention removal of libgstgconf-0.9.la and existence of gconf
9220           elements.
9221
9222 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9223
9224         * docs/pwg/advanced-clock.xml:
9225         * docs/pwg/appendix-porting.xml:
9226         * docs/pwg/intro-preface.xml:
9227         * docs/pwg/other-base.xml:
9228         * docs/pwg/other-manager.xml:
9229         * docs/pwg/other-nton.xml:
9230         * docs/pwg/other-ntoone.xml:
9231         * docs/pwg/other-oneton.xml:
9232         * docs/pwg/pwg.xml:
9233           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9234           demuxer), remove n-to-n (was never written), fix some code examples
9235           and links and update the porting section to include all this.
9236
9237 2005-07-19  Wim Taymans  <wim@fluendo.com>
9238
9239         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9240         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9241         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9242         (gst_queue_src_activate_push), (gst_queue_change_state),
9243         (gst_queue_get_property):
9244         * gst/gstqueue.h:
9245         Propagate GstFlowReturn more intelligently upstream and output
9246         an ERROR/EOS when streaming stopped due to fatal error.
9247
9248 2005-07-19  Wim Taymans  <wim@fluendo.com>
9249
9250         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9251         Don't block forever for the state change to complete, the
9252         pipeline already did with a sensible timeout.
9253
9254 2005-07-19  Wim Taymans  <wim@fluendo.com>
9255
9256         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9257         Make sure we never call the create function is we
9258         got deactivated.
9259
9260 2005-07-19  Andy Wingo  <wingo@pobox.com>
9261
9262         * gst/parse/parse.l: Attempt to solve bug #172815.
9263
9264 2005-07-19  Wim Taymans  <wim@fluendo.com>
9265
9266         * docs/design/part-clocks.txt:
9267         * docs/design/part-events.txt:
9268         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9269         Small docs updates.
9270         Only update the seeking values when we are not
9271         busy streaming.
9272
9273 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9274
9275         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9276           Oops, ignore the result of gst_pad_push_event here.
9277
9278 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9279
9280         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9281         (gst_base_src_activate_push):
9282           Send discont event from the loop function, as pads
9283           aren't activated yet in the activate_push handler.
9284
9285         * gst/gstbin.c: (bin_bus_handler):
9286           Don't leak element name.
9287
9288 2005-07-18  Andy Wingo  <wingo@pobox.com>
9289
9290         * configure.ac: Use AS_LIBTOOL_TAGS.
9291
9292 2005-07-18  Wim Taymans  <wim@fluendo.com>
9293
9294         * docs/gst/gstreamer.types:
9295         Remove deleted types.
9296
9297 2005-07-18  Wim Taymans  <wim@fluendo.com>
9298
9299         * check/elements/gstfakesrc.c: (GST_START_TEST):
9300         * configure.ac:
9301         * gst/Makefile.am:
9302         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9303         (init_popt_callback):
9304         * gst/gst.h:
9305         * gst/gst_private.h:
9306         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9307         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9308         * gst/gstbin.h:
9309         * gst/gstbus.h:
9310         * gst/gstconfig.h.in:
9311         * gst/gstelement.c: (gst_element_class_init),
9312         (gst_element_set_base_time), (gst_element_get_base_time),
9313         (iterator_fold_with_resync), (gst_element_change_state),
9314         (gst_element_dispose), (gst_element_get_bus):
9315         * gst/gstelement.h:
9316         * gst/gstelementfactory.h:
9317         * gst/gsterror.c: (_gst_core_errors_init):
9318         * gst/gsterror.h:
9319         * gst/gstevent.h:
9320         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9321         * gst/gstindex.c:
9322         * gst/gstinfo.c: (_gst_debug_init):
9323         * gst/gstmessage.c: (_gst_message_copy):
9324         * gst/gstmessage.h:
9325         * gst/gstminiobject.h:
9326         * gst/gstobject.c:
9327         * gst/gstobject.h:
9328         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9329         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9330         * gst/gstpad.h:
9331         * gst/gstparse.h:
9332         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9333         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9334         (gst_pipeline_get_last_stream_time):
9335         * gst/gstpipeline.h:
9336         * gst/gstpluginfeature.h:
9337         * gst/gstquery.h:
9338         * gst/gstscheduler.c:
9339         * gst/gstscheduler.h:
9340         * gst/gststructure.h:
9341         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9342         (gst_task_finalize), (gst_task_func), (gst_task_create),
9343         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9344         (gst_task_stop), (gst_task_pause):
9345         * gst/gsttask.h:
9346         * gst/gsttypefind.h:
9347         * gst/gsttypes.h:
9348         * gst/registries/gstlibxmlregistry.c: (load_feature),
9349         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9350         * gst/registries/gstxmlregistry.c:
9351         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9352         * gst/schedulers/threadscheduler.c:
9353         * libs/gst/control/dparammanager.h:
9354         * tools/gst-inspect.c: (print_element_list),
9355         (print_plugin_features), (print_element_features):
9356         * tools/gst-xmlinspect.c: (print_element_list),
9357         (print_plugin_info), (main):
9358         Removed plugable schedulers.
9359         Removed Scheduler/Manager from elements.
9360         Removed gsttypes.h, rearranged includes.
9361         Removed dependency pad<->element, element<>pipeline, and
9362         various others,  fix includes.
9363         implement gst_pad_get_parent() with gst_object_get_parent()
9364         Make GstTask sefcontained.
9365         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9366         timeout.
9367         Fix endless loop in iterator_fold_with_resync.
9368
9369
9370 2005-07-18  Wim Taymans  <wim@fluendo.com>
9371
9372         * gst/Makefile.am:
9373         * gst/gstarch.h:
9374         Remove old file.
9375
9376 2005-07-18  Wim Taymans  <wim@fluendo.com>
9377
9378         * gst/Makefile.am:
9379         No more cothreads.h
9380
9381 2005-07-18  Wim Taymans  <wim@fluendo.com>
9382
9383         * gst/cothreads.c:
9384         * gst/cothreads.h:
9385         Let's remove these.
9386
9387 2005-07-18  Wim Taymans  <wim@fluendo.com>
9388
9389         * docs/design/part-dynamic.txt:
9390         * docs/design/part-events.txt:
9391         * docs/design/part-seeking.txt:
9392         Some more docs in the works.
9393
9394         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9395         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9396         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9397         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9398         (gst_base_transform_handle_buffer),
9399         (gst_base_transform_sink_activate_push),
9400         (gst_base_transform_src_activate_pull),
9401         (gst_base_transform_set_passthrough),
9402         (gst_base_transform_is_passthrough):
9403         Refcounting fixes.
9404
9405         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9406         Cleanups.
9407
9408         * gst/gstevent.c: (gst_event_finalize):
9409         Set SRC to NULL.
9410
9411         * gst/gstutils.c: (gst_element_unlink),
9412         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9413         (gst_pad_proxy_setcaps):
9414         * gst/gstutils.h:
9415         Add _get_parent_element() to get a pads parent as an element.
9416
9417 2005-07-18  Wim Taymans  <wim@fluendo.com>
9418
9419         * check/gst/gstbin.c: (GST_START_TEST):
9420         Remove bogus test.
9421
9422 2005-07-18  Wim Taymans  <wim@fluendo.com>
9423
9424         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9425         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9426         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9427         (gst_base_sink_event), (gst_base_sink_do_sync),
9428         (gst_base_sink_chain), (gst_base_sink_loop),
9429         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9430         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9431         Refcounting fixes.
9432         Fix logic for returning ASYNC when not prerolled.
9433
9434 2005-07-18  Wim Taymans  <wim@fluendo.com>
9435
9436         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9437         Fix nasty refcount bug.
9438
9439 2005-07-16 Philippe Khalaf <burger@speedy.org>
9440
9441         * gst/elements/gstfdsrc.c:
9442         * gst/elements/gstfdsrc.h:
9443         * gst/elements/gstelements.c:
9444         * gst/elements/Makefile.am:
9445         Ported fdsrc to 0.9.
9446
9447 2005-07-16  Wim Taymans  <wim@fluendo.com>
9448
9449         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9450         (gst_base_sink_do_sync):
9451         Fix compile error.
9452
9453 2005-07-16  Wim Taymans  <wim@fluendo.com>
9454
9455         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9456         (gst_base_sink_event), (gst_base_sink_get_times),
9457         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9458         * gst/base/gstbasesink.h:
9459         Store and use discont values when syncing buffers as described
9460         in design docs.
9461         
9462         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9463         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9464         (gst_base_src_activate_push):
9465         Push discont event when starting.
9466
9467         * gst/elements/gstidentity.c: (gst_identity_transform):
9468         Small cleanups.
9469
9470         * gst/gstbin.c: (gst_bin_change_state):
9471         Small cleanups in base_time  distribution.
9472
9473         * gst/gstelement.c: (gst_element_set_base_time),
9474         (gst_element_get_base_time), (gst_element_change_state):
9475         * gst/gstelement.h:
9476         Added methods for the base_time of the element.
9477         Some MT fixes.
9478
9479         * gst/gstpipeline.c: (gst_pipeline_send_event),
9480         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9481         (gst_pipeline_get_last_stream_time):
9482         * gst/gstpipeline.h:
9483         MT fixes.
9484         Handle seeking as described in design doc, remove stream_time
9485         hack.
9486         Cleanups clock and stream_time selection code. Added accessors
9487         for the stream_time.
9488         
9489
9490 2005-07-16  Andy Wingo  <wingo@pobox.com>
9491
9492         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9493         (#305291).
9494
9495 2005-07-16  Wim Taymans  <wim@fluendo.com>
9496
9497         * check/gst/gstbin.c: (GST_START_TEST):
9498         Make elements silent as the deep_notify refs the
9499         parent, which might make the test fail.
9500
9501         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9502         Don't hold the lock for too long.
9503
9504 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9505
9506         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9507           Don't unref the caps we passed to gst_caps_make_writable() after
9508           passing them. gst_caps_make_writable() will do that for us.
9509
9510 2005-07-15  Andy Wingo  <wingo@pobox.com>
9511
9512         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9513         (#157311).
9514
9515         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9516         own marshalling function for the handoff signal. Properly type the
9517         buffer as a buffer. Fixes some warnings. Should do a more general
9518         solution.
9519         (gst_identity_class_init): Plug into the right marshaller.
9520
9521 2005-07-15  Wim Taymans  <wim@fluendo.com>
9522
9523         * docs/design/part-TODO.txt:
9524         * docs/design/part-clocks.txt:
9525         * docs/design/part-element-sink.txt:
9526         * docs/design/part-events.txt:
9527         * docs/design/part-gstpipeline.txt:
9528         Updated docs, mostly DISCONT related.
9529
9530 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9531
9532         * docs/pwg/building-pads.xml:
9533           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9534
9535 2005-07-15  Andy Wingo  <wingo@pobox.com>
9536
9537         * tools/gst-typefind.c: Update, add copyright block.
9538
9539         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9540         Normalize and truncate caps before fixation.
9541
9542         * gst/gstcaps.h:
9543         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9544         discards all but the first structure from its argument.
9545
9546 2005-07-15  Wim Taymans  <wim@fluendo.com>
9547
9548         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9549         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9550         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9551         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9552         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9553         (gst_base_transform_chain), (gst_base_transform_change_state),
9554         (gst_base_transform_set_passthrough),
9555         (gst_base_transform_is_passthrough):
9556         * gst/base/gstbasetransform.h:
9557         Make passthrough work using the bufferpools.
9558         Changed API a bit, subclasses have to write into a buffer
9559         provided by the base class.
9560         More debug info in nego functions.
9561         
9562         * gst/elements/gstidentity.c: (gst_identity_init),
9563         (gst_identity_transform):
9564         Port to new base class.
9565
9566 2005-07-15  Wim Taymans  <wim@fluendo.com>
9567
9568         * gst/gstmessage.c: (gst_message_new_state_changed):
9569         * tools/gst-launch.c: (event_loop), (main):
9570         Totally dump messages in -launch with the -m option.
9571         Fix message name for State messages,
9572
9573 2005-07-14  Wim Taymans  <wim@fluendo.com>
9574
9575         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9576         Post error messages on errors.
9577
9578 2005-07-14  Wim Taymans  <wim@fluendo.com>
9579
9580         * gst/gstcaps.c: (gst_caps_do_simplify):
9581         Remove debug info.
9582
9583         * gst/gsterror.h:
9584         Define error for stream stopped.
9585
9586         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9587         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9588         Do proper return values.
9589
9590         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9591         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9592         (gst_pad_get_range):
9593         Better return values.
9594
9595         * gst/gstpad.h:
9596         Reorganise return values, add macro to check for fatal errors.
9597
9598         * gst/gstqueue.c: (gst_queue_chain):
9599         Return proper GstFlowReturn values,
9600
9601 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9602
9603         * docs/gst/gstreamer-sections.txt:
9604         * docs/gst/gstreamer.types:
9605         * docs/gst/tmpl/gst.sgml:
9606         * docs/gst/tmpl/gstbasesink.sgml:
9607         * docs/gst/tmpl/gstbasesrc.sgml:
9608         * docs/gst/tmpl/gstbasetransform.sgml:
9609         * docs/gst/tmpl/gstbin.sgml:
9610         * docs/gst/tmpl/gstbuffer.sgml:
9611         * docs/gst/tmpl/gstcaps.sgml:
9612         * docs/gst/tmpl/gstclock.sgml:
9613         * docs/gst/tmpl/gstcompat.sgml:
9614         * docs/gst/tmpl/gstconfig.sgml:
9615         * docs/gst/tmpl/gstelement.sgml:
9616         * docs/gst/tmpl/gstelementdetails.sgml:
9617         * docs/gst/tmpl/gstelementfactory.sgml:
9618         * docs/gst/tmpl/gstenumtypes.sgml:
9619         * docs/gst/tmpl/gsterror.sgml:
9620         * docs/gst/tmpl/gstevent.sgml:
9621         * docs/gst/tmpl/gstfakesink.sgml:
9622         * docs/gst/tmpl/gstfakesrc.sgml:
9623         * docs/gst/tmpl/gstfilesink.sgml:
9624         * docs/gst/tmpl/gstfilesrc.sgml:
9625         * docs/gst/tmpl/gstfilter.sgml:
9626         * docs/gst/tmpl/gstformat.sgml:
9627         * docs/gst/tmpl/gstghostpad.sgml:
9628         * docs/gst/tmpl/gstimplementsinterface.sgml:
9629         * docs/gst/tmpl/gstindex.sgml:
9630         * docs/gst/tmpl/gstindexfactory.sgml:
9631         * docs/gst/tmpl/gstinfo.sgml:
9632         * docs/gst/tmpl/gstiterator.sgml:
9633         * docs/gst/tmpl/gstmacros.sgml:
9634         * docs/gst/tmpl/gstmemchunk.sgml:
9635         * docs/gst/tmpl/gstminiobject.sgml:
9636         * docs/gst/tmpl/gstobject.sgml:
9637         * docs/gst/tmpl/gstpad.sgml:
9638         * docs/gst/tmpl/gstpadtemplate.sgml:
9639         * docs/gst/tmpl/gstparse.sgml:
9640         * docs/gst/tmpl/gstpipeline.sgml:
9641         * docs/gst/tmpl/gstplugin.sgml:
9642         * docs/gst/tmpl/gstpluginfeature.sgml:
9643         * docs/gst/tmpl/gstquery.sgml:
9644         * docs/gst/tmpl/gstqueue.sgml:
9645         * docs/gst/tmpl/gstregistry.sgml:
9646         * docs/gst/tmpl/gstregistrypool.sgml:
9647         * docs/gst/tmpl/gstscheduler.sgml:
9648         * docs/gst/tmpl/gstschedulerfactory.sgml:
9649         * docs/gst/tmpl/gststructure.sgml:
9650         * docs/gst/tmpl/gstsystemclock.sgml:
9651         * docs/gst/tmpl/gsttaglist.sgml:
9652         * docs/gst/tmpl/gsttagsetter.sgml:
9653         * docs/gst/tmpl/gsttrace.sgml:
9654         * docs/gst/tmpl/gsttrashstack.sgml:
9655         * docs/gst/tmpl/gsttypefind.sgml:
9656         * docs/gst/tmpl/gsttypefindfactory.sgml:
9657         * docs/gst/tmpl/gsttypes.sgml:
9658         * docs/gst/tmpl/gsturihandler.sgml:
9659         * docs/gst/tmpl/gsturitype.sgml:
9660         * docs/gst/tmpl/gstutils.sgml:
9661         * docs/gst/tmpl/gstvalue.sgml:
9662         * docs/gst/tmpl/gstversion.sgml:
9663         * docs/gst/tmpl/gstxml.sgml:
9664         * docs/libs/tmpl/gstcontrol.sgml:
9665         * docs/libs/tmpl/gstdataprotocol.sgml:
9666         * docs/libs/tmpl/gstdparam.sgml:
9667         * docs/libs/tmpl/gstdplinint.sgml:
9668         * docs/libs/tmpl/gstdpman.sgml:
9669         * docs/libs/tmpl/gstdpsmooth.sgml:
9670         * docs/libs/tmpl/gstgetbits.sgml:
9671         * docs/libs/tmpl/gstunitconvert.sgml:
9672         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9673         (gst_push_src_base_init), (gst_push_src_class_init),
9674         (gst_push_src_init), (gst_push_src_create):
9675         * gst/base/gstpushsrc.h:
9676         * gst/elements/gstelements.c:
9677         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9678         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9679         (gst_fake_sink_init), (gst_fake_sink_set_property),
9680         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9681         (gst_fake_sink_event), (gst_fake_sink_preroll),
9682         (gst_fake_sink_render), (gst_fake_sink_change_state):
9683         * gst/elements/gstfakesink.h:
9684         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9685         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9686         (gst_fake_src_base_init), (gst_fake_src_class_init),
9687         (gst_fake_src_init), (gst_fake_src_event_handler),
9688         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9689         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9690         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9691         (gst_fake_src_create_buffer), (gst_fake_src_create),
9692         (gst_fake_src_start), (gst_fake_src_stop):
9693         * gst/elements/gstfakesrc.h:
9694         * gst/elements/gstfilesink.c: (_do_init),
9695         (gst_file_sink_base_init), (gst_file_sink_class_init),
9696         (gst_file_sink_init), (gst_file_sink_dispose),
9697         (gst_file_sink_set_location), (gst_file_sink_set_property),
9698         (gst_file_sink_get_property), (gst_file_sink_open_file),
9699         (gst_file_sink_close_file), (gst_file_sink_query),
9700         (gst_file_sink_event), (gst_file_sink_render),
9701         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9702         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9703         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9704         * gst/elements/gstfilesink.h:
9705         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9706         (gst_file_src_class_init), (gst_file_src_init),
9707         (gst_file_src_finalize), (gst_file_src_set_location),
9708         (gst_file_src_set_property), (gst_file_src_get_property),
9709         (gst_file_src_map_region), (gst_file_src_map_small_region),
9710         (gst_file_src_create_mmap), (gst_file_src_create_read),
9711         (gst_file_src_create), (gst_file_src_is_seekable),
9712         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9713         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9714         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9715         (gst_file_src_uri_handler_init):
9716         * gst/elements/gstfilesrc.h:
9717           more autistic cleanliness in functions/names/defines
9718
9719 2005-07-13  Andy Wingo  <wingo@pobox.com>
9720
9721         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9722         source couldn't negotiate.
9723
9724         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9725         connections again.
9726
9727         * gst/gstutils.h:
9728         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9729         function. I am channeling Hades. Put your boots on suckers!!!
9730
9731 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9732
9733         * testsuite/caps/Makefile.am:
9734         * testsuite/caps/value_compare.c:
9735         * testsuite/caps/value_intersect.c:
9736         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9737           move two testsuite apps over to the check dir
9738
9739 2005-07-12  Wim Taymans  <wim@fluendo.com>
9740
9741         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9742         Added more debug info in the negotiate process.
9743
9744         * gst/gstmessage.h:
9745         Prepare for segment playback.
9746
9747         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9748         Better debugging.
9749
9750         * gst/gstutils.c:
9751         Some more docs.
9752
9753         * tools/gst-launch.c: (main):
9754         NULL pipeline on errors.
9755
9756 2005-07-12  Andy Wingo  <wingo@pobox.com>
9757
9758         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9759         not it comes from a malloc region. Make sure our copy gets freed.
9760
9761 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9762
9763         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9764         * check/gst/gstmessage.c: (GST_START_TEST):
9765         * check/gst/gststructure.c: (GST_START_TEST),
9766         (gst_structure_suite), (main):
9767           more testing
9768         * gst/gstelement.c: (gst_element_message_full):
9769           clean up GError and debug string now that they get copied
9770         * gst/gstmessage.c: (gst_message_new_error),
9771         (gst_message_new_warning), (gst_message_parse_error),
9772         (gst_message_parse_warning):
9773           use GST_TYPE_G_ERROR for structure_new, and take copies of
9774           arguments, so that we don't mess up refcounting
9775
9776 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9777
9778         * check/Makefile.am:
9779           add per-test valgrind targets
9780         * check/gst-libs/gdp.c: (GST_START_TEST),
9781         (gst_data_protocol_suite), (main):
9782           clean up
9783
9784 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9785
9786         * check/Makefile.am:
9787           instate more valgrindable tests
9788         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9789         (GST_START_TEST), (fakesrc_suite):
9790         * check/gst/gstpad.c: (GST_START_TEST):
9791         * check/gst/gststructure.c: (GST_START_TEST):
9792           fix test leaks
9793         * docs/gst/tmpl/gstminiobject.sgml:
9794         * gst/gstpad.c: (gst_pad_finalize):
9795           fix the static mutex leak
9796
9797 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9798
9799         * check/Makefile.am:
9800           add two more tests for valgrinding
9801         * check/gst/gstvalue.c: (GST_START_TEST):
9802           test refcount of deserialized buffer, found a leak
9803         * docs/gst/gstreamer-docs.sgml:
9804         * docs/gst/gstreamer-sections.txt:
9805         * docs/gst/gstreamer.types:
9806         * docs/gst/tmpl/gstminiobject.sgml:
9807           add miniobject to docs
9808         * gst/gstminiobject.c:
9809           add some docs
9810         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9811         (gst_string_unwrap):
9812           fix a hard-to-find invalid write for one of the tests
9813           fix a leak for deserialized buffers
9814
9815 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9816
9817         * docs/pwg/advanced-events.xml:
9818         * docs/pwg/advanced-request.xml:
9819         * docs/pwg/advanced-scheduling.xml:
9820         * docs/pwg/appendix-porting.xml:
9821         * docs/pwg/building-boiler.xml:
9822         * docs/pwg/intro-preface.xml:
9823         * docs/pwg/other-ntoone.xml:
9824           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9825           of example code and explanation for pad activation, loop() and
9826           getrange() functions and a bit more. Remove old comments pointing
9827           to loop-functions.
9828         * examples/pwg/Makefile.am:
9829           Add loop/getrange examples.
9830
9831 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9832
9833         * configure.ac:
9834           check for valgrind binary + some fixes
9835         * check/gst.supp:
9836           valgrind suppressions for the tests
9837         * check/Makefile.am:
9838           add a valgrind: target that valgrinds the unit tests
9839         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9840         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9841         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9842         * check/gst/gstghostpad.c:
9843           added some cleanup
9844         * check/gst/gstdata.c:
9845           removed
9846         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9847         (thread_unref), (gst_mini_object_suite), (main):
9848           added
9849         * gst/gst.c: (gst_deinit):
9850         * gst/gst.h:
9851           add a method to clean up.
9852         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9853         (gst_system_clock_obtain):
9854           allow for disposing the system clock.
9855         * tools/gst-launch.c: (main):
9856           deinit
9857
9858 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9859
9860         * docs/gst/tmpl/gstbasesrc.sgml:
9861         * docs/gst/tmpl/gstfakesrc.sgml:
9862         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9863         (gst_base_src_init), (gst_base_src_set_property),
9864         (gst_base_src_get_property), (gst_base_src_get_range),
9865         (gst_base_src_start):
9866         * gst/base/gstbasesrc.h:
9867           add num-buffers property
9868         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9869         (gst_fakesrc_init), (gst_fakesrc_set_property),
9870         (gst_fakesrc_get_property), (gst_fakesrc_create),
9871         (gst_fakesrc_start):
9872           remove num-buffers property
9873
9874 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9875
9876         * docs/gst/gstreamer-sections.txt:
9877         * docs/gst/tmpl/gstbasesink.sgml:
9878         * docs/gst/tmpl/gstbasesrc.sgml:
9879         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9880         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9881         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9882         (gst_base_sink_set_property), (gst_base_sink_get_property),
9883         (gst_base_sink_handle_object), (gst_base_sink_event),
9884         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9885         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9886         (gst_base_sink_loop), (gst_base_sink_deactivate),
9887         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9888         (gst_base_sink_change_state):
9889         * gst/base/gstbasesink.h:
9890         * gst/base/gstbasesrc.h:
9891         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9892         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9893         (gst_filesink_init):
9894           more macro splitting
9895
9896 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9897
9898         * gst/gstelement.c: (gst_element_get_bus):
9899           add debug
9900         * tools/gst-launch.c: (check_intr), (event_loop):
9901           fix bus leaks
9902
9903 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9904
9905         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9906           fix a caps leak
9907
9908 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9909
9910         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9911         (gst_base_src_finalize):
9912           add finalize method and clean up properly
9913         * gst/gstpipeline.c: (gst_pipeline_dispose):
9914           add debug
9915
9916 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9917
9918         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9919         (gst_bin_suite):
9920           add more things to check
9921         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9922         * gst/gstelement.c:
9923           more debug
9924
9925 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9926
9927         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9928         (GST_START_TEST), (fakesrc_suite):
9929         * check/gst-libs/gdp.c: (GST_START_TEST):
9930         * check/gst/gst.c: (GST_START_TEST):
9931         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9932         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9933         * check/gst/gstbus.c: (GST_START_TEST):
9934         * check/gst/gstcaps.c: (GST_START_TEST):
9935         * check/gst/gstdata.c: (GST_START_TEST):
9936         * check/gst/gstelement.c: (GST_START_TEST):
9937         * check/gst/gstghostpad.c: (GST_START_TEST):
9938         * check/gst/gstiterator.c: (GST_START_TEST):
9939         * check/gst/gstmessage.c: (GST_START_TEST):
9940         * check/gst/gstobject.c: (GST_START_TEST):
9941         * check/gst/gstpad.c: (GST_START_TEST):
9942         * check/gst/gststructure.c: (GST_START_TEST):
9943         * check/gst/gstsystemclock.c: (GST_START_TEST),
9944         (gst_systemclock_suite):
9945         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9946         * check/gst/gstvalue.c: (GST_START_TEST):
9947         * check/pipelines/cleanup.c: (GST_START_TEST):
9948         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9949         * check/states/sinks.c: (GST_START_TEST):
9950         * check/gstcheck.c: (gst_check_init):
9951         * check/gstcheck.h:
9952           add debugging category
9953           use GST_START_TEST now, so we add a debug line
9954
9955 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9956
9957         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9958           add test for state change message on a bin
9959         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9960           add another test
9961         * gst/gstbin.c: (gst_bin_init):
9962         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9963         * gst/gstelement.c: (gst_element_post_message),
9964         (gst_element_set_state):
9965         * gst/gstelementfactory.c: (gst_element_factory_create):
9966         * gst/gstmessage.c: (gst_message_new):
9967         * gst/gstscheduler.c:
9968           various debugging additions and cleanups
9969
9970 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9971
9972         * check/Makefile.am:
9973         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9974         (main):
9975           adding tests for elements
9976         * gst/gstelement.c: (gst_element_dispose):
9977
9978 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9979
9980         * gst/registries/gstlibxmlregistry.c: (load_feature):
9981           plug more leaks.  A simple gst_init() now is leakfree, yay.
9982
9983 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9984
9985         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9986         (gst_xml_registry_load):
9987           plug another memleak
9988
9989 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9990
9991         * configure.ac:
9992           use GST_SET_ERROR_CFLAGS
9993         * docs/faq/cvs.xml:
9994           change to ERROR_CFLAGS
9995
9996 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9997
9998         * configure.ac:
9999           make GST_ERROR_CFLAGS overridable and re-enable Werror
10000         * docs/faq/cvs.xml:
10001           add a note about error CFLAGS
10002         * docs/gst/tmpl/gstfakesrc.sgml:
10003         * gst/elements/gstfakesrc.c:
10004           comment out some unused code
10005         * gst/gst.c: (split_and_iterate):
10006         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10007         (load_feature):
10008           plug some memleaks
10009
10010 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10011
10012         * common/Makefile.am:
10013         * common/gtk-doc.mak:
10014         * docs/gst/Makefile.am:
10015           factor out gtk-doc.mak
10016
10017 2005-07-07  Wim Taymans  <wim@fluendo.com>
10018
10019         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10020         (gst_thread_scheduler_dispose):
10021         Unlock the STREAM_LOCK completely.
10022
10023 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10024
10025         * check/Makefile.am:
10026         * check/elements/.cvsignore:
10027         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10028         (START_TEST), (fakesrc_suite), (main):
10029         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10030         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10031         (gst_fakesrc_create), (gst_fakesrc_start):
10032         * gst/elements/gstfakesrc.h:
10033           adding a first element test
10034
10035 2005-07-07  Andy Wingo  <wingo@pobox.com>
10036
10037         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10038         debug message.
10039
10040 2005-07-07  Wim Taymans  <wim@fluendo.com>
10041
10042         * gst/gstquery.c:
10043         * gst/gstquery.h:
10044         Remove old types
10045
10046 2005-07-07  Wim Taymans  <wim@fluendo.com>
10047
10048         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10049         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10050         Allow subclasses to implement their own negotiation.
10051
10052 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10053
10054         * docs/design/part-gstbin.txt:
10055         * docs/design/part-gstpipeline.txt:
10056           Update design notes to reflect the movement of
10057           responsibility for bus handling from GstPipeline to
10058           GstBin
10059
10060 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10061
10062         * configure.ac:
10063           Remove unnecessary queue2/3/4 examples.
10064
10065 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10066
10067         * examples/Makefile.am:
10068         * examples/helloworld/helloworld.c: (event_loop), (main):
10069         * examples/queue/queue.c: (event_loop), (main):
10070         * examples/queue2/queue2.c: (main):
10071           Update a couple of the examples to work again.
10072
10073         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10074         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10075          Spelling corrections and extra debug.
10076         
10077         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10078         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10079         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10080         * gst/gstbin.h:
10081         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10082         (gst_pipeline_change_state):
10083         * gst/gstpipeline.h:
10084           Move the bus handler for children to the GstBin, and create a
10085           separate bus for receiving messages from children to the one the
10086           bus sends 'upwards' on.
10087
10088 2005-07-06  Wim Taymans  <wim@fluendo.com>
10089
10090         * gst/base/README:
10091         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10092         (gst_base_sink_handle_object), (gst_base_sink_loop),
10093         (gst_base_sink_change_state):
10094         * gst/base/gstbasesink.h:
10095         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10096         (gst_base_src_init), (gst_base_src_setcaps),
10097         (gst_base_src_getcaps), (gst_base_src_loop),
10098         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10099         (gst_base_src_start), (gst_base_src_change_state):
10100         * gst/base/gstbasesrc.h:
10101         Make basesrc negotiate.
10102         Handle the case where preroll fails in basesink.
10103         Update README.
10104
10105 2005-07-06  Wim Taymans  <wim@fluendo.com>
10106
10107         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10108         Implement the fixate function.
10109         Clean up acceptcaps.
10110
10111 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10112
10113         * docs/pwg/building-filterfactory.xml:
10114         * docs/pwg/pwg.xml:
10115           Remove never-written filter-factory chapter; I'll add the various
10116           base classes to part 4 ("other element types") later on.
10117
10118 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10119
10120         * docs/pwg/advanced-negotiation.xml:
10121         * docs/pwg/building-boiler.xml:
10122         * docs/pwg/building-pads.xml:
10123         * docs/pwg/pwg.xml:
10124         * examples/pwg/Makefile.am:
10125           Add a chapter on caps negotiation, simplify the original code
10126           samples a bit w.r.t. caps negotiation, add link to the advanced
10127           section. Add a bunch of examples showing different use cases of
10128           different types of caps negotiation. Upstream renegotiation isn't
10129           fully documented yet since nobody knows how that works.
10130
10131 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10132
10133         * check/gst/gstpad.c:
10134         * check/gstcheck.c:
10135         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10136           if pad has no parent, return NULL as list of internal links
10137
10138 2005-07-05  Andy Wingo  <wingo@pobox.com>
10139
10140         * gst/elements/gstfilesrc.c:
10141         * gst/elements/gstfakesrc.c: 
10142         * gst/base/gstpushsrc.c:
10143         * gst/base/gstbasesrc.h: 
10144         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10145         
10146 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10147
10148         * Makefile.am:
10149           better report generation target (lcov needs a patch)
10150
10151 2005-07-05  Andy Wingo  <wingo@pobox.com>
10152
10153         * gst/elements, testsuite: Null if we got it...
10154
10155 2005-07-05  Wim Taymans  <wim@fluendo.com>
10156
10157         * configure.ac:
10158         * libs/gst/dataprotocol/Makefile.am:
10159         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10160         * libs/gst/dataprotocol/dataprotocol.h:
10161         * pkgconfig/Makefile.am:
10162         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10163         * pkgconfig/gstreamer-dataprotocol.pc.in:
10164         Ported dataprotol to 0.9. 
10165         Added pkgconfig files.
10166
10167 2005-07-05  Andy Wingo  <wingo@pobox.com>
10168
10169         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10170         Default to returning TRUE for the case when tranform_caps returns
10171         a fixed caps, like for identity or volume.
10172
10173         * check/gst/gstbus.c (pound_bus_with_messages): 
10174         * check/gst/gstmessage.c (START_TEST): 
10175         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10176         message API change.
10177
10178         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10179         logic weaks here: always run transform_caps, trying passthrough
10180         operation only if the original caps intersects with the transform.
10181
10182         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10183         source and sink caps.
10184
10185         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10186         Intersect the peer caps with the pad template before going into
10187         transform_caps.
10188         (gst_base_transform_transform_caps): More debugging.
10189
10190         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10191         src argument.
10192
10193 2005-07-04  Edward Hervey  <edward@fluendo.com>
10194
10195         * gst/gstutils.c:
10196         * gst/gstutils.h:
10197         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10198         in bindings.
10199
10200 2005-07-04  Andy Wingo  <wingo@pobox.com>
10201
10202         * check/gst/gstpad.c: Only set explicit caps on pads.
10203
10204 2005-07-01  Andy Wingo  <wingo@pobox.com>
10205
10206         * tests/network-clock.scm: Commentary update.
10207
10208         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10209         Didn't really make sense, not implementable with basetransform,
10210         etc.
10211         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10212         attempt at implementing the sync property, needs an unlock method.
10213
10214         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10215         New func, by default returns the same caps (the identity
10216         transformation).
10217         (gst_base_transform_getcaps): Uses transform_caps to return
10218         something sensible.
10219         (gst_base_transform_setcaps): Complicated logic to get caps on
10220         both pads, even if they are different, and to call set_caps once
10221         for every time both pads get their caps set.
10222         (gst_base_transform_handle_buffer): Give the ref to the transform
10223         function. Allows in-place modification of the buffer.
10224
10225         * gst/base/gstbasetransform.h (transform_caps): New class method.
10226         Given caps on one side, what can I do on the other.
10227         (set_caps): Take two caps, one for each side of the element.
10228
10229         * gst/gstpad.h:
10230         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10231         caps in place. This is safe because we can check the mutability of
10232         the caps, and a good idea because fixate functions are just called
10233         as a matter of last resort. (Not actually implemented.)
10234         (gst_pad_set_caps): If the caps we're setting is actually the same
10235         as the existing pad caps, just update the pointer without calling
10236         setcaps. Assert that caps is either NULL or fixed, as per the
10237         docs.
10238
10239         * gst/gstghostpad.c: Update for fixate changes.
10240
10241 2005-07-02  Andy Wingo  <wingo@pobox.com>
10242
10243         * gst/gstcaps.c:
10244         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10245         two refcounts makes it immutable, which is enough. Doc more.
10246
10247 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10248
10249         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10250           Put the mini_object into GValue as a mini_object,
10251           not a gpointer, since that's how we declared
10252           the signal.
10253
10254 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10255
10256         * examples/pwg/Makefile.am:
10257           Fix buildbot again.
10258
10259 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10260
10261         * docs/pwg/building-testapp.xml:
10262           Add extra check.
10263         * examples/pwg/Makefile.am:
10264           Fix buildbot.
10265
10266 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10267
10268         * configure.ac:
10269         * examples/Makefile.am:
10270         * examples/pwg/Makefile.am:
10271         * examples/pwg/extract.pl:
10272           Enable building the PWG examples.
10273         * docs/pwg/advanced-interfaces.xml:
10274           Add URI interface stub.
10275         * docs/pwg/advanced-types.xml:
10276         * docs/pwg/other-autoplugger.xml:
10277         * docs/pwg/appendix-porting.xml:
10278         * docs/pwg/pwg.xml:
10279           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10280         * docs/pwg/building-boiler.xml:
10281         * docs/pwg/building-chainfn.xml:
10282         * docs/pwg/building-pads.xml:
10283         * docs/pwg/building-props.xml:
10284         * docs/pwg/building-state.xml:
10285         * docs/pwg/building-testapp.xml:
10286           Update the building-*.xml parts for 0.9 changes. All examples
10287           code blocks compile in examples/pwg/*.
10288
10289 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10290
10291         * docs/manual/advanced-autoplugging.xml:
10292         * docs/manual/appendix-checklist.xml:
10293         * docs/manual/appendix-integration.xml:
10294         * docs/manual/highlevel-components.xml:
10295           Fix playbin/decodebin examples, update docs a bit, mention bus
10296           instead of signals in various places, mention kmplayer and
10297           kaffeine since they have a working GStreamer backend in the KDE
10298           section.
10299
10300 2005-06-30  Wim Taymans  <wim@fluendo.com>
10301
10302         * CHANGES-0.9:
10303         * docs/design/draft-ghostpads.txt:
10304         * docs/design/draft-push-pull.txt:
10305         * docs/design/draft-query.txt:
10306         * docs/design/part-TODO.txt:
10307         * docs/design/part-query.txt:
10308         Added CHANGES-0.9 doc, updated status of other docs.
10309         
10310         * gst/gstquery.h:
10311         Remove "hmm" macro
10312
10313 2005-06-30  Wim Taymans  <wim@fluendo.com>
10314
10315         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10316         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10317         (gst_base_sink_change_state):
10318         * gst/base/gstbasesink.h:
10319         Some tweaks, only EOS and a buffer complete a preroll.
10320
10321 2005-06-30  Andy Wingo  <wingo@pobox.com>
10322
10323         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10324         activate_push down to the internal pad as well.
10325
10326 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10327
10328         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10329
10330         * gst/gsttaginterface.c:
10331           Some documentation fixes (#307394 and #307397).
10332
10333 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10334
10335         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10336
10337         * gst/gstvalue.c: (gst_value_intersect_list):
10338           Fix memleak (#309125).
10339
10340 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10341
10342         * docs/manual/advanced-dataaccess.xml:
10343           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10344         * docs/manual/basics-pads.xml:
10345           Add reference for filtered caps to above chapter.
10346
10347 2005-06-30  Wim Taymans  <wim@fluendo.com>
10348
10349         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10350         (gst_bin_change_state):
10351         Probes are gone.
10352         Lame attempt at making the state change function a bit
10353         more readable.
10354
10355 2005-06-30  Wim Taymans  <wim@fluendo.com>
10356
10357         * docs/design/part-clocks.txt:
10358         * docs/design/part-element-sink.txt:
10359         * docs/design/part-events.txt:
10360         * docs/design/part-preroll.txt:
10361         * docs/design/part-states.txt:
10362         Some more tweeks and additions to the docs.
10363
10364 2005-06-30  Wim Taymans  <wim@fluendo.com>
10365
10366         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10367         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10368         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10369         (gst_pad_check_pull_range), (gst_pad_get_range),
10370         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10371         * gst/gstpad.h:
10372         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10373         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10374         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10375         (gst_pad_remove_buffer_probe):
10376         Removed atomic operations, use existing LOCK.
10377         Move exception handling out of main code path.
10378
10379 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10380
10381         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10382         (silly_return_true_function), (gst_pad_class_init),
10383         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10384         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10385         (gst_pad_send_event):
10386           Fix accumulator, add default value by using _emitv() instead
10387           of _emit() for signal emission.
10388
10389 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10390
10391         * docs/manual/advanced-dataaccess.xml:
10392         * examples/manual/Makefile.am:
10393           Add probe example.
10394         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10395           Make work (??).
10396
10397 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10398
10399         * gst/elements/gstfilesink.c: (gst_filesink_render):
10400           Simplify code so that we don't have to handle short
10401           writes and return GST_FLOW_ERROR if an error occured.
10402
10403 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10404
10405         * docs/gst/gstreamer-docs.sgml:
10406           Remove probes more.
10407
10408 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10409
10410         * docs/gst/gstreamer-sections.txt:
10411         * docs/gst/tmpl/gstpad.sgml:
10412         * docs/gst/tmpl/gstprobe.sgml:
10413         * gst/Makefile.am:
10414         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10415         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10416         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10417         (gst_pad_push_event), (gst_pad_send_event):
10418         * gst/gstpad.h:
10419         * gst/gstutils.c: (gst_pad_add_data_probe),
10420         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10421         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10422         (gst_pad_remove_buffer_probe):
10423         * gst/gstutils.h:
10424           Remove old probes, add new g-signal-based probes and some utility
10425           functions.
10426
10427 2005-06-29  Edward Hervey  <edward@fluendo.com>
10428
10429         * gst/gstelementfactory.c:
10430         * gst/gstutils.h:
10431         * gst/gstutils.c:
10432         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10433         the definition to the header file.
10434
10435 2005-06-29  Andy Wingo  <wingo@pobox.com>
10436
10437         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10438         plugins from the source directory.
10439
10440 2005-06-29  Wim Taymans  <wim@fluendo.com>
10441
10442         * docs/gst/tmpl/gstbuffer.sgml:
10443         * docs/gst/tmpl/gstclock.sgml:
10444         Some fixings for blantently wrong text.
10445
10446 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10447
10448         * check/Makefile.am:
10449         * gst/gst.c: (add_path_func), (init_pre):
10450         * gst/gstregistry.c: (gst_registry_add_path):
10451           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10452           only scan the GST_PLUGIN_PATH locations, and not add
10453           system locations
10454
10455 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10456
10457         * docs/gst/gstreamer-sections.txt:
10458         * docs/gst/tmpl/gstbasesrc.sgml:
10459         * gst/gstelement.c:
10460         * gst/gstelement.h:
10461         * gst/gstevent.c:
10462         * gst/gstutils.c:
10463           doc fixes
10464
10465 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10466
10467         * docs/manual/advanced-autoplugging.xml:
10468           Fix autoplugging example.
10469
10470 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10471
10472         * docs/manual/advanced-autoplugging.xml:
10473         * docs/manual/mime-world.fig:
10474           Try to get autoplugging working, fix type detection. Fix text
10475           in hello-world image.
10476
10477 2005-06-29  Wim Taymans  <wim@fluendo.com>
10478
10479         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10480         (gst_base_sink_change_state):
10481         Small debug line.
10482
10483         * gst/gstclock.h:
10484         map SIGNAL and BROADCAST to the right function.
10485
10486         * gst/gstobject.h:
10487         Remove redundant braces.
10488
10489         * gst/gstpad.c: (gst_pad_set_caps):
10490         Don't call setcaps function when reseting caps to NULL.
10491
10492         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10493         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10494         (gst_system_clock_id_unschedule):
10495         Use BROADCAST as this is what we do.
10496
10497 2005-06-29  Wim Taymans  <wim@fluendo.com>
10498
10499         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10500         We are actually prerolling before commiting the state
10501         change. 
10502
10503 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10504
10505         * docs/manual/advanced-clocks.xml:
10506         * docs/manual/advanced-interfaces.xml:
10507         * docs/manual/advanced-metadata.xml:
10508         * docs/manual/advanced-position.xml:
10509         * docs/manual/advanced-schedulers.xml:
10510         * docs/manual/advanced-threads.xml:
10511         * docs/manual/appendix-porting.xml:
10512         * docs/manual/basics-bins.xml:
10513         * docs/manual/basics-bus.xml:
10514         * docs/manual/basics-elements.xml:
10515         * docs/manual/basics-helloworld.xml:
10516         * docs/manual/basics-pads.xml:
10517         * docs/manual/highlevel-components.xml:
10518         * docs/manual/manual.xml:
10519         * docs/manual/thread.fig:
10520           Update (until threads/scheduling) Application Development Manual;
10521           remove GstThread, add GstBus, add simple porting checklist, add
10522           documentation for tag writing, clocks, make all examples until this
10523           part compile and run.
10524         * examples/manual/Makefile.am:
10525           Update from changes to Application Development Manual; add bus
10526           example, remove thread example.
10527
10528 2005-06-28  Wim Taymans  <wim@fluendo.com>
10529
10530         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10531         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10532         (gst_bus_source_dispatch):
10533         Add debugging messages.
10534         Make internal methods static.
10535         Handle the case where the bus is flushed in the handler.
10536         
10537         * gst/gstelement.c: (gst_element_get_bus):
10538         Fix refcount in _get_bus();
10539
10540         * gst/gstpipeline.c: (gst_pipeline_change_state),
10541         (gst_pipeline_get_clock_func):
10542         Clock refcounting fixes.
10543         Handle the case where preroll timed out more gracefully.
10544         
10545         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10546         Clean up the internal thread in dispose. This is needed
10547         for subclasses that actually get disposed.
10548         
10549         * gst/schedulers/threadscheduler.c:
10550         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10551         (gst_thread_scheduler_dispose):
10552         Free thread pool in dispose.
10553
10554 2005-06-28  Andy Wingo  <wingo@pobox.com>
10555
10556         * tests/network-clock-utils.scm (debug, print-event): New utils.
10557
10558         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10559         (*packet-loss*): Unified loss probability.
10560         (network-time): Report out-of-band events.
10561
10562         * tests/plot-data: Add support for out-of-band events. Hack it
10563         into this script instead of passing it down the pipe; should fix
10564         this later.
10565
10566 2005-06-28  Wim Taymans  <wim@fluendo.com>
10567
10568         * docs/gst/gstreamer.types:
10569         * docs/gst/tmpl/gstbasesrc.sgml:
10570         * docs/gst/tmpl/gstpad.sgml:
10571         Docs fixes.
10572
10573 2005-06-28  Wim Taymans  <wim@fluendo.com>
10574
10575         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10576         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10577         (gst_proxy_pad_do_fixatecaps):
10578         Correctly proxy the check_pull_range function.
10579
10580 2005-06-28  Andy Wingo  <wingo@pobox.com>
10581
10582         * tests/network-clock.scm: Removed need for slib.
10583         
10584 2005-06-28  Wim Taymans  <wim@fluendo.com>
10585
10586         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10587         (gst_basesink_preroll_queue_flush):
10588         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10589         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10590         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10591         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10592         (gst_proxy_pad_set_property):
10593         * gst/gstpad.c:
10594         * gst/gstpad.h:
10595         * gst/gstqueue.c: (gst_queue_init):
10596         The deprecated pad loop function is removed now.
10597
10598 2005-06-28  Andy Wingo  <wingo@pobox.com>
10599
10600         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10601         New parameters, simulate network packet loss.
10602
10603         * tests/network-clock-utils.scm: Initialize the RNG.
10604
10605 2005-06-28  Wim Taymans  <wim@fluendo.com>
10606
10607         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10608         (gst_basesink_event), (gst_basesink_deactivate):
10609         Flushing the preroll queue always needs to unlock the waiters.
10610
10611 2005-06-28  Edward Hervey  <edward@fluendo.com>
10612
10613         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10614         Wheen a seek was successful on a pipeline, set the stream_time to the
10615         seek offset in order to have a synchronized stream_time.
10616
10617 2005-06-28  Wim Taymans  <wim@fluendo.com>
10618
10619         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10620         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10621         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10622         (gst_proxy_pad_do_fixatecaps):
10623         Call wrapper function instead of just calling the function
10624         pointers. This takes care of any locking and whatmore.
10625
10626 2005-06-28  Wim Taymans  <wim@fluendo.com>
10627
10628         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10629         (gst_pad_pull_range):
10630         * gst/gstpad.h:
10631         CONNECTED -> LINKED.
10632
10633 2005-06-28  Andy Wingo  <wingo@pobox.com>
10634
10635         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10636         source-munging commit!!!
10637
10638         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10639         (gst_object_sink): Take gpointer arguments, not GstObject --
10640         avoids casts. Like GLib.
10641
10642         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10643         activate.
10644
10645 2005-06-27  Andy Wingo  <wingo@pobox.com>
10646
10647         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10648         remaining buffer.
10649
10650         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10651         returns a sorted copy of the trace list.
10652         (gst_alloc_trace_print_live): New API, only prints traces with
10653         live objects. Sort the list.
10654         (gst_alloc_trace_print_all): Sort the list.
10655         (gst_alloc_trace_print): Align columns.
10656
10657         * gst/elements/gstttypefindelement.c:
10658         * gst/elements/gsttee.c:
10659         * gst/base/gstbasesrc.c:
10660         * gst/base/gstbasesink.c:
10661         * gst/base/gstbasetransform.c:
10662         * gst/gstqueue.c: Adapt for pad activation changes.
10663
10664         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10665         sched.
10666         (gst_pipeline_dispose): Drop ref on sched.
10667
10668         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10669         (gst_pad_activate_default): Push mode by default.
10670         (pre_activate_switch, post_activate_switch): New stubs, things to
10671         do before and after switching activation modes on pads.
10672         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10673         the pad's activate function to choose which mode to activate.
10674         Shortcut on deactivation and call the right function directly.
10675         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10676         mode.
10677         (gst_pad_activate_push): New API, same for push mode.
10678         (gst_pad_set_activate_function) 
10679         (gst_pad_set_activatepull_function) 
10680         (gst_pad_set_activatepush_function): Setters for new API.
10681
10682         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10683         Trace all miniobjects.
10684         (gst_mini_object_make_writable): Unref the arg if we copy, like
10685         gst_caps_make_writable.
10686
10687         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10688
10689         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10690         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10691         Adapt for new pad API.
10692
10693         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10694
10695         * gst/gstelement.h:
10696         * gst/gstelement.c (gst_element_iterate_src_pads) 
10697         (gst_element_iterate_sink_pads): New API functions.
10698         
10699         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10700         should fold into gstiterator.c in some form.
10701         (gst_element_pads_activate): Simplified via use of fold and
10702         delegation of decisions to gstpad->activate.
10703
10704         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10705         help in debugging.
10706
10707         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10708         class once in init, like gstmessage. Didn't run into this issue
10709         but it seems correct. Don't initialize a trace, gstminiobject does
10710         that.
10711
10712         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10713         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10714         to the bus.
10715         (assert_live_count): New util function, uses alloc traces to check
10716         cleanup.
10717
10718         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10719         To be modified when unlink drops the internal pad.
10720
10721 2005-06-27  Wim Taymans  <wim@fluendo.com>
10722
10723         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10724         (gst_bin_change_state):
10725         Cleanup the get_state() function a little, make sure it
10726         iterates the same set of elements.
10727         Added stub iterate_state_order().
10728
10729 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10730
10731         * docs/gst/gstreamer-docs.sgml:
10732         * docs/gst/gstreamer-sections.txt:
10733         * docs/gst/gstreamer.types:
10734         * docs/gst/tmpl/gstbasesink.sgml:
10735         * docs/gst/tmpl/gstbasesrc.sgml:
10736         * docs/gst/tmpl/gstbasetransform.sgml:
10737         * docs/gst/tmpl/gstelement.sgml:
10738         * docs/gst/tmpl/gstiterator.sgml:
10739         * gst/base/gstbasesrc.c:
10740         * gst/base/gstbasesrc.h:
10741         * gst/base/gstbasetransform.h:
10742         * gst/gstelement.c:
10743         * gst/gstiterator.h:
10744           adding basetransform and iterator docs
10745
10746 2005-06-27  Andy Wingo  <wingo@pobox.com>
10747
10748         * docs/design/part-activation.txt: Notes on how activation should
10749         work -- not quite implemented yet.
10750
10751 2005-06-25  Wim Taymans  <wim@fluendo.com>
10752
10753         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10754         At least get the chain function correct, needs more
10755         fixing.
10756
10757 2005-06-25  Wim Taymans  <wim@fluendo.com>
10758
10759         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10760         (gst_basesink_handle_object), (gst_basesink_event),
10761         (gst_basesink_do_sync), (gst_basesink_handle_event),
10762         (gst_basesink_change_state):
10763         * gst/gsttask.h:
10764         Right, two problems here: ghostpads don't take locks and
10765         glib _rec_mutex_lock_full() with depth==0 still locks.
10766         Catch illegal locking and g_warn them.
10767
10768 2005-06-25  Wim Taymans  <wim@fluendo.com>
10769
10770         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10771         Have to check for completion now...
10772
10773 2005-06-25  Wim Taymans  <wim@fluendo.com>
10774
10775         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10776         (gst_basesink_handle_object), (gst_basesink_event),
10777         (gst_basesink_do_sync), (gst_basesink_handle_event),
10778         (gst_basesink_change_state):
10779         * gst/gstpad.h:
10780         Unlock STREAM_LOCK whatever the recursion was.
10781
10782 2005-06-25  Wim Taymans  <wim@fluendo.com>
10783
10784         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10785         (gst_basesink_preroll_queue_empty),
10786         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10787         (gst_basesink_event), (gst_basesink_do_sync),
10788         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10789         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10790         (gst_basesink_change_state):
10791         Reworked the base sink, handle event and buffer serialisation
10792         correctly and removed possible deadlock.
10793         Handle EOS correctly.
10794
10795 2005-06-25  Wim Taymans  <wim@fluendo.com>
10796
10797         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10798         (gst_pipeline_change_state):
10799         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10800         Allow elements to post EOS in the state change function.
10801         Fix up -launch, make it exit the poll loop when the
10802         pipeline actually changed state.
10803         Fix up warning parsing in -launch.
10804
10805 2005-06-25  Wim Taymans  <wim@fluendo.com>
10806
10807         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10808         (gst_tee_sink_activate):
10809         Core takes STREAM_LOCK for us now.
10810
10811 2005-06-25  Wim Taymans  <wim@fluendo.com>
10812
10813         * gst/gstelement.c: (gst_element_get_state_func),
10814         (gst_element_set_state):
10815         * gst/gstelement.h:
10816         * gst/gstmessage.c: (gst_message_parse_error),
10817         (gst_message_parse_warning):
10818         Keep track of current target state while performing a state
10819         change so that subclasses can do something interesting.
10820         Fix parsing of warning/error messages when GError is NULL.
10821
10822 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10823
10824         * docs/gst/Makefile.am:
10825         * docs/gst/gstreamer-docs.sgml:
10826         * docs/gst/gstreamer-sections.txt:
10827         * docs/gst/gstreamer.types:
10828         * docs/gst/tmpl/gstbasesink.sgml:
10829         * docs/gst/tmpl/gstbasesrc.sgml:
10830         * docs/gst/tmpl/gstbin.sgml:
10831         * docs/gst/tmpl/gstcompat.sgml:
10832         * docs/gst/tmpl/gstfakesink.sgml:
10833         * docs/gst/tmpl/gstfakesrc.sgml:
10834         * docs/gst/tmpl/gstfilesink.sgml:
10835         * docs/gst/tmpl/gstfilesrc.sgml:
10836         * docs/gst/tmpl/gstindex.sgml:
10837         * docs/manual/appendix-quotes.xml:
10838         * gst/base/gstbasesrc.h:
10839         * gst/elements/gstfakesrc.h:
10840         * gst/gstmessage.h:
10841           start pulling in base classes and elements in our docs
10842
10843 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10844
10845         * docs/gst/Makefile.am:
10846         * docs/libs/Makefile.am:
10847           fixed make distcheck with gtk-doc 1.3
10848
10849 2005-06-23  Wim Taymans  <wim@fluendo.com>
10850
10851         * gst/gstelement.c: (gst_element_get_state_func),
10852         (gst_element_set_state), (gst_element_change_state):
10853         When the state did not change, also report NO_PREROLL
10854         when it matters.
10855
10856 2005-06-23  Wim Taymans  <wim@fluendo.com>
10857
10858         * gst/gstpad.c: (gst_pad_event_default):
10859         * gst/gstqueue.c: (gst_queue_loop):
10860         No unsafe task pausing please.
10861
10862 2005-06-23  Wim Taymans  <wim@fluendo.com>
10863
10864         * gst/schedulers/threadscheduler.c:
10865         (gst_thread_scheduler_task_start),
10866         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10867         Ref the task before pushing it on the threadpool. This
10868         makes sure that we have a ref when the threadfunction is
10869         actually called.
10870
10871 2005-06-23  Andy Wingo  <wingo@pobox.com>
10872
10873         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10874         offset is greater than the file's size.
10875
10876         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10877         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10878         * gst/gstobject.c (gst_object_class_init): Make the class lock
10879         recursive. Wim won't let me drop deep_notify. Decodebin works
10880         again, whoopdy doo.
10881
10882         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10883         internal pad, and hacks accordingly. Doesn't do it on the target
10884         pad because we change its caps. Probably catches all cases of
10885         interest tho.
10886         (gst_ghost_pad_set_property): Connect to notify::caps as
10887         appropritate.
10888
10889         * tests/network-clock.scm (plot-simulation): Pipe data to the
10890         elite python skript.
10891
10892         * tests/network-clock-utils.scm (define-parameter): New macro,
10893         defines a parameter that can be set via the command line.
10894         (set-parameter!, parse-parameter-arguments): Command line args
10895         parser.
10896
10897         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10898         stdin.
10899
10900 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10901
10902         * gst/elements/gsttypefindelement.c:
10903         (gst_type_find_element_handle_event):
10904           Don't restart typefinding on a discont.
10905         * gst/gstelement.c: (gst_element_set_state):
10906           Debug spelling fix.
10907         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10908           Allow changing mode of an active pad.
10909           Debug output fixes.
10910         * gst/registries/gstlibxmlregistry.c: (load_feature):
10911           Don't cast a static pad template to a normal pad template.
10912
10913 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10914
10915         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10916         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10917           remove gst_strtoll completely, since it didn't actually do
10918           anything more than what g_ascii_strtoull already does.
10919           check for range errors when deserializing
10920           do a cast for the unsigned cases; but further fixing needs
10921           a decision on what the interpretation of "(int)" and
10922           deserialization should be for values that fall outside the
10923           type's boundaries (ie, refuse, or interpret as casting)
10924
10925 2005-06-23  Wim Taymans  <wim@fluendo.com>
10926
10927         * check/Makefile.am:
10928         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10929         * docs/design/part-live-source.txt:
10930         * docs/design/part-states.txt:
10931         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10932         (gst_basesrc_set_live), (gst_basesrc_is_live),
10933         (gst_basesrc_get_range), (gst_basesrc_activate),
10934         (gst_basesrc_change_state):
10935         * gst/base/gstbasesrc.h:
10936         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10937         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10938         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10939         * gst/gstelement.c: (gst_element_get_state_func),
10940         (gst_element_set_state):
10941         * gst/gstelement.h:
10942         * gst/gsttypes.h:
10943         * tools/gst-launch.c: (event_loop), (main):
10944         Added support for live sources and other elements that
10945         cannot do preroll.
10946         Updated design docs, added live-source design doc.
10947         Implemented live source functionality in basesrc
10948         Fix error condition in _bin_get_state()
10949         Implement live source handling in -launch.
10950         Added check for live sources.
10951         Fixed case in GstBin where elements were changed state
10952         multiple times.
10953
10954
10955 2005-06-23  Andy Wingo  <wingo@pobox.com>
10956
10957         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10958         borken refcounting.
10959
10960         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10961         gst_caps_replace takes care of this for us.
10962
10963         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10964         gst_pad_set_caps on the target, not just its setcaps() function.
10965
10966         * tests/network-clock.scm: 
10967         * tests/network-clock-utils.scm: A network clock simulator.
10968         Something of an algorithmic testbed before doing something in C.
10969
10970 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10971
10972         * check/Makefile.am:
10973         * check/gst/capslist.h:
10974           copy over from 0.8, and add two with bitmasks specified with
10975           (int) 0xFF...
10976         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10977           add test to parse everything from capslist.h
10978         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10979         (main):
10980           add test for structure deserialization
10981         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10982           add tests for deserialization of strings to int types
10983         * gst/gststructure.c: (gst_structure_nth_field_name):
10984         * gst/gststructure.h:
10985           add a way to get the name of a field referenced by index
10986         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10987           instead of checking if the resulting long long lies between
10988           min and max, we check if the long long would fit into
10989           a number of bytes for the final type.
10990           This fixes cases where a string represents 2^32 - 1, which
10991           when cast to int would be the (valid) -1, but is bigger than
10992           G_MAXINT
10993
10994 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10995
10996         * gst/parse/grammar.y:
10997           add a log line for type deserialization
10998
10999 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11000
11001         * check/gst/gstvalue.c: (START_TEST):
11002         * gst/gstvalue.c: (gst_value_deserialize):
11003           return long long, not int, so gint64 deserialization actually
11004           works.  Is there any flag that makes the compiler check this ?
11005           Fixes #308559
11006
11007 2005-06-22  Wim Taymans  <wim@fluendo.com>
11008
11009         * gst/gstbuffer.h:
11010         Added convenience macros for setting buffers in GValue.
11011
11012 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11013
11014         * check/gst/.cvsignore:
11015         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11016           add a test deserializing int64, and comment part out because
11017           it fails, yay !
11018
11019 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11020
11021         * check/Makefile.am:
11022         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11023         * testsuite/Makefile.am:
11024         * testsuite/caps/Makefile.am:
11025         * testsuite/caps/value_serialize.c:
11026         * testsuite/test_gst_init.c:
11027           move a value_serialize test over
11028
11029 2005-06-20  Wim Taymans  <wim@fluendo.com>
11030
11031         * gst/gstpad.c:
11032         Small doc updates.
11033         
11034         * gst/gstvalue.c: (gst_value_compare_buffer),
11035         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11036         (gst_value_compare_flags), (gst_value_serialize_flags),
11037         (gst_value_deserialize_flags), (_gst_value_initialize):
11038         Fix serialisation of buffers, they are not boxed types anymore
11039
11040 2005-06-20  Wim Taymans  <wim@fluendo.com>
11041
11042         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11043         Testcase to show error in buffer-on-caps serialisation.
11044
11045 2005-06-20  Andy Wingo  <wingo@pobox.com>
11046
11047         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11048         will be adding to later.
11049
11050         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11051         if its socks fill with rocks.
11052         (gst_system_clock_obtain): Set the name on object construction.
11053         Avoid double-checked locking.
11054
11055 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11056
11057         * gst/gsturi.c: (gst_element_make_from_uri):
11058           Fix potential endless loop.
11059
11060 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11061
11062         * check/Makefile.am:
11063           add gsttag
11064         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11065         (main):
11066           move over from testsuite dir and clean up
11067         * configure.ac:
11068         * gst/gsttag.c:
11069         * testsuite/Makefile.am:
11070         * testsuite/tags/.cvsignore:
11071         * testsuite/tags/Makefile.am:
11072         * testsuite/tags/merge.c:
11073           remove testsuite/tags
11074
11075 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11076
11077         * docs/gst/gstreamer-sections.txt:
11078         * docs/gst/tmpl/gstenumtypes.sgml:
11079         * win32/gstenumtypes.c:
11080           clean up documentation build a little
11081
11082 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11083
11084         * check/gstcheck.h:
11085           add macros for checking refcounts on objects and caps
11086         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11087           add some more unit tests
11088         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11089         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11090           fix leaked refcounts (I hope :)) so unittest works
11091         * gst/gstpad.h:
11092           whitespace removal
11093
11094 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11095
11096         * configure.ac: back to HEAD
11097
11098 === release 0.9.1 ===
11099
11100 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11101
11102         * NEWS:
11103         * RELEASE:
11104           updated
11105
11106 2005-06-17  Andy Wingo  <wingo@pobox.com>
11107
11108         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11109         assert; it's always possible that the pad gets deactivated in
11110         between the checks in gstpad.c and the implementation. Rely on
11111         finish_preroll() to return a FLUSHING or similar instead of on the
11112         assert.
11113         
11114         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11115         clock and post an EOS message if we come out of finish_preroll in
11116         the playing state.
11117
11118 2005-06-16  David Schleef  <ds@schleef.org>
11119
11120         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11121         (gst_capsfilter_set_property): Allow NULL as possible value
11122         for filter_caps property, indicating GST_CAPS_ANY.
11123
11124 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11125
11126         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11127           fix debug output
11128         * gst/schedulers/Makefile.am:
11129           use libgst prefix
11130         * gstreamer.spec.in:
11131           fix spec for it
11132
11133 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11134
11135         * gstreamer.spec.in:
11136           clean up
11137
11138 2005-06-08  Andy Wingo  <wingo@pobox.com>
11139
11140         * gst/gstutils.c: RPAD fixes all around.
11141         (gst_element_link_pads): Refcounting fixes.
11142
11143         * tools/gst-inspect.c:
11144         * tools/gst-xmlinspect.c:
11145         * parse/grammar.y:
11146         * gst/base/gsttypefindhelper.c:
11147         * gst/base/gstbasesink.c:
11148         * gst/gstqueue.c: RPAD fixes.
11149
11150         * gst/gstghostpad.h:
11151         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11152         pads. The tricky thing is they provide both source and sink
11153         interfaces, since they proxy the internal pad for the external
11154         pad, and vice versa. Implement with lower-level ProxyPad objects,
11155         with the interior proxy pad as a child of the exterior ghost pad.
11156         Should write a doc on this.
11157         
11158         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11159         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11160         gst_object API.
11161         
11162         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11163         pads are real pads. No ghost pads in this file. Not documenting
11164         the myriad s/RPAD/PAD/ and REALIZE fixes.
11165         (gst_pad_class_init): Add properties for "direction" and
11166         "template". Both are construct-only, so they can't change during
11167         the life of the pad. Fixes properly deriving from GstPad.
11168         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11169         derived objects, just set properties when creating the objects via
11170         g_object_new.
11171         (gst_pad_get_parent): Implement as a function, return NULL if the
11172         parent is not an element.
11173         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11174         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11175         
11176         * gst/gstobject.c (gst_object_class_init): Make name a construct
11177         property. Don't set it in the object init.
11178
11179         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11180         with UNKNOWN direction.
11181         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11182         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11183         (gst_element_remove_pad): Remove ghost-pad special cases.
11184         (gst_element_pads_activate): Remove rpad cruft.
11185
11186         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11187         catch the pad's-parent-not-an-element case.
11188
11189         * gst/gst.h: Include gstghostpad.h.
11190
11191         * gst/gst.c (init_post): No more real, ghost pads.
11192
11193         * gst/Makefile.am: Add gstghostpad.[ch].
11194
11195         * check/Makefile.am:
11196         * check/gst/gstbin.c:
11197         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11198         into a bin creates ghost pads, and that the refcounts are right.
11199         Partly moved from gstbin.c.
11200
11201 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11202
11203         * check/gst-libs/.cvsignore:
11204         * check/gst/.cvsignore:
11205         * check/pipelines/.cvsignore:
11206           ignore more
11207         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11208         (START_TEST), (cleanup_suite), (main):
11209           add some tests related to cleanup after running pipelines
11210
11211 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11212
11213         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11214           add a testsuite for GstBuffer
11215
11216 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11217
11218         * gst/gstminiobject.h:
11219           add defines for accessing the refcount
11220
11221 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11222
11223         * Makefile.am: added support for html unit test coverage reports
11224
11225 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11226
11227         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11228           Free existing caps if the capsfilter changes. Add a FIXME about
11229           setting those caps on the pads.
11230
11231         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11232           Before adding a ghost pad to a parent bin, check that there isn't
11233           already one for the element on the bin. Prevents infinite recursion
11234           when using decodebin in parse pipelines. Andy says he'll rewrite the
11235           way this works anyway, so ignore the hack.
11236
11237 2005-06-02  Andy Wingo  <wingo@pobox.com>
11238
11239         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11240         file size, pass it on to the type find helper.
11241
11242         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11243         segment_start and segment_end properly according to the seek
11244         method. Segment_end is still a bit flaky because offset can be
11245         negative for CUR and END cases, but it takes -1 as an "unset"
11246         value.
11247
11248 2005-06-02  Wim Taymans  <wim@fluendo.com>
11249
11250         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11251         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11252         (gst_basesink_activate):
11253         * gst/base/gstbasesink.h:
11254         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11255         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11256         (gst_pad_query), (gst_pad_start_task):
11257         * gst/gstpad.h:
11258         * gst/gstqueue.c: (gst_queue_bufferalloc),
11259         (gst_queue_handle_sink_event), (gst_queue_chain):
11260         Bufferalloc: return GstFlowReturn to more accuratly report
11261         why allocation failed.
11262
11263 2005-06-02  Wim Taymans  <wim@fluendo.com>
11264
11265         * gst/gstpipeline.c: (gst_pipeline_send_event):
11266         Take snapshot of state without blocking.
11267
11268 2005-06-02  Wim Taymans  <wim@fluendo.com>
11269
11270         * docs/design/part-TODO.txt:
11271         * docs/design/part-caps.txt:
11272         * docs/design/part-clocks.txt:
11273         * docs/design/part-negotiation.txt:
11274         * docs/design/part-preroll.txt:
11275         Small doc updates 
11276
11277 2005-05-30  Wim Taymans  <wim@fluendo.com>
11278
11279         * gst/elements/gstidentity.c: (gst_identity_event),
11280         (gst_identity_transform), (gst_identity_get_property):
11281         Protect last_message property as it is accessed from
11282         multiple threads.
11283
11284 2005-05-30  Wim Taymans  <wim@fluendo.com>
11285
11286         * gst/gstelement.c: (gst_element_init),
11287         (gst_element_pads_activate), (gst_element_change_state):
11288         Slicker pad activation code.
11289
11290 2005-05-30  Wim Taymans  <wim@fluendo.com>
11291
11292         * gst/Makefile.am:
11293         * gst/gstelement.h:
11294         * gst/gstelementfactory.h:
11295         * gst/gsttypes.h:
11296         Move elementfactory methods to separate .h file.
11297
11298 2005-05-30  Wim Taymans  <wim@fluendo.com>
11299
11300         * docs/design/part-overview.txt:
11301         * gst/gstsystemclock.h:
11302         Small typo fixes, doc updates.
11303
11304 2005-05-30  Wim Taymans  <wim@fluendo.com>
11305
11306         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11307         (init_popt_callback):
11308         Remove cpu-opt flag.
11309
11310 2005-05-30  Wim Taymans  <wim@fluendo.com>
11311
11312         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11313         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11314         * gst/gstbuffer.h:
11315         Avoid typechecking in places where not needed.
11316         Added accessor for malloc_data.
11317
11318 2005-05-30  Wim Taymans  <wim@fluendo.com>
11319
11320         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11321         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11322         (gst_pad_configure_sink), (gst_pad_configure_src),
11323         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11324         (gst_pad_start_task):
11325         Propagate errors from _set_caps() in configure_src/sink
11326         functions instead of returning TRUE.
11327         FLUSH events can travel up and downstream
11328
11329
11330 2005-05-30  Wim Taymans  <wim@fluendo.com>
11331
11332         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11333         (gst_basesink_activate):
11334         Handle EOS in preroll.
11335
11336 2005-05-30  Wim Taymans  <wim@fluendo.com>
11337
11338         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11339         (gst_queue_loop), (gst_queue_handle_src_event):
11340         Remove old pieces of code
11341         Flushing the queue in an upstream event is a very bad idea.
11342
11343 2005-05-26  Andy Wingo  <wingo@pobox.com>
11344
11345         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11346         gst_value_set_mini_object so as to add a ref on the object (which
11347         will be removed when the value is unset).
11348
11349         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11350         arg type in ::handoff.
11351
11352         * gst/gstelement.c (gst_element_change_state): Also deactivate
11353         pads in READY->NULL, just in case the element didn't make it to
11354         PAUSED. Wingo tested, Wim approved.
11355
11356 2005-05-26  Wim Taymans  <wim@fluendo.com>
11357
11358         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11359         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11360         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11361         A flushing pad cannot be used to alloc_buffer from.
11362
11363 2005-05-26  Wim Taymans  <wim@fluendo.com>
11364
11365         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11366         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11367         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11368         (gst_bus_create_watch), (gst_bus_add_watch_full):
11369         * gst/gstbus.h:
11370         Implement a real GSource and use g_main_context_wakeup() to
11371         signal new messages instead of the socketpair.
11372
11373 2005-05-25  Wim Taymans  <wim@fluendo.com>
11374
11375         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11376         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11377         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11378         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11379         (gst_pad_send_event), (gst_pad_start_task):
11380         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11381         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11382         (gst_queue_sink_activate), (gst_queue_src_activate),
11383         (gst_queue_change_state):
11384         * gst/gstqueue.h:
11385         Fix state changes for non sinks. We now change sinks, then elements
11386         with unconnected srcpads, then the rest.
11387         More efficient queue unlocking in flush and state changes.
11388         Set the pad activate mode even if it does not have an activate
11389         function.
11390
11391 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11392
11393         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11394           Don't go in pull mode for non-seekable sources.
11395         * gst/elements/gsttypefindelement.h:
11396         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11397         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11398         (free_entry), (stop_typefinding),
11399         (gst_type_find_element_handle_event), (find_peek),
11400         (gst_type_find_element_chain), (do_pull_typefind),
11401         (gst_type_find_element_change_state):
11402           Allow typefinding (w/o seeking) in push-mode, simplified version
11403           of what was in 0.8.
11404         * gst/gstutils.c: (gst_buffer_join):
11405         * gst/gstutils.h:
11406           gst_buffer_join() from 0.8.
11407
11408 2005-05-25  Wim Taymans  <wim@fluendo.com>
11409
11410         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11411         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11412         (gst_pad_send_event), (gst_pad_start_task):
11413         Disable attempt at mode switching until it is figured out.
11414
11415 2005-05-25  Wim Taymans  <wim@fluendo.com>
11416
11417         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11418         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11419         (gst_basesink_finish_preroll), (gst_basesink_chain),
11420         (gst_basesink_loop), (gst_basesink_activate),
11421         (gst_basesink_change_state):
11422         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11423         (gst_basesrc_get_range), (gst_basesrc_loop),
11424         (gst_basesrc_activate):
11425         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11426         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11427         (gst_real_pad_init), (gst_real_pad_set_property),
11428         (gst_real_pad_get_property), (gst_pad_set_active),
11429         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11430         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11431         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11432         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11433         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11434         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11435         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11436         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11437         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11438         (gst_pad_stop_task):
11439         * gst/gstpad.h:
11440         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11441         (gst_queue_loop), (gst_queue_src_activate):
11442         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11443         (gst_task_get_state):
11444         * gst/gsttask.h:
11445         * gst/schedulers/threadscheduler.c:
11446         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11447         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11448         in task function.
11449         Remove ACTIVE pad flag, use FLUSHING everywhere
11450         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11451         functions.
11452         Add locks around IS_FLUSHING when reading.
11453         Take STREAM lock in chain(), get_range() functions so plugins
11454         don't need to take it anymore.
11455         
11456
11457
11458 2005-05-25  Wim Taymans  <wim@fluendo.com>
11459
11460         * tools/gst-launch.c: (event_loop):
11461         Unref message after using its contents instead of
11462         before.
11463
11464 2005-05-24  Wim Taymans  <wim@fluendo.com>
11465
11466         * docs/design/draft-ghostpads.txt:
11467         * docs/design/draft-push-pull.txt:
11468         * docs/design/draft-query.txt:
11469         * docs/design/part-overview.txt:
11470         Docs updates, added general overview doc.
11471
11472 2005-05-21  David Schleef  <ds@schleef.org>
11473
11474         * docs/gst/tmpl/old/GstBin.sgml:
11475         * docs/gst/tmpl/old/GstBuffer.sgml:
11476         * docs/gst/tmpl/old/GstCaps.sgml:
11477         * docs/gst/tmpl/old/GstClock.sgml:
11478         * docs/gst/tmpl/old/GstCompat.sgml:
11479         * docs/gst/tmpl/old/GstData.sgml:
11480         * docs/gst/tmpl/old/GstElement.sgml:
11481         * docs/gst/tmpl/old/GstEvent.sgml:
11482         * docs/gst/tmpl/old/GstIndex.sgml:
11483         * docs/gst/tmpl/old/GstStructure.sgml:
11484         * docs/gst/tmpl/old/GstTag.sgml:
11485         * docs/gst/tmpl/old/cothreads.sgml:
11486         * docs/gst/tmpl/old/cothreads_compat.sgml:
11487         * docs/gst/tmpl/old/gettext.sgml:
11488         * docs/gst/tmpl/old/gobject2gtk.sgml:
11489         * docs/gst/tmpl/old/grammar.tab.sgml:
11490         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11491         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11492         * docs/gst/tmpl/old/gst_private.sgml:
11493         * docs/gst/tmpl/old/gstaggregator.sgml:
11494         * docs/gst/tmpl/old/gstarch.sgml:
11495         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11496         * docs/gst/tmpl/old/gstbufferstore.sgml:
11497         * docs/gst/tmpl/old/gstdata_private.sgml:
11498         * docs/gst/tmpl/old/gstdisksink.sgml:
11499         * docs/gst/tmpl/old/gstdisksrc.sgml:
11500         * docs/gst/tmpl/old/gstelementfactory.sgml:
11501         * docs/gst/tmpl/old/gstextratypes.sgml:
11502         * docs/gst/tmpl/old/gstfakesink.sgml:
11503         * docs/gst/tmpl/old/gstfakesrc.sgml:
11504         * docs/gst/tmpl/old/gstfdsink.sgml:
11505         * docs/gst/tmpl/old/gstfdsrc.sgml:
11506         * docs/gst/tmpl/old/gstfilesink.sgml:
11507         * docs/gst/tmpl/old/gstfilesrc.sgml:
11508         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11509         * docs/gst/tmpl/old/gstidentity.sgml:
11510         * docs/gst/tmpl/old/gstindexfactory.sgml:
11511         * docs/gst/tmpl/old/gstmarshal.sgml:
11512         * docs/gst/tmpl/old/gstmd5sink.sgml:
11513         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11514         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11515         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11516         * docs/gst/tmpl/old/gstpipefilter.sgml:
11517         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11518         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11519         * docs/gst/tmpl/old/gstshaper.sgml:
11520         * docs/gst/tmpl/old/gstspider.sgml:
11521         * docs/gst/tmpl/old/gstspideridentity.sgml:
11522         * docs/gst/tmpl/old/gststatistics.sgml:
11523         * docs/gst/tmpl/old/gsttee.sgml:
11524         * docs/gst/tmpl/old/gsttimecache.sgml:
11525         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11526         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11527         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11528         * docs/gst/tmpl/old/types.sgml:
11529           I didn't intend to add these or check them in.
11530
11531 2005-05-19  David Schleef  <ds@schleef.org>
11532
11533         * configure.ac: Use -no-common everywhere.  In a sane world, it
11534           would be the default in libtool, because without it, you can't
11535           build DLLs on Windows.
11536         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11537         * docs/gst/gstreamer-sections.txt:
11538         * docs/gst/tmpl/gstcpu.sgml:
11539         * docs/gst/tmpl/gstdata.sgml:
11540         * docs/gst/tmpl/gstthread.sgml:
11541
11542 2005-05-19  David Schleef  <ds@schleef.org>
11543
11544         * gst/gstminiobject.c: (gst_value_set_mini_object),
11545         (gst_value_take_mini_object), (gst_value_get_mini_object):
11546         * gst/gstminiobject.h: Add GValue set/get functions.
11547
11548 2005-05-19  Wim Taymans  <wim@fluendo.com>
11549
11550         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11551         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11552         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11553         * gst/gstbuffer.h:
11554         * gst/gstbus.c: (gst_bus_post):
11555         * gst/gstelement.c: (gst_element_get_random_pad):
11556         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11557         Make subbufer unref the parent in finalize.
11558         some more debugging info.
11559
11560
11561 2005-05-19  Wim Taymans  <wim@fluendo.com>
11562
11563         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11564         (gst_basesink_init), (gst_basesink_finalize),
11565         (gst_basesink_activate), (gst_basesink_change_state):
11566         Don't free preroll queue too early.
11567
11568 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11569
11570         * gst/Makefile.am:
11571         * gst/ROADMAP:
11572           Hi, I'm outdated. Please shoot me.
11573
11574 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11575
11576         * gst/gstpipeline.c: (gst_pipeline_send_event):
11577           Do not access variables after they have been deleted.
11578
11579 2005-05-19  Wim Taymans  <wim@fluendo.com>
11580
11581         * tools/gst-inspect.c: (print_plugin_features):
11582         A plugin feature does unfortunatly not use the
11583         object name yet...
11584
11585 2005-05-18  Wim Taymans  <wim@fluendo.com>
11586
11587         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11588         Port _span() functions to new subbuffers.
11589
11590 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11591
11592         * gst/gstbin.c: (gst_bin_add_func):
11593           Fix clock settery in bins when adding kids after the clock has
11594           been selected.
11595
11596 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11597
11598         * gst/elements/gstidentity.c: (gst_identity_class_init):
11599           Workaround until signals support GstMiniObject.
11600
11601 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11602
11603         * gst/gstbuffer.c:
11604         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11605
11606 2005-05-18  Wim Taymans  <wim@fluendo.com>
11607
11608         * gst/base/Makefile.am:
11609         * gst/base/gstadapter.c: (gst_adapter_base_init),
11610         (gst_adapter_class_init), (gst_adapter_init),
11611         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11612         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11613         (gst_adapter_flush), (gst_adapter_available),
11614         (gst_adapter_available_fast):
11615         * gst/base/gstadapter.h:
11616         Ported and added adapter to the base classes.
11617
11618 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11619
11620         * gst/gst.c:
11621         * gst/gstmessage.c:
11622           Make sure the class is reffed/unreffed once before threads can be
11623           used.  Fixes #304551.
11624
11625 2005-05-17  Wim Taymans  <wim@fluendo.com>
11626
11627         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11628         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11629         * gst/gstminiobject.c: (gst_mini_object_get_type),
11630         (gst_mini_object_free):
11631         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11632         (gst_pad_push), (gst_pad_push_event):
11633         * gst/gstqueue.c: (gst_queue_change_state):
11634         Don't queue buffers in basesink when we are flushing.
11635         Unref buffer when flushing in basesink.
11636         Flush queue when going to READY
11637         Unref buffer when _push() returns an error.
11638         Don't free MiniObject instance when refcount is incremented
11639         in _finalize() so that we can recover objects.
11640
11641 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11642
11643         * docs/manual/advanced-schedulers.xml:
11644         * docs/manual/appendix-checklist.xml:
11645         * docs/pwg/advanced-clock.xml:
11646         * docs/pwg/advanced-interfaces.xml:
11647         * docs/pwg/advanced-request.xml:
11648         * docs/pwg/advanced-types.xml:
11649         * docs/pwg/intro-preface.xml:
11650         * examples/plugins/example.c: (gst_example_get_type),
11651         (gst_example_class_init), (gst_example_chain),
11652         (gst_example_set_property), (gst_example_get_property),
11653         (gst_example_change_state), (plugin_init):
11654         * examples/plugins/example.h:
11655           small doc fixes
11656
11657 2005-05-17  Wim Taymans  <wim@fluendo.com>
11658
11659         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11660         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11661         * gst/gstqueue.c: (gst_queue_change_state):
11662         Clear queue when going to READY.
11663         Remove IN_SETCAPS flag too.
11664
11665 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11666
11667         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11668           Remove implicit cast from gboolean to GstElementStateReturn;
11669           make sure we still return failure in paused => ready case if
11670           the parent class fails to change state and our own stop 
11671           vfunc succeeds.
11672
11673 2005-05-17  Wim Taymans  <wim@fluendo.com>
11674
11675         * tools/gst-launch.c: (event_loop):
11676         Message was unreffed too soon.
11677
11678 2005-05-16  Andy Wingo  <wingo@pobox.com>
11679
11680         * gst/gstbin.c (sink_iterator_filter): Err... um...
11681
11682         * check/gst/gstbin.c (test_ghost_pads): New test for the
11683         ghosting-if-elements-not-in-same-bin behavior.
11684
11685 2005-05-16  David Schleef  <ds@schleef.org>
11686
11687         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11688         accessing refcount directly.
11689
11690 2005-05-15  David Schleef  <ds@schleef.org>
11691
11692         * check/Makefile.am: remove GstData checks
11693         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11694         * gst/Makefile.am: add miniobject, remove data
11695         * gst/gst.h: add miniobject, remove data
11696         * gst/gstdata.c: remove
11697         * gst/gstdata.h: remove
11698         * gst/gstdata_private.h: remove
11699         * gst/gsttypes.h: remove GstEvent and GstMessage
11700         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11701         * gst/gstmarshal.list: change BOXED -> OBJECT
11702
11703         Implement GstMiniObject.
11704         * gst/gstminiobject.c:
11705         * gst/gstminiobject.h:
11706
11707         Modify to be subclasses of GstMiniObject.
11708         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11709         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11710         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11711         (gst_subbuffer_get_type), (gst_subbuffer_init),
11712         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11713         (gst_buffer_span):
11714         * gst/gstbuffer.h:
11715         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11716         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11717         (_gst_event_copy), (gst_event_new):
11718         * gst/gstevent.h:
11719         * gst/gstmessage.c: (_gst_message_initialize),
11720         (gst_message_get_type), (gst_message_class_init),
11721         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11722         (gst_message_new), (gst_message_new_error),
11723         (gst_message_new_warning), (gst_message_new_tag),
11724         (gst_message_new_state_changed), (gst_message_new_application):
11725         * gst/gstmessage.h:
11726         * gst/gstprobe.c: (gst_probe_perform),
11727         (gst_probe_dispatcher_dispatch):
11728         * gst/gstprobe.h:
11729         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11730         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11731         (_gst_query_copy), (gst_query_new):
11732
11733         Update elements for GstData -> GstMiniObject changes
11734         * gst/gstquery.h:
11735         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11736         (gst_queue_chain), (gst_queue_loop):
11737         * gst/elements/gstbufferstore.c:
11738         (gst_buffer_store_add_buffer_func),
11739         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11740         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11741         (gst_fakesink_render):
11742         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11743         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11744         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11745         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11746         (gst_filesrc_create_read):
11747         * gst/elements/gstidentity.c: (gst_identity_class_init):
11748         * gst/elements/gsttypefindelement.c:
11749         (gst_type_find_element_src_event), (free_entry_buffers),
11750         (gst_type_find_element_handle_event):
11751         * libs/gst/dataprotocol/dataprotocol.c:
11752         (gst_dp_header_from_buffer):
11753         * libs/gst/dataprotocol/dataprotocol.h:
11754         * libs/gst/dataprotocol/dp-private.h:
11755
11756 2005-05-15  David Schleef  <ds@schleef.org>
11757
11758         * gst/elements/gstelements.c: Don't include headers that were
11759         just removed.
11760
11761 2005-05-15  David Schleef  <ds@schleef.org>
11762
11763         * gst/elements/Makefile.am: Remove some elements that don't
11764         need to be in the core (or even exist at all).
11765         * gst/elements/gstaggregator.c:
11766         * gst/elements/gstaggregator.h:
11767         * gst/elements/gstmd5sink.c:
11768         * gst/elements/gstmd5sink.h:
11769         * gst/elements/gstmultifilesrc.c:
11770         * gst/elements/gstmultifilesrc.h:
11771         * gst/elements/gstpipefilter.c:
11772         * gst/elements/gstpipefilter.h:
11773         * gst/elements/gstshaper.c:
11774         * gst/elements/gstshaper.h:
11775         * gst/elements/gststatistics.c:
11776         * gst/elements/gststatistics.h:
11777         * po/POTFILES.in: Remove above files.
11778
11779 2005-05-14  Andy Wingo  <wingo@pobox.com>
11780
11781         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11782         so as to get the refs right.
11783         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11784         unreffing objects that don't pass the filter.
11785
11786         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11787         gst_element_set_bus.
11788         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11789         normal cases, this will destroy the bus.
11790
11791         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11792         object.
11793
11794         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11795         has no sinks.
11796
11797 2005-05-13  Andy Wingo  <wingo@pobox.com>
11798
11799         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11800         gst_pad_link, call pad_link_maybe_ghosting,
11801         (pad_link_maybe_ghosting): Links pads, making sure that the
11802         elements being linked are in the same bin.
11803         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11804         Helpers for pad_link_maybe_ghosting.
11805
11806 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11807
11808         * configure.ac:
11809           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11810
11811 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11812
11813         * docs/design/part-element-source.txt:
11814           Mention GstPushSrc
11815
11816 2005-05-12  Wim Taymans  <wim@fluendo.com>
11817
11818         * gst/base/gstbasesink.c: (gst_basesink_init),
11819         (gst_basesink_activate):
11820         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11821         (gst_basesrc_is_seekable):
11822         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11823         (bin_element_is_sink), (gst_bin_change_state):
11824         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11825         * gst/gstelement.h:
11826         Identify sinks by their flag to avoid overly complicated
11827         checks (fow now).
11828         Do state changes even for elements not reachable from the
11829         sinks.
11830         BaseSink is a sink now :)
11831         Some more debugging info in the basesrc.
11832
11833
11834 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11835
11836         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11837           Implement _query on a bin, similar to _send_event.
11838
11839 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11840
11841         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11842           Discont event offset format should be GST_FORMAT_BYTES,
11843           not GST_FORMAT_TIME.
11844
11845 2005-05-12  Wim Taymans  <wim@fluendo.com>
11846
11847         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11848         Same fix as Ronald's but without the signal. 
11849
11850 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11851
11852         * gst/gstutils.c: (gst_element_query_position):
11853           No, an element is not a pad.
11854
11855 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11856
11857         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11858         (gst_bin_get_state):
11859           If a child is removed from a bin while we remove the child from
11860           the bin and while we're retrieving its state, signal this to the
11861           get_state function so we abort the wait (instead of waiting for
11862           a timeout) and can immediately re-iterate over all other elements.
11863
11864 2005-05-12  Wim Taymans  <wim@fluendo.com>
11865
11866         * gst/base/Makefile.am:
11867         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11868         (gst_basesrc_start):
11869         * gst/base/gstbasesrc.h:
11870         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11871         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11872         (gst_pushsrc_init), (gst_pushsrc_create):
11873         * gst/base/gstpushsrc.h:
11874         Added is_seekable to BaseSrc
11875         Added simple PushSrc.
11876
11877 2005-05-11  Wim Taymans  <wim@fluendo.com>
11878
11879         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11880         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11881         (gst_element_link_pads), (gst_element_query_position),
11882         (gst_element_query_convert), (intersect_caps_func),
11883         (gst_pad_query_position), (gst_pad_query_convert):
11884         Fix refcounting in utils function.
11885         No point in trying to activate a pad when it's added, it could
11886         be added from the state change function and then we deadlock, the
11887         element has to decide what to do.
11888
11889 2005-05-10  Andy Wingo  <wingo@pobox.com>
11890
11891         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11892         *all* the arguments.
11893
11894         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11895         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11896         lock (according to the docs -- if this is wrong change the docs).
11897
11898         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11899         flush messages in the NULL state.
11900
11901         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11902         message immediately and return.
11903         (gst_bus_set_flushing): New function. If a bus is flushing, it
11904         flushes out any queued messages and immediately unrefs new
11905         messages. This is so when an element goes to NULL, all of the
11906         unhandled messages coming from it can be freed, and their
11907         references to the element dropped. In other words: message source
11908         ref considered harmful :P
11909
11910         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11911         we're finished with it.
11912
11913         * gst/gstmessage.c (gst_message_new_state_changed): 
11914
11915 2005-05-10  Wim Taymans  <wim@fluendo.com>
11916
11917         * gst/gstvalue.c: (gst_value_compare_flags),
11918         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11919         (_gst_value_initialize):
11920         Added flags serialize/deserialize/compare code.
11921
11922 2005-05-09  Andy Wingo  <wingo@pobox.com>
11923
11924         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11925         Intersect the peer's caps with our caps.
11926
11927 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11928
11929         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11930         * gst/elements/gsttypefindelement.c: (find_peek):
11931           Handle negative offsets better. Fixes decodebin.
11932
11933 2005-05-09  Wim Taymans  <wim@fluendo.com>
11934
11935         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11936         (gst_base_transform_event):
11937         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11938         Implement accept_caps.
11939         Fix silly lock/unlock mismatch in base class.
11940
11941 2005-05-09  Wim Taymans  <wim@fluendo.com>
11942
11943         * docs/design/draft-push-pull.txt:
11944         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11945         * gst/elements/gstfilesink.c: (gst_filesink_init),
11946         (gst_filesink_query):
11947         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11948         (gst_type_find_handle_src_query), (find_element_get_length):
11949         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11950         * gst/gstelement.h:
11951         * gst/gstmessage.c:
11952         * gst/gstmessage.h:
11953         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11954         (gst_real_pad_get_caps_unlocked),
11955         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11956         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11957         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11958         (gst_real_pad_dispose), (gst_real_pad_finalize),
11959         (gst_pad_load_and_link), (gst_pad_save_thyself),
11960         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11961         (gst_pad_check_pull_range), (gst_pad_pull_range),
11962         (gst_pad_template_get_type), (gst_pad_template_class_init),
11963         (gst_pad_template_init), (gst_pad_template_dispose),
11964         (name_is_valid), (gst_static_pad_template_get),
11965         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11966         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11967         (gst_pad_get_element_private), (gst_pad_start_task),
11968         (gst_pad_pause_task), (gst_pad_stop_task),
11969         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11970         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11971         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11972         (gst_ghost_pad_new):
11973         * gst/gstpad.h:
11974         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11975         (gst_query_new_position), (gst_query_set_position),
11976         (gst_query_parse_position), (gst_query_new_convert),
11977         (gst_query_set_convert), (gst_query_parse_convert):
11978         * gst/gstquery.h:
11979         * gst/gstqueryutils.c:
11980         * gst/gstqueryutils.h:
11981         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11982         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11983         (gst_queue_handle_src_query):
11984         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11985         (gst_element_query_position), (gst_element_query_convert),
11986         (intersect_caps_func), (gst_pad_query_position),
11987         (gst_pad_query_convert):
11988         * gst/gstutils.h:
11989         * tools/gst-inspect.c: (print_pad_info):
11990         * tools/gst-xmlinspect.c: (print_element_info):
11991         Remove old query functions. Ported old code.
11992         Added position/convert helper functions to gstutils.
11993         Reordered gstpad.c code, grouping relevant things.
11994         Remove gst_message_new(), always need to speficy a specific
11995         message.
11996
11997
11998 2005-05-09  Andy Wingo  <wingo@pobox.com>
11999
12000         * gst/gstiterator.h: Add some includes.
12001
12002         * gst/gstqueryutils.h: Include more headers.
12003
12004         * gst/gstpad.h:
12005         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12006         some uses of gst_pad_query.
12007
12008         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12009         NULL out parameters.
12010         (gst_query_new_position): New proc, allocates a new position
12011         query.
12012
12013         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12014         gstqueryutils.c to the build.
12015
12016         * gst/gststructure.c (gst_structure_set_valist): Implement with
12017         the generic G_VALUE_COLLECT.
12018         
12019 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12020
12021         * gst/Makefile.am: (gst_headers):
12022         Added gstqueryutils.h to the list of headers to install, that was
12023         a 'nachty' move wingo :)
12024
12025 2005-05-06  Andy Wingo  <wingo@pobox.com>
12026
12027         * gst/gstquery.h
12028         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12029         GstData, init a memchunk.
12030         (standard_definitions): Add a few query types, deprecate a few.
12031         (gst_query_get_type): New proc.
12032         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12033         implementation.
12034         (gst_query_new_application, gst_query_get_structure): New public
12035         procs.
12036
12037         * docs/design/draft-query.txt: Removed LINKS from the query types,
12038         because all the rest can be dispatched to other pads -- seemed
12039         ugly to have a query that couldn't be dispatched. internal_links
12040         is fine as a pad method.
12041
12042         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12043         in gstpad.c, but maintain binary compatibility for the moment.
12044         Will fix before 0.9 is out.
12045
12046         * gst/gstqueryutils.c: 
12047         * gst/gstqueryutils.h: New files, implement 3 methods for each
12048         query type: parse_query, parse_response, and set. Probably need an
12049         allocator as well.
12050
12051         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12052
12053         * gst/elements/gstfilesink.c (gst_filesink_query2):
12054         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12055         query_types, and formats methods.
12056
12057         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12058         (gst_pad_set_query2_function): New functions.
12059         (gst_real_pad_init): Set query2_default as the default query2
12060         function. Basically just dispatches to internally linked pads.
12061
12062         Needs review!
12063         
12064         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12065         without using the atomic operations. Only one thread can possibly
12066         be accessing the data at this point. Changed so as to avoid
12067         gst_atomic operations.
12068
12069 2005-05-06  Wim Taymans  <wim@fluendo.com>
12070
12071         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12072         Also set caps if we use the fallback buffer alloc.
12073
12074 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12075
12076         * docs/gst/Makefile.am:
12077         * docs/gst/gstreamer-docs.sgml:
12078         * docs/gst/gstreamer-sections.txt:
12079         * docs/gst/tmpl/gstatomic.sgml:
12080         * docs/gst/tmpl/gstmemchunk.sgml:
12081         * testsuite/elements/struct_i386.h:
12082         * win32/GStreamer.vcproj:
12083         * win32/Makefile:
12084           Purge GstAtomic stuff from docs and win32 makefiles as well
12085
12086 2005-05-06  Wim Taymans  <wim@fluendo.com>
12087
12088         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12089         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12090         * gst/gstpad.c: (gst_pad_peer_get_caps):
12091         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12092         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12093         (gst_queue_src_activate), (gst_queue_change_state):
12094         * gst/gstqueue.h:
12095         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12096         (intersect_caps_func):
12097         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12098         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12099         Some fixes for the peer_get_caps() change.
12100
12101 2005-05-06  Wim Taymans  <wim@fluendo.com>
12102
12103         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12104         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12105         (gst_basesink_activate):
12106         Actually do something with error codes returned from the push
12107         functions.
12108
12109 2005-05-06  Wim Taymans  <wim@fluendo.com>
12110
12111         * docs/design/part-element-sink.txt:
12112         * docs/design/part-element-source.txt:
12113         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12114         (gst_basesink_event), (gst_basesink_activate):
12115         * gst/base/gstbasesink.h:
12116         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12117         (gst_basesrc_activate):
12118         * gst/base/gstbasesrc.h:
12119         * gst/gstelement.c: (gst_element_pads_activate):
12120         Some more documentation.
12121         Fixed scheduling decision in _pads_activate().
12122
12123 2005-05-05  Andy Wingo  <wingo@pobox.com>
12124
12125         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12126         the test suite.
12127
12128 2005-05-05  Wim Taymans  <wim@fluendo.com>
12129
12130         * gst/base/Makefile.am:
12131         * gst/base/gstbasesink.h:
12132         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12133         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12134         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12135         (gst_collectpads_class_init), (gst_collectpads_init),
12136         (gst_collectpads_finalize), (gst_collectpads_new),
12137         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12138         (find_pad), (gst_collectpads_remove_pad),
12139         (gst_collectpads_is_active), (gst_collectpads_collect),
12140         (gst_collectpads_collect_range), (gst_collectpads_start),
12141         (gst_collectpads_stop), (gst_collectpads_peek),
12142         (gst_collectpads_pop), (gst_collectpads_available),
12143         (gst_collectpads_read), (gst_collectpads_flush),
12144         (gst_collectpads_chain):
12145         * gst/base/gstcollectpads.h:
12146         * gst/elements/Makefile.am:
12147         * gst/elements/gstelements.c:
12148         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12149         (gst_fakesink_get_times), (gst_fakesink_event),
12150         (gst_fakesink_preroll), (gst_fakesink_render):
12151         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12152         (gst_filesink_init), (gst_filesink_set_location),
12153         (gst_filesink_open_file), (gst_filesink_close_file),
12154         (gst_filesink_pad_query), (gst_filesink_event),
12155         (gst_filesink_render), (gst_filesink_change_state):
12156         * gst/elements/gstfilesink.h:
12157         Added object to help in making collect pad based elements.
12158         Ported filesink.
12159         Make event function in sink baseclass return gboolean.
12160
12161 2005-05-05  Wim Taymans  <wim@fluendo.com>
12162
12163         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12164         (gst_bin_get_by_name):
12165         * gst/gstbuffer.h:
12166         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12167         (gst_clock_finalize):
12168         * gst/gstdata.c: (gst_data_replace):
12169         * gst/gstdata.h:
12170         * gst/gstelement.c: (gst_element_request_pad),
12171         (gst_element_pads_activate):
12172         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12173         (gst_object_unref):
12174         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12175         (gst_pad_set_checkgetrange_function),
12176         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12177         (gst_pad_check_pull_range), (gst_pad_pull_range),
12178         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12179         (gst_pad_pause_task), (gst_pad_stop_task):
12180         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12181         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12182         Fix name lookup in GstBin.
12183         Added _data_replace() function and _buffer_replace()
12184         Use finalize method to clean up clock.
12185         Fix refcounting on request pads.
12186         Fix pad schedule mode error.
12187         Some more object refcounting debug info,
12188
12189
12190 2005-05-04  Andy Wingo <wingo@pobox.com>
12191
12192         * check/Makefile.am:
12193         * docs/gst/tmpl/gstatomic.sgml:
12194         * docs/gst/tmpl/gstplugin.sgml:
12195         * gst/base/gstbasesink.c: (gst_basesink_activate):
12196         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12197         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12198         (gst_basesrc_query), (gst_basesrc_set_property),
12199         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12200         (gst_basesrc_activate):
12201         * gst/base/gstbasesrc.h:
12202         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12203         (gst_base_transform_src_activate):
12204         * gst/elements/gstelements.c:
12205         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12206         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12207         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12208         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12209         (gst_type_find_element_checkgetrange),
12210         (gst_type_find_element_activate):
12211         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12212         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12213         (gst_caps_load_thyself):
12214         * gst/gstelement.c: (gst_element_pads_activate),
12215         (gst_element_save_thyself), (gst_element_restore_thyself):
12216         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12217         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12218         * gst/gstpad.h:
12219         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12220         (gst_xml_parse_file), (gst_xml_parse_memory),
12221         (gst_xml_get_element), (gst_xml_make_element):
12222         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12223         (_file_index_id_save_xml), (gst_file_index_commit):
12224         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12225         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12226         (load_paths):
12227         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12228         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12229         * tools/gst-complete.c: (main):
12230         * tools/gst-compprep.c: (main):
12231         * tools/gst-inspect.c: (print_element_properties_info):
12232         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12233         * tools/gst-xmlinspect.c: (print_element_properties):
12234         GCC 4 fixen.
12235         
12236 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12237
12238         * gst/gstplugin.c: (gst_plugin_check_module),
12239         (gst_plugin_check_file), (gst_plugin_load_file):
12240             apply patch from #172526 to make register work on MacOSX
12241
12242 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12243
12244         * docs/gst/tmpl/gstconfig.sgml:
12245         * gst/gstconfig.h.in:
12246           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12247         * testsuite/debug/printf_extension.c: (main):
12248           Do not use GST_PTR_FORMAT on pointers to types with
12249           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12250         * testsuite/elements/property.h:
12251           use correct printf format
12252
12253 2005-05-02  Wim Taymans  <wim@fluendo.com>
12254
12255         * docs/design/draft-push-pull.txt:
12256         * docs/design/draft-query.txt:
12257         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12258         (gst_basesrc_start):
12259         Added draft for new query API.
12260         Added draft for better selecting scheduling methods.
12261         Make basesrc ignore length if the subclass does not support
12262         it.
12263
12264 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12265
12266         * gst/Makefile.am:
12267           possible fixes for automake-1.5 - _LIBADD is reserved
12268
12269 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12270
12271         * docs/faq/Makefile.am:
12272         * docs/manual/Makefile.am:
12273         * docs/manuals.mak:
12274         * docs/pwg/Makefile.am:
12275         * gst/Makefile.am:
12276           possible fixes for automake-1.5
12277
12278 2005-04-28  Wim Taymans  <wim@fluendo.com>
12279
12280         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12281         (gst_basesink_pad_getcaps), (gst_basesink_init),
12282         (gst_basesink_do_sync):
12283         * gst/gstclock.c: (gst_clock_entry_new):
12284         * gst/gstevent.c: (gst_event_discont_get_value):
12285         * gst/gstpipeline.c: (pipeline_bus_handler),
12286         (gst_pipeline_change_state):
12287         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12288         Better debugging of clocking info.
12289         Allow NULL values when getting discont values.
12290
12291 2005-04-27  Wim Taymans  <wim@fluendo.com>
12292
12293         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12294         * check/gst/gstpad.c: (gst_pad_suite):
12295         Increase timeout for checks.
12296
12297 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12298
12299         * check/Makefile.am:
12300           fix the broken rule for cleanup.  Apparently this rule is
12301           only needed on FC2, so maybe this warrants further autotool
12302           inspection.
12303
12304 2005-04-26  Wim Taymans  <wim@fluendo.com>
12305
12306         * gst/gsttrashstack.h:
12307         Ooohh. a nasty one! After having a failed pop() from the stack,
12308         it's possible that the stack is empty. In that case, don't
12309         follow the NULL pointer.
12310
12311 2005-04-25  Wim Taymans  <wim@fluendo.com>
12312
12313         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12314         (gst_pad_set_checkgetrange_function),
12315         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12316         (gst_pad_check_pull_range), (gst_pad_pull_range),
12317         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12318         (gst_pad_pause_task), (gst_pad_stop_task):
12319         * gst/gstplugin.c: (gst_plugin_load):
12320         * gst/gstplugin.h:
12321         Remove gst_library_load as it does more harm than good with
12322         the new g_module flags.
12323         Revert bogus caps template check in pad linking, pad caps
12324         are important when linking not the template, which is more
12325         general than the current caps.
12326
12327 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12328
12329         * gst/autoplug/.cvsignore:
12330         * gst/autoplug/Makefile.am:
12331         * gst/autoplug/gstsearchfuncs.c:
12332         * gst/autoplug/gstsearchfuncs.h:
12333         * gst/autoplug/gstspider.c:
12334         * gst/autoplug/gstspider.h:
12335         * gst/autoplug/gstspideridentity.c:
12336         * gst/autoplug/gstspideridentity.h:
12337         * gst/autoplug/spidertest.c:
12338           Die, spider, die.
12339
12340 2005-04-25  Wim Taymans  <wim@fluendo.com>
12341
12342         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12343         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12344         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12345         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12346         * gst/gstpad.h:
12347         Added stubs for unimplemented functions. 
12348
12349 2005-04-24  David Schleef  <ds@schleef.org>
12350
12351         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12352         please fix.
12353
12354 2005-04-24  David Schleef  <ds@schleef.org>
12355
12356         Convert everything from GstAtomicInt to g_atomic_int_*, and
12357         remove gstatomic.
12358         * gst/Makefile.am:
12359         * gst/gstatomic.c:
12360         * gst/gstatomic.h:
12361         * gst/gstatomic_impl.h:
12362         * gst/gstbuffer.c:
12363         * gst/gstcaps.c:
12364         * gst/gstcaps.h:
12365         * gst/gstclock.c:
12366         * gst/gstclock.h:
12367         * gst/gstdata.c:
12368         * gst/gstdata.h:
12369         * gst/gstdata_private.h:
12370         * gst/gstevent.c:
12371         * gst/gstinfo.c:
12372         * gst/gstinfo.h:
12373         * gst/gstmessage.c:
12374         * gst/gstobject.c:
12375         * gst/gstobject.h:
12376         * gst/gststructure.c:
12377         * gst/gststructure.h:
12378         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12379         * gst/gstutils.h:
12380
12381 2005-04-24  David Schleef  <ds@schleef.org>
12382
12383         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12384         make the regressions tests work.  Remove some code that is no
12385         longer true.
12386         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12387         Disable warning for pads without templates.
12388
12389 2005-04-24  David Schleef  <ds@schleef.org>
12390
12391         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12392         functions that handle filtered links.
12393         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12394         removed functions.
12395         * gst/gstutils.c: Fix/remove utility functions that handle
12396         filtered caps.
12397         * gst/gstutils.h:
12398         * gst/gstvalue.c: Add serialization/deserialization of caps
12399         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12400         requires fixing so that the filter caps notation creates
12401         a capsfilter element and sets the filter_caps property.  I
12402         think everyone probably wants to keep the shorthand notation.
12403         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12404         * docs/gst/tmpl/gstpad.sgml:
12405
12406         * gst/elements/gstelements.c: Register capsfilter element.
12407         * gst/Makefile.am: fix spacing
12408         * docs/random/ds/0.9-suggested-changes: random
12409
12410 2005-04-23  David Schleef  <ds@schleef.org>
12411
12412         * gst/elements/Makefile.am:
12413         * gst/elements/gstcapsfilter.c: New element that acts like an
12414         identity, but filters caps.  Will eventually replace filtered
12415         caps in pad linking.
12416         * gst/gstutils.c: (gst_element_create_all_pads): New function
12417         to create all the ALWAYS pads that are registered with an
12418         element class.  This functionality should eventually be
12419         merged in with GstElement initialization.
12420         * gst/gstutils.h:
12421         * testsuite/trigger/README: part of trigger test code that should
12422         have been checked in a long time ago.
12423
12424 2005-04-23  David Schleef  <ds@schleef.org>
12425
12426         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12427         needed with new versions of libtool (nobody will confirm this),
12428         and hard to carry around.
12429         * gst/autoplug/Makefile.am:
12430         * gst/base/Makefile.am:
12431         * gst/elements/Makefile.am:
12432         * gst/indexers/Makefile.am:
12433         * gst/schedulers/Makefile.am:
12434         * libs/gst/bytestream/Makefile.am:
12435         * libs/gst/control/Makefile.am:
12436         * libs/gst/dataprotocol/Makefile.am:
12437         * libs/gst/getbits/Makefile.am:
12438
12439 2005-04-21  Wim Taymans  <wim@fluendo.com>
12440
12441         * docs/design/draft-push-pull.txt:
12442         * docs/design/part-MT-refcounting.txt:
12443         * docs/design/part-TODO.txt:
12444         * docs/design/part-caps.txt:
12445         * docs/design/part-events.txt:
12446         * docs/design/part-gstbus.txt:
12447         * docs/design/part-gstpipeline.txt:
12448         * docs/design/part-messages.txt:
12449         * docs/design/part-push-pull.txt:
12450         * docs/design/part-query.txt:
12451         Some more docs.
12452
12453 2005-04-21  Wim Taymans  <wim@fluendo.com>
12454
12455         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12456         (gst_message_new), (gst_message_new_error),
12457         (gst_message_new_warning), (gst_message_new_tag),
12458         (gst_message_new_state_changed), (gst_message_new_application),
12459         (gst_message_get_structure):
12460         * gst/gstmessage.h:
12461         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12462         (gst_structure_copy_conditional):
12463         Use parent refcount in GstMessage to ensure GstStructure
12464         consistency.
12465         Cleaned up headers a bit.
12466         
12467
12468 2005-04-20  Wim Taymans  <wim@fluendo.com>
12469
12470         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12471         (gst_basesink_pad_getcaps), (gst_basesink_init),
12472         (gst_basesink_chain_unlocked):
12473         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12474         (gst_type_find_helper):
12475         * gst/elements/gsttypefindelement.c:
12476         (gst_type_find_element_have_type), (gst_type_find_element_init),
12477         (stop_typefinding), (gst_type_find_element_handle_event),
12478         (find_suggest), (gst_type_find_element_chain),
12479         (gst_type_find_element_checkgetrange),
12480         (gst_type_find_element_getrange), (do_typefind),
12481         (gst_type_find_element_activate):
12482         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12483         (gst_buffer_default_free), (gst_buffer_default_copy),
12484         (gst_buffer_set_caps):
12485         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12486         (gst_caps_replace):
12487         * gst/gstmessage.c: (gst_message_new),
12488         (gst_message_new_state_changed):
12489         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12490         (gst_pad_set_checkgetrange_function),
12491         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12492         (gst_pad_set_caps), (gst_pad_check_pull_range),
12493         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12494         * gst/gstpad.h:
12495         * gst/gsttypefind.c: (gst_type_find_register):
12496         Make gst_caps_replace() work like other _replace() functions.
12497         Use _caps_replace() where possible.
12498         Make sure _message_new() initialises its field.
12499         Add gst_static_pad_template_get_caps()
12500
12501
12502 2005-04-18  Andy Wingo  <wingo@pobox.com>
12503
12504         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12505         on the peer, not the pad. I think that was a typo. Pass an extra
12506         arg to see if random access is possible. Activate the pads as
12507         PULL_RANGE if possible.
12508
12509         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12510
12511         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12512         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12513         to PROP_....
12514
12515 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12516
12517         * docs/faq/using.xml:
12518           Add note on gstreamer-properties (#154996).
12519
12520 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12521
12522         * docs/random/bbb/optional-properties:
12523           Some analysis on optional properties.
12524
12525 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12526
12527         * docs/gst/tmpl/gstelementfactory.sgml:
12528         * gst/gstelement.h:
12529         * gst/gstelementfactory.c: (gst_element_factory_init),
12530         (gst_element_factory_cleanup), (gst_element_register),
12531         (__gst_element_factory_add_static_pad_template),
12532         (gst_element_factory_get_static_pad_templates),
12533         (gst_element_factory_can_src_caps),
12534         (gst_element_factory_can_sink_caps):
12535         * gst/registries/Makefile.am:
12536         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12537         (gst_xml_registry_class_init), (gst_xml_registry_init),
12538         (gst_xml_registry_new), (gst_xml_registry_set_property),
12539         (gst_xml_registry_get_property), (get_time), (make_dir),
12540         (gst_xml_registry_get_perms_func),
12541         (plugin_times_older_than_recurse), (plugin_times_older_than),
12542         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12543         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12544         (add_to_char_array), (read_string), (read_uint), (read_enum),
12545         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12546         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12547         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12548         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12549         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12550         (gst_xml_registry_rebuild):
12551         * gst/registries/gstlibxmlregistry.h:
12552         * tools/gst-compprep.c: (main):
12553         * tools/gst-inspect.c: (print_pad_templates_info):
12554         * tools/gst-xmlinspect.c: (print_element_info):
12555           Use libxml2 for registry parsing, use staticpadtemplates in
12556           elementfactories. Makes gst_init() +/- 10x faster.
12557
12558 2005-04-12  Wim Taymans  <wim@fluendo.com>
12559
12560         * gst/base/Makefile.am:
12561         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12562         (gst_basesink_pad_getcaps), (gst_basesink_init),
12563         (gst_basesink_event), (gst_basesink_change_state):
12564         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12565         (gst_basesrc_init), (gst_basesrc_query),
12566         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12567         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12568         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12569         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12570         (gst_basesrc_stop), (gst_basesrc_activate),
12571         (gst_basesrc_change_state):
12572         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12573         (helper_find_suggest), (gst_type_find_helper):
12574         * gst/base/gsttypefindhelper.h:
12575         * gst/elements/Makefile.am:
12576         * gst/elements/gstelements.c:
12577         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12578         (gst_fakesink_get_times), (gst_fakesink_event),
12579         (gst_fakesink_preroll), (gst_fakesink_render):
12580         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12581         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12582         (gst_fakesrc_get_property), (gst_fakesrc_create),
12583         (gst_fakesrc_start), (gst_fakesrc_stop):
12584         * gst/elements/gstfakesrc.h:
12585         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12586         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12587         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12588         (gst_filesrc_create_read), (gst_filesrc_create),
12589         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12590         (gst_filesrc_start):
12591         * gst/elements/gsttypefindelement.c:
12592         (gst_type_find_element_have_type), (gst_type_find_element_init),
12593         (start_typefinding), (stop_typefinding), (push_buffer_store),
12594         (gst_type_find_element_handle_event),
12595         (gst_type_find_element_chain),
12596         (gst_type_find_element_checkgetrange),
12597         (gst_type_find_element_getrange), (do_typefind),
12598         (gst_type_find_element_activate),
12599         (gst_type_find_element_change_state):
12600         * gst/elements/gsttypefindelement.h:
12601         * gst/gstpipeline.c: (pipeline_bus_handler):
12602         Added typefind helper.
12603         Small preroll fix in the base sink.
12604         Disable typefind code in basesrc.
12605         Crude port of typefindelement.
12606         Fakesrc cleanups.
12607
12608
12609 2005-04-11  Wim Taymans  <wim@fluendo.com>
12610
12611         * check/gst/gstbus.c: (gstbus_suite):
12612         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12613         * check/gstcheck.h:
12614           Fix up the timeout so that the test does not fail.
12615
12616 2005-04-06  Wim Taymans  <wim@fluendo.com>
12617
12618         * gst/base/README:
12619         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12620         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12621         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12622         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12623         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12624         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12625         (gst_basesrc_stop), (gst_basesrc_activate),
12626         (gst_basesrc_change_state), (basesrc_find_peek),
12627         (basesrc_find_suggest), (gst_basesrc_type_find):
12628         * gst/base/gstbasesrc.h:
12629         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12630         (gst_filesrc_class_init), (gst_filesrc_init),
12631         (gst_filesrc_finalize), (gst_filesrc_set_location),
12632         (gst_filesrc_set_property), (gst_filesrc_get_property),
12633         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12634         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12635         (gst_filesrc_create_read), (gst_filesrc_create),
12636         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12637         * gst/elements/gstfilesrc.h:
12638         * gst/gstelement.c: (gst_element_get_state_func),
12639         (gst_element_lost_state), (gst_element_pads_activate):
12640         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12641         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12642         (gst_pad_pull_range):
12643         * gst/gstpad.h:
12644         More work on the generic source base class, implement seeking,
12645         query.
12646         Make filesrc extend the base source class.
12647         Added gst_pad_set_checkgetrange_function to GstPad.
12648
12649 2005-04-06  Andy Wingo  <wingo@pobox.com>
12650
12651         * pkgconfig/gstreamer-base.pc.in:
12652         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12653
12654         * pkgconfig/Makefile.am:
12655         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12656
12657 2005-04-04  Wim Taymans  <wim@fluendo.com>
12658
12659         * gst/base/Makefile.am:
12660         * gst/base/README:
12661         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12662         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12663         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12664         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12665         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12666         (gst_basesrc_base_init), (gst_basesrc_class_init),
12667         (gst_basesrc_init), (gst_basesrc_get_formats),
12668         (gst_basesrc_get_query_types), (gst_basesrc_query),
12669         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12670         (gst_basesrc_set_property), (gst_basesrc_get_property),
12671         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12672         (gst_basesrc_loop), (gst_basesrc_activate),
12673         (gst_basesrc_change_state):
12674         * gst/base/gstbasesrc.h:
12675         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12676         (gst_fakesrc_class_init), (gst_fakesrc_init),
12677         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12678         (gst_fakesrc_get_property), (gst_fakesrc_create):
12679         * gst/elements/gstfakesrc.h:
12680         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12681         (gst_filesrc_open_file), (gst_filesrc_loop),
12682         (gst_filesrc_activate), (filesrc_find_peek),
12683         (gst_filesrc_type_find):
12684         Made base source class, make fakesrc extend it.
12685         Add comments to basesink class.
12686         Some filesrc cleanup.
12687
12688 2005-03-31  David Schleef  <ds@schleef.org>
12689
12690         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12691         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12692         expected to link against libgstreamer.
12693         * gst/base/Makefile.am: link against libgstreamer
12694         * gst/elements/Makefile.am: same
12695
12696 2005-03-31  Andy Wingo  <wingo@pobox.com>
12697
12698         * tests/instantiate/Makefile.am:
12699         * tests/instantiate/caps.c: Add test to test speed of caps copy
12700         and free.
12701
12702         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12703         GMemChunk to be fair.
12704
12705         * gst/gsttrashstack.h: Remove warning about using the fallback
12706         trash stack implementation, it's still faster than malloc.
12707
12708 2005-03-30  Andy Wingo  <wingo@pobox.com>
12709
12710         * tests/complexity.c: Add a copyright.
12711
12712 2005-03-31  Wim Taymans  <wim@fluendo.com>
12713
12714         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12715         (gst_base_transform_class_init), (gst_base_transform_init),
12716         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12717         (gst_base_transform_get_property),
12718         (gst_base_transform_sink_activate),
12719         (gst_base_transform_src_activate),
12720         (gst_base_transform_change_state):
12721         * gst/base/gstbasetransform.h:
12722         * gst/elements/gstidentity.c: (gst_identity_class_init),
12723         (gst_identity_event), (gst_identity_check_perfect),
12724         (gst_identity_transform), (gst_identity_start),
12725         (gst_identity_stop):
12726         Added start/stop methods to transform base class so subclasses 
12727         don't need to deal with state changes even.
12728
12729 2005-03-31  Wim Taymans  <wim@fluendo.com>
12730
12731         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12732         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12733         * gst/gstevent.h:
12734         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12735         (gst_pad_pull_range):
12736         Added rate to the discont event to prepare for variable speed
12737         and reverse playback.
12738
12739 2005-03-29  David Schleef  <ds@schleef.org>
12740
12741         * configure.ac:
12742         * testsuite/trigger/Makefile.am:
12743         * testsuite/trigger/trigger.c: A little example program to show
12744         how trigger-based elements can work.
12745
12746 2005-03-29  Wim Taymans  <wim@fluendo.com>
12747
12748         * gst/base/Makefile.am:
12749         * gst/base/README:
12750         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12751         (gst_basesink_base_init), (gst_basesink_class_init),
12752         (gst_basesink_pad_getcaps), (gst_basesink_init),
12753         (gst_basesink_activate), (gst_basesink_change_state):
12754         * gst/base/gstbasesink.h:
12755         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12756         (gst_base_transform_base_init), (gst_base_transform_finalize),
12757         (gst_base_transform_class_init), (gst_base_transform_init),
12758         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12759         (gst_base_transform_event), (gst_base_transform_getrange),
12760         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12761         (gst_base_transform_set_property),
12762         (gst_base_transform_get_property),
12763         (gst_base_transform_sink_activate),
12764         (gst_base_transform_src_activate),
12765         (gst_base_transform_change_state):
12766         * gst/base/gstbasetransform.h:
12767         * gst/elements/gstidentity.c: (gst_identity_finalize),
12768         (gst_identity_class_init), (gst_identity_init),
12769         (gst_identity_event), (gst_identity_check_perfect),
12770         (gst_identity_transform), (gst_identity_set_property),
12771         (gst_identity_get_property), (gst_identity_change_state):
12772         * gst/elements/gstidentity.h:
12773         * gst/gstelement.c: (gst_element_get_state_func),
12774         (gst_element_lost_state), (gst_element_pads_activate):
12775         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12776         (gst_pad_check_pull_range), (gst_pad_pull_range):
12777         * gst/gstpad.h:
12778         Simplify pad activation.
12779         Added function to check if pull_range can be performed.
12780         Error out when pulling inactive or flushing pads.
12781         Removed const from refcounted types as it does not make sense.
12782         Simplify pad templates in basesink
12783         Added base class for simple 1-to-1 transforms.
12784         Make identity subclass the base transform.
12785
12786 2005-03-29  Andy Wingo  <wingo@pobox.com>
12787
12788         * docs/libs/gstreamer-libs-overrides.txt: 
12789         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12790         really don't understand what's going on, but like whatever. I want
12791         green buildbot!
12792
12793         * docs/gst/Makefile.am:
12794         * docs/libs/Makefile.am: Dist the overrides files.
12795
12796         * check/Makefile.am (clean-local): Remove .libs directories.
12797
12798         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12799         elements to EXTRA_DIST, so po/ files are happy.
12800
12801         * po/POTFILES.in: Er, remove it here.
12802
12803         * po/POTFILES: Remove gstspider.c.
12804
12805         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12806
12807         * docs/libs/gstreamer-libs-docs.sgml: 
12808         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12809         bytestream.
12810
12811         * tests/complexity.c (main): Set the length of the preroll queue
12812         on the sinks to prevent a lockup.
12813
12814         * libs/gst/dataprotocol/Makefile.am: 
12815         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12816         the same as the one in check/gst-libs/gdp.c.
12817
12818         * po/, docs/gst/: Commit automatic changes to docs and po files.
12819
12820         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12821         the versioned libgstbase.
12822
12823         * check/Makefile.am: Depend on an unversioned gst-register, seems
12824         to make autoconf happier.
12825
12826         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12827
12828 2005-03-28  Wim Taymans  <wim@fluendo.com>
12829
12830         * configure.ac:
12831         * docs/design/part-gstelement.txt:
12832         * docs/design/part-negotiation.txt:
12833         * docs/design/part-preroll.txt:
12834         * docs/design/part-scheduling.txt:
12835         * docs/design/part-states.txt:
12836         * gst/Makefile.am:
12837         * gst/base/Makefile.am:
12838         * gst/base/README:
12839         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12840         (gst_basesink_base_init), (gst_basesink_class_init),
12841         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12842         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12843         (gst_basesink_set_pad_functions),
12844         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12845         (gst_basesink_set_property), (gst_basesink_get_property),
12846         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12847         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12848         (gst_basesink_preroll_queue_push),
12849         (gst_basesink_preroll_queue_empty),
12850         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12851         (gst_basesink_event), (gst_basesink_get_times),
12852         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12853         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12854         (gst_basesink_loop), (gst_basesink_activate),
12855         (gst_basesink_change_state):
12856         * gst/base/gstbasesink.h:
12857         * gst/elements/Makefile.am:
12858         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12859         (gst_fakesink_class_init), (gst_fakesink_init),
12860         (gst_fakesink_set_property), (gst_fakesink_get_property),
12861         (gst_fakesink_get_times), (gst_fakesink_event),
12862         (gst_fakesink_preroll), (gst_fakesink_render),
12863         (gst_fakesink_change_state):
12864         * gst/elements/gstfakesink.h:
12865         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12866         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12867         * gst/gstelement.c: (gst_element_add_pad),
12868         (gst_element_get_state_func), (gst_element_abort_state),
12869         (gst_element_commit_state), (gst_element_lost_state),
12870         (gst_element_set_state), (gst_element_pads_activate):
12871         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12872         * gst/gstpipeline.c: (gst_pipeline_send_event),
12873         (gst_pipeline_change_state):
12874         Added state change code.
12875         Added/updated docs.
12876         Added sink base class, make fakesink extend the base class.
12877         Small cleanups in GstPipeline.
12878
12879 2005-03-26  David Schleef  <ds@schleef.org>
12880
12881         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12882         is broken and should be implemented in a different library.
12883         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12884         * gst/gst.h: remove gstcpu.h
12885         * gst/gstcpu.c: remove
12886         * gst/gstcpu.h: remove
12887         * gst/Makefile.am.future: Remove this file.  It's ancient.
12888
12889 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12890
12891         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12892         (gst_bin_send_event):
12893           Add default event/set_manager handlers. The set_manager handler
12894           takes care that the manager is distributed over kids that were
12895           already in the bin before the manager was set. The event handler
12896           is a utility virtual function that sends the event over all sinks,
12897           so that gst_element_send_event (bin, event); has the expected
12898           behaviour.
12899         * gst/gstpad.c: (gst_pad_event_default):
12900           Re-install default event handling for discontinuities, so that
12901           seeking works without requiring hacks in applications or extra
12902           code in sinks.
12903         * gst/gstpipeline.c: (gst_pipeline_class_init),
12904         (gst_pipeline_send_event):
12905           Half hack, half utility: set a pipeline to PAUSED for seek events,
12906           since that is the only way we can guarantee a/v sync. Means that
12907           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12908           and it "just works".
12909
12910 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12911
12912         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12913           Lock/unlock mismatch.
12914
12915 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12916
12917         * docs/faq/gst-uninstalled:
12918           add gst-plugins-base
12919         * docs/gst/Makefile.am:
12920           don't error out until docs are fixed
12921         * docs/gst/gstreamer.types:
12922           remove thread
12923
12924 2005-03-22  Wim Taymans  <wim@fluendo.com>
12925
12926         * check/Makefile.am:
12927         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12928         * gst/gststructure.c: (gst_structure_set_valist),
12929         (gst_structure_copy_conditional):
12930         Activated more tests.
12931         Added message test.
12932         Added G_TYPE_POINTER to GstStructure.
12933         
12934
12935 2005-03-22  Wim Taymans  <wim@fluendo.com>
12936
12937         * docs/design/part-TODO.txt:
12938         * docs/design/part-events.txt:
12939         * docs/design/part-gstbin.txt:
12940         * docs/design/part-gstbus.txt:
12941         * docs/design/part-gstpipeline.txt:
12942         * docs/design/part-messages.txt:
12943         * gst/gstbus.c:
12944         * gst/gstmessage.c:
12945         Docs updates
12946
12947 2005-03-21  Wim Taymans  <wim@fluendo.com>
12948
12949         * gst/gstbus.c: (gst_bus_post):
12950         Fix copy-and-paste error.
12951
12952 2005-03-21  Wim Taymans  <wim@fluendo.com>
12953
12954         * check/Makefile.am:
12955         * gst/Makefile.am:
12956         * gst/elements/Makefile.am:
12957         * gst/elements/gstelements.c:
12958         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12959         (gst_fakesink_event), (gst_fakesink_chain):
12960         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12961         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12962         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12963         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12964         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12965         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12966         (gst_fakesrc_loop), (gst_fakesrc_activate),
12967         (gst_fakesrc_change_state):
12968         * gst/elements/gstfakesrc.h:
12969         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12970         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12971         (gst_filesrc_open_file), (gst_filesrc_loop),
12972         (gst_filesrc_activate), (gst_filesrc_change_state),
12973         (filesrc_find_peek), (filesrc_find_suggest),
12974         (gst_filesrc_type_find):
12975         * gst/elements/gstidentity.c: (gst_identity_finalize),
12976         (gst_identity_class_init), (gst_identity_init),
12977         (gst_identity_proxy_getcaps), (identity_queue_push),
12978         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12979         (gst_identity_getrange), (gst_identity_chain),
12980         (gst_identity_sink_loop), (gst_identity_src_loop),
12981         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12982         (gst_identity_set_property), (gst_identity_get_property),
12983         (gst_identity_change_state):
12984         * gst/elements/gstidentity.h:
12985         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12986         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12987         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12988         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12989         (gst_tee_sink_activate):
12990         * gst/elements/gsttee.h:
12991         * gst/gst.c: (gst_register_core_elements), (init_post):
12992         * gst/gst.h:
12993         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12994         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12995         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12996         (gst_bin_change_state):
12997         * gst/gstbin.h:
12998         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12999         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13000         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13001         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13002         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13003         (bus_watch_callback), (bus_watch_destroy),
13004         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13005         (poll_timeout), (gst_bus_poll):
13006         * gst/gstbus.h:
13007         * gst/gstcaps.h:
13008         * gst/gstdata.h:
13009         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13010         (gst_element_post_message), (gst_element_message_full),
13011         (gst_element_get_state_func), (gst_element_get_state),
13012         (gst_element_abort_state), (gst_element_commit_state),
13013         (gst_element_lost_state), (gst_element_set_state),
13014         (gst_element_pads_activate), (gst_element_change_state),
13015         (gst_element_dispose), (gst_element_set_manager_func),
13016         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13017         (gst_element_set_manager), (gst_element_get_manager),
13018         (gst_element_set_bus), (gst_element_get_bus),
13019         (gst_element_set_scheduler), (gst_element_get_scheduler):
13020         * gst/gstelement.h:
13021         * gst/gstevent.c: (gst_event_new_segment_seek),
13022         (gst_event_new_flush):
13023         * gst/gstevent.h:
13024         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13025         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13026         (gst_message_new_eos), (gst_message_new_error),
13027         (gst_message_new_warning), (gst_message_new_tag),
13028         (gst_message_new_state_changed), (gst_message_new_application),
13029         (gst_message_get_structure), (gst_message_parse_tag),
13030         (gst_message_parse_state_changed), (gst_message_parse_error),
13031         (gst_message_parse_warning):
13032         * gst/gstmessage.h:
13033         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13034         (gst_real_pad_set_property), (gst_pad_set_active),
13035         (gst_pad_is_active), (gst_pad_set_blocked_async),
13036         (gst_pad_set_blocked), (gst_pad_is_blocked),
13037         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13038         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13039         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13040         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13041         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13042         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13043         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13044         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13045         (gst_pad_set_caps), (gst_pad_configure_sink),
13046         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13047         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13048         (gst_real_pad_dispose), (gst_real_pad_finalize),
13049         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13050         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13051         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13052         * gst/gstpad.h:
13053         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13054         (pipeline_bus_handler), (gst_pipeline_change_state),
13055         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13056         * gst/gstpipeline.h:
13057         * gst/gstprobe.h:
13058         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13059         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13060         (gst_queue_link_src), (gst_queue_bufferalloc),
13061         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13062         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13063         (gst_queue_loop), (gst_queue_handle_src_event),
13064         (gst_queue_handle_src_query), (gst_queue_src_activate),
13065         (gst_queue_change_state):
13066         * gst/gstqueue.h:
13067         * gst/gstscheduler.c: (gst_scheduler_init),
13068         (gst_scheduler_dispose), (gst_scheduler_create_task),
13069         (gst_scheduler_factory_create):
13070         * gst/gstscheduler.h:
13071         * gst/gststructure.c: (gst_structure_get_type),
13072         (gst_structure_copy_conditional):
13073         * gst/gststructure.h:
13074         * gst/gsttaginterface.h:
13075         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13076         (gst_task_init), (gst_task_dispose), (gst_task_create),
13077         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13078         (gst_task_pause):
13079         * gst/gsttask.h:
13080         * gst/gstthread.c:
13081         * gst/gstthread.h:
13082         * gst/gsttypes.h:
13083         * gst/schedulers/Makefile.am:
13084         * gst/schedulers/cothreads_compat.h:
13085         * gst/schedulers/entryscheduler.c:
13086         * gst/schedulers/faircothreads.c:
13087         * gst/schedulers/faircothreads.h:
13088         * gst/schedulers/fairscheduler.c:
13089         * gst/schedulers/gstbasicscheduler.c:
13090         * gst/schedulers/gstoptimalscheduler.c:
13091         * gst/schedulers/gthread-cothreads.h:
13092         * gst/schedulers/threadscheduler.c:
13093         (gst_thread_scheduler_task_get_type),
13094         (gst_thread_scheduler_task_class_init),
13095         (gst_thread_scheduler_task_init),
13096         (gst_thread_scheduler_task_start),
13097         (gst_thread_scheduler_task_stop),
13098         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13099         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13100         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13101         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13102         (plugin_init):
13103         * libs/gst/Makefile.am:
13104         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13105         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13106         (gst_file_pad_parent_set):
13107         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13108         (gst_dp_event_from_packet):
13109         * tests/complexity.c: (main):
13110         * tests/mass_elements.c: (main):
13111         * testsuite/states/locked.c: (message_received), (main):
13112         * testsuite/states/parent.c: (main):
13113         * tools/gst-inspect.c: (print_element_flag_info),
13114         (print_implementation_info), (print_pad_info):
13115         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13116         (main):
13117         * tools/gst-md5sum.c: (event_loop), (main):
13118         * tools/gst-typefind.c: (main):
13119         * tools/gst-xmlinspect.c: (print_element_info):
13120         Next big merge.
13121         Added GstBus for mainloop integration.
13122         Added GstMessage for sending notifications on the bus.
13123         Added GstTask as an abstraction for pipeline entry points.
13124         Removed GstThread.
13125         Removed Schedulers.
13126         Simplified GstQueue for multithreaded core.
13127         Made _link threadsafe, removed old capsnego.
13128         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13129         Added pad blocking functions.
13130         Reworked scheduling functions in GstPad to prepare for
13131         scheduling updates soon.
13132         Moved events out of data stream.
13133         Simplified GstEvent types.
13134         Added return values to push/pull.
13135         Removed clocking from GstElement.
13136         Added prototypes for state change function for next merge.
13137         Removed iterate from bins and state change management.
13138         Fixed some elements, disabled others for now.
13139         Fixed -inspect and -launch.
13140         Added check for GstBus.
13141
13142 2005-03-10  Wim Taymans  <wim@fluendo.com>
13143
13144         * docs/design/part-MT-refcounting.txt:
13145         * docs/design/part-clocks.txt:
13146         * docs/design/part-gstelement.txt:
13147         * docs/design/part-gstobject.txt:
13148         * docs/design/part-standards.txt:
13149         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13150         (gst_bin_remove_func), (gst_bin_remove):
13151         * gst/gstbin.h:
13152         * gst/gstbuffer.c:
13153         * gst/gstcaps.h:
13154         * testsuite/clock/clock1.c: (main):
13155         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13156         (main):
13157         * testsuite/dlopen/loadgst.c: (do_test):
13158         * testsuite/refcounting/bin.c: (add_remove_test1),
13159         (add_remove_test2), (main):
13160         * testsuite/refcounting/element.c: (main):
13161         * testsuite/refcounting/element_pad.c: (main):
13162         * testsuite/refcounting/pad.c: (main):
13163         * tools/gst-launch.c: (sigint_handler_sighandler):
13164         * tools/gst-typefind.c: (main):
13165         Doc updates.
13166         Added doc about clock.
13167         removed gst_bin_iterate_recurse_up(), marked methods
13168         for removal.
13169         Fix more testsuites.
13170
13171 2005-03-09  Wim Taymans  <wim@fluendo.com>
13172
13173         * gst/gstpad.c: (gst_pad_get_direction),
13174         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13175         (gst_pad_collect_valist):
13176         * testsuite/bins/interface.c: (main):
13177         * testsuite/caps/audioscale.c: (test_caps):
13178         * testsuite/caps/caps.c: (test1), (test2), (test3):
13179         * testsuite/caps/deserialize.c: (main):
13180         * testsuite/caps/enumcaps.c: (main):
13181         * testsuite/caps/filtercaps.c: (main):
13182         * testsuite/caps/intersect2.c: (main):
13183         * testsuite/caps/random.c: (main):
13184         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13185         * testsuite/caps/sets.c: (check_caps):
13186         * testsuite/caps/simplify.c: (check_caps), (main):
13187         * testsuite/caps/subtract.c: (check_caps):
13188         Fix _pad_get_direction wrt ghostpads.
13189         Fix caps testsuite.
13190
13191 2005-03-09  Wim Taymans  <wim@fluendo.com>
13192
13193         * check/Makefile.am:
13194         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13195         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13196         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13197         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13198         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13199         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13200         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13201         (bin_element_is_sink), (gst_bin_iterate_sinks),
13202         (gst_bin_iterate_all_by_interface):
13203         * gst/gstbin.h:
13204         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13205         (gst_element_change_state), (gst_element_dispose),
13206         (gst_element_finalize), (gst_element_set_loop_function):
13207         * gst/gstelement.h:
13208         * gst/gstiterator.c: (find_custom_fold_func):
13209         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13210         (gst_pad_collectv), (gst_pad_collect_valist),
13211         (gst_pad_template_new):
13212         * gst/gstpipeline.c: (gst_pipeline_class_init),
13213         (gst_pipeline_dispose), (gst_pipeline_set_property),
13214         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13215         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13216         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13217         * gst/gstutils.h:
13218         * gst/schedulers/entryscheduler.c:
13219         * gst/schedulers/gstbasicscheduler.c:
13220         (gst_basic_scheduler_cothreaded_chain),
13221         (gst_basic_scheduler_chain_add_element):
13222         * testsuite/bins/interface.c: (main):
13223         Added GstBin test.
13224         Added GstSystemClock test.
13225         Implemented clock distribution code in GstBin.
13226         Implemented iterate sinks method for future use.
13227         Rearranged gstelement.h
13228         Fix GstIterator comparison bug.
13229         Moved some code to GstPipeline, mostly clocking related.
13230
13231 2005-03-09  Wim Taymans  <wim@fluendo.com>
13232
13233         * configure.ac:
13234         * gst/gst_private.h:
13235         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13236         (gst_bin_remove_func), (gst_bin_remove),
13237         (gst_bin_get_by_name_recurse_up):
13238         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13239         (gst_clock_id_compare_func), (gst_clock_id_wait),
13240         (gst_clock_id_wait_async), (gst_clock_init),
13241         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13242         * gst/gstelement.h:
13243         * gst/gstinfo.c: (_gst_debug_init):
13244         * gst/gstobject.h:
13245         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13246         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13247         * gst/gstpad.h:
13248         Bump version number, we're now 0.9.0
13249         Add future debugging category.
13250         Fix NULL _unref() in _get_by_name_recurse_up
13251         Rearrange gstpad.h.
13252         Update some docs.
13253
13254 2005-03-08  Wim Taymans  <wim@fluendo.com>
13255
13256         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13257         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13258         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13259         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13260         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13261         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13262         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13263         * gst/elements/gstidentity.c: (gst_identity_class_init):
13264         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13265         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13266         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13267         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13268         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13269         (gst_tee_link):
13270         * gst/gstelement.c: (gst_element_class_init),
13271         (gst_element_base_class_init), (gst_element_init),
13272         (gst_element_get_random_pad), (gst_element_wait_state_change),
13273         (gst_element_change_state), (gst_element_dispose),
13274         (gst_element_finalize), (gst_element_set_loop_function):
13275         * gst/gstelement.h:
13276         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13277         * gst/gstthread.c: (gst_thread_class_init),
13278         (gst_thread_release_children_locks), (gst_thread_change_state):
13279         * gst/schedulers/gstbasicscheduler.c:
13280         (gst_basic_scheduler_loopfunc_wrapper),
13281         (gst_basic_scheduler_chain_wrapper),
13282         (gst_basic_scheduler_src_wrapper),
13283         (gst_basic_scheduler_remove_element):
13284         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13285         Remove threadsafe properties. Fix elements because GObject
13286         complains when installing a property before declaring a
13287         set/get_property handler.
13288         Rearrange gstelement.h file, use STATE macros for state locks.
13289         Free mutexes in the finalize method instead of dispose.
13290
13291 2005-03-08  Wim Taymans  <wim@fluendo.com>
13292
13293         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13294         * gst/gstthread.c: (gst_thread_release_children_locks):
13295         Added parentage check.
13296         Fix build og GstThread again.
13297
13298 2005-03-08  Wim Taymans  <wim@fluendo.com>
13299
13300         * docs/design/part-MT-refcounting.txt:
13301         * docs/design/part-conventions.txt:
13302         * docs/design/part-gstobject.txt:
13303         * docs/design/part-relations.txt:
13304         * docs/design/part-standards.txt:
13305         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13306         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13307         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13308         (gst_bin_iterate_all_by_interface):
13309         * gst/gstbuffer.h:
13310         * gst/gstclock.h:
13311         * gst/gstelement.c: (gst_element_class_init),
13312         (gst_element_change_state), (gst_element_set_loop_function):
13313         * gst/gstelement.h:
13314         * gst/gstiterator.c:
13315         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13316         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13317         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13318         (gst_object_set_parent), (gst_object_unparent),
13319         (gst_object_check_uniqueness):
13320         * gst/gstobject.h:
13321         Docs updates, clean up some headers.
13322
13323 2005-03-07  Wim Taymans  <wim@fluendo.com>
13324
13325         * check/.cvsignore:
13326         * check/Makefile.am:
13327         * check/gst-libs/.cvsignore:
13328         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13329         * check/gst/.cvsignore:
13330         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13331         (START_TEST), (gstbus_suite), (main):
13332         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13333         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13334         (gst_data_suite), (main):
13335         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13336         (add_fold_func), (gstiterator_suite), (main):
13337         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13338         (thread_name_object), (thread_name_object_default),
13339         (gst_object_name_compare), (gst_object_suite), (main):
13340         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13341         (gst_pad_suite), (main):
13342         * check/gstcheck.c: (gst_check_log_message_func),
13343         (gst_check_log_critical_func), (gst_check_init):
13344         * check/gstcheck.h:
13345         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13346         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13347         Added checks.
13348
13349 2005-03-07  Wim Taymans  <wim@fluendo.com>
13350
13351         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13352         (gst_list_iterator_next), (gst_list_iterator_resync),
13353         (gst_list_iterator_free), (gst_iterator_new_list),
13354         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13355         (gst_iterator_free), (gst_iterator_push), (filter_next),
13356         (filter_resync), (filter_uninit), (filter_free),
13357         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13358         (gst_iterator_foreach), (find_custom_fold_func),
13359         (gst_iterator_find_custom):
13360         * gst/gstiterator.h:
13361         Added missing files.
13362
13363 2005-03-07  Wim Taymans  <wim@fluendo.com>
13364
13365         * Makefile.am:
13366         * configure.ac:
13367         * docs/design/part-MT-refcounting.txt:
13368         * docs/design/part-conventions.txt:
13369         * docs/design/part-gstobject.txt:
13370         * docs/design/part-relations.txt:
13371         * examples/mixer/mixer.c: (main):
13372         * examples/thread/thread.c: (eos), (main):
13373         * gst/Makefile.am:
13374         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13375         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13376         (gst_spider_plug_from_srcpad):
13377         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13378         (gst_spider_identity_change_state),
13379         (gst_spider_identity_sink_loop_type_finding):
13380         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13381         * gst/elements/gstidentity.c: (gst_identity_init):
13382         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13383         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13384         * gst/elements/gsttypefindelement.c: (free_entry):
13385         * gst/gst.c:
13386         * gst/gst.h:
13387         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13388         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13389         (gst_bin_set_index), (gst_bin_set_element_sched),
13390         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13391         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13392         (gst_bin_iterate_elements), (iterate_child_recurse),
13393         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13394         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13395         (compare_interface), (gst_bin_get_by_interface),
13396         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13397         * gst/gstbin.h:
13398         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13399         (gst_buffer_default_free), (gst_buffer_default_copy),
13400         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13401         (gst_buffer_create_sub):
13402         * gst/gstbuffer.h:
13403         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13404         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13405         (gst_caps_unref), (gst_static_caps_get),
13406         (gst_caps_remove_and_get_structure), (gst_caps_append),
13407         (gst_caps_append_structure), (gst_caps_remove_structure),
13408         (gst_caps_copy_nth), (gst_caps_set_simple),
13409         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13410         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13411         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13412         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13413         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13414         (gst_caps_structure_figure_out_union),
13415         (gst_caps_switch_structures), (gst_caps_do_simplify),
13416         (gst_caps_replace), (gst_caps_from_string),
13417         (gst_caps_copy_conditional):
13418         * gst/gstcaps.h:
13419         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13420         (_gst_clock_id_free), (gst_clock_id_unref),
13421         (gst_clock_id_compare_func), (gst_clock_id_wait),
13422         (gst_clock_id_wait_async), (gst_clock_class_init),
13423         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13424         (gst_clock_get_time), (gst_clock_set_time_adjust),
13425         (gst_clock_set_property), (gst_clock_get_property):
13426         * gst/gstclock.h:
13427         * gst/gstcompat.h:
13428         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13429         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13430         * gst/gstdata.h:
13431         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13432         (gst_element_requires_clock), (gst_element_provides_clock),
13433         (gst_element_set_clock), (gst_element_clock_wait),
13434         (gst_element_wait), (gst_element_set_time_delay),
13435         (gst_element_is_indexable), (gst_element_add_pad),
13436         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13437         (pad_compare_name), (gst_element_get_static_pad),
13438         (gst_element_request_pad), (gst_element_get_request_pad),
13439         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13440         (gst_element_class_get_pad_template_list),
13441         (gst_element_class_get_pad_template), (gst_element_error_func),
13442         (gst_element_get_random_pad), (gst_element_get_event_masks),
13443         (gst_element_send_event), (gst_element_seek),
13444         (gst_element_get_query_types), (gst_element_query),
13445         (gst_element_get_formats), (gst_element_convert),
13446         (gst_element_is_locked_state), (gst_element_set_locked_state),
13447         (gst_element_sync_state_with_parent), (gst_element_change_state),
13448         (gst_element_finalize), (gst_element_yield),
13449         (gst_element_interrupt), (gst_element_set_scheduler),
13450         (gst_element_get_scheduler), (gst_element_set_loop_function):
13451         * gst/gstelement.h:
13452         * gst/gstevent.h:
13453         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13454         (gst_format_get_by_nick), (gst_format_get_details),
13455         (gst_format_iterate_definitions):
13456         * gst/gstformat.h:
13457         * gst/gstindex.c: (gst_index_gtype_resolver):
13458         * gst/gstinfo.c:
13459         * gst/gstinfo.h:
13460         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13461         (gst_mem_chunk_free):
13462         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13463         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13464         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13465         (gst_object_dispatch_properties_changed),
13466         (gst_object_set_name_default), (gst_object_set_name),
13467         (gst_object_get_name), (gst_object_set_name_prefix),
13468         (gst_object_get_name_prefix), (gst_object_set_parent),
13469         (gst_object_get_parent), (gst_object_unparent),
13470         (gst_object_check_uniqueness), (gst_object_save_thyself),
13471         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13472         (gst_object_set_property), (gst_object_get_property),
13473         (gst_object_get_path_string):
13474         * gst/gstobject.h:
13475         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13476         (gst_real_pad_init), (gst_real_pad_get_property),
13477         (gst_pad_custom_new), (gst_pad_get_direction),
13478         (gst_pad_set_active), (gst_pad_is_active),
13479         (gst_pad_set_event_function), (gst_pad_is_linked),
13480         (gst_pad_link_free), (gst_pad_link_intersect),
13481         (gst_pad_link_fixate), (gst_pad_set_caps),
13482         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13483         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13484         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13485         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13486         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13487         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13488         (gst_pad_realize), (gst_pad_get_allowed_caps),
13489         (gst_real_pad_dispose), (gst_real_pad_finalize),
13490         (gst_pad_collectv), (gst_pad_collect_valist),
13491         (gst_pad_template_dispose), (gst_pad_template_new),
13492         (gst_pad_get_internal_links):
13493         * gst/gstpad.h:
13494         * gst/gstpipeline.c: (gst_pipeline_dispose),
13495         (gst_pipeline_change_state):
13496         * gst/gstpipeline.h:
13497         * gst/gstplugin.c:
13498         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13499         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13500         * gst/gstpluginfeature.h:
13501         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13502         * gst/gstquery.c: (_gst_query_type_initialize),
13503         (gst_query_type_register), (gst_query_type_get_by_nick),
13504         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13505         * gst/gstquery.h:
13506         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13507         * gst/gstscheduler.c: (gst_scheduler_add_element),
13508         (gst_scheduler_factory_create):
13509         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13510         (gst_structure_free), (gst_structure_set_name),
13511         (gst_structure_id_set_value), (gst_structure_set_value),
13512         (gst_structure_set_valist), (gst_structure_remove_field),
13513         (gst_structure_remove_fields),
13514         (gst_structure_remove_fields_valist),
13515         (gst_structure_remove_all_fields), (gst_structure_foreach),
13516         (gst_structure_map_in_place),
13517         (gst_caps_structure_fixate_field_nearest_int),
13518         (gst_caps_structure_fixate_field_nearest_double):
13519         * gst/gststructure.h:
13520         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13521         (gst_system_clock_init), (gst_system_clock_dispose),
13522         (gst_system_clock_async_thread),
13523         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13524         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13525         * gst/gstsystemclock.h:
13526         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13527         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13528         * gst/gsttaginterface.c:
13529         * gst/gstthread.c: (gst_thread_dispose),
13530         (gst_thread_release_children_locks), (gst_thread_change_state),
13531         (gst_thread_main_loop):
13532         * gst/gsttrashstack.h:
13533         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13534         * gst/gsttypes.h:
13535         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13536         (gst_element_request_pad), (gst_element_get_pad_from_template),
13537         (gst_element_request_compatible_pad),
13538         (gst_element_get_compatible_pad_filtered),
13539         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13540         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13541         (gst_element_link_many), (gst_element_link),
13542         (gst_element_link_pads), (gst_element_unlink_pads),
13543         (gst_element_unlink_many), (gst_element_unlink),
13544         (gst_pad_can_link_filtered), (gst_pad_can_link),
13545         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13546         (gst_object_default_error), (gst_bin_add_many),
13547         (gst_bin_remove_many), (gst_element_populate_std_props),
13548         (gst_element_class_install_std_props), (gst_buffer_merge),
13549         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13550         (link_fold_func), (gst_pad_proxy_setcaps):
13551         * gst/gstutils.h:
13552         * gst/gstvalue.c: (gst_value_deserialize_string):
13553         * gst/parse/grammar.y:
13554         * gst/schedulers/gstbasicscheduler.c:
13555         (gst_basic_scheduler_cothreaded_chain),
13556         (gst_basic_scheduler_chain_recursive_add),
13557         (gst_basic_scheduler_pad_link):
13558         * gst/schedulers/gstoptimalscheduler.c:
13559         (get_group_schedule_function),
13560         (gst_opt_scheduler_state_transition),
13561         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13562         * libs/gst/bytestream/bytestream.c:
13563         * libs/gst/dataprotocol/dataprotocol.c:
13564         (gst_dp_header_from_buffer):
13565         * po/nb.po:
13566         * po/ru.po:
13567         * tests/threadstate/threadstate2.c: (eos):
13568         * tools/gst-compprep.c: (main):
13569         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13570         (print_pad_info), (print_children_info):
13571         * tools/gst-launch.c: (idle_func), (main):
13572         * tools/gst-md5sum.c: (idle_func), (main):
13573         * tools/gst-xmlinspect.c: (print_element_info):
13574         First THREADED backport attempt, focusing on adding locks and
13575         making sure the API is threadsafe. Needs more work. More docs
13576         follow this week.
13577
13578 2005-02-24  Andy Wingo  <wingo@pobox.com>
13579
13580         * tests/bench-complexity.scm:
13581         * tests/complexity.gnuplot: New files, good for running complexity
13582         benchmarks.
13583
13584         * tests/Makefile.am:
13585         * tests/complexity.c: New test, sets up N elements, at each level
13586         teeing into M streams per element. Eeeenteresting.
13587
13588         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13589         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13590         running bench-mass_elements.scm.
13591
13592         * tests/bench-mass_elements.scm: New script, runs mass_elements
13593         for various numbers of identities, outputting the results to a
13594         file. Requires guile 1.6. Just for testing.
13595
13596 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13597
13598         * gst/schedulers/fairscheduler.c:
13599           compile with debug disabled
13600
13601 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13602
13603         * configure.ac:
13604           hunting season on 0.9 is now OPEN