docs/manual/Makefile.am: don't do parallel make
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * docs/manual/Makefile.am:
4           don't do parallel make
5         * configure.ac:
6           AC_SUBST HOST_CPU
7         * win32/common/config.h.in:
8           add generations for HOST_CPU and GST_MAJORMINOR
9         * win32/common/config.h:
10           commit generated result
11
12 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
13
14         * docs/manual/appendix-integration.xml:
15           Update GNOME integration section to use gst_init_get_option_group()
16           instead of the old popt stuff (#322911). Also, GNOME applications
17           should  now use gconf*sink and gconf*src instead of the old gconf
18           helper lib we had.
19
20 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
21
22
23         * docs/gst/gstreamer-docs.sgml:
24         * docs/gst/gstreamer-sections.txt:
25         * docs/libs/gstreamer-libs-sections.txt:
26           add new API entries to the docs
27         * libs/gst/controller/Makefile.am:
28         * libs/gst/controller/gstcontroller.c:
29         * libs/gst/controller/gstcontroller.h:
30         * libs/gst/controller/gstcontrollerprivate.h:
31         * libs/gst/controller/gsthelper.c:
32         * libs/gst/controller/gstinterpolation.c:
33           move private structs to private header
34         * po/README:
35           gstreamer-0.7 -> gstreamer-0.10
36         * tests/check/libs/struct_i386.h:
37           remove private structs
38
39 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
40
41         * plugins/indexers/Makefile.am:
42           Fixes as part of #317048
43
44 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
45
46         * plugins/indexers/Makefile.am:
47           fix #316086 - compilation when mmap is missing
48
49 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
50
51         * libs/gst/base/gstbasesink.c:
52           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
53           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
54         * win32/common/config.h:
55           added some defines GST_MAJORMINOR and HOST_CPU
56         * win32/common/libgstbase.def:
57         * win32/common/libgstreamer.def:
58           added some exported functions.
59
60 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
61
62         * libs/gst/controller/gstcontroller.c:
63         (gst_controlled_property_set_interpolation_mode),
64         (gst_controlled_property_new):
65         * libs/gst/controller/gstcontroller.h:
66         * libs/gst/controller/gstinterpolation.c:
67         (interpolate_none_get_string_value_array):
68           make G_TYPE_STRING controlable
69
70 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
71
72         * tools/README:
73         * tools/gst-feedback.1.in:
74         * tools/gst-inspect.1.in:
75         * tools/gst-launch.1.in:
76         * tools/gst-md5sum.1.in:
77         * tools/gst-typefind.1.in:
78         * tools/gst-xmlinspect.1.in:
79         * tools/gst-xmllaunch.1.in:
80           cleanup man-pages, remove reference to gst-register, document env-vars
81
82 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
83
84         * gst/gstbuffer.c: (gst_buffer_span):
85           gst_buffer_span should copy the timestamp of the first buffer
86           if they were both originally overlapping subbuffers of the 
87           same parent, using the same logic as the 'slow copy' case.
88
89 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
90
91         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
92           Need to awaken ALL the pads when we pop a buffer, otherwise
93           collectpads only works when there is 2 input streams.
94
95 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
96
97         * docs/random/ensonic/media-device-daemon.txt:
98           more ideas (dbus)
99         * gst/gstbuffer.c:
100           fix doc example, add clarification
101         * tools/gst-launch.1.in:
102           add initial info about GST_PLUGIN_PATH, needs more work
103
104 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
105
106         * docs/manual/basics-bins.xml:
107         * docs/manual/basics-elements.xml:
108         * docs/manual/intro-basics.xml:
109           Some more minor docs additions and updates.
110
111 2006-01-11  Wim Taymans  <wim@fluendo.com>
112
113         * docs/manual/basics-bins.xml:
114         * docs/manual/basics-elements.xml:
115         Some small fixes as pointed out by Ser-ver on IRC.
116
117 2006-01-10  Edward Hervey  <edward@fluendo.com>
118
119         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
120         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
121         the single-segment mode.
122
123 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
124
125         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
126
127         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
128         (gst_base_src_perform_seek), (gst_base_src_send_event),
129         (gst_base_src_set_property), (gst_base_src_get_property),
130         (gst_base_src_loop), (gst_base_src_start),
131         (gst_base_src_activate_push):
132         * libs/gst/base/gstbasesrc.h:
133           Name (private) union; makes Sun's Forte compiler happy (#324900).
134
135 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
136
137         * README:
138           gst-register is gone.
139
140 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
141
142         * gst/gstvalue.c: (_gst_value_initialize):
143           make the G_TYPE_DATE instantiation work if debug is disabled
144
145 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
146
147         * gst/gstmessage.c: (gst_message_parse_tag),
148         (gst_message_parse_error), (gst_message_parse_warning):
149           Don't crash when return location for error/warning debug
150           string is NULL; add fact that return locations can be
151           NULL to docs where appropriate.
152
153 2006-01-05  Wim Taymans  <wim@fluendo.com>
154
155         * gst/gstplugin.c: (gst_plugin_load_file):
156         Replace strdup by g_strdup.
157
158 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
159
160         * docs/pwg/advanced-types.xml:
161           fix doc borkage
162
163 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
164
165         submitted by: Abel Cheung
166
167         * po/LINGUAS:
168         * po/zh_TW.po:
169           Added Chinese (traditional) translation
170
171 2006-01-04  Wim Taymans  <wim@fluendo.com>
172
173         * docs/manual/basics-pads.xml:
174         * docs/plugins/Makefile.am:
175         * docs/plugins/gstreamer-plugins-docs.sgml:
176         * docs/plugins/gstreamer-plugins-sections.txt:
177         * docs/pwg/advanced-clock.xml:
178         * docs/pwg/advanced-scheduling.xml:
179         * docs/pwg/advanced-types.xml:
180         * plugins/elements/gstfdsink.c:
181         * plugins/elements/gstfdsrc.c:
182         * plugins/elements/gstfdsrc.h:
183         * plugins/elements/gstidentity.c: (gst_identity_class_init):
184         * plugins/elements/gstidentity.h:
185         * plugins/elements/gstqueue.h:
186         * plugins/elements/gsttee.c:
187         * plugins/elements/gsttee.h:
188         * plugins/elements/gsttypefindelement.c:
189         (gst_type_find_element_class_init):
190         * plugins/elements/gsttypefindelement.h:
191         Small updates to various docs.
192         Added core plugins to docs.
193
194 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
195
196         * common/gst.supp:
197           add a suppression for liboil's uninitialized variable
198
199 2006-01-02  James Livingston  <jrl at ids dot org dot au>
200
201         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
202
203         * gst/gstutils.h:
204           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
205           macro, so that gcc doesn't complain if the -Wmissing-prototypes
206           compiler switch is being used (#325429).
207
208 >>>>>>> 1.2159
209 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
210
211         * gst/gstbin.c: (gst_bin_query):
212           Disable duration query caching in bins until it gets
213           fixed (see #324807).
214
215 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
216
217         * tools/gst-inspect.c: (print_element_properties_info):
218           Handle properties of POINTER and BOXED type.
219
220 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
221
222         * gst/gst.c: (init_post):
223           Init tags stuff and some other things before loading
224           any static plugins (there may be other static plugins
225           than just the GStreamer ones, and they may want to
226           register their own tags or formats or whatever, and
227           preferably without segfaulting).
228
229         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
230           Print at least a warning in the debug logs if we drop a
231           query just because we don't know how to adjust the value
232           in the particular format.
233
234 2005-12-24  David Schleef  <ds@schleef.org>
235
236         * tools/gstreamer-completion:
237           Replacement for gst-complete written in sh and sed.  Only
238           completes names of features, but that's 90% of what I want
239           it for.  Properties are not available in registry.xml.  (Maybe
240           they should be...)
241
242 === release 0.10.1 ===
243
244 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
245
246         * configure.ac:
247           releasing 0.10.1, "Nollaig chridheil"
248
249 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
250
251         * docs/faq/cvs.xml:
252           Add missing quote, should be make ERROR_CFLAGS="".
253
254 2005-12-20  Wim Taymans  <wim@fluendo.com>
255
256         * docs/design/part-trickmodes.txt:
257         More documentation on trickmodes.
258
259 2005-12-20  Edward Hervey  <edward@fluendo.com>
260
261         * gst/gstcaps.c: (gst_static_caps_get_type):
262         * gst/gstcaps.h:
263           API addition: GST_TYPE_STATIC_CAPS
264         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
265         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
266         * gst/gstpadtemplate.h:
267           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
268         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
269         bindings.
270
271 2005-12-18  Wim Taymans  <wim@fluendo.com>
272
273         * libs/gst/base/gstadapter.c:
274         * libs/gst/base/gstadapter.h:
275         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
276         (gst_base_sink_get_position):
277         * libs/gst/base/gstbasesink.h:
278         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
279         (gst_base_src_default_query), (gst_base_src_default_do_seek),
280         (gst_base_src_do_seek), (gst_base_src_perform_seek),
281         (gst_base_src_send_event), (gst_base_src_update_length),
282         (gst_base_src_get_range), (gst_base_src_loop),
283         (gst_base_src_start):
284         * libs/gst/base/gstbasesrc.h:
285         * libs/gst/base/gstbasetransform.h:
286         * libs/gst/base/gstcollectpads.h:
287         * libs/gst/base/gstpushsrc.c:
288         * libs/gst/base/gstpushsrc.h:
289         * libs/gst/dataprotocol/dataprotocol.c:
290         * libs/gst/dataprotocol/dataprotocol.h:
291         * libs/gst/net/gstnetclientclock.h:
292         * libs/gst/net/gstnettimeprovider.h:
293         Documentation updates.
294
295 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
296
297         * docs/manual/basics-helloworld.xml:
298           Remove superfluous closing bracket in helloworld example.
299
300 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
301
302         * tools/gst-launch.1.in:
303           Update gst-launch man page; add a section with useful
304           environment variables. Fixes #323882.
305
306 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
307
308         * gst/gst.c:
309         * gst/gst_private.h:
310           change some char* into char[]
311
312 2005-12-16  Wim Taymans  <wim@fluendo.com>
313
314         * gst/gstregistryxml.c: (load_feature):
315         Cleanups.
316         Don't use g_object_unref on GstObjects so that we avoid
317         leaks on unsafe glibs.
318
319 2005-12-16  Wim Taymans  <wim@fluendo.com>
320
321         * gst/gstbin.c: (gst_bin_recalc_state):
322         Small doc updates.
323
324 2005-12-16  Wim Taymans  <wim@fluendo.com>
325
326         * common/check.mak:
327         Added make forever target for check.
328
329 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
330
331         * gst/gst.c: (init_post):
332           make the registry cache file HOST_CPU-dependent
333
334 2005-12-16  Andy Wingo  <wingo@pobox.com>
335
336         * plugins/elements/gstbufferstore.c
337         (gst_buffer_store_cleared_func): Pay attention to g_list_append
338         return value.
339
340         * tests/check/gst/gstobject.c
341         (test_fake_object_name_threaded_unique): Pay attention to
342         g_list_sort return value.
343
344 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
345
346         * tools/gst-feedback-m.m:
347           Update for 0.9/0.10 (fixes #323870).
348
349 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
350
351         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
352           Fix lcopy for mini objects, the mini object needs to be ref'ed.
353           
354         * tests/check/gst/gstminiobject.c: (my_foo_init),
355         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
356         (test_value_collection), (gst_mini_object_suite):
357           Add test to ensure refcounts end up as expected when passing
358           GstMiniObjects through g_object_get() and g_object_set().
359
360 2005-12-14  Julien MOUTTE  <julien@moutte.net>
361
362         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
363         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
364         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
365         of collectpads. This version removes a lot of races without
366         touching API/ABI. Yay !
367
368 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
369
370         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
371           Don't allow activation of a srcpad in pull_range if it has no
372           getrange function.
373           Change some debug statements to be a little clearer
374
375         * plugins/elements/gsttypefindelement.c:
376         (gst_type_find_handle_src_query):
377           Check that we have a peer before executing queries thereupon.
378
379         * tests/examples/metadata/read-metadata.c: (message_loop):
380           Use gst_bus_pop instead of gst_bus_poll when we just want it to
381           immediately return us any available message with 0 timeout.
382
383 2005-12-12  Michael Smith  <msmith@fluendo.com>
384
385         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
386           Don't unref factories after calling them.
387         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
388         * plugins/elements/gsttypefindelement.c:
389         (gst_type_find_element_chain):
390           Free lists of factories after using them. Fixing typefinding memory
391           leaks.
392
393 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
394
395         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
396         (gst_plugin_feature_load):
397           more meaningful debug output
398         * configure.ac:
399         * tests/Makefile.am:
400         * tests/old/examples/Makefile.am:
401           make make distcheck happy again
402
403 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
404
405         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
406           Catch the special case where we are operating chain-based,
407           but the downstream peer pad has no chain function. Emit a
408           custom error message in this case instead of letting the
409           core generate one implying that this is some sort of core
410           bug. It's not, it just means that whatever got plugged
411           into the pipeline downstream when we announced the type
412           can only operate pull-based, while our source can only
413           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
414           Error string has not been marked for translation yet, as
415           it probably needs some more work first.
416
417         (gst_type_find_element_get_best_possibility):
418           Add helper function to find the best of all available
419           found possibilities that qualify given the min. threshold.
420
421         (gst_type_find_element_handle_event):
422           Fix the case where we get an EOS while still in TYPEFIND
423           mode (we want to chose the best of all possible types,
424           not just the first type that happens to be in our unsorted
425           list of possible types).
426
427         (gst_type_find_element_chain):
428           Make sure we return GST_FLOW_ERROR when we errored out
429           in stop_typefinding(); also, don't just find the best of
430           all found type entries and then use the last examined
431           type entry, but actually use the best entry.
432
433 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
434
435         * tests/examples/typefind/typefind.c: (type_found):
436         * tests/examples/xml/runxml.c: (xml_loaded):
437           More gcc4 fixes and a mem leak fix.
438
439 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
440
441         * tests/examples/xml/createxml.c: (object_saved):
442           gcc 4 fixes
443
444 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
445
446         * tests/Makefile.am:
447           enable the examples even more
448
449 2005-12-12  Andy Wingo  <wingo@pobox.com>
450
451         * libs/gst/net/gstnettimeprovider.c
452         (gst_net_time_provider_class_init, gst_net_time_provider_init)
453         (gst_net_time_provider_set_property)
454         (gst_net_time_provider_get_property):
455         API addition: Export "active" as a GObject property.
456         (gst_net_time_provider_thread): Only respond to time queries if
457         the time provider is active.
458
459         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
460         NetTimeProvider, preserving binary compat.
461
462 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
463
464         * tests/examples/controller/audio-example.c: (main):
465         * tests/examples/launch/Makefile.am:
466           convert comments again
467
468 2005-12-12  Wim Taymans  <wim@fluendo.com>
469
470         * libs/gst/base/gstpushsrc.c:
471         Fix typo.
472
473 2005-12-12  Wim Taymans  <wim@fluendo.com>
474
475         * docs/libs/gstreamer-libs-sections.txt:
476         Added new symbol to docs.
477
478         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
479         (gst_base_src_init), (gst_base_src_set_format),
480         (gst_base_src_default_query), (gst_base_src_query),
481         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
482         (gst_base_src_perform_seek), (gst_base_src_send_event),
483         (gst_base_src_default_event), (gst_base_src_event_handler),
484         (gst_base_src_set_property), (gst_base_src_get_property),
485         (gst_base_src_wait), (gst_base_src_do_sync),
486         (gst_base_src_update_length), (gst_base_src_get_range),
487         (gst_base_src_check_get_range), (gst_base_src_loop),
488         (gst_base_src_default_negotiate), (gst_base_src_start),
489         (gst_base_src_activate_push), (gst_base_src_activate_pull),
490         (gst_base_src_change_state):
491         * libs/gst/base/gstbasesrc.h:
492         Implement seeking to other formats than _BYTES.
493         Implement more seeking methods correctly.
494         Doc updates.
495         Added query vmethod.
496         Added do_seek vmethod to make life easier for subclasses
497         when seeking.
498         API addition: gst_base_src_set_format()
499
500 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
501
502         * tests/examples/Makefile.am:
503           added that too
504
505 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
506
507         * configure.ac:
508         * docs/random/ensonic/media-device-daemon.txt:
509         * tests/examples/controller/.cvsignore:
510         * tests/examples/controller/Makefile.am:
511         * tests/examples/controller/audio-example.c: (main):
512         * tests/examples/helloworld/.cvsignore:
513         * tests/examples/helloworld/Makefile.am:
514         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
515         * tests/examples/launch/.cvsignore:
516         * tests/examples/launch/Makefile.am:
517         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
518         * tests/examples/metadata/.cvsignore:
519         * tests/examples/metadata/Makefile.am:
520         * tests/examples/metadata/read-metadata.c: (message_loop),
521         (make_pipeline), (print_tag), (main):
522         * tests/examples/queue/.cvsignore:
523         * tests/examples/queue/Makefile.am:
524         * tests/examples/queue/queue.c: (event_loop), (main):
525         * tests/examples/typefind/.cvsignore:
526         * tests/examples/typefind/Makefile.am:
527         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
528         (main):
529         * tests/examples/xml/.cvsignore:
530         * tests/examples/xml/Makefile.am:
531         * tests/examples/xml/createxml.c: (object_saved), (main):
532         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
533         * tests/old/examples/Makefile.am:
534         * tests/old/examples/TODO:
535         * tests/old/examples/controller/.cvsignore:
536         * tests/old/examples/controller/Makefile.am:
537         * tests/old/examples/controller/audio-example.c:
538         * tests/old/examples/helloworld/.cvsignore:
539         * tests/old/examples/helloworld/Makefile.am:
540         * tests/old/examples/helloworld/helloworld.c:
541         * tests/old/examples/launch/.cvsignore:
542         * tests/old/examples/launch/Makefile.am:
543         * tests/old/examples/launch/mp3parselaunch.c:
544         * tests/old/examples/launch/mp3play:
545         * tests/old/examples/manual/Makefile.am:
546         * tests/old/examples/metadata/Makefile.am:
547         * tests/old/examples/metadata/read-metadata.c:
548         * tests/old/examples/queue/.cvsignore:
549         * tests/old/examples/queue/Makefile.am:
550         * tests/old/examples/queue/queue.c:
551         * tests/old/examples/typefind/.cvsignore:
552         * tests/old/examples/typefind/Makefile.am:
553         * tests/old/examples/typefind/typefind.c:
554         * tests/old/examples/xml/.cvsignore:
555         * tests/old/examples/xml/Makefile.am:
556         * tests/old/examples/xml/createxml.c:
557         * tests/old/examples/xml/runxml.c:
558           applied some simple fixing to some examples
559           re-enabled the working examples
560
561 2005-12-12  Wim Taymans  <wim@fluendo.com>
562
563         * gst/gstsegment.c: (gst_segment_init),
564         (gst_segment_set_last_stop), (gst_segment_set_seek),
565         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
566         (gst_segment_to_running_time):
567         Added more documentation.
568         Make sure the last_pos value is updated properly.
569         Make sure to_stream_time and to_running_time don't
570         operate on wrong values.
571
572         * tests/check/gst/gstsegment.c: (GST_START_TEST):
573         Update check.
574
575 2005-12-12  Michael Smith  <msmith@fluendo.com>
576
577         * plugins/elements/gsttypefindelement.c: (free_entry),
578         (gst_type_find_element_chain):
579           Now that we're not leaking factories, make sure we keep references
580           to them while we need them.
581
582 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
583
584         * tests/check/gst/struct_i386.h:
585           ifdef out the XML structs
586
587 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
588
589         * gst/gstvalue.c: (gst_value_transform_double_fraction):
590           floor is not needed, F is always positive; this obviates the
591           need for adding -lm when building without libxml
592
593 2005-12-12  Wim Taymans  <wim@fluendo.com>
594
595         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
596         Take current playback rate into account when reporting
597         the position.
598
599 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
600
601         * docs/manual/mime-world.fig:
602           Let's try this again, this time with a file that is
603           actually in XFig format.
604
605 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
606
607         * docs/manual/mime-world.fig:
608           Add audioconvert element to diagram so that it
609           matches the text and the code (fixes #319526).
610
611 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
612
613         * docs/pwg/building-chainfn.xml:
614         * docs/pwg/building-pads.xml:
615         * docs/pwg/building-state.xml:
616         * docs/pwg/other-source.xml:
617           Update state change stuff for 0.10 (fixes #322969).
618
619 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
620
621         * docs/manual/advanced-dataaccess.xml:
622         * docs/manual/appendix-checklist.xml:
623         * docs/manual/appendix-programs.xml:
624         * docs/manual/basics-pads.xml:
625         * docs/manual/highlevel-components.xml:
626         * docs/manual/manual.xml:
627           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
628           add converters in front of pipelines; remove curly
629           brackets for threads stuff, they no longer exist; use
630           GST_TYPE_FRACTION for framerates; update some pieces of
631           code to 0.10, but there's plenty more to do.
632
633         * docs/manual/appendix-porting.xml:
634           Expand on asynchroneous state changes; s/0.9/0.10/;
635           mention disappearance of gst_init_get_popt_table()
636           (fixes #322916).
637
638 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
639
640         * docs/faq/using.xml:
641           Spider no longer exists, and neither does gst-launch-ext.
642           Update examples to use decodebin and playbin and put
643           converters in front of sinks (fixes #323726).
644
645 2005-12-09  Michael Smith  <msmith@fluendo.com>
646
647         * plugins/elements/gsttypefindelement.c: (find_peek),
648         (gst_type_find_element_chain):
649           Fix leaking element factories in typefinding.
650           Fix problem where we forgot about a probable type on non-seekable
651           files, and thus later mis-typefound it.
652
653 2005-12-09  Michael Smith  <msmith@fluendo.com>
654
655         * common/m4/gst-makecontext.m4:
656         * common/m4/gst-mcsc.m4:
657         * configure.ac:
658         * win32/common/config.h:
659         * win32/common/config.h.in:
660           Remove makecontext stuff; not used in 0.10 and causes problems on
661           HPUX according to bug #322441
662
663 2005-12-07  Wim Taymans  <wim@fluendo.com>
664
665         * tests/check/Makefile.am:
666         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
667         (main):
668         * tests/check/libs/struct_i386.h:
669         Added ABI check for libs
670
671 2005-12-07  Wim Taymans  <wim@fluendo.com>
672
673         * tests/check/Makefile.am:
674         And add the struct_i386.h to dist.
675
676 2005-12-07  Wim Taymans  <wim@fluendo.com>
677
678         * tests/check/Makefile.am:
679         * tests/check/gst/.cvsignore:
680         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
681         (main):
682         * tests/check/gst/struct_i386.h:
683         Added check for ABI compatibility.
684
685 2005-12-07  Wim Taymans  <wim@fluendo.com>
686
687         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
688         (gst_fake_src_get_times), (gst_fake_src_create):
689         Fix broken sync option, fixes #323259
690
691 2005-12-07  Wim Taymans  <wim@fluendo.com>
692
693         * gst/gstbuffer.c:
694         Small docs update.
695
696         * gst/gstcaps.c: (gst_caps_is_equal):
697         Don't assert on NULL <--> X. Fixes #323260
698
699         * gst/gstminiobject.c: (gst_mini_object_replace):
700         If we're doing atomic operations, we might just as well use
701         the proper way to get an atomic pointer.
702
703         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
704         Clean up debugging.
705
706 2005-12-07  Michael Smith  <msmith@fluendo.com>
707
708         * gst/parse/grammar.y:
709           Remove handling of { } for threads.
710
711 2005-12-06  David Schleef  <ds@schleef.org>
712
713         * libs/gst/base/gstbasetransform.c: speling fix.
714
715 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
716
717         * docs/libs/tmpl/gstdataprotocol.sgml:
718         * docs/random/omega/testing/gstobject.c:
719         * gst/gst.c:
720         * gst/gstclock.c:
721         * gst/gstelement.c:
722         * gst/gstelementfactory.c:
723         * gst/gsterror.c:
724         * gst/gstevent.c:
725         * gst/gstghostpad.c:
726         * gst/gstinfo.c:
727         * gst/gstpadtemplate.c:
728         * gst/gstregistryxml.c:
729         * gst/gsttaglist.c:
730         * gst/gsttagsetter.c:
731         * gst/gsttypefind.c:
732         * gst/gstvalue.c:
733         * libs/gst/base/gstbasesrc.c:
734         * libs/gst/net/gstnetclientclock.c:
735         * libs/gst/net/gstnettimeprovider.c:
736         * plugins/elements/gstfakesrc.c:
737         * plugins/elements/gstfdsrc.c:
738         * plugins/elements/gstfilesrc.c:
739         * plugins/elements/gstidentity.c:
740         * plugins/elements/gstqueue.c:
741         * plugins/elements/gsttypefindelement.c:
742         * plugins/indexers/gstfileindex.c:
743         * plugins/indexers/gstmemindex.c:
744         * tests/check/gst/gsttag.c:
745         * tests/old/examples/cutter/cutter.c:
746         * tests/old/examples/mixer/mixer.c:
747         * tests/old/examples/xml/runxml.c: (main):
748         * tests/old/testsuite/caps/normalisation.c:
749         * tests/old/testsuite/debug/global.c:
750         * tests/old/testsuite/parse/parse1.c:
751         * tools/gst-xmlinspect.c:
752         * win32/common/dirent.c:
753           expand tabs
754
755 === release 0.10.0 ===
756
757 2005-12-05   <thomas (at) apestaart (dot) org>
758
759         * configure.ac:
760           releasing 0.10.0, "Maroilles"
761
762 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
763
764         submitted by: Funda Wang <fundawang@linux.net.cn>
765
766         * po/LINGUAS:
767         * po/zh_CN.po:
768           added Chinese (Traditional) translation
769
770 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
771
772         * docs/gst/gstreamer-sections.txt:
773         * docs/libs/tmpl/gstdataprotocol.sgml:
774         * docs/random/thomasvs/TODO:
775         * gst/gstutils.c:
776         * gst/gstutils.h:
777           fix docs
778
779 2005-12-05  Andy Wingo  <wingo@pobox.com>
780
781         patch by: Wim Taymans <wim@fluendo.com>
782
783         * libs/gst/base/gstbasetransform.c
784         (gst_base_transform_prepare_output_buf)
785         (gst_base_transform_buffer_alloc):
786         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
787         alloc_buffer_and_set_caps.
788
789         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
790         set_caps on the source pad.
791         (gst_pad_alloc_buffer_and_set_caps): New function, does what
792         alloc_buffer used to do. Fixes #322874.
793
794         * docs/gst/gstreamer-sections.txt: 
795         * docs/design/part-negotiation.txt: 
796         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
797         changes.
798
799 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
800
801         patch by: Sebastien Moutte
802
803         * win32/MANIFEST:
804         * win32/common/config.h.in:
805         * win32/vs6/libgstcontroller.dsp:
806           win32 build fixes
807
808 2005-12-05  Wim Taymans  <wim@fluendo.com>
809
810         * gst/gstcaps.c: (gst_caps_is_equal):
811         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
812         (gst_fake_src_create):
813         Back out previous code changes, leave doc updates, file bugs 
814         instead. 
815
816 2005-12-05  Wim Taymans  <wim@fluendo.com>
817
818         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
819         (gst_fake_src_get_times), (gst_fake_src_create):
820         * plugins/elements/gstfakesrc.h:
821         Fix broken sync code.
822
823 2005-12-05  Wim Taymans  <wim@fluendo.com>
824
825         * gst/gstcaps.c: (gst_caps_is_equal):
826         Comparing NULL against !NULL yields different caps, not a
827         failure.
828
829 2005-12-05  Wim Taymans  <wim@fluendo.com>
830
831         * gst/gstpipeline.c:
832         Fix small typo in docs.
833
834 2005-12-05  Andy Wingo  <wingo@pobox.com>
835
836         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
837
838         * gst/gst.c (init_post): remove hard-coded 0.9 location for
839         registries/plugins with a MAJORMINOR one.
840         (plugin_desc): Rename library from gstcoreleements to
841         staticelements. Fixes #323222.
842
843 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
844
845         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
846           Change debug category to 'collectpads' from 'collect_pads'
847           (fixes #323250).
848
849 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
850
851         patch by: Sebastien Moutte
852
853         * libs/gst/controller/gstinterpolation.c:
854           use convert function for uint64/double
855         * win32/vs6/libgstcontroller.dsp:
856           link to GLib
857
858 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
859
860         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
861         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
862         * gst/gstutils.h:
863         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
864           add tests that seem to show that the guint64/gdouble conversions
865           are correct.
866
867 2005-12-02  Wim Taymans  <wim@fluendo.com>
868
869         * gst/gstregistry.c: (gst_registry_add_path):
870         * gst/gstregistry.h:
871         * gst/gstregistryxml.c:
872         Fix docs again.
873
874 2005-12-02  Wim Taymans  <wim@fluendo.com>
875
876         * gst/gstutils.c: (gst_util_uint64_scale_int64),
877         (gst_util_uint64_scale_int):
878         Small cleanup.
879
880         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
881         Add debug log line.
882
883         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
884         Add FIXME.
885
886 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
887
888         * win32/MANIFEST:
889         * win32/common/config.h:
890         * win32/vs6/gstreamer.dsw:
891         * win32/vs6/libgstcoreelements.dsp:
892         * win32/vs6/libgstelements.dsp:
893           renamed core elements plugin
894
895 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
896
897         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
898         (get_candidates):
899           do piece-wise major/minor comparison so 0.9 < 0.10
900           also allow .exe extensions for tools
901
902 2005-12-02  Michael Smith  <msmith@fluendo.com>
903
904         * gst/gst.c:
905           Escape a % to make gtkdoc happier; bug 322958.
906
907 === release 0.9.7 ===
908
909 2005-12-01   <thomas (at) apestaart (dot) org>
910
911         * configure.ac:
912           releasing 0.9.7, "My Dog Has No Nose"
913
914 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
915
916         * common/gst-xmlinspect.py:
917         * configure.ac:
918         * docs/libs/tmpl/gstdataprotocol.sgml:
919         * docs/random/release:
920         * po/af.po:
921         * po/az.po:
922         * po/bg.po:
923         * po/ca.po:
924         * po/cs.po:
925         * po/de.po:
926         * po/en_GB.po:
927         * po/fr.po:
928         * po/it.po:
929         * po/nb.po:
930         * po/nl.po:
931         * po/ru.po:
932         * po/sq.po:
933         * po/sr.po:
934         * po/sv.po:
935         * po/tr.po:
936         * po/uk.po:
937         * po/vi.po:
938         * win32/common/config.h:
939         * win32/common/config.h.in:
940         * win32/vs6/gst_inspect.dsp:
941         * win32/vs6/gst_launch.dsp:
942         * win32/vs6/libgstbase.dsp:
943         * win32/vs6/libgstelements.dsp:
944         * win32/vs6/libgstreamer.dsp:
945         * win32/vs7/GStreamer.vcproj:
946         * win32/vs7/gst-inspect.vcproj:
947         * win32/vs7/gst-launch.vcproj:
948         * win32/vs7/libgstbase.vcproj:
949           bump GST_MAJORMINOR to 0.10
950           reset libtool version
951
952 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
953
954         * po/LINGUAS:
955         * po/bg.po:
956           Added Bulgarian translation by (Alexander Shopov)
957
958 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
959
960         * tests/check/gst/gstplugin.c:
961           fix test
962
963 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
964
965         * common/gst-xmlinspect.py:
966         * common/gtk-doc-plugins.mak:
967         * configure.ac:
968         * docs/Makefile.am:
969         * docs/gst/Makefile.am:
970         * docs/gst/gstreamer-docs.sgml:
971         * docs/gst/gstreamer-sections.txt:
972         * docs/gst/gstreamer.types:
973         * docs/gst/gstreamer.types.in:
974         * docs/plugins/Makefile.am:
975         * docs/plugins/gstreamer-plugins-docs.sgml:
976         * docs/plugins/gstreamer-plugins-sections.txt:
977         * docs/plugins/gstreamer-plugins.types:
978         * docs/plugins/inspect.stamp:
979         * docs/plugins/inspect/plugin-coreelements.xml:
980         * docs/plugins/inspect/plugin-coreindexers.xml:
981         * docs/plugins/scanobj-build.stamp:
982         * gstreamer.spec.in:
983         * plugins/elements/Makefile.am:
984         * plugins/elements/gstelements.c:
985         * plugins/elements/gstfakesink.c:
986         * plugins/elements/gstfakesrc.c:
987         * plugins/elements/gstfilesink.c:
988         * plugins/elements/gstfilesrc.c:
989         * plugins/elements/gstqueue.c:
990         * plugins/indexers/Makefile.am:
991         * plugins/indexers/gstindexers.c:
992           document core plugins in a separate document just like all the
993           others
994           rename these plugins to something starting with core
995
996 2005-12-01  Andy Wingo  <wingo@pobox.com>
997
998         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
999         padding here before, but it missed the commit.
1000
1001 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1002
1003         * libs/gst/controller/gstinterpolation.c:
1004           whitespace prices have crashed, we should feel free to use some now
1005           use gst_guint64_to_gdouble
1006
1007 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1008
1009         * libs/gst/controller/gstcontroller.c:
1010         * libs/gst/controller/gsthelper.c:
1011         * libs/gst/controller/gstinterpolation.c:
1012         * libs/gst/controller/lib.c:
1013           wrap config.h include
1014
1015 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1016
1017         * docs/gst/gstreamer-sections.txt:
1018           update docs
1019
1020 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1021
1022         * plugins/elements/gstelements.c:
1023         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1024         (gst_fd_sink__class_init), (gst_fd_sink__init),
1025         (gst_fd_sink__chain), (gst_fd_sink__set_property),
1026         (gst_fd_sink__get_property):
1027         * plugins/elements/gstfdsink.h:
1028         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1029         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1030         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1031         (gst_fd_src_unlock), (gst_fd_src_set_property),
1032         (gst_fd_src_get_property), (gst_fd_src_create),
1033         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1034         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1035         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1036         (gst_fd_src_uri_handler_init):
1037         * plugins/elements/gstfdsrc.h:
1038         * plugins/elements/gstqueue.c: (gst_queue_get_type):
1039           more anal cleanup
1040
1041 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1042
1043         * docs/gst/Makefile.am:
1044         * docs/gst/gstreamer.types.in:
1045         * gst/Makefile.am:
1046           fix the docs build
1047
1048 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1049
1050         * configure.ac:
1051         * gst/Makefile.am:
1052         * gst/gst.c:
1053         * gst/gstplugin.h:
1054         * gst/gstregistry.h:
1055         * tests/benchmarks/complexity.c:
1056         * tests/benchmarks/mass-elements.c:
1057         * tests/check/Makefile.am:
1058         * tools/Makefile.am:
1059         * tools/gst-inspect.c:
1060         * tools/gst-xmlinspect.c:
1061           various fixes to make
1062           --disable-nls --disable-registry --disable-loadsave
1063           --disable-parse --disable-gst-debug
1064           work and get the core .so down to 360444 bytes after stripping
1065
1066 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1067
1068         * Makefile.am:
1069         * configure.ac:
1070           descend into tests
1071         * docs/random/thomasvs/TODO:
1072         * tests/Makefile.am:
1073         * tests/README:
1074           add a README
1075
1076 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1077
1078         * win32/GStreamer.vcproj:
1079         * win32/MANIFEST:
1080         * win32/Makefile:
1081         * win32/Makefile.inspect:
1082         * win32/Makefile.launch:
1083         * win32/Makefile.register:
1084         * win32/README.txt:
1085         * win32/gst-inspect.vcproj:
1086         * win32/gst-launch.vcproj:
1087         * win32/gst-register.vcproj:
1088         * win32/gstelements.vcproj:
1089         * win32/gstgetbits.def:
1090         * win32/gstgetbits.vcproj:
1091         * win32/gstreamer-dbg.def:
1092         * win32/gstreamer.def:
1093         * win32/libgstbase.def:
1094         * win32/libgstbase.vcproj:
1095         * win32/link_oldruntime.c:
1096         * win32/mman.c:
1097         * win32/mman.h:
1098         * win32/mman.inl:
1099         * win32/msvc71.sln:
1100           move even more stuff, win32/ is nice and clean now
1101
1102 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1103
1104         * libs/gst/control/.cvsignore:
1105         * win32/MANIFEST:
1106         * win32/config.h:
1107         * win32/dirent.c:
1108         * win32/dirent.h:
1109         * win32/gstbytestream.def:
1110         * win32/gstbytestream.vcproj:
1111         * win32/gstconfig.h:
1112         * win32/gstenumtypes.c:
1113         * win32/gstenumtypes.h:
1114         * win32/gstoptimalscheduler.vcproj:
1115         * win32/gstversion.h:
1116         * win32/gtchar.h:
1117         * win32/testsuite/bins.vcproj:
1118         * win32/testsuite/bytestream.vcproj:
1119         * win32/testsuite/caps.vcproj:
1120         * win32/testsuite/cleanup.vcproj:
1121         * win32/testsuite/clock.vcproj:
1122         * win32/testsuite/debug.vcproj:
1123         * win32/testsuite/dlopen.vcproj:
1124         * win32/testsuite/dynparams.vcproj:
1125         * win32/testsuite/elements.vcproj:
1126         * win32/testsuite/ghostpads.vcproj:
1127         * win32/testsuite/indexers.vcproj:
1128         * win32/testsuite/negotiation.vcproj:
1129         * win32/testsuite/parse.vcproj:
1130         * win32/testsuite/plugin.vcproj:
1131         * win32/testsuite/refcounting.vcproj:
1132         * win32/testsuite/schedulers.vcproj:
1133         * win32/testsuite/states.vcproj:
1134         * win32/testsuite/tags.vcproj:
1135         * win32/testsuite/threads.vcproj:
1136           remove old win32 stuff that isn't maintained and should be
1137           reorganized
1138
1139 2005-11-30  Andy Wingo  <wingo@pobox.com>
1140
1141         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
1142         loading the gst.interfaces python module bork.
1143
1144         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1145         available since GLib 2.2. Fixes #318031.
1146
1147 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1148
1149         * Makefile.am:
1150         * check/.cvsignore:
1151         * check/Makefile.am:
1152         * check/elements/.cvsignore:
1153         * check/elements/fakesrc.c:
1154         * check/elements/fdsrc.c:
1155         * check/elements/identity.c:
1156         * check/generic/.cvsignore:
1157         * check/generic/states.c:
1158         * check/gst-libs/.cvsignore:
1159         * check/gst-libs/controller.c:
1160         * check/gst-libs/gdp.c:
1161         * check/gst/.cvsignore:
1162         * check/gst/capslist.h:
1163         * check/gst/gst.c:
1164         * check/gst/gstbin.c:
1165         * check/gst/gstbuffer.c:
1166         * check/gst/gstbus.c:
1167         * check/gst/gstcaps.c:
1168         * check/gst/gstelement.c:
1169         * check/gst/gstevent.c:
1170         * check/gst/gstghostpad.c:
1171         * check/gst/gstiterator.c:
1172         * check/gst/gstmessage.c:
1173         * check/gst/gstminiobject.c:
1174         * check/gst/gstobject.c:
1175         * check/gst/gstpad.c:
1176         * check/gst/gstpipeline.c:
1177         * check/gst/gstplugin.c:
1178         * check/gst/gstsegment.c:
1179         * check/gst/gststructure.c:
1180         * check/gst/gstsystemclock.c:
1181         * check/gst/gsttag.c:
1182         * check/gst/gstutils.c:
1183         * check/gst/gstvalue.c:
1184         * check/net/.cvsignore:
1185         * check/net/gstnetclientclock.c:
1186         * check/net/gstnettimeprovider.c:
1187         * check/pipelines/.cvsignore:
1188         * check/pipelines/cleanup.c:
1189         * check/pipelines/simple_launch_lines.c:
1190         * check/pipelines/stress.c:
1191         * check/states/.cvsignore:
1192         * check/states/sinks.c:
1193         * configure.ac:
1194         * examples/Makefile.am:
1195         * examples/appreader/.cvsignore:
1196         * examples/appreader/Makefile.am:
1197         * examples/appreader/appreader.c:
1198         * examples/controller/.cvsignore:
1199         * examples/controller/Makefile.am:
1200         * examples/controller/audio-example.c:
1201         * examples/cutter/.cvsignore:
1202         * examples/cutter/Makefile.am:
1203         * examples/cutter/cutter.c:
1204         * examples/cutter/cutter.h:
1205         * examples/events/Makefile.am:
1206         * examples/events/seek.c:
1207         * examples/helloworld/.cvsignore:
1208         * examples/helloworld/Makefile.am:
1209         * examples/helloworld/helloworld.c:
1210         * examples/helloworld2/.cvsignore:
1211         * examples/helloworld2/Makefile.am:
1212         * examples/helloworld2/helloworld2.c:
1213         * examples/launch/.cvsignore:
1214         * examples/launch/Makefile.am:
1215         * examples/launch/mp3parselaunch.c:
1216         * examples/launch/mp3play:
1217         * examples/manual/.cvsignore:
1218         * examples/manual/Makefile.am:
1219         * examples/manual/extract.pl:
1220         * examples/metadata/Makefile.am:
1221         * examples/metadata/read-metadata.c:
1222         * examples/mixer/.cvsignore:
1223         * examples/mixer/Makefile.am:
1224         * examples/mixer/mixer.c:
1225         * examples/mixer/mixer.h:
1226         * examples/pingpong/.cvsignore:
1227         * examples/pingpong/Makefile.am:
1228         * examples/pingpong/pingpong.c:
1229         * examples/plugins/.cvsignore:
1230         * examples/plugins/Makefile.am:
1231         * examples/plugins/example.c:
1232         * examples/plugins/example.h:
1233         * examples/pwg/.cvsignore:
1234         * examples/pwg/Makefile.am:
1235         * examples/pwg/extract.pl:
1236         * examples/queue/.cvsignore:
1237         * examples/queue/Makefile.am:
1238         * examples/queue/queue.c:
1239         * examples/queue2/.cvsignore:
1240         * examples/queue2/Makefile.am:
1241         * examples/queue2/queue2.c:
1242         * examples/queue3/.cvsignore:
1243         * examples/queue3/Makefile.am:
1244         * examples/queue3/queue3.c:
1245         * examples/queue4/.cvsignore:
1246         * examples/queue4/Makefile.am:
1247         * examples/queue4/queue4.c:
1248         * examples/retag/.cvsignore:
1249         * examples/retag/Makefile.am:
1250         * examples/retag/retag.c:
1251         * examples/retag/transcode.c:
1252         * examples/thread/.cvsignore:
1253         * examples/thread/Makefile.am:
1254         * examples/thread/thread.c:
1255         * examples/typefind/.cvsignore:
1256         * examples/typefind/Makefile.am:
1257         * examples/typefind/typefind.c:
1258         * examples/xml/.cvsignore:
1259         * examples/xml/Makefile.am:
1260         * examples/xml/createxml.c:
1261         * examples/xml/runxml.c:
1262         * tests/Makefile.am:
1263         * tests/check/Makefile.am:
1264         * testsuite/.cvsignore:
1265         * testsuite/Makefile.am:
1266         * testsuite/Rules:
1267         * testsuite/caps/.cvsignore:
1268         * testsuite/caps/Makefile.am:
1269         * testsuite/caps/app_fixate.c:
1270         * testsuite/caps/audioscale.c:
1271         * testsuite/caps/caps.c:
1272         * testsuite/caps/caps.h:
1273         * testsuite/caps/caps_strings:
1274         * testsuite/caps/compatibility.c:
1275         * testsuite/caps/deserialize.c:
1276         * testsuite/caps/enumcaps.c:
1277         * testsuite/caps/eratosthenes.c:
1278         * testsuite/caps/filtercaps.c:
1279         * testsuite/caps/fixed.c:
1280         * testsuite/caps/fraction-convert.c:
1281         * testsuite/caps/fraction-multiply-and-zero.c:
1282         * testsuite/caps/intersect2.c:
1283         * testsuite/caps/intersection.c:
1284         * testsuite/caps/normalisation.c:
1285         * testsuite/caps/random.c:
1286         * testsuite/caps/renegotiate.c:
1287         * testsuite/caps/sets.c:
1288         * testsuite/caps/simplify.c:
1289         * testsuite/caps/string-conversions.c:
1290         * testsuite/caps/structure.c:
1291         * testsuite/caps/subtract.c:
1292         * testsuite/caps/union.c:
1293         * testsuite/debug/.cvsignore:
1294         * testsuite/debug/Makefile.am:
1295         * testsuite/debug/category.c:
1296         * testsuite/debug/commandline.c:
1297         * testsuite/debug/global.c:
1298         * testsuite/debug/output.c:
1299         * testsuite/debug/printf_extension.c:
1300         * testsuite/dlopen/.cvsignore:
1301         * testsuite/dlopen/Makefile.am:
1302         * testsuite/dlopen/dlopen_gst.c:
1303         * testsuite/dlopen/loadgst.c:
1304         * testsuite/elements/.cvsignore:
1305         * testsuite/elements/Makefile.am:
1306         * testsuite/elements/gst-inspect-check.in:
1307         * testsuite/elements/struct_i386.h:
1308         * testsuite/elements/struct_size.c:
1309         * testsuite/indexers/.cvsignore:
1310         * testsuite/indexers/Makefile.am:
1311         * testsuite/indexers/cache1.c:
1312         * testsuite/indexers/indexdump.c:
1313         * testsuite/parse/.cvsignore:
1314         * testsuite/parse/Makefile.am:
1315         * testsuite/parse/parse1.c:
1316         * testsuite/parse/parse2.c:
1317         * testsuite/plugin/.cvsignore:
1318         * testsuite/plugin/Makefile.am:
1319         * testsuite/plugin/README:
1320         * testsuite/plugin/dynamic.c:
1321         * testsuite/plugin/linked.c:
1322         * testsuite/plugin/loading.c:
1323         * testsuite/plugin/registry.c:
1324         * testsuite/plugin/static.c:
1325         * testsuite/plugin/static2.c:
1326         * testsuite/plugin/testplugin.c:
1327         * testsuite/plugin/testplugin2.c:
1328         * testsuite/plugin/testplugin2_s.c:
1329         * testsuite/plugin/testplugin_s.c:
1330         * testsuite/refcounting/.cvsignore:
1331         * testsuite/refcounting/Makefile.am:
1332         * testsuite/refcounting/bin.c:
1333         * testsuite/refcounting/element.c:
1334         * testsuite/refcounting/element_pad.c:
1335         * testsuite/refcounting/mainloop.c:
1336         * testsuite/refcounting/mem.c:
1337         * testsuite/refcounting/mem.h:
1338         * testsuite/refcounting/object.c:
1339         * testsuite/refcounting/pad.c:
1340         * testsuite/refcounting/sched.c:
1341         * testsuite/refcounting/thread.c:
1342         * testsuite/states/.cvsignore:
1343         * testsuite/states/Makefile.am:
1344         * testsuite/states/bin.c:
1345         * testsuite/states/locked.c:
1346         * testsuite/states/parent.c:
1347         * testsuite/threads/.cvsignore:
1348         * testsuite/threads/159566.c:
1349         * testsuite/threads/159852.c:
1350         * testsuite/threads/Makefile.am:
1351         * testsuite/threads/queue.c:
1352         * testsuite/threads/signals.c:
1353         * testsuite/threads/staticrec.c:
1354         * testsuite/threads/thread.c:
1355         * testsuite/threads/threadb.c:
1356         * testsuite/threads/threadc.c:
1357         * testsuite/threads/threadd.c:
1358         * testsuite/threads/threade.c:
1359         * testsuite/threads/threadf.c:
1360         * testsuite/threads/threadg.c:
1361         * testsuite/threads/threadh.c:
1362         * testsuite/threads/threadi.c:
1363           move all of these under tests
1364
1365 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1366
1367         * configure.ac:
1368         * tests/Makefile.am:
1369           fix distcheck
1370
1371 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1372
1373         * docs/gst/gstreamer-sections.txt:
1374         * tests/sched/.cvsignore:
1375         * tests/sched/Makefile.am:
1376         * tests/sched/cases/(fs-fs).xml:
1377         * tests/sched/cases/(fs-i-fs).xml:
1378         * tests/sched/cases/(fs-i-i-fs).xml:
1379         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1380         * tests/sched/dynamic-pipeline.c:
1381         * tests/sched/interrupt1.c:
1382         * tests/sched/interrupt2.c:
1383         * tests/sched/interrupt3.c:
1384         * tests/sched/runtestcases:
1385         * tests/sched/runxml.c:
1386         * tests/sched/sched-stress.c:
1387         * tests/sched/sort.c:
1388         * tests/sched/testcases:
1389         * tests/sched/testcases1.tc:
1390         * tests/seeking/.cvsignore:
1391         * tests/seeking/Makefile.am:
1392         * tests/seeking/seeking1.c:
1393         * tests/threadstate/.cvsignore:
1394         * tests/threadstate/Makefile.am:
1395         * tests/threadstate/test1.c:
1396         * tests/threadstate/test2.c:
1397         * tests/threadstate/threadstate1.c:
1398         * tests/threadstate/threadstate2.c:
1399         * tests/threadstate/threadstate3.c:
1400         * tests/threadstate/threadstate4.c:
1401         * tests/threadstate/threadstate5.c:
1402           remove obsolete tests
1403         * configure.ac:
1404         * tests/bench-complexity.scm:
1405         * tests/bench-mass_elements.scm:
1406         * tests/complexity.c:
1407         * tests/complexity.gnuplot:
1408         * tests/instantiate/.cvsignore:
1409         * tests/instantiate/Makefile.am:
1410         * tests/instantiate/caps.c:
1411         * tests/mass_elements.c:
1412         * tests/network-clock-utils.scm:
1413         * tests/network-clock.scm:
1414         * tests/plot-data:
1415         First pass at cleaning up tests/ dir before moving the rest
1416         Combined with CVS surgery
1417
1418 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1419
1420         * po/POTFILES.in:
1421           queue has moved, update
1422
1423 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1424
1425         * docs/gst/gstreamer-sections.txt:
1426           remove double entries from the docs
1427         * gst/gst_private.h:
1428         * gst/gstinfo.c: (_gst_debug_init):
1429           remove the THREAD debug category
1430         * gst/Makefile.am:
1431         * gst/gstqueue.c:
1432         * gst/gstqueue.h:
1433         * docs/gst/gstreamer.types:
1434         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1435         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1436           completely move queue and fix up debugging categories
1437
1438 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1439
1440         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1441           make initialization portable, using LL is not
1442
1443 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1444
1445         * win32/common/gstconfig.h:
1446           add large padding
1447
1448 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1449
1450         * win32/common/libgstreamer.def:
1451           rename symbols; sort base section
1452
1453 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1454
1455         * gst/gstclock.c: (do_linear_regression):
1456           remove crack non-portable handrolled DEBUG macro
1457
1458 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1459
1460         * docs/random/release:
1461           update notes
1462         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1463         (gst_object_flags_get_type), (register_gst_bin_flags),
1464         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1465         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1466         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1467         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1468         (gst_caps_flags_get_type), (register_gst_clock_return),
1469         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1470         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1471         (gst_clock_flags_get_type), (register_gst_state),
1472         (gst_state_get_type), (register_gst_state_change_return),
1473         (gst_state_change_return_get_type), (register_gst_state_change),
1474         (gst_state_change_get_type), (register_gst_element_flags),
1475         (gst_element_flags_get_type), (register_gst_core_error),
1476         (gst_core_error_get_type), (register_gst_library_error),
1477         (gst_library_error_get_type), (register_gst_resource_error),
1478         (gst_resource_error_get_type), (register_gst_stream_error),
1479         (gst_stream_error_get_type), (register_gst_event_type_flags),
1480         (gst_event_type_flags_get_type), (register_gst_event_type),
1481         (gst_event_type_get_type), (register_gst_seek_type),
1482         (gst_seek_type_get_type), (register_gst_seek_flags),
1483         (gst_seek_flags_get_type), (register_gst_format),
1484         (gst_format_get_type), (register_gst_index_certainty),
1485         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1486         (gst_index_entry_type_get_type),
1487         (register_gst_index_lookup_method),
1488         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1489         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1490         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1491         (gst_index_flags_get_type), (register_gst_debug_level),
1492         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1493         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1494         (gst_iterator_result_get_type), (register_gst_iterator_item),
1495         (gst_iterator_item_get_type), (register_gst_message_type),
1496         (gst_message_type_get_type), (register_gst_mini_object_flags),
1497         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1498         (gst_pad_link_return_get_type), (register_gst_flow_return),
1499         (gst_flow_return_get_type), (register_gst_activate_mode),
1500         (gst_activate_mode_get_type), (register_gst_pad_direction),
1501         (gst_pad_direction_get_type), (register_gst_pad_flags),
1502         (gst_pad_flags_get_type), (register_gst_pad_presence),
1503         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1504         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1505         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1506         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1507         (gst_plugin_flags_get_type), (register_gst_rank),
1508         (gst_rank_get_type), (register_gst_query_type),
1509         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1510         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1511         (gst_tag_flag_get_type), (register_gst_task_state),
1512         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1513         (gst_alloc_trace_flags_get_type),
1514         (register_gst_type_find_probability),
1515         (gst_type_find_probability_get_type), (register_gst_uri_type),
1516         (gst_uri_type_get_type), (register_gst_parse_error),
1517         (gst_parse_error_get_type):
1518         * win32/common/gstenumtypes.h:
1519         * win32/common/gstversion.h:
1520           update visual studio generated files
1521
1522 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1523
1524         * win32/vs6/libgstbase.dsp:
1525         * win32/vs6/libgstelements.dsp:
1526           update project files for new locations
1527
1528 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1529
1530         * Makefile.am:
1531           remove some files
1532         * README:
1533           reinstate and update
1534         * DEVEL:
1535         * REQUIREMENTS:
1536           removed
1537         * LICENSE:
1538         * docs/random/LICENSE:
1539           moved to random
1540
1541 2005-11-30  Edward Hervey  <edward@fluendo.com>
1542
1543         * gst/gsttypefind.c: (gst_type_find_register):
1544         * gst/gsttypefind.h:
1545         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1546         (gst_type_find_factory_dispose):
1547         * gst/gsttypefindfactory.h:
1548         Fix memory leak in GstTypeFindFactory.
1549
1550 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1551
1552         * gst/gst.c:
1553         * plugins/elements/Makefile.am:
1554         * plugins/elements/gstelements.c:
1555         * plugins/elements/gstqueue.c:
1556           move queue from core to the elements plugin
1557
1558 2005-11-29  Andy Wingo  <wingo@pobox.com>
1559
1560         * libs/gst/base/gstbasetransform.h: 
1561         * libs/gst/base/gstbasesrc.h: 
1562         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1563
1564         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1565         of pointers by which to pad very extensible base classes (like the
1566         ones in libs/gst/base).
1567
1568 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1569
1570         * docs/gst/gstreamer-docs.sgml:
1571         * docs/gst/gstreamer-sections.txt:
1572         * docs/libs/gstreamer-libs-docs.sgml:
1573         * docs/libs/gstreamer-libs-sections.txt:
1574           moving documentation from core to lib
1575
1576 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1577
1578         * check/Makefile.am:
1579         * configure.ac:
1580         * docs/gst/Makefile.am:
1581         * gst/Makefile.am:
1582         * gst/base/.cvsignore:
1583         * gst/base/Makefile.am:
1584         * gst/base/README:
1585         * gst/base/gstadapter.c:
1586         * gst/base/gstadapter.h:
1587         * gst/base/gstbasesink.c:
1588         * gst/base/gstbasesink.h:
1589         * gst/base/gstbasesrc.c:
1590         * gst/base/gstbasesrc.h:
1591         * gst/base/gstbasetransform.c:
1592         * gst/base/gstbasetransform.h:
1593         * gst/base/gstcollectpads.c:
1594         * gst/base/gstcollectpads.h:
1595         * gst/base/gstpushsrc.c:
1596         * gst/base/gstpushsrc.h:
1597         * gst/base/gsttypefindhelper.c:
1598         * gst/base/gsttypefindhelper.h:
1599         * gst/check/Makefile.am:
1600         * gst/check/gstcheck.c:
1601         * gst/check/gstcheck.h:
1602         * gst/net/Makefile.am:
1603         * gst/net/gstnet.h:
1604         * gst/net/gstnetclientclock.c:
1605         * gst/net/gstnetclientclock.h:
1606         * gst/net/gstnettimepacket.c:
1607         * gst/net/gstnettimepacket.h:
1608         * gst/net/gstnettimeprovider.c:
1609         * gst/net/gstnettimeprovider.h:
1610         * libs/gst/Makefile.am:
1611         * libs/gst/base/Makefile.am:
1612         * libs/gst/base/gstbasetransform.c:
1613         * libs/gst/check/Makefile.am:
1614         * plugins/elements/Makefile.am:
1615         * po/POTFILES.in:
1616           CVS surgery + support to move base, check, and net out of gst
1617           and into libs/gst
1618
1619 2005-11-29  Andy Wingo  <wingo@pobox.com>
1620
1621         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1622
1623         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1624         padding.
1625
1626         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1627
1628         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1629
1630         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1631
1632         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1633         padding; reduces object size by about 30%. We don't expect
1634         anything else to go into gstobject.
1635
1636         * gst/gstminiobject.h (struct _GstMiniObject)
1637         (struct _GstMiniObjectClass): Only one pointer of padding; the
1638         payload is only a pointer and two ints anyway. For the class there
1639         are only two methods as well.
1640         
1641         * gst/gstelement.h (struct _GstElementClass): Removed
1642         the state_changed signal callback, it is not used.
1643
1644 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1645
1646         * docs/gst/gstreamer.types:
1647           fix includes, though they are a little dinky
1648
1649 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1650
1651         * check/Makefile.am:
1652           look in the right place for elements, a lot more chance of
1653           success
1654         * gst/Makefile.am:
1655           remove indexers and elements subdirs
1656         * plugins/Makefile.am:
1657           make indexers conditional
1658
1659 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1660
1661         * Makefile.am:
1662         * configure.ac:
1663         * plugins/elements/Makefile.am:
1664         * plugins/elements/gstcapsfilter.c:
1665         * plugins/elements/gstfilesink.c:
1666         * plugins/elements/gstfilesrc.c:
1667         * plugins/elements/gstidentity.c:
1668         * plugins/indexers/Makefile.am:
1669           do CVS surgery and related build fixery to move elements
1670           and indexers in a new gstreamer/plugins directory, out of the
1671           gst/ directory
1672
1673 2005-11-29  Andy Wingo  <wingo@pobox.com>
1674
1675         * check/Makefile.am:
1676         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1677         * pkgconfig/gstreamer-net.pc.in:
1678         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1679         #322257.
1680
1681 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1682
1683         * tools/Makefile.am:
1684         * tools/gst-complete.1.in:
1685         * tools/gst-complete.c:
1686         * tools/gst-compprep.1.in:
1687         * tools/gst-compprep.c:
1688           removing -compprep and -complete
1689
1690 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1691
1692         * gst/gstevent.c: (gst_event_new_new_segment),
1693         (gst_event_parse_new_segment):
1694         * gst/gstevent.h:
1695           fix #320529 - clean up new_segment API and structure.
1696           Let's hope everyone was using the methods, and not the structure.
1697
1698 2005-11-29  Edward Hervey  <edward@fluendo.com>
1699
1700         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1701         (gst_base_sink_event), (gst_base_sink_do_sync),
1702         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1703         Properly handle non GST_FORMAT_TIME segment
1704         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1705         Properly handle non GST_FORMAT_TIME segment
1706         * gst/gstsegment.c:
1707         This function is valid if the accumulator is 0 and the format
1708         is different from the requested format.
1709         
1710 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1711
1712         * docs/gst/gstreamer-sections.txt:
1713         Add gst_query_new_seeking and gst_query_parse_seeking to the
1714         docs.
1715
1716 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1717
1718         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1719           Treat a pad alloc with new caps the same as if we were not
1720           negotiated, in order to allow a changing upstream output
1721           to produce a new format of data.
1722
1723 2005-11-29  Edward Hervey  <edward@fluendo.com>
1724
1725         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1726         (gst_base_transform_event), (gst_base_transform_eventfunc):
1727         The event virtual method is now properly implemented, with a default
1728         handler
1729         Sub classes should call the parent_class event method. They should
1730         return FALSE if they had a problem handling the given event, or don't
1731         want GstBaseTransform to send that even downstream
1732         * gst/elements/gstidentity.c: (gst_identity_class_init),
1733         (gst_identity_init), (gst_identity_event),
1734         (gst_identity_transform_ip), (gst_identity_set_property),
1735         (gst_identity_get_property):
1736         * gst/elements/gstidentity.h:
1737         Added the single-segment boolean property.
1738         If set to TRUE, it will output a single segment of data, starting from
1739         0, will eat up all incoming newsegment, and modify the timestamp of the
1740         buffers accordingly
1741
1742 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1743
1744         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1745           Don't ref NULL target pad (#322751). Improve docs.
1746
1747 2005-11-29  Michael Smith  <msmith@fluendo.com>
1748
1749         * gst/gstregistryxml.c: (load_plugin):
1750           Don't crash if we failed to load a feature from a plugin. 
1751
1752 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1753
1754         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1755         (GST_START_TEST):
1756           use more check API and less GLib API
1757
1758 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1759
1760         * Makefile.am:
1761           don't run checks if we don't have check
1762         * common/check.mak:
1763           remove the registry when running make torture
1764         * docs/gst/gstreamer-sections.txt:
1765           remove second multiply
1766         * gst/gstqueue.c: (gst_queue_loop):
1767           fix a compile warning when disabling debug
1768
1769 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1770
1771         * gst/gstinfo.h:
1772         Hey! Let's print the pad name if the pointer != NULL instead
1773         of when it == NULL :-)
1774
1775 2005-11-28  Wim Taymans  <wim@fluendo.com>
1776
1777         * check/gst/gstutils.c: (GST_START_TEST):
1778         Updated check, add some scaling accuracy checking code.
1779
1780         * gst/gstutils.c: (gst_util_div128_64),
1781         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1782         (gst_util_uint64_scale_int):
1783         Fix 6 times faster division code. Optimize for common 
1784         1/1 and less common X/1 cases.
1785
1786 2005-11-28  Wim Taymans  <wim@fluendo.com>
1787
1788         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1789         More checks.
1790
1791         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1792         (do_linear_regression), (gst_clock_add_observation):
1793         Cleanups.
1794         Release lock when the clock cannot be slaved.
1795         Catch the case where the regression returned an invalid denominator.
1796
1797         * gst/gstutils.c: (gst_util_div128_64_iterate),
1798         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1799         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1800         Add protentially more performant non-iterative 128/64 divide function
1801         that unfortunatly does not work yet.
1802         Shortcut the trivial 0/X = 0 case.
1803         Remove the warnings on overflow.
1804
1805 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1806
1807         * gst/gstplugin.c: (gst_plugin_register_func):
1808           everything causing a plugin not to load should be at least a WARNING
1809
1810 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1811
1812         * docs/random/ensonic/dparams.txt:
1813           some TODOs for the next dev cycle
1814         * libs/gst/controller/gstcontroller.c:
1815         (gst_controlled_property_set_interpolation_mode),
1816         (gst_controlled_property_new):
1817         * libs/gst/controller/gstcontroller.h:
1818           use base type to assign acccessor functions
1819
1820 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1821
1822         * check/Makefile.am:
1823         Oops, that should have been top_srcdir
1824
1825 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1826
1827         * check/Makefile.am:
1828         * check/elements/fdsrc.c: (GST_START_TEST):
1829         Use a cmdline define to specify the location of a file to use for
1830         testing, to avoid breaking distcheck.
1831
1832 2005-11-28  Andy Wingo  <wingo@pobox.com>
1833
1834         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1835
1836 2005-11-28  Edward Hervey  <edward@fluendo.com>
1837
1838         * tools/gst-launch.c: (main):
1839         Clarify the output strings, makes it easier to translate.
1840         Fixes #322626
1841
1842 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1843
1844         * gst/Makefile.am:
1845           don't try and build net if we don't even have <sys/socket.h>
1846
1847 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1848
1849         * check/Makefile.am:
1850         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1851         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1852           Add tests for fdsrc seekability
1853
1854         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1855         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1856         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1857         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1858         * gst/elements/gstfdsrc.h:
1859           fdsrc should not be a 'live' source.
1860           Implement seeking on seekable fd's.
1861
1862         * gst/gstquery.c: (gst_query_new_seeking),
1863         (gst_query_parse_seeking):
1864         * gst/gstquery.h:
1865           Implement SEEKING query functions: 
1866             *_new_seeking and *_parse_seeking
1867
1868 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1869
1870         * gst/gstelement.c: (gst_element_dispose):
1871           don't loop forever
1872
1873         * gst/gstiterator.c:
1874         * gst/gststructure.c:
1875           doc fixes
1876
1877         * libs/gst/controller/gstcontroller.c:
1878         (gst_controlled_property_set_interpolation_mode):
1879         * libs/gst/controller/gstcontroller.h:
1880         * libs/gst/controller/gstinterpolation.c:
1881         (interpolate_none_get_enum_value_array):
1882           support controlling enums
1883
1884 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1885
1886         * gst/gstvalue.c:
1887           Improve documentation for gst_value_union().
1888
1889         * gst/gstvalue.h:
1890           Change return value for union, intersect and subtract functions
1891           from gint to gboolean.
1892
1893 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1894
1895         * gst/gstvalue.c: (gst_value_serialize_any_list),
1896         (gst_value_transform_any_list_string),
1897         (gst_value_deserialize_list), (gst_value_deserialize_array),
1898         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1899         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1900         (gst_value_set_fraction_range_full),
1901         (gst_value_deserialize_fraction_range),
1902         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1903         (gst_value_deserialize_boolean),
1904         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1905         (gst_value_serialize_float), (gst_value_deserialize_float),
1906         (gst_string_wrap), (gst_value_deserialize_string),
1907         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1908         (gst_value_union_int_range_int_range),
1909         (gst_value_intersect_int_range_int_range),
1910         (gst_value_intersect_double_range_double_range),
1911         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1912         (gst_value_subtract_int_range_int_range),
1913         (gst_value_subtract_double_double_range),
1914         (gst_value_subtract_double_range_double_range),
1915         (gst_value_deserialize_fraction):
1916         * gst/gstvalue.h:
1917           Use gint, gdouble and gchar in our API instead of int, double and
1918           char (and make usage in gstvalue.c more consistent).
1919
1920 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1921
1922         * check/Makefile.am:
1923         * libs/gst/controller/Makefile.am:
1924         * libs/gst/dataprotocol/Makefile.am:
1925           fix up Makefile.am and remove GST_ENABLE_NEW
1926
1927 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1928
1929         * configure.ac:
1930         * gst/Makefile.am:
1931         * gst/base/Makefile.am:
1932         * gst/check/Makefile.am:
1933         * gst/elements/Makefile.am:
1934         * gst/net/Makefile.am:
1935           update LDFLAGS use some more
1936
1937 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1938
1939         * common/m4/gst-doc.m4:
1940           Fixes #312589
1941
1942 2005-11-26  Edward Hervey  <edward@fluendo.com>
1943
1944         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1945         This shouldn't issue a g_warning since it returns NULL if it
1946         couldn't find the plugin, and all functions using this behave
1947         properly on a NULL return. Switching to a GST_WARNING.
1948
1949 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1950
1951         * gst/gstbin.c: (gst_bin_handle_message_func):
1952         Don't leak clock messages.
1953
1954 2005-11-25  Wim Taymans  <wim@fluendo.com>
1955
1956         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1957         (gst_util_uint64_scale_int):
1958         Optimisations, remove unneeded vars.
1959
1960 2005-11-25  Wim Taymans  <wim@fluendo.com>
1961
1962         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1963         Added more checks for the high precision uint64 cases.
1964
1965         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1966         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1967         Implement high precision (guint64 * guint64) / guint64.
1968
1969 2005-11-24  Wim Taymans  <wim@fluendo.com>
1970
1971         * gst/base/gstbasesrc.c: (gst_base_src_query):
1972         Fix wrong percentage query.
1973
1974         * gst/gstutils.c: (gst_util_uint64_scale),
1975         (gst_util_uint64_scale_int):
1976         Add some more common cases that can be handled 
1977         efficiently to _scale.
1978
1979 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1980
1981         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1982         (gst_mini_object_suite):
1983           don't use check calls from threads; check probably isn't
1984           threadsafe and using a lock to make it threadsafe would
1985           defeat the purpose of this check
1986         * gst/check/gstcheck.c:
1987         * gst/check/gstcheck.h:
1988           use GST_DEBUG some more
1989
1990 2005-11-24  Wim Taymans  <wim@fluendo.com>
1991
1992         * gst/gstutils.c: (gst_util_uint64_scale),
1993         (gst_util_uint64_scale_int):
1994         Chain trivial case to _scale_int.
1995
1996 2005-11-24  Wim Taymans  <wim@fluendo.com>
1997
1998         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1999         Added test for scaling.
2000
2001         * gst/gstclock.h:
2002         Small doc fix.
2003
2004         * gst/gstutils.c: (gst_util_uint64_scale_int):
2005         Implemented high precision scaling code.
2006
2007 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
2008
2009         * gst/gstinfo.h:
2010           do not crash on pad==NULL
2011
2012 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2013
2014         Patch by: Stefan Kost
2015
2016         * common/gtk-doc.mak:
2017         * docs/gst/Makefile.am:
2018         * docs/libs/Makefile.am:
2019           Fix distcheck issues for the libraries docs build
2020           Closes #319599.
2021
2022 2005-11-24  Michael Smith <msmith@fluendo.com>
2023
2024         * docs/manual/basics-helloworld.xml:
2025           Fix bug #315027: memory leak in example code in docs.
2026
2027 2005-11-24  Michael Smith <msmith@fluendo.com>
2028
2029         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2030           Unlock the PREROLL_LOCK in a failure case.
2031
2032 2005-11-24  Wim Taymans  <wim@fluendo.com>
2033
2034         * docs/gst/gstreamer-sections.txt:
2035         * gst/base/gstadapter.h:
2036         * gst/base/gstbasesink.h:
2037         * gst/base/gstbasesrc.h:
2038         * gst/base/gstbasetransform.h:
2039         * gst/base/gstpushsrc.h:
2040         * gst/elements/gstfakesink.h:
2041         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2042         * gst/elements/gstfakesrc.h:
2043         * gst/elements/gstfilesink.h:
2044         * gst/elements/gstfilesrc.h:
2045         * gst/gst.c:
2046         * gst/gstbin.c:
2047         * gst/gstbuffer.c: (_gst_buffer_copy):
2048         * gst/gstbus.h:
2049         * gst/gstcaps.c:
2050         * gst/gstchildproxy.c:
2051         * gst/gstclock.c:
2052         * gst/gstelement.c:
2053         * gst/gstelementfactory.c:
2054         * gst/gstelementfactory.h:
2055         * gst/gstevent.c:
2056         * gst/gstghostpad.h:
2057         * gst/gstindex.h:
2058         * gst/gstinterface.h:
2059         * gst/gstminiobject.c:
2060         * gst/gstminiobject.h:
2061         * gst/gstpad.c:
2062         * gst/gstpad.h:
2063         * gst/gstpadtemplate.h:
2064         * gst/gstpipeline.h:
2065         * gst/gstpluginfeature.h:
2066         * gst/gstquery.h:
2067         * gst/gstqueue.h:
2068         * gst/gsttaglist.c:
2069         * gst/gsttaglist.h:
2070         * gst/gsttagsetter.c:
2071         * gst/gsttagsetter.h:
2072         * gst/gsttrace.c:
2073         * gst/gsttrace.h:
2074         * gst/gsttypefind.h:
2075         * gst/gsturi.h:
2076         * gst/gstvalue.c:
2077         * gst/net/gstnetclientclock.c:
2078         * gst/net/gstnetclientclock.h:
2079         * gst/net/gstnettimepacket.c:
2080         * gst/net/gstnettimeprovider.c:
2081         * gst/net/gstnettimeprovider.h:
2082         Doc fixes.
2083
2084 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2085
2086         * configure.ac: back to HEAD
2087
2088 === release 0.9.6 ===
2089
2090 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
2091
2092         * configure.ac:
2093           releasing 0.9.6, "Always On Time"
2094
2095 2005-11-23  Wim Taymans  <wim@fluendo.com>
2096
2097         * docs/gst/gstreamer-sections.txt:
2098         * gst/glib-compat.c:
2099         * gst/gsttagsetter.c:
2100         * gst/gstvalue.c:
2101         * gst/net/gstnetclientclock.c:
2102         * gst/net/gstnettimepacket.h:
2103         Doc updates.
2104
2105 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2106
2107         * docs/faq/using.xml:
2108         * docs/libs/tmpl/gstcontrol.sgml:
2109         * docs/manual/advanced-dparams.xml:
2110         * docs/manual/appendix-checklist.xml:
2111         * docs/manual/basics-elements.xml:
2112         * docs/pwg/other-source.xml:
2113         * docs/random/moving-plugins:
2114         * gst/gstpad.c:
2115         * tools/gst-launch.1.in:
2116           remove mentions of sinesrc
2117
2118 2005-11-23  Michael Smith <msmith@fluendo.com>
2119
2120         * docs/gst/gstreamer-sections.txt:
2121           Update for new API and API changes.
2122         * gst/gstobject.h:
2123           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
2124         * gst/gstvalue.c:
2125           Documentation typo fix.
2126         * gst/net/gstnettimepacket.c:
2127           Documentation fixes for arguments.
2128
2129 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
2130
2131         * gst/gststructure.c: (gst_structure_get_fraction),
2132         (gst_structure_parse_value),
2133         (gst_structure_fixate_field_nearest_fraction):
2134         * gst/gststructure.h:
2135         * gst/gstutils.c: (gst_util_uint64_scale_int):
2136         * gst/gstutils.h:
2137         * scripts/update-funcnames:
2138         API Changes. 
2139         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
2140         Make gst_structure_fixate_field_nearest_fraction take a numerator
2141         and denominator argument instead of a GValue
2142         add gst_structure_get_fraction helper function.
2143
2144 2005-11-23  Wim Taymans  <wim@fluendo.com>
2145
2146         * docs/design/part-TODO.txt:
2147         Update TODO.
2148
2149         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2150         * gst/net/gstnetclientclock.h:
2151         Use parent fields for timeout and window_size.
2152
2153 2005-11-23  Andy Wingo  <wingo@pobox.com>
2154
2155         * check/net/gstnetclientclock.c (test_functioning): Adjust to
2156         rate_num/rate_denom change.
2157
2158         * gst/net/gstnetclientclock.c
2159         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2160         OBJECT_LOCK. Don't call add_observation with the lock.
2161
2162         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2163         fraction.
2164         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2165         rate fraction.
2166         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2167         deal with rate as a fraction whose numerator and denominator are
2168         GstClockTime values.
2169         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2170         master; the other fields are protected by the SLAVE_LOCK.
2171         (do_linear_regression): Note that this must be called with the
2172         SLAVE_LOCK.
2173         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2174         OBJECT_LOCK. Call set_calibration instead of touching the
2175         variables directly.
2176         (gst_clock_set_property, gst_clock_get_property): Protect
2177         master/slave parameters with the SLAVE_LOCK.
2178
2179         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2180         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2181         note that all of the instance variables that add_observation and
2182         the set_master functions use are protected by that lock and not
2183         the OBJECT_LOCK.
2184         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2185
2186         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2187         the caller to take the object lock.
2188
2189 2005-11-23  Wim Taymans  <wim@fluendo.com>
2190
2191         * gst/gsterror.c: (_gst_core_errors_init):
2192         * gst/gsterror.h:
2193         Add error for clock stuff.
2194
2195         * gst/gstpipeline.c: (gst_pipeline_change_state),
2196         (gst_pipeline_set_clock):
2197         Post clock error when clock cannot be used in a pipeline.
2198
2199 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2200
2201         * docs/gst/gstreamer-sections.txt:
2202           make two symbols from gstinfo private for the docs
2203         * gst/base/gstcollectpads.h:
2204         * gst/gstutils.c:
2205           fix doc typos, update docs
2206
2207 2005-11-22  Wim Taymans  <wim@fluendo.com>
2208
2209         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2210         (gst_base_sink_wait), (gst_base_sink_do_sync),
2211         (gst_base_sink_handle_event):
2212         * gst/base/gstbasesink.h:
2213         No need to store the clock, the parent element class already
2214         has it.
2215
2216         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2217         Updates for clock_set returning a gboolean
2218
2219         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2220         (gst_clock_id_wait_async), (gst_clock_class_init),
2221         (gst_clock_init), (gst_clock_finalize),
2222         (gst_clock_get_internal_time), (gst_clock_get_time),
2223         (gst_clock_slave_callback), (gst_clock_set_master),
2224         (gst_clock_get_master), (do_linear_regression),
2225         (gst_clock_add_observation), (gst_clock_set_property),
2226         (gst_clock_get_property):
2227         * gst/gstclock.h:
2228         Implement master/slave. When setting a clock as a slave, a
2229         periodic timeout is scheduled to sample master and slave times.
2230         Then the slave clock is recalibrated to match offset and rate
2231         of the master clock.
2232         Update logging a bit.
2233         Add flag so that a clock can state that is cannot be slaved to
2234         another clock.
2235
2236         * gst/gstelement.c: (gst_element_set_clock):
2237         * gst/gstelement.h:
2238         The set clock returns a gboolean for when an element cannot
2239         deal with the selected clock in the pipeline. 
2240
2241         * gst/gstpipeline.c: (gst_pipeline_change_state),
2242         (gst_pipeline_set_clock):
2243         * gst/gstpipeline.h:
2244         Handle the case where the selected clock cannot be set on
2245         the pipeline.
2246
2247         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2248         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2249         (gst_net_client_clock_set_property),
2250         (gst_net_client_clock_get_property),
2251         (gst_net_client_clock_observe_times):
2252         * gst/net/gstnetclientclock.h:
2253         Use regression code in GstClock parent, remove duplicated
2254         functionality.
2255
2256 2005-11-22  Michael Smith <msmith@fluendo.com>
2257
2258         * gst/gstutils.c: (gst_util_clock_time_scale):
2259         * gst/gstutils.h:
2260         * docs/gst/gstreamer-sections.txt:
2261           Rename method to have extra underscore.
2262
2263 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2264
2265         * gst/elements/Makefile.am:
2266         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2267         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2268         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2269         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2270         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2271         * gst/elements/gstfakesrc.h:
2272         * gst/gstqueue.c: (queue_leaky_get_type):
2273           correctly fix GEnumValues so that nick is the short lowercase
2274           dashed tag
2275         * tools/gst-inspect.c: (print_element_properties_info):
2276           also show the nick, since it's useful to use from parse_launch
2277           syntax
2278           Fixes #322139
2279
2280 2005-11-22  Michael Smith <msmith@fluendo.com>
2281
2282         * gst/gstutils.c: (gst_util_clocktime_scale):
2283         * gst/gstutils.h:
2284         * docs/gst/gstreamer-sections.txt:
2285           Add util method for scaling a clocktime by a fraction. Useful 
2286           implementation is left as an exercise for the reader.
2287
2288 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2289
2290         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2291         If needed, allocate storage in the destination value during
2292         collection.
2293
2294 2005-11-22  Edward Hervey  <edward@fluendo.com>
2295
2296         * docs/gst/gstreamer-sections.txt:
2297         * gst/Makefile.am:
2298         * gst/gst.h:
2299         * gst/gsturitype.c:
2300         * gst/gsturitype.h:
2301         * gst/gstutils.c: (gst_util_set_object_arg):
2302         * tools/gst-compprep.c: (main):
2303         * tools/gst-inspect.c: (print_element_properties_info):
2304         Removed GstURI, closes bug #321061
2305
2306 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2307
2308         * check/gst/gststructure.c: (GST_START_TEST):
2309         * gst/gststructure.c: (gst_structure_parse_value):
2310           Oops, broke automatic string type parsing.
2311           Add a test to catch it in future.
2312
2313 2005-11-22  Andy Wingo  <wingo@pobox.com>
2314
2315         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2316         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2317         Actually rename the function implementations. Grr.
2318
2319 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2320
2321         * check/gst/capslist.h:
2322           Comment test cases
2323         * check/gst/gststructure.c: (GST_START_TEST),
2324         (gst_structure_suite):
2325           Test automatic value type detection in gst_structure_from_string.
2326         * gst/gststructure.c: (gst_structure_parse_value):
2327           Add fraction as a type we try and guess automatically in
2328           caps/structure strings.
2329
2330 2005-11-22  Andy Wingo  <wingo@pobox.com>
2331
2332         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2333
2334         * gst/gsttagsetter.h:
2335         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2336         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2337         (gst_tag_setter_add_tag_valist)
2338         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2339         _add_values, _add_valist, and _add_valist_values. Since this is an
2340         interface the function suffixes should be more explicit so
2341         language binding don't end up with element.add_valist ->
2342         gst_tag_setter_add_valist, for example. Fixes #322069.
2343
2344 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2345
2346         * check/gst/gstcaps.c: (GST_START_TEST):
2347           Extend caps string tests to check that a caps to string
2348           conversion is reversible and produces the same caps.
2349
2350         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2351           Output "fraction" as the generic type fraction range, so caps
2352           serialisation and deserialisation works.
2353         * check/gst/capslist.h:
2354         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2355           Support 'MIN' and 'MAX' for deserialising fractions.
2356
2357 2005-11-22  Andy Wingo  <wingo@pobox.com>
2358
2359         * gst/gstevent.h (gst_event_new_new_segment)
2360         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2361         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2362         Renamed from *_newsegment, *_buffersize, *_notarget.
2363
2364         * scripts/update-funcnames: New script, performs the changes
2365         listed above.
2366
2367 2005-11-22  Wim Taymans  <wim@fluendo.com>
2368
2369         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2370         Make sure the GstFlowReturn is returned.
2371
2372         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2373         (gst_bus_add_signal_watch):
2374         * gst/gstbus.h:
2375         add gst_bus_add_signal_watch_full.
2376
2377         * gst/gstplugin.c: (gst_plugin_load_file):
2378         Small style cleanup.
2379
2380 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2381
2382         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2383           Block the fakesrc srcpad when we send an event, to avoid
2384           contention on the stream_lock causing random test failures.
2385
2386 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2387
2388         * check/gst/gstvalue.c: (GST_START_TEST):
2389         * gst/gstvalue.c: (gst_value_fraction_subtract):
2390           Fix subtraction.
2391
2392 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2393
2394         * gst/gst.h:
2395           include "gstchildproxy.h"
2396         * gst/gstchildproxy.h:
2397         * libs/gst/controller/gstcontroller.h:
2398           use G_GNUC_NULL_TERMINATED
2399
2400 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2401
2402         * check/gst/capslist.h:
2403         * check/gst/gstcaps.c: (GST_START_TEST):
2404         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2405         * gst/gststructure.c: (gst_structure_parse_range),
2406         (gst_structure_fixate_field_nearest_fraction):
2407         * gst/gststructure.h:
2408         * gst/gstvalue.c: (gst_value_init_fraction_range),
2409         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2410         (gst_value_collect_fraction_range),
2411         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2412         (gst_value_set_fraction_range_full),
2413         (gst_value_get_fraction_range_min),
2414         (gst_value_get_fraction_range_max),
2415         (gst_value_serialize_fraction_range),
2416         (gst_value_transform_fraction_range_string),
2417         (gst_value_compare_fraction_range),
2418         (gst_value_deserialize_fraction_range),
2419         (gst_value_intersect_fraction_fraction_range),
2420         (gst_value_intersect_fraction_range_fraction_range),
2421         (gst_value_subtract_fraction_fraction_range),
2422         (gst_value_subtract_fraction_range_fraction),
2423         (gst_value_subtract_fraction_range_fraction_range),
2424         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2425         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2426         (gst_value_transform_string_fraction), (_gst_value_initialize):
2427         * gst/gstvalue.h:
2428           Implement fraction ranges and extend GstFraction to support
2429           arithmetic subtraction, as well as deserialization from integer
2430           strings such as "100"
2431           Add a testsuite as for int and double range set operations
2432
2433 2005-11-21  Andy Wingo  <wingo@pobox.com>
2434
2435         * gst/gsttaglist.h: 
2436         * gst/gstcaps.h: 
2437         * gst/gststructure.h: Add glib-compat.h.
2438
2439 2005-11-21  Wim Taymans  <wim@fluendo.com>
2440
2441         * gst/gstbin.c: (gst_bin_change_state_func):
2442         Fix for #321595
2443
2444 2005-11-21  Wim Taymans  <wim@fluendo.com>
2445
2446         * gst/gstsegment.h:
2447         And add a nice define too.
2448
2449 2005-11-21  Wim Taymans  <wim@fluendo.com>
2450
2451         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2452         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2453         (gst_segment_set_duration), (gst_segment_set_last_stop),
2454         (gst_segment_set_seek), (gst_segment_set_newsegment),
2455         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2456         (gst_segment_clip):
2457         * gst/gstsegment.h:
2458         Make binding friendly.
2459
2460 2005-11-21  Andy Wingo  <wingo@pobox.com>
2461
2462         * gst/gsttagsetter.h: 
2463         * gst/gsttaglist.h: 
2464         * gst/gststructure.h: 
2465         * gst/gstcaps.h: 
2466         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2467         #319940.
2468
2469         * gst/gsterror.c (_gst_core_errors_init):
2470         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2471         category.
2472
2473         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2474         (noinst_HEADERS): noinst the -private.
2475
2476 2005-11-21  Michael Smith <msmith@fluendo.com>
2477
2478         * gst/gstplugin.h:
2479         * gst/gstregistry.h:
2480           Remove unimplemented declarations for which we can see no sensible
2481           use.
2482
2483 2005-11-21  Andy Wingo  <wingo@pobox.com>
2484
2485         * gst/gst.h: Include glib-compat.h.
2486
2487         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2488
2489         * gst/glib-compat.c: Include the public and the private header.
2490
2491         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2492
2493         * gst/gstvalue.c: 
2494         * gst/gstpad.c: 
2495         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2496
2497         * check/gst/gstevent.c (create_custom_events): Check that
2498         FLUSH_STOP is serialized.
2499
2500         * check/elements/identity.c (event_func): 
2501         * check/elements/fakesrc.c (event_func): No stream lock, the core
2502         takes it.
2503
2504         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2505         stream lock taking, yay.
2506
2507         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2508         ensure that core takes the stream lock.
2509
2510         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2511         lock name change.
2512
2513         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2514         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2515         it already. For the flush start we do take it though so we get the
2516         right preroll state change messages.
2517
2518         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2519         the stream lock here, the core does it for us.
2520
2521         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2522         GST_STREAM_GET_LOCK.
2523         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2524         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2525         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2526         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2527         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2528         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2529
2530         * gst/gstpad.c: Update for stream lock name change.
2531
2532         * gst/base/gstbasesink.c: Update for preroll lock name change.
2533
2534 2005-11-21  Wim Taymans  <wim@fluendo.com>
2535
2536         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2537         (gst_clock_get_master):
2538         * gst/gstclock.h:
2539         * gst/gstsystemclock.c: (gst_system_clock_init):
2540         Convert Clock flags to object flags.
2541         Added methods to manage master/slave clocks.
2542
2543 2005-11-21  Wim Taymans  <wim@fluendo.com>
2544
2545         * check/gst/gstsegment.c: (GST_START_TEST):
2546         * docs/design/part-TODO.txt:
2547         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2548         (gst_base_sink_event), (gst_base_sink_do_sync),
2549         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2550         (gst_base_sink_query), (gst_base_sink_change_state):
2551         * gst/base/gstbasesink.h:
2552         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2553         (gst_base_src_default_newsegment),
2554         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2555         (gst_base_src_get_range), (gst_base_src_loop),
2556         (gst_base_src_change_state):
2557         * gst/base/gstbasesrc.h:
2558         * gst/base/gstbasetransform.c:
2559         (gst_base_transform_prepare_output_buf),
2560         (gst_base_transform_event), (gst_base_transform_change_state):
2561         * gst/base/gstbasetransform.h:
2562         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2563         (gst_collect_pads_event):
2564         * gst/base/gstcollectpads.h:
2565         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2566         (gst_fake_src_create):
2567         * gst/elements/gstfakesrc.h:
2568         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2569         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2570         (gst_segment_set_last_stop), (gst_segment_set_seek),
2571         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2572         (gst_segment_to_running_time), (gst_segment_clip):
2573         * gst/gstsegment.h:
2574         More segment updates, replace code in plugins with segment
2575         helper functions.
2576
2577 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2578
2579         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2580         Don't ignore sscanf results
2581
2582 2005-11-21  Andy Wingo  <wingo@pobox.com>
2583
2584         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2585
2586         * *.h:
2587         * *.c: Ran scripts/update-macros. Oh yes.
2588
2589         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2590         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2591         GST_GET_LOCK, etc.
2592
2593         * scripts/update-macros: New script. Run it on your files to
2594         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2595         well.
2596
2597 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2598
2599         * docs/gst/Makefile.am:
2600         * docs/gst/gstreamer-docs.sgml:
2601         * docs/gst/gstreamer-sections.txt:
2602         * docs/gst/gstreamer.types:
2603         * gst/gstinfo.h:
2604           more docs fixes, add new api to the docs
2605
2606 2005-11-21  Andy Wingo  <wingo@pobox.com>
2607
2608         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2609         state_broadcast call.
2610
2611         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2612
2613 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2614
2615         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2616         function calls for arrays.
2617
2618 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2619
2620         * docs/random/ensonic/media-device-daemon.txt:
2621           wild idea, can this be done?
2622         * docs/gst/gstreamer-sections.txt:
2623         * gst/gsterror.h:
2624         * gst/gstfilter.c:
2625         * gst/gstfilter.h:
2626         * gst/gstplugin.h:
2627         * gst/gstpluginfeature.c:
2628         * gst/gsttrace.c:
2629         * gst/gstvalue.c:
2630         * gst/gstvalue.h:
2631           doc fixes and additions
2632
2633 2005-11-21  Andy Wingo  <wingo@pobox.com>
2634
2635         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2636         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2637         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2638         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2639         private to the basesrc implementation.
2640
2641         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2642         behalf of event function if necessary. It should no longer be
2643         necessary to take the stream lock in pad's event functions. Fixes
2644         #320299.
2645
2646 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2647         * docs/gst/gstreamer-sections.txt:
2648         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2649         (gst_structure_fixate_field_nearest_double),
2650         (gst_structure_fixate_field_boolean):
2651         * gst/gststructure.h:
2652         * win32/common/libgstreamer.def:
2653         * win32/gstreamer.def:
2654
2655         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2656         (#322027)
2657
2658 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2659
2660         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2661         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2662         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2663         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2664         (gst_fdsrc_uri_handler_init):
2665         * gst/elements/gstfdsrc.h:
2666           Port fd:// URI handler from 0.8 to fdsrc
2667
2668 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2669
2670         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2671         (gst_value_serialize_fourcc):
2672         * gst/gstvalue.h:
2673           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2674           consistent with our other format defines (#320324).
2675
2676 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2677
2678         * gst/gstvalue.c: (gst_value_is_fixed):
2679           Revert previous commit. Value lists are by definition
2680           not fixed, as they are a list of possible values.
2681
2682 2005-11-21  Andy Wingo  <wingo@pobox.com>
2683
2684         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2685         during the stable series if we need it. Fixes #319178.
2686
2687         * gst/gstevent.c (gst_event_new_filler): Removed.
2688
2689         * check/gst/gstevent.c: Update comment about filler events.
2690
2691 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2692
2693         * gst/gstvalue.c: (gst_value_is_fixed):
2694           Should handle both value arrays and value lists.
2695
2696 2005-11-21  Andy Wingo  <wingo@pobox.com>
2697
2698         patch by: Alessandro Dessina <alessandro nnva org>
2699
2700         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2701         functions to access arrays. Fixes #321962.
2702
2703 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2704
2705         * docs/gst/gstreamer.types:
2706           gst_collectpads_get_type => gst_collect_pads_get_type.
2707           
2708         * gst/base/gstbasetransform.c:
2709           Remove unused SIGNAL_HANDOFF enum.
2710
2711 2005-11-21  Andy Wingo  <wingo@pobox.com>
2712
2713         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2714         the event type (upstream, downstream, serialized). Renamed
2715         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2716         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2717         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2718
2719         * gst/gstevent.c: Update for new CUSTOM event names.
2720
2721         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2722
2723         * gst/gstevent.h:
2724         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2725         bug #319392.
2726
2727 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2728
2729         * docs/gst/gstreamer-sections.txt:
2730         * win32/common/libgstbase.def:
2731         * win32/libgstbase.def:
2732         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2733         (gst_collect_pads_class_init), (gst_collect_pads_init),
2734         (gst_collect_pads_finalize), (gst_collect_pads_new),
2735         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2736         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2737         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2738         (gst_collect_pads_start), (gst_collect_pads_stop),
2739         (gst_collect_pads_peek), (gst_collect_pads_pop),
2740         (gst_collect_pads_available), (gst_collect_pads_read),
2741         (gst_collect_pads_flush), (gst_collect_pads_event),
2742         (gst_collect_pads_chain):
2743         * gst/base/gstcollectpads.h:
2744           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2745           unimplemented functions as unimplemented. Add padding to
2746           GstCollectData. (#320766, #320423)
2747
2748 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2749
2750         * gst/gstmessage.c:
2751           Improve docs for DURATION message (usage of duration parameter)
2752           (#320113)
2753
2754 2005-11-20  Wim Taymans  <wim@fluendo.com>
2755
2756         * check/Makefile.am:
2757         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2758         (main):
2759         * gst/Makefile.am:
2760         * gst/gst.h:
2761         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2762         (gst_segment_set_seek), (gst_segment_set_newsegment),
2763         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2764         (gst_segment_clip):
2765         * gst/gstsegment.h:
2766         Added segment helper structure and methods. Not fully implemented
2767         yet.
2768         Added segment check.
2769
2770 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2771
2772         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2773           Add a deserialisation test for fractions
2774         * examples/metadata/read-metadata.c: (message_loop),
2775         (make_pipeline), (main):
2776           Fix up metadata reading sample.
2777         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2778           Debug format fix
2779         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2780           Don't try and fixate empty caps
2781         * gst/gst_private.h:
2782           Wrap in G_BEGIN_DECLS/G_END_DECLS
2783         * gst/gstvalue.c: (gst_value_collect_fraction),
2784         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2785         (gst_value_transform_string_fraction),
2786         (gst_value_compare_fraction):
2787           Add some extra guards to ensure that we don't end up 
2788           with an invalid denominator of 0 in a gstfraction and
2789           that fractions always get reduced.
2790
2791 2005-11-20  Wim Taymans  <wim@fluendo.com>
2792
2793         * docs/gst/gstreamer-sections.txt:
2794         * gst/gstbuffer.h:
2795         * gst/gstelement.c:
2796         * gst/gstformat.c:
2797         * gst/gstformat.h:
2798         * gst/gstindex.h:
2799         * gst/gstquery.c:
2800         * gst/gstquery.h:
2801         * gst/gstvalue.c:
2802         Doc fixes.
2803
2804 2005-11-20  Wim Taymans  <wim@fluendo.com>
2805
2806         * docs/design/part-TODO.txt:
2807         * gst/gstcaps.h:
2808         Make a proper enum of the flag.
2809
2810 2005-11-19  Wim Taymans  <wim@fluendo.com>
2811
2812         * docs/design/part-TODO.txt:
2813         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2814         (gst_format_to_quark), (gst_format_register):
2815         * gst/gstformat.h:
2816         * gst/gstquery.c: (_gst_query_initialize),
2817         (gst_query_type_get_name), (gst_query_type_to_quark),
2818         (gst_query_type_register):
2819         * gst/gstquery.h:
2820         Add type to quark and type to string conversions.
2821
2822 2005-11-19  Andy Wingo  <wingo@pobox.com>
2823
2824         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2825         #320097.
2826
2827 2005-11-19  Wim Taymans  <wim@fluendo.com>
2828
2829         * docs/design/part-TODO.txt:
2830         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2831         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2832         (gst_bin_handle_message_func):
2833         * gst/gstbin.h:
2834         Make message handling overridable.
2835
2836 2005-11-19  Andy Wingo  <wingo@pobox.com>
2837
2838         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2839
2840         * gst/gstclock.h:
2841         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2842         be a GstClockTime.
2843         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2844         is a GstClockTime. Fixes #321710.
2845
2846         * gst/gstclock.h (GstClock): Remove offset property. Add
2847         internal_calibration and external_calibration. Fix padding. Pad
2848         also by GstClockTime so we don't run into problems.
2849
2850         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2851         (gst_clock_get_rate_offset): Remove.
2852         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2853
2854         * gst/gstutils.h:
2855         * gst/gstutils.c (g_static_rec_cond_wait)
2856         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2857
2858         * gst/gstbin.c: Remove terrible continue_state prototype.
2859
2860         * gst/gstelement.h (gst_element_continue_state): Make public.
2861
2862         * gst/gstelement.h:
2863         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2864         by continue_state. Fixes #319389.
2865
2866         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2867         Really fixes #168438. However I don't see anywhere where the
2868         filter function is called... stupid GStreamer...
2869         
2870         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2871         don't have a dispose function, so it won't get called when the
2872         object is unreffed, but oh well!
2873
2874         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2875         allows a destroy function to be set so user_data can be freed.
2876         Fixes #168438.
2877         (gst_index_set_filter): Call gst_index_set_filter_full.
2878
2879         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2880
2881         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2882         string should produce an error, given the lack of a way to
2883         represent NULL strings. Fixes #165650.
2884         
2885         * gst/gstvalue.h: 
2886         * gst/gstvalue.c (gst_value_array_append_value) 
2887         (gst_value_array_prepend_value, gst_value_array_get_size) 
2888         (gst_value_array_get_value): New API, copied from
2889         gst_value_list_*, only operates on arrays.
2890         (gst_value_list_append_value, gst_value_list_prepend_value) 
2891         (gst_value_list_concat, gst_value_list_get_size) 
2892         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2893
2894         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2895         init_list, because it works on both.
2896         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2897         (gst_value_copy_list_or_array): Renamed from copy_list.
2898         (gst_value_free_list_or_array): Renamed from free_list.
2899         (gst_value_collect_list_or_array): Renamed from collect_list.
2900         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2901         (gst_value_list_or_array_peek_pointer): Renamed from
2902         list_peek_pointer.
2903         (_gst_value_array_value_table, _gst_value_list_value_table):
2904         Update value table functions.
2905         (gst_value_compare_list_or_array): Renamed from compare_list.
2906
2907         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2908         some constness.
2909
2910         * gst/gsttaglist.c:
2911         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2912         GstTagList*. Fixes #143472.
2913
2914         * gst/gststructure.h: Clarify what the foreach/map functions can
2915         or can't do to their arguments.
2916
2917 2005-11-18  Wim Taymans  <wim@fluendo.com>
2918
2919         * gst/gstclock.c: (gst_clock_set_calibration),
2920         (gst_clock_get_calibration):
2921         Doc and API fixes.
2922         Calibration can be set with internal time equal to current
2923         internal time too.
2924
2925 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2926
2927         * gst/gsterror.c:
2928         * gst/gsterror.h:
2929           document
2930
2931 2005-11-18  Andy Wingo  <wingo@pobox.com>
2932
2933         * configure.ac: 
2934         * pkgconfig/gstreamer-net.pc.in:
2935         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2936         * pkgconfig/Makefile.am: Add net pkgconfig files.
2937
2938 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2939
2940         * gst/gstcaps.c:
2941         * gst/gstghostpad.c:
2942         * gst/gsttrace.c:
2943         * gst/gstvalue.c:
2944         * gst/gstvalue.h:
2945           docs fixes
2946
2947 2005-11-18  Andy Wingo  <wingo@pobox.com>
2948
2949         * gst/net/gstnetclientclock.c: Turn off debugging.
2950
2951         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2952         times connverge somewhat. Can't make a real test.
2953
2954         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2955         integer arithmetic. Return the minimum of the domain, which can be
2956         set as "internal" for gst_clock_set_calibration.
2957         (gst_net_client_clock_observe_times): Call _set_calibration.
2958         (gst_net_client_clock_new): Call _set_calibration instead of
2959         rate_offset.
2960
2961         * check/net/gstnetclientclock.c (test_functioning): Use the right
2962         adjustment api.
2963
2964         * gst/gstclock.h:
2965         * gst/gstclock.c (gst_clock_get_calibration) 
2966         (gst_clock_set_calibration): New functions, obsolete the ones I
2967         added yesterday. Doh. Precision issues mean we have to extrapolate
2968         from a point in the more recent past than 1970.
2969         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2970         obsolete.
2971         (gst_clock_adjust_unlocked): Use the right calibration data.
2972
2973 2005-11-18  Edward Hervey  <edward@fluendo.com>
2974
2975         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2976         Also reset the ->current_* values in READY->PAUSED
2977
2978 2005-11-18  Andy Wingo  <wingo@pobox.com>
2979
2980         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2981         Whoops, check the right fd. Also add some debugging.
2982         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2983         (do_linear_regression): Add a crapload of debugging. Subtract off
2984         the minimum values from the input series to discard unneeded bits.
2985         Use only int arithmetic. There is still double arithmetic when
2986         calculating the intercept that needs fixing. Return boolean to
2987         indicate success; FALSE would mean the domain or range is too
2988         great. Still needs fixes.
2989
2990 2005-11-18  Wim Taymans  <wim@fluendo.com>
2991
2992         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2993         For the current position in stream time, we need to subtract
2994         accumulated time.
2995         
2996         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2997         Release lock before calling the callback function of async
2998         entries.
2999
3000 2005-11-18  Andy Wingo  <wingo@pobox.com>
3001
3002         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3003         Port goes all the way to MAXUINT16.
3004
3005         * gst/net/gstnettimeprovider.c: Make the port range the same as
3006         for the kernel: 0 assigns, otherwise ports are less than
3007         MAXUINT16.
3008
3009         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3010         port change.
3011
3012         * check/net/gstnetclientclock.c (test_functioning): Add the start
3013         of another test. 
3014
3015 2005-11-18  Wim Taymans  <wim@fluendo.com>
3016
3017         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3018         (gst_bin_remove_func), (bin_bus_handler):
3019         * gst/gstbin.h:
3020         Removing a clock provider from a bin, triggers a clock lost message
3021         so that a new clock will be selected.
3022         Adding a clock to a bin triggers a clock provider message.
3023         Make sure we reselect a clock when we received a clock lost message.
3024         Keep a reference to the element that provided the clock.
3025
3026 2005-11-18  Andy Wingo  <wingo@pobox.com>
3027
3028         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3029         the clock initially so it produces values around the base time.
3030         (gst_net_client_clock_class_init): Typo fix.
3031         (gst_net_client_clock_thread): Add note on when the socket gets
3032         closed.
3033
3034 2005-11-17  Wim Taymans  <wim@fluendo.com>
3035
3036         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3037         Free remote and local time arrays.
3038
3039 2005-11-17  Wim Taymans  <wim@fluendo.com>
3040
3041         * gst/net/gstnetclientclock.c: (do_linear_regression),
3042         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3043         Fix compilation, uninitialized vars and a forgotten continue.
3044
3045 2005-11-17  Andy Wingo  <wingo@pobox.com>
3046
3047         * check/Makefile.am (check_PROGRAMS): 
3048         * check/net/gstnetclientclock.c: Add a most minimal test for the
3049         net client clock. More to come later.
3050
3051         * gst/net/gstnet.h: 
3052         * gst/net/Makefile.am: Add netclientclock.
3053
3054         * gst/net/gstnetclientclock.h:
3055         * gst/net/gstnetclientclock.c: New files, implement an untested
3056         GstClock that takes its time from a network time provider.
3057         Implements the algorithm in network-clock.scm.
3058
3059         * tests/network-clock.scm (*window-size*): Rename from
3060         *queue-length*.
3061         * tests/network-clock.scm (network-time): 
3062         * tests/network-clock-utils.scm (q-push): Update callers.
3063
3064 2005-11-17  Wim Taymans  <wim@fluendo.com>
3065
3066         * gst/gstbin.c: (gst_bin_provide_clock_func),
3067         (gst_bin_sort_iterator_new):
3068         And unref the child too..
3069
3070 2005-11-17  Wim Taymans  <wim@fluendo.com>
3071
3072         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3073         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3074         Refactor the sort iterator so it can be used while holding the
3075         LOCK too.
3076         Make clock selection select a clock closest to the source.
3077
3078 2005-11-17  Michael Smith <msmith@fluendo.com>
3079
3080         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3081         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3082         * gst/gstclock.h:
3083           Anonymous structs are a gcc (and some other compilers) extension, so
3084           don't use them. Since this is only for ABI-compatibility, and our
3085           API/ABI freeze is over in a few days, this whole thing will only
3086           last a few days, so don't bother trying to think up a meaningful
3087           name for the struct.
3088
3089 2005-11-17  Andy Wingo  <wingo@pobox.com>
3090
3091         * gst/gstclock.h (GstClock): Add rate and offset properties,
3092         preserving ABI stability. Add rate/offset accessors. Will file bug
3093         for the freeze break.
3094
3095         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3096         and offset, trying to keep precision and avoiding
3097         underflow/overflow.
3098         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3099         functions. Make gst_clock_set_time_adjust obsolete.
3100         (gst_clock_set_time_adjust): Note that this function is obsolete.
3101         Will file bug soon.
3102
3103         * gst/base/gstbasetransform.h: Make the ABI-stability hack
3104         greppable by using GST_PADDING-1+1.
3105
3106 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
3107
3108         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3109
3110         * gst/gstmessage.c: (gst_message_parse_clock_lost):
3111           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
3112
3113         * gst/gstpadtemplate.h:
3114         * gst/gstpluginfeature.h:
3115           Don't use c++ style comments in headers (#321638).
3116
3117 2005-11-16  Andy Wingo  <wingo@pobox.com>
3118
3119         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
3120         buffer.
3121
3122         * check/net/gstnettimeprovider.c: Check to see that the time
3123         provider actually provides times. Works, yo!
3124
3125 2005-11-16  Wim Taymans  <wim@fluendo.com>
3126
3127         * check/Makefile.am:
3128         Enable more tests.
3129
3130         * check/elements/fakesrc.c: (GST_START_TEST):
3131         Set element to NULL before disposing it.
3132
3133 2005-11-16  Andy Wingo  <wingo@pobox.com>
3134
3135         * gst/net/Makefile.am:
3136         * gst/net/gstnet.h:
3137         * gst/net/gstnettimeprovider.c: 
3138         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
3139         provider, include it from gstnet.h, and add it to the build.
3140
3141         * gst/net/gstnettimepacket.h: 
3142         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
3143         sending and receiving.
3144
3145 2005-11-16  Wim Taymans  <wim@fluendo.com>
3146
3147         * check/Makefile.am:
3148         Enable valgrind check.
3149
3150         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3151         (gst_fake_src_alloc_buffer):
3152         Fix memleak.
3153
3154 2005-11-16  Wim Taymans  <wim@fluendo.com>
3155
3156         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3157         Call parent finalize too.
3158
3159 2005-11-16  Wim Taymans  <wim@fluendo.com>
3160
3161         * check/Makefile.am:
3162         Enable valgrind check that should work fine now.
3163
3164         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3165         * gst/gstqueue.c: (gst_queue_init):
3166         Fix memleaks in pad allocation.
3167
3168 2005-11-16  Andy Wingo  <wingo@pobox.com>
3169
3170         * gst/net/Makefile.am:
3171         * gst/net/gstnet.h: New part of core to hold network elements and
3172         objects. Put in core because it exposes API that applications want
3173         to use. The library is named libgstnet-tempname right now because
3174         of the existing libgstnet in gst-plugins-base. Solution is
3175         probably to rename the one in plugins-base; will file a bug for
3176         the freeze break.
3177
3178         * gst/net/gstnettimeprovider.c: 
3179         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3180         get_time call over the network.
3181
3182         * configure.ac: 
3183         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3184
3185         * check/Makefile.am:
3186         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3187         get additions shortly.
3188
3189 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3190
3191         * gst/gstpad.c: (gst_pad_new_from_static_template):
3192         * gst/gstpad.h:
3193           add gst_pad_new_from_static_template functions
3194         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3195         (gst_check_setup_sink_pad):
3196         * gst/elements/gsttee.c: (gst_tee_init):
3197           and use them
3198
3199 2005-11-16  Wim Taymans  <wim@fluendo.com>
3200
3201         * gst/gstpad.c: (gst_pad_pause_task):
3202         Removed warning, it's not really an error either.
3203
3204 2005-11-16  Wim Taymans  <wim@fluendo.com>
3205
3206         * gst/base/gstbasetransform.c:
3207         (gst_base_transform_prepare_output_buf),
3208         (gst_base_transform_event):
3209         Check if the caps are NULL, this can happen if the element
3210         is shutting down and the pad caps are set to NULL.
3211
3212 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3213
3214         * gst/elements/gsttee.c: (gst_tee_init):
3215           fix pad template leak in tee
3216
3217 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3218
3219         * gst/glib-compat.c: (g_value_dup_gst_object):
3220         * gst/glib-compat.h:
3221         * gst/gstpad.c: (gst_pad_set_property):
3222           use gst_object_ref when setting the pad template; this will
3223           trigger the pad template leaks on GLib 2.6 and the slaves
3224
3225 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3226
3227         * gst/glib-compat.c: (gst_flags_get_first_value):
3228         * gst/glib-compat.h:
3229         * gst/gstregistryxml.c:
3230           remove functions copied from GLib 2.6
3231
3232 2005-11-16  Michael Smith <msmith@fluendo.com>
3233
3234         * gst/Makefile.am:
3235           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3236           do, but only breaks with newer valgrind versions. We're not a
3237           valgrind tool, we have no link-time dependencies on libcoregrind.
3238
3239 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3240
3241         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3242           some debug changes
3243         * gst/gstmessage.h:
3244           typo fixes
3245
3246 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3247
3248         * gst/base/gstbasesrc.c: (gst_base_src_init):
3249         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3250         * gst/gstqueue.c: (gst_queue_init):
3251         * gst/gstregistryxml.c: (load_feature):
3252           Revert all these unrefs, they don't even pass make check !
3253
3254 2005-11-15  Johan Dahlin  <johan@gnome.org>
3255
3256         * gst/base/gstbasesrc.c: (gst_base_src_init):
3257         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3258         * gst/gstqueue.c: (gst_queue_init): 
3259         Free pad templates, fixes a couple of leaks.
3260
3261 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3262
3263         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3264
3265         * gst/gstpad.c: (gst_pad_get_property):
3266           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3267           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3268           (#321452)
3269
3270 2005-11-15  Wim Taymans  <wim@fluendo.com>
3271
3272         * gst/gstevent.c:
3273         Small doc update.
3274
3275 2005-11-15  Andy Wingo  <wingo@pobox.com>
3276
3277         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3278
3279         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3280         using GST_CLOCK_TIME_NONE to disable base time management.
3281         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3282         time if it was NONE before.
3283         (gst_pipeline_change_state): Only munge the base time if
3284         stream_time != GST_CLOCK_TIME_NONE.
3285
3286         * check/gst/gstpipeline.c (test_base_time): Punt around the
3287         problem of the probe not being called, because that's not the
3288         issue I'm looking at. Add a check that setting stream_time to NONE
3289         disables base time management.
3290         
3291 2005-11-15  Wim Taymans  <wim@fluendo.com>
3292
3293         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3294         segment_stop == -1 at startup.
3295
3296         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3297         (gst_base_transform_change_state):
3298         Init segment values at start.
3299
3300 2005-11-15  Wim Taymans  <wim@fluendo.com>
3301
3302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3303         0 segment values are 0 in any format.
3304
3305         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3306         * gst/base/gstbasetransform.h:
3307         Parse newsegment correctly in basetransform
3308
3309         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3310         Sync to clock using updated segment values.
3311
3312 2005-11-15  Andy Wingo  <wingo@pobox.com>
3313
3314         * check/gst/gstpipeline.c (test_base_time): Add check that the
3315         base time and stream time are reset correctly.
3316
3317 2005-11-15  Wim Taymans  <wim@fluendo.com>
3318
3319         * docs/design/part-TODO.txt:
3320         Some more TODO items.
3321
3322 2005-11-15  Andy Wingo  <wingo@pobox.com>
3323
3324         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3325         error if the user selected "no clock" as the clocking method.
3326
3327         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3328         timestamps with live capture.
3329
3330         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3331         is 0 but we are a live source, timestamp the buffers using the
3332         element's clock.
3333
3334 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3335
3336         * docs/gst/gstreamer-sections.txt:
3337         * gst/gsterror.c:
3338         * gst/gstghostpad.c:
3339         * gst/gstobject.h:
3340         * gst/gstxml.c:
3341           more section docs
3342
3343 2005-11-14  Wim Taymans  <wim@fluendo.com>
3344
3345         * common/gst.supp:
3346           add suppressions from Wim's Debian machine
3347
3348 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3349
3350         * common/gst.supp:
3351           add suppressions from Andy's AMD64 Ubuntu machine
3352
3353 2005-11-14  Andy Wingo  <wingo@pobox.com>
3354
3355         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3356         STATE_LOCK not necessary. Fixes #311489.
3357
3358         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3359         #305291.
3360
3361         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3362         this function is not implemented.
3363
3364 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3365
3366         * gst/base/gstbasetransform.c:
3367         (gst_base_transform_prepare_output_buf):
3368         Ref the source pad caps while we need them.
3369         Fixes (#321386)
3370
3371 2005-11-11  Wim Taymans  <wim@fluendo.com>
3372
3373         * docs/gst/gstreamer-sections.txt:
3374         Added some docs for GstCollectData.
3375
3376         * gst/base/gstadapter.c:
3377         Some small code example fix.
3378
3379         * gst/base/gstcollectpads.c:
3380         * gst/base/gstcollectpads.h:
3381         Document some more.
3382
3383 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3384
3385         * configure.ac: back to HEAD
3386
3387 === release 0.9.5 ===
3388
3389 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3390
3391         * configure.ac:
3392           releasing 0.9.5, "Bike Lunch Day"
3393
3394 2005-11-11  Wim Taymans  <wim@fluendo.com>
3395
3396         * gst/gstbuffer.c: (_gst_buffer_copy):
3397         Copy more flags.
3398
3399         * gst/gstcaps.c: (gst_caps_is_equal):
3400         Fix some docs.
3401         Make _is_equal fast in the trivial cases.
3402
3403         * gst/gstminiobject.c:
3404         * gst/gstminiobject.h:
3405         More docs. Spifify .h file.
3406
3407         * gst/gstutils.c:
3408         Small doc update.
3409
3410 2005-11-11  Wim Taymans  <wim@fluendo.com>
3411
3412         * gst/base/gstbasetransform.c:
3413         (gst_base_transform_prepare_output_buf),
3414         (gst_base_transform_handle_buffer):
3415         Small cleanups.
3416         If we're processing a buffer and need to allocate an output
3417         buffer, we cannot accept a format change. If we did get a 
3418         format change, we have to alloc a buffer ourselves of the 
3419         right size.
3420
3421 2005-11-11  Wim Taymans  <wim@fluendo.com>
3422
3423         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3424         While checking the flag for reentrancy in the gstcaps function
3425         is nice to detect recursive invocations, it also makes it 
3426         impossible to call getcaps from multiple threads, which must be
3427         possible. So, checking for recursive calls has to go.
3428
3429 2005-11-11  Michael Smith <msmith@fluendo.com>
3430
3431         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3432           Don't sync on buffers that fall partially outside our current
3433           segment. Prevents an assertion failure/abort playing some files.
3434
3435 2005-11-10  Andy Wingo  <wingo@pobox.com>
3436
3437         * check/gst/gstbin.c (test_message_state_changed_children): Style
3438         fix..
3439
3440         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3441         gst_bus_poll with the signal watch. Ensures that poll and a signal
3442         watch see the same messages.
3443
3444         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3445         a poll and a watch at the same time get the same messages.
3446
3447 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3448
3449         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3450         * gst/gstcaps.c: (gst_caps_intersect):
3451           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3452           and it's not needed.
3453
3454 2005-11-10  Wim Taymans  <wim@fluendo.com>
3455
3456         * docs/design/part-TODO.txt:
3457         Updated todo.
3458
3459 2005-11-10  Wim Taymans  <wim@fluendo.com>
3460
3461         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3462         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3463         (gst_base_src_do_sync), (gst_base_src_get_range):
3464         Implement clock sync in base class.
3465
3466 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3467
3468         patch by: Tim-Philipp Müller <tim at centricular dot net>
3469
3470         * gst/gststructure.c: (gst_structure_parse_field),
3471         (gst_structure_from_string):
3472           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3473           so that gst_parse_launch() can deal with spaces in filtered link
3474           caps (fixes #164479)
3475         * check/gst/capslist.h:
3476         * check/gst/gststructure.c: (GST_START_TEST):
3477           add unit tests for this change
3478
3479 2005-11-10  Wim Taymans  <wim@fluendo.com>
3480
3481         * docs/gst/gstreamer-sections.txt:
3482         * gst/gstelement.c:
3483         * gst/gstelement.h:
3484         Fix docs, move some STATE macros to private.
3485
3486 2005-11-10  Wim Taymans  <wim@fluendo.com>
3487
3488         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3489         Added check for bug #317341
3490
3491         * gst/gstbuffer.c:
3492         * gst/gstbuffer.h:
3493         Some more spiffifying.
3494
3495         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3496         Call peer linkfunction if we are a source pad. Totally fixes
3497         #317341
3498
3499         * gst/gstpad.c:
3500         Update docs, source pads should call the peer linkfunction
3501         so they can atomically perform the pad link.
3502
3503 2005-11-09  Wim Taymans  <wim@fluendo.com>
3504
3505         * gst/gstbuffer.c:
3506         * gst/gstbuffer.h:
3507         Uber-spiffy-spiffify some more.
3508
3509 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3510
3511         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3512         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3513         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3514         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3515         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3516         * gst/gstpad.c: (gst_pad_init):
3517           Use GST_DEBUG_FUNCPTR() more extensively.
3518
3519 2005-11-09  Wim Taymans  <wim@fluendo.com>
3520
3521         * gst/gstobject.c: (gst_object_class_init):
3522         * gst/gstobject.h:
3523         Documentation fixes.
3524
3525 2005-11-09  Edward Hervey  <edward@fluendo.com>
3526
3527         * gst/gsttypefindfactory.c:
3528         Fix docs.
3529         
3530 2005-11-09  Edward Hervey  <edward@fluendo.com>
3531
3532         * gst/base/gsttypefindhelper.c:
3533         * gst/gsttypefind.c:
3534         * gst/gsttypefind.h:
3535         Fix docs.
3536
3537 2005-11-09  Wim Taymans  <wim@fluendo.com>
3538
3539         * gst/gstiterator.c:
3540         Fix revision data.
3541
3542         * gst/gsttask.c:
3543         * gst/gsttask.h:
3544         Fix docs.
3545
3546 2005-11-09  Wim Taymans  <wim@fluendo.com>
3547
3548         * gst/gstevent.h:
3549         * gst/gsturi.h:
3550         Fix docs.
3551
3552 2005-11-09  Wim Taymans  <wim@fluendo.com>
3553
3554         * docs/gst/gstreamer-sections.txt:
3555         Moved the message async delivery private lock and cond
3556         to the private section.
3557
3558         * gst/gstmessage.c:
3559         * gst/gstmessage.h:
3560         Fixed docs.
3561
3562 2005-11-09  Edward Hervey  <edward@fluendo.com>
3563
3564         * docs/gst/gstreamer-sections.txt:
3565         * gst/gsturi.c:
3566         * gst/gsturi.h:
3567         Document GstURIHandler
3568
3569 2005-11-09  Wim Taymans  <wim@fluendo.com>
3570
3571         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3572         (gst_iterator_find_custom):
3573         * gst/gstiterator.h:
3574         Fix iterator docs.
3575
3576 2005-11-09  Wim Taymans  <wim@fluendo.com>
3577
3578         * gst/gstbin.h:
3579         Document another field.
3580
3581         * gst/gststructure.c:
3582         * gst/gststructure.h:
3583         Document.
3584
3585 2005-11-09  Wim Taymans  <wim@fluendo.com>
3586
3587         * gst/gstbin.h:
3588         Documented structs.
3589
3590 2005-11-09  Wim Taymans  <wim@fluendo.com>
3591
3592         * docs/gst/gstreamer-sections.txt:
3593         Added some new macros.
3594
3595         * gst/gstclock.c:
3596         * gst/gstclock.h:
3597         * gst/gstobject.h:
3598         Docs updates.
3599
3600 2005-11-09  Wim Taymans  <wim@fluendo.com>
3601
3602         * docs/design/part-TODO.txt:
3603         Some more items for the TODO
3604
3605         * gst/gstcaps.c:
3606         * gst/gstcaps.h:
3607         Document GstCaps.
3608
3609 2005-11-09  Andy Wingo  <wingo@pobox.com>
3610
3611         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3612         to work on something else now tho...
3613
3614         * gst/base/gstadapter.c: More adapter docs.
3615
3616         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3617         (gst_file_sink_stop): New functions, replace the state change
3618         handler.
3619         (gst_file_sink_class_init): Hook up the start and stop functions.
3620         (gst_file_sink_base_init): Don't set the state change handler any
3621         more. It was a bit ugly too, being set from here...
3622         (gst_file_sink_get_property, gst_file_sink_set_property):
3623         Cleanups...
3624         (gst_file_sink_set_location): More robust check that doesn't call
3625         GST_STATE. Ugggggg.
3626
3627 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3628
3629         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3630           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3631
3632 2005-11-08  Wim Taymans  <wim@fluendo.com>
3633
3634         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3635         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3636         (gst_base_sink_chain), (gst_base_sink_change_state):
3637         * gst/base/gstbasesink.h:
3638         * gst/base/gstbasesrc.h:
3639         * gst/gstelement.h:
3640         * gst/gstevent.h:
3641         Avoid excessive typechecking in macros.
3642
3643         * gst/gstminiobject.c: (gst_mini_object_get_type),
3644         (gst_mini_object_init), (gst_mini_object_new),
3645         (gst_mini_object_free):
3646         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3647         (gst_object_finalize):
3648         Remove cruft code, optimize alloc_trace.
3649
3650 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3651
3652         * docs/faq/gst-uninstalled:
3653           fix up PS1 for systems that try to reset it
3654
3655 2005-11-07  Wim Taymans  <wim@fluendo.com>
3656
3657         * gst/base/gstbasesrc.c: (gst_base_src_init),
3658         (gst_base_src_get_range):
3659         Set the segment_end to -1 initially. Fixed typefind.
3660
3661 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3662
3663         * gst/base/gstadapter.c:
3664           Debug category should be 'adapter', not 'GstAdapter'.
3665           
3666         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3667         (gst_collectpads_class_init), (gst_collectpads_init),
3668         (gst_collectpads_peek), (gst_collectpads_pop),
3669         (gst_collectpads_event), (gst_collectpads_chain):
3670           Add debug category and some debugging output. Use boilerplate
3671           macros. Remove some extraneous words from docs.
3672
3673 2005-11-05  Andy Wingo  <wingo@pobox.com>
3674
3675         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3676         macro.
3677
3678 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3679
3680         * docs/gst/gstreamer-sections.txt:
3681         * gst/gstcaps.h:
3682         * gst/gstinfo.c:
3683         * gst/gstminiobject.h:
3684         * gst/gstobject.h:
3685         * gst/gstutils.h:
3686           more docs added
3687
3688 2005-11-04  Wim Taymans  <wim@fluendo.com>
3689
3690         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3691         Small update to stop at the configured segment_end
3692         position.
3693
3694 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3695
3696         * gst/gstregistry.c:
3697         * gst/gstregistry.h:
3698           added missing docs
3699
3700 2005-11-04  Edward Hervey  <edward@fluendo.com>
3701
3702         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3703         Check if we are doing a segment seek and have arrived at the
3704         end of that segment.
3705
3706 2005-11-04  Wim Taymans  <wim@fluendo.com>
3707
3708         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3709         Don't leak a mutex unlock in case of an error.
3710
3711         * gst/gstbus.h:
3712         Doc fixes.
3713
3714 2005-11-04  Wim Taymans  <wim@fluendo.com>
3715
3716         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3717         (gst_bus_post):
3718         Get the context to wake up only once.
3719
3720 2005-11-03  Wim Taymans  <wim@fluendo.com>
3721
3722         * check/states/sinks.c: (GST_START_TEST):
3723         Uncomment fixed check.
3724
3725         * docs/design/part-TODO.txt:
3726         Updated TODO.
3727
3728         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3729         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3730         (gst_base_sink_get_position):
3731         If we are going to PLAYING, post the right pending state
3732         when we post the intermediate paused message.
3733
3734         * gst/gstelement.c: (gst_element_continue_state),
3735         (gst_element_set_state_func), (gst_element_change_state):
3736         Don't post state changes that were between the same state
3737         and were not ASYNC.
3738
3739 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3740
3741         * docs/gst/gstreamer-sections.txt:
3742         * gst/gstcaps.h:
3743         * gst/gstinfo.c:
3744         * gst/gstminiobject.h:
3745         * gst/gstobject.h:
3746         * gst/gstutils.h:
3747           more docs and doc style fixes
3748
3749 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3750
3751         * docs/gst/gstreamer-sections.txt:
3752         * gst/gstelement.c:
3753         * gst/gstminiobject.c:
3754         doc fixes
3755
3756 2005-11-03  Andy Wingo  <wingo@pobox.com>
3757
3758         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3759         state-changed messages actually have the right order and the right
3760         values.
3761
3762 2005-11-03  Wim Taymans  <wim@fluendo.com>
3763
3764         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3765         Added some more checks. Specifically the case where NO_PREROLL
3766         elements are in the pipeline.
3767
3768         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3769         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3770         (gst_base_sink_get_position):
3771         Post READY->PAUSED state change messages too.
3772         Fix bug where VOID was posted as pending state...
3773
3774         * gst/gstbin.c: (gst_bin_recalc_state):
3775         use _element_continue_state() to continue the state change.
3776
3777         * gst/gstelement.c: (gst_element_continue_state),
3778         (gst_element_commit_state), (gst_element_set_state_func),
3779         (gst_element_change_state), (gst_element_change_state_func):
3780         Lots of state change cleanups, assign the STATE_RETURN in
3781         a new continue_state() function that also propagates the
3782         last return value from a state change to the app.
3783         Update some debug statements with proper category.
3784
3785 2005-11-03  Wim Taymans  <wim@fluendo.com>
3786
3787         * docs/design/part-events.txt:
3788         * docs/design/part-gstpipeline.txt:
3789         * docs/design/part-messages.txt:
3790         * docs/design/part-overview.txt:
3791         * docs/design/part-seeking.txt:
3792         * docs/design/part-states.txt:
3793         * docs/design/part-trickmodes.txt:
3794         * docs/manual/advanced-position.xml:
3795         Small docs updates.
3796
3797         * gst/gstobject.h:
3798         People think !! is ugly, this looks better.
3799
3800         * gst/gstpad.c: (gst_pad_set_blocked_async):
3801         Remove !! since it's fixed elsewhere now.
3802
3803 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3804
3805         * gst/gstminiobject.h:
3806         * gst/gstobject.h:
3807           Add !! to _FLAG_IS_SET macros to make the result boolean.
3808
3809 2005-11-03  Edward Hervey  <edward@fluendo.com>
3810
3811         * gst/gstpad.c: (gst_pad_set_blocked_async):
3812         comparing a flag and a gboolean rarely returns coherent results...
3813         Added two characters (!!) to make that work correctly.
3814         
3815 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3816
3817         * gst/gstbus.c: (gst_bus_class_init):
3818           Fix some typos.
3819           
3820         * gst/gstqueue.c: (gst_queue_loop):
3821           Don't assume a miniobject that isn't a buffer is an
3822           event (it could be that there is a refcounting
3823           problem somewhere and the pointer is stale and
3824           refers to an already destroyed miniobject).
3825
3826 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3827
3828         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3829
3830 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3831
3832         * docs/manual/advanced-position.xml:
3833           Update seek example and explanations to current 0.9 API.
3834
3835         * gst/elements/gsttypefindelement.c:
3836         (gst_type_find_element_activate):
3837           Remove FIXME comment now that the found caps
3838           are unreffed.
3839
3840 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3841
3842         * gst/gstregistryxml.c: (load_feature):
3843           Add another GST_STR_NULL instance
3844
3845 2005-11-02  Edward Hervey  <edward@fluendo.com>
3846
3847         * gst/gstpad.c: (handle_pad_block):
3848         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3849         
3850 2005-11-02  Wim Taymans  <wim@fluendo.com>
3851
3852         * gst/gstbin.c:
3853         Fix typo in docs.
3854
3855         * gst/gstelement.c: (gst_element_commit_state):
3856         Remove unused value.
3857
3858         * gst/gstiterator.c:
3859         Mention that the returned element is reffed in the docs.
3860
3861 2005-11-02  Wim Taymans  <wim@fluendo.com>
3862
3863         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3864         (gst_pad_push), (gst_pad_push_event):
3865         Unlock blocked pads when they are flushed.
3866
3867 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3868
3869         * docs/README:
3870         * docs/gst/gstreamer-sections.txt:
3871         * gst/gstbin.c:
3872           doc updates
3873         * gst/gstregistry.c: (gst_registry_scan_path_level):
3874           fix for a nasty little missed situation where an installed plug-in
3875           which was in the cache did not get overridden by an uninstalled one
3876           which was earlier in the plugin path because the newly created plugin
3877           for the uninstalled one (not in the registry) didn't get its
3878           ->registered set to TRUE
3879
3880 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3881
3882         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3883         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3884         (gst_collectpads_is_active), (gst_collectpads_collect),
3885         (gst_collectpads_collect_range), (gst_collectpads_start),
3886         (gst_collectpads_stop), (gst_collectpads_peek),
3887         (gst_collectpads_pop), (gst_collectpads_available),
3888         (gst_collectpads_read), (gst_collectpads_flush):
3889           Guard public API with assertions.
3890         
3891         * gst/gstpad.c:
3892           Fix docs for gst_pad_set_link_function().
3893
3894 2005-11-02  Johan Dahlin  <johan@gnome.org>
3895
3896         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3897         Unref found_caps after we used it.
3898
3899 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3900
3901         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3902           Don't try to ref NULL.
3903
3904 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3905
3906         * win32/common/config.h.in:
3907           provide a GST_FUNCTION that just gives a string for now
3908
3909 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3910
3911         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3912         (gst_object_flags_get_type), (register_gst_bin_flags),
3913         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3914         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3915         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3916         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3917         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3918         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3919         (gst_clock_flags_get_type), (register_gst_state),
3920         (gst_state_get_type), (register_gst_state_change_return),
3921         (gst_state_change_return_get_type), (register_gst_state_change),
3922         (gst_state_change_get_type), (register_gst_element_flags),
3923         (gst_element_flags_get_type), (register_gst_core_error),
3924         (gst_core_error_get_type), (register_gst_library_error),
3925         (gst_library_error_get_type), (register_gst_resource_error),
3926         (gst_resource_error_get_type), (register_gst_stream_error),
3927         (gst_stream_error_get_type), (register_gst_event_type),
3928         (gst_event_type_get_type), (register_gst_seek_type),
3929         (gst_seek_type_get_type), (register_gst_seek_flags),
3930         (gst_seek_flags_get_type), (register_gst_format),
3931         (gst_format_get_type), (register_gst_index_certainty),
3932         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3933         (gst_index_entry_type_get_type),
3934         (register_gst_index_lookup_method),
3935         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3936         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3937         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3938         (gst_index_flags_get_type), (register_gst_debug_level),
3939         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3940         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3941         (gst_iterator_result_get_type), (register_gst_iterator_item),
3942         (gst_iterator_item_get_type), (register_gst_message_type),
3943         (gst_message_type_get_type), (register_gst_mini_object_flags),
3944         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3945         (gst_pad_link_return_get_type), (register_gst_flow_return),
3946         (gst_flow_return_get_type), (register_gst_activate_mode),
3947         (gst_activate_mode_get_type), (register_gst_pad_direction),
3948         (gst_pad_direction_get_type), (register_gst_pad_flags),
3949         (gst_pad_flags_get_type), (register_gst_pad_presence),
3950         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3951         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3952         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3953         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3954         (gst_plugin_flags_get_type), (register_gst_rank),
3955         (gst_rank_get_type), (register_gst_query_type),
3956         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3957         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3958         (gst_tag_flag_get_type), (register_gst_task_state),
3959         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3960         (gst_alloc_trace_flags_get_type),
3961         (register_gst_type_find_probability),
3962         (gst_type_find_probability_get_type), (register_gst_uri_type),
3963         (gst_uri_type_get_type), (register_gst_parse_error),
3964         (gst_parse_error_get_type):
3965         * win32/common/gstversion.h:
3966           update win32 copies
3967
3968 2005-11-01  Luca Ognibene  <luogni@tin.it>
3969
3970         * gst/gst.c:
3971           fix docs. popt is dead, long live GOption.
3972
3973 2005-10-31  Wim Taymans  <wim@fluendo.com>
3974
3975         * gst/gstbuffer.h:
3976         Small doc fix.
3977
3978 2005-10-31  Andy Wingo  <wingo@pobox.com>
3979
3980         * Boo!
3981
3982         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3983
3984         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3985         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3986         the possibility of deadlocks here if code calling notify() or
3987         set() has a lock that can be taken in another notify handler (ABBA
3988         with class lock and e.g. python GIL state lock).
3989
3990 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3991
3992         * gst/gstbus.c: Doc updates.
3993
3994 2005-10-28  Wim Taymans  <wim@fluendo.com>
3995
3996         * docs/design/part-TODO.txt:
3997         * gst/gstiterator.c:
3998         * gst/gstsystemclock.c:
3999         * gst/gstsystemclock.h:
4000         Doc updates.
4001
4002 2005-10-28  Edward Hervey  <edward@fluendo.com>
4003
4004         * docs/gst/gstreamer-docs.sgml:
4005         * docs/gst/gstreamer-sections.txt:
4006         the GstURIType documentation page is private, it only defines GstURIType
4007         which should be defined in the GstURIHandler page
4008         
4009 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4010
4011         * gst/gstbin.c: (gst_bin_class_init):
4012         * gst/gstbin.h:
4013         * gst/gstutils.c:
4014         Documentation updates.
4015
4016 2005-10-28  Wim Taymans  <wim@fluendo.com>
4017
4018         * docs/gst/gstreamer-sections.txt:
4019         * gst/gstclock.c:
4020         * gst/gstclock.h:
4021         Documented the clocks.
4022
4023 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
4024
4025         * docs/gst/gstreamer-sections.txt:
4026           move some macros to private sections
4027         * gst/gstminiobject.c:
4028         * gst/gstminiobject.h:
4029           add descriptions provided by ds and some more
4030         * gst/gstpad.h:
4031           mark macro as to be removed
4032
4033 2005-10-28  Wim Taymans  <wim@fluendo.com>
4034
4035         * docs/design/part-TODO.txt:
4036         Add an item to TODO.
4037
4038         * gst/gstiterator.c: (gst_iterator_fold),
4039         (gst_iterator_find_custom):
4040         * gst/gstiterator.h:
4041         Add iterator docs.
4042
4043 2005-10-28  Wim Taymans  <wim@fluendo.com>
4044
4045         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4046         (gst_base_transform_init):
4047         Don't leak class.
4048
4049         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4050         An EOS event marks the queue as completely filled.
4051
4052 2005-10-27  Wim Taymans  <wim@fluendo.com>
4053
4054         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4055         (gst_base_sink_do_sync), (gst_base_sink_get_position):
4056         Some more debugging.
4057
4058         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4059         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4060         (gst_base_transform_event), (gst_base_transform_getrange),
4061         (gst_base_transform_chain):
4062         * gst/base/gstbasetransform.h:
4063         Fix debugging,
4064         Protect transform and concurrent buffer alloc with a new lock.
4065         Try not to break ABI/API.
4066
4067 2005-10-27  Wim Taymans  <wim@fluendo.com>
4068
4069         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4070         (gst_base_src_init), (gst_base_src_query),
4071         (gst_base_src_default_newsegment),
4072         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4073         (gst_base_src_send_event), (gst_base_src_event_handler),
4074         (gst_base_src_pad_get_range), (gst_base_src_loop),
4075         (gst_base_src_unlock), (gst_base_src_default_negotiate),
4076         (gst_base_src_start), (gst_base_src_deactivate),
4077         (gst_base_src_activate_push), (gst_base_src_change_state):
4078         Move some stuff around and cleanup things.
4079
4080 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
4081
4082         * gst/base/gstbasesrc.c: (gst_base_src_query):
4083           Add missing break statements.
4084
4085 2005-10-27  Wim Taymans  <wim@fluendo.com>
4086
4087         * check/gst/gstbin.c: (GST_START_TEST):
4088         An extra refcount is taken in basesrc.
4089
4090         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4091         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4092         (gst_base_src_loop):
4093         Small cleanups, check for flushing after being unlocked from the 
4094         LIVE_LOCK. take refcounts correctly (not yet everywhere).
4095         Don't send out EOS when going to READY.
4096
4097 2005-10-27  Wim Taymans  <wim@fluendo.com>
4098
4099         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4100         (gst_base_sink_get_position):
4101         Some more debug.
4102
4103         * gst/gstbin.c: (message_check), (bin_replace_message),
4104         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4105         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4106         (bin_query_duration_init), (bin_query_duration_fold),
4107         (bin_query_duration_done), (bin_query_generic_fold),
4108         (gst_bin_query):
4109         * tools/gst-launch.c: (main):
4110         Remove old option.
4111
4112 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
4113
4114         * examples/controller/audio-example.c: (main):
4115         * examples/queue/queue.c: (event_loop):
4116         * gst/base/gstbasetransform.h:
4117         * gst/gstelement.c: (gst_element_send_event):
4118         * gst/gstevent.h:
4119         * gst/gstpad.c: (gst_pad_send_event):
4120           fixing examples
4121           fixing docs typos
4122           changing log priority in error situations
4123
4124 2005-10-25  Wim Taymans  <wim@fluendo.com>
4125
4126         * gst/gstbin.c: (message_check), (bin_replace_message),
4127         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4128         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4129         (bin_query_duration_init), (bin_query_duration_fold),
4130         (bin_query_duration_done), (bin_query_generic_fold),
4131         (gst_bin_query):
4132         Some doc and debug updates.
4133         Cache previously requested query DURATION for speed. invalidate
4134         cached duration if element posts a DURATION message.
4135
4136 2005-10-25  Wim Taymans  <wim@fluendo.com>
4137
4138         * docs/design/part-TODO.txt:
4139         Update TODO.
4140
4141         * gst/gstbin.c: (message_check), (bin_replace_message),
4142         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4143         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4144         (bin_query_duration_init), (bin_query_duration_fold),
4145         (bin_query_duration_done), (bin_query_generic_fold),
4146         (gst_bin_query):
4147         Handle SEGMENT_START/DONE messages correctly.
4148         More evolved query algorithm that handles duration queries
4149         correctly.
4150
4151         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4152         (gst_element_get_state_func), (gst_element_abort_state),
4153         (gst_element_commit_state), (gst_element_lost_state):
4154         Some more debugging.
4155
4156         * gst/gstmessage.h:
4157         Added doc.
4158
4159 2005-10-25  Wim Taymans  <wim@fluendo.com>
4160
4161         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4162         Don't use invalid stream_time.
4163
4164         * gst/gstevent.c: (gst_event_new_newsegment):
4165         stream_time in newsegment cannot be undefined.
4166
4167 2005-10-24  Wim Taymans  <wim@fluendo.com>
4168
4169         * gst/gstbus.c:
4170         Doc fix.
4171
4172         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4173         (gst_queue_loop):
4174         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4175
4176 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4177
4178         * docs/libs/tmpl/gstdparam.sgml:
4179         * docs/libs/tmpl/gstdplinint.sgml:
4180         * docs/libs/tmpl/gstdpman.sgml:
4181         * docs/libs/tmpl/gstdpsmooth.sgml:
4182         * docs/libs/tmpl/gstunitconvert.sgml:
4183           these are obsolete
4184
4185 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4186
4187         * configure.ac:
4188           back to HEAD
4189
4190 === release 0.9.4 ===
4191
4192 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4193
4194         * configure.ac:
4195           releasing 0.9.4, "Tyrannosaurus Rex"
4196
4197 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4198
4199         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4200         (gst_file_sink_get_current_offset):
4201           Use fseeko() and ftello() if available. When falling back on
4202           lseek() to get the current offset, fflush() first to make sure
4203           everything is up-to-date and we get the right offset.
4204
4205 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4206
4207         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4208         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4209         * gst/gsterror.c: (_gst_stream_errors_init):
4210         * gst/gsterror.h:
4211         * gst/gstqueue.c: (gst_queue_loop):
4212         * po/POTFILES.in:
4213           remove prematurely added error category and clean up the instances
4214
4215 2005-10-21  Wim Taymans  <wim@fluendo.com>
4216
4217         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4218         (gst_base_sink_get_position), (gst_base_sink_query),
4219         (gst_base_sink_change_state):
4220         Simply set the right flag when going to playing, that's all
4221         we need to do instead of calling a function inside the object
4222         lock (that could take the lock as well and deadlock)
4223
4224 2005-10-21  Wim Taymans  <wim@fluendo.com>
4225
4226         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4227         (gst_base_src_loop):
4228         Don't warn, the peer element knows what to do best when
4229         the seek failed, it might try something else.
4230
4231 2005-10-21  Wim Taymans  <wim@fluendo.com>
4232
4233         * gst/base/gstbasesrc.c: (gst_base_src_init),
4234         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4235         Fix seeking.
4236
4237 2005-10-21  Wim Taymans  <wim@fluendo.com>
4238
4239         * docs/design/part-segments.txt:
4240         More docs.
4241
4242         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4243         Correctly set caps, even on the subbufer.
4244
4245 2005-10-21  Wim Taymans  <wim@fluendo.com>
4246
4247         * docs/gst/gstreamer-docs.sgml:
4248         * docs/gst/gstreamer-sections.txt:
4249         * gst/gstelement.h:
4250         * gst/gstevent.c:
4251         * gst/gstevent.h:
4252         * gst/gstmessage.h:
4253         * gst/gstpad.h:
4254         * gst/gstparse.h:
4255         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4256         * gst/gsttask.h:
4257         * gst/gstutils.c:
4258         * gst/gstutils.h:
4259         And 2% more doc coverage.
4260
4261 2005-10-21  Andy Wingo  <wingo@pobox.com>
4262
4263         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4264         position reporting.
4265
4266 2005-10-20  Wim Taymans  <wim@fluendo.com>
4267
4268         * gst/gsterror.c: (gst_error_get_message):
4269         * gst/gstparse.h:
4270         * gst/gstquery.h:
4271         * gst/gststructure.c:
4272         * gst/gsttrace.c:
4273         * gst/gstutils.c:
4274         More docs.
4275
4276 2005-10-20  Wim Taymans  <wim@fluendo.com>
4277
4278         * gst/gstbuffer.h:
4279         * gst/gstpad.c:
4280         * gst/gstparse.c:
4281         Another 1% more coverage.
4282
4283 2005-10-20  Wim Taymans  <wim@fluendo.com>
4284
4285         * docs/gst/gstreamer-sections.txt:
4286         * gst/gstelement.c: (gst_element_get_state_func),
4287         (gst_element_abort_state), (gst_element_commit_state),
4288         (gst_element_lost_state):
4289         * gst/gstevent.h:
4290         * gst/gstquery.c: (gst_query_set_position),
4291         (gst_query_parse_position), (gst_query_set_duration),
4292         (gst_query_parse_duration), (gst_query_new_convert):
4293         * gst/gstutils.c:
4294         Yay! 1% more docs coverage.
4295
4296 2005-10-20  Wim Taymans  <wim@fluendo.com>
4297
4298         * gst/gstpad.h:
4299         * gst/gstquery.c: (gst_query_set_position),
4300         (gst_query_parse_position), (gst_query_set_duration),
4301         (gst_query_parse_duration), (gst_query_new_convert):
4302         * gst/gstquery.h:
4303         * gst/gstutils.c: (gst_element_query_convert):
4304         * gst/gstutils.h:
4305         Docs and consistency fixes.
4306
4307 2005-10-20  Wim Taymans  <wim@fluendo.com>
4308
4309         * gst/gsttask.c:
4310         * gst/gsttask.h:
4311         More docs.
4312
4313 2005-10-20  Wim Taymans  <wim@fluendo.com>
4314
4315         * gst/gstbin.c: (message_check), (bin_replace_message),
4316         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4317         (update_degree), (gst_bin_sort_iterator_next),
4318         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4319         Reworked the message handling a bit, cache the messages instead of
4320         only the senders. alows us to do more in the future.
4321
4322 2005-10-20  Wim Taymans  <wim@fluendo.com>
4323
4324         * docs/design/part-TODO.txt:
4325         Update TODO
4326
4327         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4328         (gst_base_sink_query):
4329         Don't use clock time to report position when in EOS.
4330
4331 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4332
4333         * tools/gst-inspect.c: (print_interfaces),
4334         (print_element_properties_info), (print_element_info):
4335           Fix interface output with gst-inspect -a; don't print
4336           newlines after double/float properties.
4337
4338 2005-10-20  Wim Taymans  <wim@fluendo.com>
4339
4340         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4341         (gst_base_sink_query):
4342         Speed up current position calculation.
4343
4344         * gst/base/gstbasesrc.c: (gst_base_src_query),
4345         (gst_base_src_default_newsegment):
4346         Correctly set stream position in newsegment.
4347
4348         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4349         (update_degree), (gst_bin_sort_iterator_next),
4350         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4351         * gst/gstmessage.c: (gst_message_new_custom):
4352         Clean up debugging info
4353
4354         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4355         (gst_queue_loop), (gst_queue_handle_src_query):
4356         Pause task faster.
4357
4358 2005-10-19  Wim Taymans  <wim@fluendo.com>
4359
4360         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4361         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4362         Fix query handling again.
4363
4364 2005-10-19  Wim Taymans  <wim@fluendo.com>
4365
4366         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4367         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4368         * gst/base/gstbasesrc.c: (gst_base_src_query):
4369         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4370         * gst/elements/gsttypefindelement.c:
4371         (gst_type_find_handle_src_query), (find_element_get_length),
4372         (gst_type_find_element_activate):
4373         API change fix.
4374
4375         * gst/gstquery.c: (gst_query_new_position),
4376         (gst_query_set_position), (gst_query_parse_position),
4377         (gst_query_new_duration), (gst_query_set_duration),
4378         (gst_query_parse_duration), (gst_query_set_segment),
4379         (gst_query_parse_segment):
4380         * gst/gstquery.h:
4381         Bundling query position/duration is not a good idea since duration
4382         does not change much and we don't want to recalculate it for every
4383         position query, so they are separated again..
4384         Base value in segment query is not needed.
4385
4386         * gst/gstqueue.c: (gst_queue_handle_src_query):
4387         * gst/gstutils.c: (gst_element_query_position),
4388         (gst_element_query_duration), (gst_pad_query_position),
4389         (gst_pad_query_duration):
4390         * gst/gstutils.h:
4391         Updates for query API change.
4392         Added some docs here and there.
4393
4394 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4395
4396         * check/gst/gstbin.c: (GST_START_TEST):
4397         * check/gst/gstghostpad.c: (GST_START_TEST):
4398         * check/pipelines/cleanup.c: (GST_START_TEST):
4399           wait on thread to die so we can check refcount correctly
4400
4401 2005-10-18  Wim Taymans  <wim@fluendo.com>
4402
4403         * check/pipelines/stress.c: (GST_START_TEST):
4404         Make check a little more time consuming.
4405
4406 2005-10-18  Wim Taymans  <wim@fluendo.com>
4407
4408         * check/Makefile.am:
4409         * check/pipelines/stress.c: (GST_START_TEST),
4410         (simple_launch_lines_suite), (main):
4411         Small state change torture test.
4412
4413         * docs/design/part-states.txt:
4414         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4415         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4416         (gst_base_sink_change_state):
4417         Never take state lock from streaming thread, clean up ugly
4418         hacks. Unfortunatly core does not yet support nice ways to
4419         async commit state.
4420         
4421         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4422         (bin_bus_handler):
4423         Start state recalc if a STATE_DIRTY message is posted, but only
4424         on the toplevel bin.
4425
4426         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4427         (gst_element_get_state_func), (gst_element_abort_state),
4428         (gst_element_commit_state), (gst_element_lost_state),
4429         (gst_element_set_state_func), (gst_element_change_state):
4430         * gst/gstelement.h:
4431         State variables are now protected with the LOCK, the state
4432         lock is only used to serialize _set_state().
4433
4434 2005-10-18  Wim Taymans  <wim@fluendo.com>
4435
4436         * check/gst/gstbin.c: (GST_START_TEST):
4437         * check/gst/gstmessage.c: (GST_START_TEST):
4438         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4439         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4440         (bin_bus_handler):
4441         * gst/gstelement.c: (gst_element_abort_state),
4442         (gst_element_commit_state), (gst_element_lost_state):
4443         * gst/gstmessage.c: (gst_message_new_state_changed),
4444         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4445         (gst_message_new_segment_done), (gst_message_new_duration),
4446         (gst_message_parse_state_changed),
4447         (gst_message_parse_segment_start),
4448         (gst_message_parse_segment_done), (gst_message_parse_duration):
4449         * gst/gstmessage.h:
4450         * tools/gst-launch.c: (event_loop):
4451         Seriously, this is better than a previous commit as we only need
4452         to notify the fact that an element changed state in a streaming
4453         thread, marking the state of the parents dirty, hence the 
4454         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4455         message.
4456
4457 2005-10-18  Wim Taymans  <wim@fluendo.com>
4458
4459         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4460         (gst_bin_recalc_func):
4461         * gst/gstelement.c: (gst_element_set_clock),
4462         (gst_element_abort_state), (gst_element_lost_state):
4463         Cleanups, prepare for state change fixes.
4464
4465 2005-10-18  Wim Taymans  <wim@fluendo.com>
4466
4467         * gst/gstbin.h:
4468         * gst/gstelement.c: (gst_element_class_init),
4469         (gst_element_set_state), (gst_element_set_state_func):
4470         * gst/gstelement.h:
4471         Pending ABI changes.
4472         GThreadPool in GstBinClass to monitor async state changes.
4473         state_cookie in GstElement to detect concurrent gst/set state.
4474         set_state is now virtual too in case a very complicated element
4475         has to be constructed.
4476
4477 2005-10-18  Wim Taymans  <wim@fluendo.com>
4478
4479         * check/gst/gstbin.c: (GST_START_TEST):
4480         * check/gst/gstmessage.c: (GST_START_TEST):
4481         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4482         * gst/gstbin.c: (bin_bus_handler):
4483         * gst/gstelement.c: (gst_element_commit_state),
4484         (gst_element_lost_state):
4485         * gst/gstmessage.c: (gst_message_new_state_changed),
4486         (gst_message_new_segment_start), (gst_message_new_segment_done),
4487         (gst_message_new_duration), (gst_message_parse_state_changed),
4488         (gst_message_parse_segment_start),
4489         (gst_message_parse_segment_done), (gst_message_parse_duration):
4490         * gst/gstmessage.h:
4491         * tools/gst-launch.c: (event_loop):
4492         Make messages future proof.
4493         state-change gets a flag if it was a message comming from the
4494         streaming thread.
4495         segment-start/stop can also be specified in other formats.
4496         A message to notify an app that a pipeline changed playback 
4497         duration.
4498         Also fix a GstMessage leak in -launch
4499
4500 2005-10-18  Andy Wingo  <wingo@pobox.com>
4501
4502         * gst/gstelement.c (gst_element_dispose): More helpful message.
4503
4504 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4505
4506         reviewed by: <delete if not using a buddy>
4507
4508         * common/gtk-doc.mak:
4509
4510 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4511
4512         * gst/gstregistry.c: (gst_registry_scan_path_level):
4513           unref a plug-in we get that was already initialized
4514
4515 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4516
4517         * docs/gst/gstreamer-sections.txt:
4518         * docs/libs/gstreamer-libs-sections.txt:
4519         * gst/gstelement.h:
4520           add new api entries
4521           hide internal macro
4522
4523 2005-10-17  Andy Wingo  <wingo@pobox.com>
4524
4525         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4526         cleanup.
4527
4528         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4529
4530         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4531
4532         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4533         (gst_element_get_state_func): Better debug message.
4534         (gst_element_commit_state): s/INFO/DEBUG/.
4535         (gst_element_lost_state, gst_element_change_state): 
4536
4537         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4538         (gst_message_new_custom): s/INFO/LOG/.
4539
4540 2005-10-17  Michael Smith <msmith@fluendo.com>
4541
4542         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4543           Check if end time is valid using end time, not start time.
4544
4545 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4546
4547         * check/gst-libs/controller.c: (GST_START_TEST),
4548         (gst_controller_suite):
4549         * libs/gst/controller/gstcontroller.c:
4550         (gst_controlled_property_set_interpolation_mode):
4551         * libs/gst/controller/gstcontroller.h:
4552         * libs/gst/controller/gstinterpolation.c:
4553         * testsuite/controller/.cvsignore:
4554         * testsuite/controller/Makefile.am:
4555         * testsuite/controller/interpolator.c:
4556           merge controller testsuites
4557           fix broken tests
4558           remove mem-chunk from docs
4559
4560 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4561
4562         * gst/gstmemchunk.c:
4563         * gst/gstmemchunk.h:
4564         * gst/gsttrashstack.c:
4565         * gst/gsttrashstack.h:
4566           out.  get out.  you're fired.  to the Attic !
4567
4568 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4569
4570         * gst/gstcaps.c: (gst_caps_intersect):
4571           fix signedness issues in a (hopefully) correct way
4572         * gst/gstelement.c: (gst_element_pads_activate):
4573           some debugging
4574         * gst/gstobject.c: (gst_object_set_parent):
4575           some debugging
4576
4577 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4578
4579         * gst/gstvalue.h: Fix prototypes.
4580
4581 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4582
4583         * docs/gst/gstreamer-sections.txt:
4584         * gst/gst.c: (gst_version_string):
4585         * gst/gst.h:
4586         * gst/gstversion.h.in:
4587         * win32/common/libgstreamer.def:
4588           add gst_version_string ()
4589
4590 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4591
4592         * configure.ac:
4593           clean up further
4594         * gst/gst.c: (init_post):
4595         * win32/common/config.h.in:
4596           it's PLUGINDIR now
4597         * gst/gstcaps.c: (gst_caps_intersect):
4598           use gint64, the range could be bigger than a guint
4599
4600 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4601
4602         * gst/gstclock.h:
4603           document potential problem in 2038
4604
4605 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4606
4607         * gst/gstcaps.c: (gst_caps_intersect):
4608           Fix guint j diving under 0
4609
4610 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4611
4612         * configure.ac:
4613         * win32/common/config.h:
4614         * win32/common/config.h.in:
4615           check for process.h, declares getpid() on Windows
4616         * gst/gstinfo.c:
4617           include process.h if we have it
4618         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4619         * gst/gstmemchunk.h:
4620           fix signedness issues
4621         * win32/common/libgstreamer.def:
4622           fix get_type's
4623
4624 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4625
4626         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4627         fix. Because of unsigned ints, caps intersection was going nuts and
4628         trying to access structures with G_MAXUINT index. That fixes
4629         videotestsrc ! ffmpegcolorspace ! fakesink
4630         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4631         consistency.
4632
4633 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4634
4635         * configure.ac:
4636           use the gettext macro
4637         * gst/elements/gstelements.c:
4638         * gst/gst.c:
4639         * gst/indexers/gstindexers.c:
4640           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4641         * win32/common/config.h:
4642           updated config.h
4643         * win32/common/config.h.in:
4644           add the template to generate config.h
4645         * win32/common/gstenumtypes.c:
4646         * win32/common/gstversion.h:
4647           updated copies
4648
4649 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4650
4651         * gst/gst.c: (gst_version):
4652         * gst/gstversion.h.in:
4653           add the nano
4654
4655 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4656
4657         * gst/gstevent.h:
4658           Oops, add missing closing bracket.
4659
4660 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4661
4662         * configure.ac:
4663           use common m4's for argument checking
4664
4665 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4666
4667         * docs/gst/gstreamer-sections.txt:
4668         * gst/gstevent.h:
4669           Add GST_EVENT_TYPE_NAME() macro.
4670
4671 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4672
4673         * gst/gstinfo.c:
4674         * gst/gstpluginfeature.c:
4675         * gst/gsttask.c:
4676           privatize more symbols
4677
4678 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4679
4680         * configure.ac:
4681           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4682           everything that uses GStreamer API should have the includes
4683
4684 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4685
4686         * docs/gst/gstreamer-sections.txt:
4687         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4688         * gst/gstvalue.h:
4689           give each value a _get_type, removes the DATA exports
4690
4691 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4692
4693         * gst/gst.c:
4694         * gst/gst.h:
4695           remove _gst_registry_auto_load, not used anymore
4696         * gst/gstbin.c: (gst_bin_get_type):
4697         * gst/gstbin.h:
4698         * gst/gstelement.c: (gst_element_get_type):
4699         * gst/gstelement.h:
4700         * gst/gstobject.c: (gst_object_get_type):
4701         * gst/gstobject.h:
4702         * gst/gstpad.c: (gst_pad_get_type):
4703         * gst/gstpad.h:
4704           make _get_type functions similar, fixes data export from library
4705
4706 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4707
4708         * configure.ac:
4709           correctly make conditionals
4710         * gst/elements/Makefile.am:
4711         * gst/elements/gstelements.c:
4712           fix typo causing fdsrc not to build
4713
4714 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4715
4716         * testsuite/Makefile.am:
4717         * testsuite/bytestream/.cvsignore:
4718         * testsuite/bytestream/Makefile.am:
4719         * testsuite/bytestream/filepadsink.c:
4720         * testsuite/bytestream/gstbstest.c:
4721         * testsuite/bytestream/test1.c:
4722         * testsuite/bytestream/testfile1:
4723         * testsuite/caps/normalisation.c:
4724         * testsuite/caps/random.c: (main):
4725         * testsuite/cleanup/.cvsignore:
4726         * testsuite/cleanup/Makefile.am:
4727         * testsuite/cleanup/cleanup1.c:
4728         * testsuite/cleanup/cleanup2.c:
4729         * testsuite/cleanup/cleanup3.c:
4730         * testsuite/cleanup/cleanup4.c:
4731         * testsuite/cleanup/cleanup5.c:
4732         * testsuite/controller/interpolator.c:
4733         * testsuite/debug/printf_extension.c: (main):
4734         * testsuite/elements/tee.c:
4735         * testsuite/negotiation/.cvsignore:
4736         * testsuite/negotiation/Makefile.am:
4737         * testsuite/negotiation/pad_link.c:
4738         * testsuite/pad/Makefile.am:
4739         * testsuite/pad/chainnopull.c:
4740         * testsuite/pad/getnopush.c:
4741         * testsuite/pad/link.c:
4742         * testsuite/refcounting/sched.c: (create_pipeline):
4743         * testsuite/registry/Makefile.am:
4744         * testsuite/registry/gst-print-formats.c:
4745         * testsuite/schedulers/.cvsignore:
4746         * testsuite/schedulers/142183-2.c:
4747         * testsuite/schedulers/142183.c:
4748         * testsuite/schedulers/143777-2.c:
4749         * testsuite/schedulers/143777.c:
4750         * testsuite/schedulers/147713.c:
4751         * testsuite/schedulers/147819.c:
4752         * testsuite/schedulers/147894-2.c:
4753         * testsuite/schedulers/147894.c:
4754         * testsuite/schedulers/Makefile.am:
4755         * testsuite/schedulers/group_link.c:
4756         * testsuite/schedulers/queue_link.c:
4757         * testsuite/schedulers/relink.c:
4758         * testsuite/schedulers/unlink.c:
4759         * testsuite/schedulers/unref.c:
4760         * testsuite/schedulers/useless_iteration.c:
4761         * testsuite/states/bin.c:
4762           clean out/remove some stuff from the testsuite directories
4763
4764 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4765
4766         * configure.ac:
4767           check for some headers
4768         * gst/elements/Makefile.am:
4769         * gst/elements/gstelements.c:
4770           don't compile fdsrc without sys/socket.h
4771         * gst/indexers/Makefile.am:
4772         * gst/indexers/gstindexers.c: (plugin_init):
4773           don't compile fileindex without mmap
4774
4775 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4776
4777         * configure.ac:
4778           reorganize
4779           clean up
4780           document more
4781           remove cruft
4782         * check/Makefile.am:
4783         * docs/gst/Makefile.am:
4784         * examples/helloworld/Makefile.am:
4785         * gst/Makefile.am:
4786         * gst/base/Makefile.am:
4787         * gst/check/Makefile.am:
4788         * gst/elements/Makefile.am:
4789         * gst/indexers/Makefile.am:
4790         * gst/parse/Makefile.am:
4791         * libs/gst/controller/Makefile.am:
4792         * libs/gst/dataprotocol/Makefile.am:
4793         * examples/helloworld/helloworld.c: (event_loop):
4794           compile fixes, though it's not being compiled currently
4795
4796 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4797
4798         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4799           Add some simple tests for the new taglist date API.
4800
4801 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4802
4803         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4804         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4805           Beautify 'last-message' output: print 'none' for buffer timestamps
4806           and durations if none is set; improve alignment with next messages.
4807
4808 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4809
4810         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4811         * gst/gstpluginfeature.h:
4812         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4813         * gst/gstregistry.h:
4814         * docs/gst/gstreamer-sections.txt:
4815           Add new API to check plugin feature version requirements.
4816
4817         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4818           Some basic tests for the above.         
4819
4820 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4821
4822         * gst/gststructure.c: (gst_structure_to_string):
4823           guard against NULL printf - happens when for example
4824           a message structure with GstClock gets serialized
4825
4826 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4827
4828         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4829           Fix presumable copy'n'pasto.
4830
4831 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4832
4833         * gst/elements/gstfakesrc.h:
4834         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4835         * gst/elements/gsttypefindelement.c:
4836           fix some signedness
4837         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4838           I wonder if this could actually write +2GB files before
4839
4840 2005-10-13  Andy Wingo  <wingo@pobox.com>
4841
4842         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4843         Fix Timmeke Waymans bug.
4844         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4845         string of the proper length to gst_caps_from_string. There's a
4846         potential for, before this fix, that this could cause someone
4847         connecting over the network to cause a segfault if the payload is
4848         not NUL-terminated.
4849
4850 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4851
4852         * docs/design/draft-push-pull.txt:
4853         * docs/design/part-overview.txt:
4854         * docs/random/TODO-pre-0.9:
4855         * docs/random/old/ChangeLog.gstreamer:
4856         * gst/base/gstpushsrc.c:
4857         * gst/gstclock.c:
4858           fixed typos
4859
4860 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4861
4862         * gst/glib-compat.c: (gst_flags_get_first_value):
4863         * gst/glib-compat.h:
4864         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4865         (gst_value_compare_double), (gst_value_serialize_flags):
4866           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4867           infinite loop
4868
4869 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4870
4871         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4872         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4873           fix up debugging
4874         * tools/gst-launch.c: (event_loop):
4875           print out clock nicely
4876
4877 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4878
4879         * docs/gst/gstreamer-sections.txt:
4880         * gst/gsttaglist.h:
4881         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4882         (gst_tag_list_get_date_index):
4883           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4884           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4885
4886 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4887
4888         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4889         (gst_collectpads_chain):
4890         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4891         in CollectData.
4892
4893 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4894
4895         * docs/gst/gstreamer-sections.txt:
4896         * gst/gst.c:
4897         * gst/gsterror.h:
4898         * tools/gst-inspect.c: (main):
4899         * tools/gst-launch.c: (main):
4900         * tools/gst-run.c: (main):
4901         * tools/gst-xmlinspect.c: (main):
4902           fix GOption context leaks
4903           doc fixes
4904
4905 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4906
4907         * gst/gstbus.c:
4908           use HAVE_UNISTD_H
4909         * win32/common/config.h:
4910           update config
4911         * win32/vs6/grammar.dsp:
4912         * win32/vs6/libgstelements.dsp:
4913         * win32/vs6/libgstreamer.dsp:
4914           update vs6 files
4915
4916 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4917
4918         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4919         * gst/base/gstbasesrc.c: (gst_base_src_query):
4920           fix more guint64<->gdouble conversions
4921
4922 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4923
4924         * Makefile.am:
4925           add win32-update target
4926         * win32/common/gstconfig.h:
4927         * win32/common/gstenumtypes.c:
4928         * win32/common/gstenumtypes.h:
4929         * win32/common/gstversion.h:
4930           add files that visual studio can't generate
4931
4932 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4933
4934         * Makefile.am:
4935           add a win32-update target
4936         * configure.ac:
4937
4938 2005-10-12  Wim Taymans  <wim@fluendo.com>
4939
4940         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4941         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4942         * gst/gstelement.c: (gst_element_commit_state),
4943         (gst_element_set_state):
4944         Protect flags with proper lock.
4945         unref provided cached clock in dispose.
4946
4947 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4948
4949         * gst/gst.c:
4950         * gst/gstminiobject.h:
4951         * gst/gstpad.h:
4952         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4953           removed unused flags from miniobject
4954           doc fixes
4955
4956 2005-10-12  Wim Taymans  <wim@fluendo.com>
4957
4958         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4959         (gst_file_sink_event), (gst_file_sink_render):
4960         Flush before seeking.
4961
4962 2005-10-12  Andy Wingo  <wingo@pobox.com>
4963
4964         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4965         always been the case.
4966
4967 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4968
4969         * check/gst/gstbin.c: (GST_START_TEST):
4970         * docs/gst/gstreamer-sections.txt:
4971         * gst/base/gstbasesink.c: (gst_base_sink_init):
4972         * gst/base/gstbasesrc.c: (gst_base_src_init),
4973         (gst_base_src_get_range), (gst_base_src_check_get_range),
4974         (gst_base_src_start), (gst_base_src_stop):
4975         * gst/base/gstbasesrc.h:
4976         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4977         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4978         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4979         (bin_bus_handler):
4980         * gst/gstbin.h:
4981         * gst/gstbuffer.h:
4982         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4983         * gst/gstbus.h:
4984         * gst/gstelement.c: (gst_element_is_locked_state),
4985         (gst_element_set_locked_state), (gst_element_commit_state),
4986         (gst_element_set_state):
4987         * gst/gstelement.h:
4988         * gst/gstindex.c: (gst_index_init):
4989         * gst/gstindex.h:
4990         * gst/gstminiobject.h:
4991         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4992         (gst_object_set_parent):
4993         * gst/gstobject.h:
4994         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4995         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4996         * gst/gstpad.h:
4997         * gst/gstpadtemplate.h:
4998         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4999         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5000         * gst/gstpipeline.h:
5001         * gst/indexers/gstfileindex.c: (gst_file_index_load),
5002         (gst_file_index_commit):
5003         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5004         * testsuite/pad/link.c: (gst_test_src_init),
5005         (gst_test_filter_init), (gst_test_sink_init):
5006         * testsuite/states/locked.c: (main):
5007           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5008           moved bitshift from macro to enum definition
5009
5010 2005-10-12  Wim Taymans  <wim@fluendo.com>
5011
5012         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5013         * gst/elements/gstfilesink.c: (gst_file_sink_event),
5014         (gst_file_sink_render):
5015         Some more debugging info.
5016
5017 2005-10-12  Wim Taymans  <wim@fluendo.com>
5018
5019         * docs/design/part-states.txt:
5020         * tools/gst-launch.c: (main):
5021         Some doc updates.
5022         Revert non-intentional change.
5023
5024 2005-10-12  Wim Taymans  <wim@fluendo.com>
5025
5026         * check/gst/gstbin.c: (GST_START_TEST):
5027         * check/gst/gstelement.c: (GST_START_TEST):
5028         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5029         * check/gst/gstghostpad.c: (GST_START_TEST):
5030         * check/gst/gstpipeline.c: (GST_START_TEST):
5031         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5032         * check/states/sinks.c: (GST_START_TEST):
5033         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5034         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5035         (gst_bin_remove_func), (gst_bin_get_state_func),
5036         (gst_bin_recalc_state), (gst_bin_change_state_func),
5037         (bin_bus_handler):
5038         * gst/gstelement.c: (gst_element_get_state_func),
5039         (gst_element_get_state), (gst_element_abort_state),
5040         (gst_element_commit_state), (gst_element_set_state),
5041         (gst_element_change_state), (gst_element_change_state_func):
5042         * gst/gstelement.h:
5043         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5044         (gst_pipeline_provide_clock_func):
5045         * gst/gstutils.c: (gst_element_link_pads_filtered):
5046         * tools/gst-launch.c: (main):
5047         * tools/gst-typefind.c: (main):
5048         Use GstClockTime in _get_state() instead of GTimeVal.
5049         Remove old code in gstutils.c
5050
5051 2005-10-12  Andy Wingo  <wingo@pobox.com>
5052
5053         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5054         removed.
5055
5056         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5057         there is no task. Shouldn't affect any code, as nothing in our
5058         plugins checks this return value.
5059         (gst_pad_stop_task): Also take the stream lock if the pad has no
5060         task. Docs updated.
5061
5062 2005-10-12  Wim Taymans  <wim@fluendo.com>
5063
5064         * gst/gstpad.c: (pre_activate), (post_activate),
5065         (gst_pad_activate_pull), (gst_pad_activate_push):
5066         Cleanup activation code. Reset old state if
5067         activation failed.
5068
5069 2005-10-12  Wim Taymans  <wim@fluendo.com>
5070
5071         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5072         (gst_base_sink_change_state):
5073         No need to prerol after receiving EOS.
5074
5075         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5076         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5077         * gst/elements/gstidentity.c: (gst_identity_event):
5078         Print events more verbosely.
5079
5080 2005-10-12  Wim Taymans  <wim@fluendo.com>
5081
5082         * check/Makefile.am:
5083         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5084         * check/states/sinks2.c:
5085         Moved sinks2 testcode in sinks check.
5086
5087         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5088         (gst_bin_remove_func), (gst_bin_recalc_state),
5089         (gst_bin_change_state_func), (bin_bus_handler):
5090         Fix potential race condition when _get_state() iterated over an
5091         ASYNC element right before it posted a state completion.
5092
5093         * gst/gstclock.h:
5094         Do proper cast here.
5095
5096         * gst/gstevent.c: (gst_event_new_newsegment),
5097         (gst_event_parse_newsegment):
5098         A playback rate of 0.0 is not allowed.
5099
5100 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5101
5102         * win32/common/config.h:
5103         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5104         (_trewinddir), (_ttelldir), (_tseekdir):
5105         * win32/common/dirent.h:
5106         * win32/common/gtchar.h:
5107         * win32/common/libgstbase.def:
5108         * win32/common/libgstreamer.def:
5109         * win32/vs6/grammar.dsp:
5110         * win32/vs6/gst_inspect.dsp:
5111         * win32/vs6/gst_launch.dsp:
5112         * win32/vs6/gstreamer.dsw:
5113         * win32/vs6/libgstbase.dsp:
5114         * win32/vs6/libgstelements.dsp:
5115         * win32/vs6/libgstreamer.dsp:
5116           Visual Studio 6 project files, and a new common directory.
5117           Phear.
5118
5119 2005-10-11  Wim Taymans  <wim@fluendo.com>
5120
5121         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5122         (gst_base_sink_do_sync), (gst_base_sink_query),
5123         (gst_base_sink_change_state):
5124         * gst/base/gstbasesink.h:
5125         Correctly parse newsegment info.
5126
5127 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5128
5129         * gst/gst.c: (init_post):
5130           split plugin paths correctly
5131
5132 2005-10-11  Wim Taymans  <wim@fluendo.com>
5133
5134         * check/gst/gstevent.c: (GST_START_TEST):
5135         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5136         (gst_base_sink_change_state):
5137         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
5138         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5139         * gst/elements/gstfilesink.c: (gst_file_sink_event):
5140         * gst/gstevent.c: (gst_event_new_newsegment),
5141         (gst_event_parse_newsegment):
5142         * gst/gstevent.h:
5143         Added extra flag to newsegment for future API freeze.
5144         Updated check and base elements.
5145
5146 2005-10-11  Julien MOUTTE  <julien@moutte.net>
5147
5148         * gst/base/gstcollectpads.c: (gst_collectpads_init),
5149         (gst_collectpads_add_pad), (gst_collectpads_pop),
5150         (gst_collectpads_event), (gst_collectpads_chain):
5151         * gst/base/gstcollectpads.h: Handle EOS correctly.
5152
5153 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5154
5155         * tools/gst-launch.c: (main):
5156           more null protecting
5157
5158 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5159
5160         * gst/gst-i18n-lib.h:
5161           check for ENABLE_NLS, not GETTEXT_PACKAGE
5162         * gst/gstregistry.c: (gst_registry_add_plugin),
5163         (gst_registry_scan_path_level),
5164         (_gst_registry_remove_cache_plugins):
5165           protect possibly NULL strings
5166         * gst/parse/types.h:
5167           config.h already included before
5168         * tools/gst-inspect.c: (main):
5169           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5170           check for ENABLE_NLS, not GETTEXT_PACKAGE
5171         * tools/gst-launch.c: (main):
5172           check for ENABLE_NLS, not GETTEXT_PACKAGE
5173
5174 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5175
5176         * configure.ac:
5177           if we don't have glib, fail before testing 2.8
5178         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5179           fix a leak, should fix plugins-base testsuite
5180
5181 2005-10-11  Andy Wingo  <wingo@pobox.com>
5182
5183         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5184         take the mode we're going to as an arg. Go head and set the mode
5185         and flushing flags now, so that if the activate function starts a
5186         thread all the flags will be in the right state.
5187         (post_activate): Renamed also. Just handle making sure streaming
5188         finishes for the deactivation case, and setting the deactivated
5189         mode.
5190         (gst_pad_set_active): Complain loudly if deactivation fails.
5191         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5192         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5193         remove the terrible hack.
5194
5195 2005-10-11  Wim Taymans  <wim@fluendo.com>
5196
5197         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5198         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5199         (gst_bin_recalc_state), (gst_bin_change_state_func),
5200         (gst_bin_dispose), (bin_bus_handler):
5201         * gst/gstbin.h:
5202         Prepare to make current EOS message queue more generic.
5203         Fix some typos.
5204
5205         * gst/gstevent.c: (gst_event_new_newsegment),
5206         (gst_event_parse_newsegment):
5207         * gst/gstevent.h:
5208         Rename base to stream_time.
5209
5210         * gst/gstmessage.h:
5211         Fix typo in docs.
5212
5213 2005-10-11  Wim Taymans  <wim@fluendo.com>
5214
5215         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5216         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5217         (gst_bin_change_state_func), (bin_bus_handler):
5218         * gst/gstbin.h:
5219         Work on proper clock selection.
5220
5221 2005-10-11  Edward Hervey  <edward@fluendo.com>
5222
5223         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5224         * libs/gst/controller/gstcontroller.h:
5225         Added GList* version of _remove_properties() in order to be able to wrap
5226         it in bindings.
5227
5228 2005-10-11  Wim Taymans  <wim@fluendo.com>
5229
5230         * docs/design/part-states.txt:
5231         Some more docs.
5232
5233         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5234         (gst_bin_change_state_func), (bin_bus_handler):
5235         Doc updates. Don't distribute the same clock over and over again.
5236
5237         * gst/gstclock.c:
5238         * gst/gstclock.h:
5239         Doc updates.
5240
5241         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5242         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5243         (gst_pad_send_event):
5244         * gst/gstpad.h:
5245         Make probe emission threadsafe again.
5246         Register quarks and move _get_name() from utils.
5247         Doc updates.
5248
5249         * gst/gstpipeline.c: (gst_pipeline_class_init),
5250         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5251         Only redistribute the clock of it changed.
5252
5253         * gst/gstsystemclock.h:
5254         Doc updates. 
5255
5256         * gst/gstutils.c:
5257         * gst/gstutils.h:
5258         Moved the _flow_get_name() to GstPad.
5259
5260 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5261
5262         * check/gst-libs/gdp.c: (GST_START_TEST):
5263         * check/gst/gstcaps.c: (GST_START_TEST):
5264         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5265         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5266         (gst_dp_packet_from_caps):
5267           fix more valgrind warnings before turning up the heat
5268
5269 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5270
5271         * gst/parse/grammar.y:
5272           some cleanup before the hacking
5273
5274 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5275
5276         * gst/base/gstbasesrc.c: (gst_base_src_query):
5277           use conversions
5278         * gst/gstutils.c: (gst_guint64_to_gdouble),
5279         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5280         * gst/gstutils.h:
5281           externalize, basesrc uses it
5282           obviously the implementation needs testing
5283
5284 2005-10-10  Wim Taymans  <wim@fluendo.com>
5285
5286         * tests/sched/Makefile.am:
5287         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5288         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5289
5290 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5291
5292         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5293           apparently converting from guint64 to double is not implemented
5294           on MSVC
5295
5296 2005-10-10  Wim Taymans  <wim@fluendo.com>
5297
5298         * check/Makefile.am:
5299         * check/generic/states.c: (GST_START_TEST):
5300         * check/gst/gstbin.c: (GST_START_TEST):
5301         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5302         * check/states/sinks.c: (GST_START_TEST):
5303         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5304         (main):
5305         Check fixes, use API as stated in design docs, remove hacks.
5306
5307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5308         (gst_base_sink_change_state):
5309         Catch stopping our task while we're shutting down.
5310
5311         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5312         (gst_bin_remove_func), (gst_bin_get_state_func),
5313         (gst_bin_recalc_state), (gst_bin_change_state_func),
5314         (bin_bus_handler):
5315         * gst/gstbin.h:
5316         * gst/gstelement.c: (gst_element_init),
5317         (gst_element_get_state_func), (gst_element_abort_state),
5318         (gst_element_commit_state), (gst_element_lost_state),
5319         (gst_element_set_state), (gst_element_change_state),
5320         (gst_element_change_state_func):
5321         * gst/gstelement.h:
5322         New state change algorithm (see #318116)
5323
5324         * gst/gstpipeline.c: (gst_pipeline_class_init),
5325         (gst_pipeline_init), (gst_pipeline_set_property),
5326         (gst_pipeline_get_property), (do_pipeline_seek),
5327         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5328         * gst/gstpipeline.h:
5329         Remove crude state change hacks.
5330
5331         * gst/gstutils.h:
5332         Remove crude hacks.
5333
5334         * tools/gst-launch.c: (main):
5335         Fixes for state change. Needs some more work to fully use the
5336         new stuff.
5337
5338 2005-10-10  Andy Wingo  <wingo@pobox.com>
5339
5340         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5341
5342         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5343         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5344         issue.
5345
5346 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5347
5348         * gst/gstiterator.c: (gst_iterator_new):
5349           Fix my previous commit: GTypes passed to gst_iterator_new()
5350           can be fundamental types.
5351
5352 2005-10-10  Wim Taymans  <wim@fluendo.com>
5353
5354         * gst/gstelement.c: (gst_element_iterate_pad_list),
5355         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5356         (gst_element_iterate_sink_pads):
5357         Use src/sink pads lists for the respective iterators instead
5358         of filtering.
5359
5360 2005-10-10  Andy Wingo  <wingo@pobox.com>
5361
5362         Merged in popt removal + GOption addition patch from Ronald, bug
5363         #169772.
5364
5365         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5366         GstElement macros around, remove popt-related symbols, add goption
5367         stuff.
5368
5369         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5370         
5371         * docs/gst/Makefile.am:
5372         * docs/libs/Makefile.am: No POPT_CFLAGS.
5373         
5374         * examples/manual/Makefile.am:
5375         * docs/manual/basics-init.xml: Doc updates with an example.
5376         
5377         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5378         (gst_init), (parse_one_option), (parse_goption_arg):
5379         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5380         bit of hand merging and debugging to get the GOption stuff working
5381         tho.
5382         
5383         * tests/Makefile.am:
5384         * tools/Makefile.am:
5385         * tools/gst-inspect.c: (main):
5386         * tools/gst-launch.c: (main):
5387         * tools/gst-run.c: (main):
5388         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5389
5390 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5391
5392         * gst/gstiterator.c: (gst_iterator_new):
5393           Add assertions to make sure passed GType is likely to really
5394           be a GType (as the compiler won't catch it if the size and
5395           GType arguments get mixed up, see #318447).
5396
5397 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5398
5399         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5400
5401         * gst/gstbin.c: (gst_bin_iterate_sorted):
5402           Pass GType and size arguments to gst_iterator_new() in the right
5403           order (maybe we should make _new() take the GType as first argument
5404           just like _new_list()?) (#318447).
5405           
5406
5407 2005-10-10  Wim Taymans  <wim@fluendo.com>
5408
5409         * gst/gstelement.c: (gst_element_finalize):
5410         And free the GStaticRecMutex too
5411
5412 2005-10-10  Andy Wingo  <wingo@pobox.com>
5413
5414         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5415         Allocate and free the mutex properly.
5416
5417         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5418         New macros.
5419         (GstElement): The state_lock is now recursive. Rebuild your
5420         plugins, suckers. Old macros adapted.
5421
5422         * docs/gst/gstreamer-sections.txt: Doc updates.
5423
5424         * gst/gstutils.h:
5425         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5426         (g_static_rec_cond_wait): Ported from state changes patch, while
5427         we wait on bug #317802 to be solved in a well-distributed GLib.
5428
5429         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5430         gst_element_change_state, variable name changes.
5431         (gst_element_change_state): Split out of gst_element_set_state in
5432         preparation for the state change merge. Doesn't pay attention to
5433         the 'transition' argument.
5434         (gst_element_set_state): Updates, hopefully purely cosmetic.
5435         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5436         state change patch.
5437         (gst_element_get_state_func): Renamed from get_state, cosmetic
5438         changes.
5439
5440 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5441
5442         * gst/elements/gstelements.c:
5443         * win32/GStreamer.vcproj:
5444         * win32/config.h:
5445         * win32/dirent.c: (_tseekdir):
5446         * win32/gst-inspect.vcproj:
5447         * win32/gst-launch.vcproj:
5448         * win32/gstconfig.h:
5449         * win32/gstelements.vcproj:
5450         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5451         * win32/gstreamer.def:
5452         * win32/msvc71.sln:
5453           updates for the win32 build (patch from Sebastien Moutte)
5454
5455 2005-10-10  Andy Wingo  <wingo@pobox.com>
5456
5457         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5458         gst_bin_get_state, cleaned up (but no logic changes).
5459         (bin_element_is_sink): Comment updates.
5460         (sink_iterator_filter): Remove needless cast.
5461         (gst_bin_iterate_sinks): Doc update.
5462         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5463         cleaned up (but no logic changes).
5464
5465         * check/states/sinks.c (test_src_sink): Cleanups from the state
5466         change patch.
5467         (test_livesrc_sink): Sync on the state.
5468
5469         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5470         the state change patch.
5471
5472         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5473         change patch.
5474
5475         * check/gst/gstbin.c: Merge in some style fixes and additional
5476         checks from Wim's state change patch.
5477
5478 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5479
5480         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5481         (gst_type_find_helper):
5482           Check whether we have the requested data already in our list of
5483           cached buffers before pulling a new buffer; also make the buffer
5484           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5485
5486 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5487
5488         * gst/gstcaps.c:
5489         * gst/gstevent.c:
5490           doc updates
5491         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5492           don't use long long, it's not portable.  Replacing with
5493           gint64 seems to work; let's hope no skeletons fall out of the closet.
5494
5495 2005-10-10  Andy Wingo  <wingo@pobox.com>
5496
5497         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5498
5499 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5500
5501         * docs/gst/gstreamer-sections.txt:
5502         * gst/gstevent.c:
5503         * gst/gstevent.h:
5504         * gst/gstinfo.c:
5505         * gst/gstinfo.h:
5506         * gst/gstmessage.c: (gst_message_parse_state_changed):
5507         * gst/gstpad.c:
5508         * gst/gstpad.h:
5509           more docs, fix compilation
5510
5511 2005-10-09  Philippe Khalaf <burger@speedy.org>
5512         * gst/gstmessage.c:
5513           Fixed a few forgotten variables on previous commit
5514
5515 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5516
5517         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5518           Fix evil typefind crasher: getrange() might return a short
5519           buffer at the end of a file, but gst_type_find_peek() must
5520           either return the full data as requested or NULL, but
5521           never a short buffer.
5522
5523 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5524
5525         * gst/gstmessage.c: (gst_message_new_state_changed),
5526         (gst_message_parse_state_changed):
5527         * gst/gstmessage.h:
5528           don't use "new", it's a C++ keyword
5529
5530 2005-10-08  Wim Taymans  <wim@fluendo.com>
5531
5532         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5533         * gst/gstelement.c: (gst_element_post_message):
5534         * gst/gstpipeline.c: (gst_pipeline_change_state):
5535         Small docs and debug updates.
5536
5537 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5538
5539         * docs/gst/gstreamer-sections.txt:
5540         * gst/gstelementfactory.c:
5541         * gst/gstevent.c:
5542         * gst/gsttaglist.c:
5543           more docs
5544
5545 2005-10-08  Wim Taymans  <wim@fluendo.com>
5546
5547         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5548         (gst_bin_dispose), (bin_bus_handler):
5549         Fix typos, add comments.
5550         Clear EOS list when going to PAUSED from any direction and do it
5551         in a threadsafe way.
5552         Get base time in a threadsafe way too.
5553         Fix confusing debug in the change_state function.
5554         Various other small cleanups.
5555         
5556         * gst/gstelement.c: (gst_element_post_message):
5557         Fix very verbose bus posting code.
5558
5559         * gst/gstpipeline.c: (gst_pipeline_class_init),
5560         (gst_pipeline_set_property), (gst_pipeline_get_property),
5561         (gst_pipeline_change_state):
5562         Small ARG_ -> PROP_ cleanup
5563
5564 2005-10-08  Wim Taymans  <wim@fluendo.com>
5565
5566         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5567         Do a less CPU demanding EOS check because we can.
5568
5569 2005-10-08  Wim Taymans  <wim@fluendo.com>
5570
5571         * libs/gst/dataprotocol/dataprotocol.c:
5572         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5573         (gst_dp_packet_from_event):
5574         * libs/gst/dataprotocol/dataprotocol.h:
5575         * libs/gst/dataprotocol/dp-private.h:
5576         It's about time we bump the version number.
5577         Since event types don't fit in the guint8 anymore describing
5578         the payload type, make payload type 16 bits wide.
5579
5580 2005-10-08  Wim Taymans  <wim@fluendo.com>
5581
5582         * docs/design/part-TODO.txt:
5583         * docs/design/part-clocks.txt:
5584         * docs/design/part-events.txt:
5585         * docs/design/part-gstbin.txt:
5586         * docs/design/part-gstelement.txt:
5587         * docs/design/part-gstpipeline.txt:
5588         * docs/design/part-live-source.txt:
5589         * docs/design/part-messages.txt:
5590         * docs/design/part-overview.txt:
5591         * docs/design/part-states.txt:
5592         Many doc updates.
5593
5594 2005-10-08  Wim Taymans  <wim@fluendo.com>
5595
5596         * gst/gstevent.c:
5597         * gst/gstevent.h:
5598         Fix event quark registration.
5599         Add some space between events so we can insert them in the
5600         right groups.
5601
5602 2005-10-08  Wim Taymans  <wim@fluendo.com>
5603
5604         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5605         (gst_base_sink_handle_buffer):
5606         Better log message.
5607
5608         * gst/gstbus.h:
5609         * gst/gstelement.h:
5610         More docs.
5611
5612         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5613         (gst_queue_set_property), (gst_queue_get_property):
5614         * gst/gstqueue.h:
5615         Remove old unused properties.
5616
5617 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5618         * docs/gst/gstreamer-sections.txt:
5619         * gst/gstmessage.c:
5620         * gst/gstmessage.h:
5621         * gst/gstminiobject.c:
5622         * gst/gstminiobject.h:
5623         * gst/gstobject.h:
5624         * gst/gstpad.h:
5625         * gst/gstutils.h:
5626           lots of new docs and doc fixes
5627
5628 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5629
5630         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5631         * gst/gstplugin.h:
5632         * gst/gstregistry.c: (gst_registry_lookup_locked),
5633         (gst_registry_scan_path_level):
5634         * gst/gstregistryxml.c: (load_plugin):
5635           Only ever load one plugin for a given plugin basename.
5636           This ensures correct overriding of GST_PLUGIN_PATH over
5637           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5638           system installed plugins.
5639
5640 2005-10-08  Wim Taymans  <wim@fluendo.com>
5641
5642         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5643         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5644         Prepare for doing QOS.
5645
5646 2005-10-08  Wim Taymans  <wim@fluendo.com>
5647
5648         * check/gst/gstbin.c: (GST_START_TEST):
5649         * check/pipelines/cleanup.c: (GST_START_TEST):
5650         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5651         Allow new clock message too.
5652
5653 2005-10-08  Wim Taymans  <wim@fluendo.com>
5654
5655         * gst/gstmessage.c: (gst_message_new_error),
5656         (gst_message_new_warning), (gst_message_new_tag),
5657         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5658         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5659         (gst_message_new_segment_start), (gst_message_new_segment_done),
5660         (gst_message_parse_state_changed),
5661         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5662         (gst_message_parse_new_clock):
5663         * gst/gstmessage.h:
5664         Also carry the clock in question.
5665
5666 2005-10-08  Wim Taymans  <wim@fluendo.com>
5667
5668         * gst/gstmessage.c: (gst_message_new_custom),
5669         (gst_message_new_eos), (gst_message_new_error),
5670         (gst_message_new_warning), (gst_message_new_tag),
5671         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5672         (gst_message_new_new_clock), (gst_message_new_segment_start),
5673         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5674         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5675         * gst/gstmessage.h:
5676         Clean up.
5677         Added clock related messages.
5678
5679         * gst/gstpipeline.c: (gst_pipeline_change_state):
5680         Post message when the clock changed.
5681
5682         * tools/gst-launch.c: (event_loop):
5683         Print new clock.
5684
5685 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5686
5687         * tools/gst-inspect.c: (print_element_properties_info):
5688           Can't pass NULL strings to g_print() on windows.
5689
5690 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5691
5692         * docs/Makefile.am:
5693         * docs/gst/Makefile.am:
5694         * docs/gst/gstreamer-docs.sgml:
5695         * docs/gst/running.xml:
5696         * docs/version.entities.in:
5697           add a chapter on running GStreamer.
5698           document GST_DEBUG and GST_PLUGIN* env vars
5699
5700 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5701
5702         * Makefile.am:
5703           remove include dir
5704         * configure.ac:
5705           remove PLUGINS_BUILDDIR stuff
5706         * gst/gst.c: (init_post):
5707           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5708         * idiottest.mak:
5709           remove, it was condescending and not needed
5710
5711 2005-10-08  Wim Taymans  <wim@fluendo.com>
5712
5713         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5714         (gst_base_sink_handle_object), (gst_base_sink_event),
5715         (gst_base_sink_wait), (gst_base_sink_handle_event),
5716         (gst_base_sink_change_state):
5717         * gst/base/gstbasesink.h:
5718         Repost EOS message while going to PLAYING if still EOS.
5719         Make sure that when receiving a FLUSH_START we don't attempt
5720         to sync on the clock anymore.
5721
5722 2005-10-08  Wim Taymans  <wim@fluendo.com>
5723
5724         * tools/gst-launch.c: (event_loop):
5725         Better message printout.
5726
5727 2005-10-08  Wim Taymans  <wim@fluendo.com>
5728
5729         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5730         (gst_bin_child_proxy_get_children_count):
5731         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5732         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5733         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5734         (gst_child_proxy_set_valist):
5735         * gst/parse/grammar.y:
5736         Make ChildProxy threadsafe and fix mem leaks.
5737
5738 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5739
5740         * gst/gst.c: (init_post):
5741           debug the GST_PLUGIN_ env vars
5742
5743 2005-10-08  Wim Taymans  <wim@fluendo.com>
5744
5745         * check/gst/gstbin.c: (GST_START_TEST):
5746         * check/gst/gstmessage.c: (GST_START_TEST):
5747         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5748         * gst/gstelement.c: (gst_element_commit_state),
5749         (gst_element_lost_state):
5750         * gst/gstmessage.c: (gst_message_new_state_changed),
5751         (gst_message_parse_state_changed):
5752         * gst/gstmessage.h:
5753         * tools/gst-launch.c: (event_loop):
5754         Added extra field to STATE_CHANGE message with the pending
5755         state, which will be different from the new state soon.
5756
5757 2005-10-08  Wim Taymans  <wim@fluendo.com>
5758
5759         * gst/gstbus.c: (gst_bus_pop):
5760         * gst/gstclock.c:
5761         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5762         Small cleanups and doc updates.
5763
5764 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5765
5766         * gst/gst.c: (init_pre):
5767         * gst/gstbin.c: (gst_bin_add_func):
5768           log distributing clocks and base time
5769         * gst/gstregistry.c: (gst_registry_add_plugin),
5770         (gst_registry_scan_path_level), (gst_registry_scan_path):
5771           clean up the debugging output a little
5772         * gst/gstutils.c: (gst_element_state_get_name):
5773           warn about a memleak (I've actually seen this be used, though
5774           it was probably a bug)
5775
5776 2005-10-07  Wim Taymans  <wim@fluendo.com>
5777
5778         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5779         (gst_base_src_init), (gst_base_src_default_newsegment),
5780         (gst_base_src_newsegment), (gst_base_src_do_seek),
5781         (gst_base_src_loop), (gst_base_src_start):
5782         * gst/base/gstbasesrc.h:
5783         Make the newsegment event customizable by subclasses.
5784
5785 2005-10-07  Wim Taymans  <wim@fluendo.com>
5786
5787         * gst/gstevent.c: (gst_event_new_buffersize),
5788         (gst_event_parse_buffersize):
5789         * gst/gstevent.h:
5790         New event for future idea.
5791
5792 2005-10-07  Andy Wingo  <wingo@pobox.com>
5793
5794         * gst/gstelement.c (gst_element_post_message): Doc update.
5795
5796         * docs/gst/gstreamer-sections.txt: Update.
5797
5798         * gst/gstmessage.c (gst_message_new_application): Made into a
5799         function like honest API calls.
5800         (gst_message_new_element): New message type.
5801
5802         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5803
5804         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5805         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5806         times.
5807
5808         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5809         NO_PREROLL from gst_element_change_state to fall through.
5810
5811 2005-10-07  Wim Taymans  <wim@fluendo.com>
5812
5813         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5814         (gst_ghost_pad_do_activate_push):
5815         Activating a ghostpad with no internal pad in push mode
5816         is ok.
5817
5818 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5819
5820         * gst/gstobject.h:
5821           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5822           Fixes compilation on Windows.
5823
5824 2005-10-07  Michael Smith <msmith@fluendo.com>
5825
5826         * tools/gst-inspect.c:
5827           Print out feature and plugin count at the end when printing out
5828           all features.
5829
5830 2005-10-04  Michael Smith <msmith@fluendo.com>
5831
5832         * gst/gsterror.c: (_gst_stream_errors_init):
5833           Add another error string used in a few existing plugins.
5834
5835         * gst/gstplugin.c:
5836         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5837         * tools/gst-inspect.c: (print_element_info):
5838           When a feature disappears from a plugin (and the feature exists in
5839           the cached registry file), things went horribly wrong. This isn't a
5840           complete fix, we should actually be removing the 'missing' features
5841           from the features list when we load the actual plugin. That's not
5842           yet implemented. 
5843
5844 2005-10-04  Johan Dahlin  <johan@gnome.org>
5845
5846         * check/gst/gstiterator.c: (GST_START_TEST):
5847         * gst/gstbin.c: (gst_bin_iterate_elements),
5848         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5849         * gst/gstelement.c: (gst_element_iterate_pads):
5850         * gst/gstformat.c: (gst_format_iterate_definitions):
5851         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5852         (gst_iterator_new_list), (gst_iterator_filter):
5853         * gst/gstiterator.h:
5854         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5855         Add a GType to GstIterator, update callsites and tests.
5856
5857 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5858
5859         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5860           give events a chance to be handled by event probes when the pad
5861           is not linked
5862
5863 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5864
5865         * gst/gstevent.c: (gst_event_type_get_name),
5866         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5867         * gst/gstevent.h:
5868           add string representations for event types
5869
5870 2005-10-06  Wim Taymans  <wim@fluendo.com>
5871
5872         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5873         Don't use NULL pointers.
5874
5875 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5876
5877         * gst/gst_private.h:
5878         * gst/gstbus.c:
5879         * gst/gstelement.c:
5880         * gst/gstinfo.c:
5881         * gst/gstpluginfeature.c:
5882           widen the debug category in output to fit the biggest one we have
5883           add a bus category and use it
5884           play with the colors
5885           fix up some categories
5886
5887 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5888
5889         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5890           add push activation of sink ghost pads.
5891           Andye, please verify
5892
5893 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5894
5895         * gst/gstutils.c: (gst_element_link_pads):
5896           fix a bug in the case where neither element has a pad
5897         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5898           add a test for that case
5899
5900 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5901
5902         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5903           emit have-data before checking for peers.  This allows
5904           for probe handlers to connect elements.  This helps autopluggers.
5905         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5906         (gst_pad_suite):
5907           add six checks, linked/unlinked with no/true/false probe
5908
5909 2005-10-04  Wim Taymans  <wim@fluendo.com>
5910
5911         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5912         (gst_fake_sink_event), (gst_fake_sink_preroll),
5913         (gst_fake_sink_render), (gst_fake_sink_change_state):
5914         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5915         (gst_fake_src_get_property), (gst_fake_src_create),
5916         (gst_fake_src_stop):
5917         * gst/elements/gstidentity.c: (gst_identity_stop):
5918         Protect last_message with lock.
5919
5920 2005-10-04  Edward Hervey  <edward@fluendo.com>
5921
5922         * gst/gstformat.h: 
5923         Added precision in the comments for GST_FORMAT_DEFAULT
5924
5925 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5926
5927         * tools/gst-launch.c: (main):
5928           Don't try to run erroneous pipelines.
5929
5930 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5931
5932         * gst/gstbus.c: We don't need this header.
5933
5934 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5935
5936         * configure.ac:
5937           back to development
5938
5939 === release 0.9.3 ===
5940
5941 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5942
5943         * README:
5944         * configure.ac:
5945           Releasing 0.9.3, "Unregistered"
5946
5947 2005-10-03  Andy Wingo  <wingo@pobox.com>
5948
5949         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5950         whereby calling a pad's activatepush() function can start a thread
5951         that starts to push or pull before the pad gets the FLUSHING flag
5952         unset. Hack around it by holding the stream lock until the flag is
5953         set. Need to replace this with a proper solution. Together with
5954         the ghost pad fixes, this fixes mp3 playing/tagreading.
5955
5956         * docs/design/part-gstghostpad.txt: Add a note about activation of
5957         proxy pads outside of ghost pads.
5958
5959         * gst/gstghostpad.c: Implement the ghost pad activation design.
5960
5961 2005-10-02  Andy Wingo  <wingo@pobox.com>
5962
5963         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5964         It is volatile, after all.
5965
5966         * docs/design/part-gstghostpad.txt: Flesh out activation with
5967         ghost pads.
5968
5969         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5970         GST_DEBUG_FUNCPTR.
5971
5972 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5973
5974         * configure.ac:
5975           Fix (unused) AM_CONDITIONAL tests.
5976
5977 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5978
5979         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5980
5981         * gst/gstutils.c: (gst_pad_query_convert):
5982           Add assertion that makes sure src_val is >=0, just like
5983           gst_query_new_convert() has. (#315895)
5984
5985 2005-09-30  Edward Hervey  <edward@fluendo.com>
5986
5987         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5988         Let's not iterate pads we're not interested in, it avoids getting 
5989         sky-high refcounts on sinkpad.
5990
5991 2005-09-30  Wim Taymans  <wim@fluendo.com>
5992
5993         * gst/gstelement.c: (gst_element_set_state),
5994         (gst_element_change_state):
5995         Small tweak, element in ASYNC remains ASYNC.
5996
5997 2005-09-30  Wim Taymans  <wim@fluendo.com>
5998
5999         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6000         Only error is an error.
6001
6002         * gst/gstbin.c: (gst_bin_change_state):
6003         Better debugging.
6004
6005         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6006         Also call pad_block in pad alloc.
6007
6008         * gst/gstutils.c: (gst_flow_get_name):
6009         Better debugging.
6010
6011 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6012
6013         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6014         (gst_base_src_get_range):
6015           Fix documentation typos. Add some more debug info.
6016
6017 2005-09-29  David Schleef  <ds@schleef.org>
6018
6019         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6020           more end-user friendly.
6021         * tools/gst-inspect.c: (main): Check if command-line argument is
6022           a file and attempt to load that file as a plugin.
6023
6024 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6025
6026         * check/gst/gstbin.c:
6027         * check/states/sinks.c:
6028           fix tests for the new warning
6029         * check/gst/gstpipeline.c:
6030           add a test for pipeline and bus interaction
6031         * gst/gstelement.c:
6032           elements should be NULL if they get disposed; add a warning if not
6033
6034 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6035
6036         * gst/gstobject.c:
6037           for 2.6 refcounting, make debug log more correct by printing
6038           the actual refcounts at the time of swap (Wim)
6039
6040 2005-09-29  Andy Wingo  <wingo@pobox.com>
6041
6042         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6043         removes signal watches previously added via
6044         gst_bus_add_signal_watch.
6045         (gst_bus_add_signal_watch): Don't return the source id, just store
6046         it on the bus if there wasn't an id already.
6047
6048         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6049         add_signal_watch and remove_signal_watch.
6050
6051 2005-09-29  Edward Hervey  <edward@fluendo.com>
6052
6053         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
6054         Better if we actually iterate the list :)
6055
6056 2005-09-29  Wim Taymans  <wim@fluendo.com>
6057
6058         * check/gst/gstbin.c: (GST_START_TEST):
6059         Change for new bus API.
6060
6061         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6062         (send_messages), (GST_START_TEST), (gstbus_suite):
6063         Change for new bus signal API.
6064
6065         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6066         (gst_bus_source_prepare), (gst_bus_source_check),
6067         (gst_bus_create_watch), (gst_bus_add_watch_full),
6068         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6069         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6070         * gst/gstbus.h:
6071         Remove support for multiple GSources operating on different
6072         message types as it is too complex and unneeded when using
6073         signals.
6074         Added support for receiving signals from the bus.
6075
6076 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6077
6078         * docs/libs/tmpl/gstdataprotocol.sgml:
6079         * docs/manual/advanced-dataaccess.xml:
6080         * gst/elements/gstcapsfilter.c:
6081         * gst/gstutils.c:
6082           rename filter-caps to caps property
6083
6084 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6085
6086         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6087           More robust fraction string parsing.
6088
6089         * docs/pwg/appendix-porting.xml:
6090           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6091
6092 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6093
6094         * gst/gstcaps.c: (gst_caps_do_simplify):
6095           Thou shalt not free a structure and then continue using it
6096           in the next loop iteration.
6097
6098         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6099         (gst_caps_suite):
6100           Add test case for caps simplification.
6101
6102 2005-09-29  Wim Taymans  <wim@fluendo.com>
6103
6104         * check/gst/gstbin.c: (GST_START_TEST):
6105         Oops.
6106
6107 2005-09-29  Wim Taymans  <wim@fluendo.com>
6108
6109         * check/gst/gstbin.c: (GST_START_TEST):
6110         Add bus to bin.
6111
6112         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6113         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6114         (find_element), (gst_bin_sort_iterator_next),
6115         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6116         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6117         (gst_bin_change_state), (gst_bin_dispose):
6118         A bin does not have a bus, it gets the bus from the parent.
6119
6120         * gst/gstelement.c: (gst_element_requires_clock),
6121         (gst_element_provides_clock), (gst_element_is_indexable),
6122         (gst_element_is_locked_state), (gst_element_change_state),
6123         (gst_element_set_bus_func):
6124         Small cleanups.
6125
6126         * gst/gstpipeline.c: (gst_pipeline_class_init),
6127         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
6128         The pipeline provides a bus.
6129
6130 2005-09-28  Johan Dahlin  <johan@gnome.org>
6131
6132         * gst/gstmessage.c (gst_message_parse_state_changed): Use
6133         gst_structure_get_enum instead of gst_structure_get_int
6134
6135         * gst/gststructure.c (gst_structure_get_enum): Impl.
6136
6137         * gst/gststructure.h (gst_structure_get_enum): Add
6138
6139         * docs/gst/gstreamer-sections.txt: Ditto
6140
6141         * gst/gstmessage.c (gst_message_new_state_changed): Use
6142         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
6143         which does introspection.
6144         Reviewed by Christian Schaller
6145
6146 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6147
6148         * gst/gstinfo.c: (gst_debug_log_default):
6149           don't do dummy g_strdup()s
6150         * libs/gst/controller/gstcontroller.c:
6151         (on_object_controlled_property_changed),
6152         (gst_controlled_property_new), (gst_controller_new_valist),
6153         (gst_controller_new_list),
6154         (gst_controller_remove_properties_valist), (gst_controller_set),
6155         (gst_controller_get), (gst_controller_sync_values),
6156         (gst_controller_get_value_array), (_gst_controller_class_init),
6157         (gst_controller_get_type):
6158         * libs/gst/controller/gstcontroller.h:
6159         * libs/gst/controller/gstinterpolation.c:
6160         (gst_controlled_property_find_timed_value_node):
6161           convert // to /**/ comments
6162
6163 2005-09-28  Wim Taymans  <wim@fluendo.com>
6164
6165         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6166         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6167         (gst_bus_sync_signal_handler):
6168         * gst/gstbus.h:
6169         Added async-message and sync-message signals to the bus.
6170         Added helper BusFunc to emit signals for all posted messages.
6171
6172         * gst/gstmessage.c: (gst_message_type_get_name),
6173         (gst_message_type_to_quark), (gst_message_get_type):
6174         * gst/gstmessage.h:
6175         Register quarks for message names.
6176
6177 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6178
6179         * docs/libs/gstreamer-libs-sections.txt:
6180         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6181         (gst_controller_new_list):
6182         * libs/gst/controller/gstcontroller.h:
6183           added another constructor for language bindings
6184
6185 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6186
6187         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6188           add another check
6189         * gst/gstbus.c:
6190           add some doc
6191         * gst/gstinfo.c: (_gst_debug_init):
6192           slightly more readable color for refcount debugging
6193
6194 2005-09-28  Wim Taymans  <wim@fluendo.com>
6195
6196         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6197         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6198         (find_element), (gst_bin_sort_iterator_next),
6199         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6200         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6201         (gst_bin_change_state), (gst_bin_dispose):
6202         Small doc fixes. get_clock -> provide_clock.
6203
6204         * gst/gstelement.c: (gst_element_class_init),
6205         (gst_element_provides_clock), (gst_element_provide_clock),
6206         (gst_element_get_clock), (gst_element_commit_state),
6207         (gst_element_lost_state):
6208         * gst/gstelement.h:
6209         Make get/set_clock() symetric. Add provide_clock vmethod since
6210         that is actually what this function does.
6211
6212         * gst/gstpipeline.c: (gst_pipeline_class_init),
6213         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6214         (gst_pipeline_get_clock):
6215         get_clock -> provide_clock.
6216
6217 2005-09-28  Andy Wingo  <wingo@pobox.com>
6218
6219         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6220         lieu of real docs...
6221
6222         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6223
6224 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6225
6226         * gst/elements/gstcapsfilter.c:
6227         * gst/elements/gstfakesink.c:
6228         * gst/elements/gstfakesrc.c:
6229         * gst/elements/gstfdsink.c:
6230         * gst/elements/gstfdsrc.c:
6231         * gst/elements/gstfilesink.c:
6232         * gst/elements/gstfilesrc.c:
6233         * gst/elements/gstidentity.c:
6234         * gst/elements/gsttee.c:
6235         * gst/elements/gsttypefindelement.c:
6236           Make element details static.
6237
6238 2005-09-28  Wim Taymans  <wim@fluendo.com>
6239
6240         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6241         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6242         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6243         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6244         (gst_bin_change_state), (gst_bin_dispose):
6245         Some documentation updates.
6246         Clean up dispose handlers.
6247
6248         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6249         * gst/gstpad.c: (gst_pad_dispose):
6250         Clean up dispose handler.
6251
6252         * gst/gstpipeline.c: (gst_pipeline_change_state):
6253         Removed spurious UNLOCK.
6254
6255 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6256
6257         * docs/gst/gstreamer-sections.txt:
6258         * gst/base/gstbasesrc.h:
6259         * gst/gstelement.h:
6260         * gst/gstevent.h:
6261         * gst/gstobject.h:
6262         * gst/gstpad.h:
6263         * gst/gstpipeline.c:
6264         * gst/gstpipeline.h:
6265         * gst/gstutils.h:
6266         * gst/gstxml.h:
6267           added two new functions to the docs
6268                 documents all undocumented GstXXXFlags
6269                 completed some incomplete docs 
6270
6271 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6272
6273         * gst/gstbin.c: (gst_bin_dispose):
6274         * gst/gstelement.c: (gst_element_dispose):
6275           remove now useless and leaky resurrection code in dispose
6276         * gst/base/gstbasesrc.c: (gst_base_src_init):
6277         * gst/gstelementfactory.c: (gst_element_factory_create):
6278         * gst/gstobject.c: (gst_object_set_parent):
6279           add some debugging
6280
6281 2005-09-27  Wim Taymans  <wim@fluendo.com>
6282
6283         * docs/design/part-TODO.txt:
6284         Update TODO.
6285
6286         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6287         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6288         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6289         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6290         (gst_bin_change_state):
6291         * gst/gstelement.h:
6292         Remove element variable, we keep element info in the iterator now.
6293
6294 2005-09-27  Andy Wingo  <wingo@pobox.com>
6295
6296         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6297         values.
6298
6299 2005-09-27  Wim Taymans  <wim@fluendo.com>
6300
6301         * check/gst/gstbin.c: (GST_START_TEST):
6302         Enable check that works now.
6303
6304         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6305         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6306         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6307         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6308         (gst_bin_change_state):
6309         * gst/gstbin.h:
6310         Redid the state change algorithm using a topological sort algo.
6311         Handles all cases correctly.
6312         Exposed iterator for state change order.
6313
6314         * gst/gstelement.h:
6315         Temp storage for state changes. Need to get rid of this soon.
6316
6317 2005-09-27  Wim Taymans  <wim@fluendo.com>
6318
6319         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6320         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6321         (link_fold_func), (gst_pad_proxy_setcaps):
6322         Leak fixes, the fold functions need to unref the passed object and
6323         _get_parent_*() returns ref to parent.
6324
6325 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6326
6327         * check/gst/gstbuffer.c: (test_make_writable):
6328           Plug leak in test case and fix 'make check-valgrind'
6329
6330 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6331
6332         * gst/gstbuffer.c: (gst_subbuffer_init):
6333           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6334           works correctly in all circumstances (we could have just copied
6335           the parent buffer's readonly flag, but conceptually it seems
6336           cleaner to mark all subbuffers as read-only). (based on patch
6337           by Alessandro Decina, #314710).
6338         
6339         * check/gst/gstbuffer.c: (create_read_only_buffer),
6340         (test_make_writable), (test_subbuffer_make_writable),
6341         (gst_test_suite):
6342           Add some tests for gst_buffer_make_writable().
6343
6344 2005-09-27  Wim Taymans  <wim@fluendo.com>
6345
6346         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6347         use gst_object_has_ancestor().
6348
6349         * gst/gstobject.c: (gst_object_has_ancestor):
6350         * gst/gstobject.h:
6351         gst_object_has_ancestor() copied from gstbin.c as it is a
6352         usefull function.
6353
6354         * tests/instantiate/create.c: (create_all_elements):
6355         * tests/lat.c: (handoff_src), (handoff_sink):
6356         * tests/sched/runxml.c: (main):
6357         * tests/seeking/seeking1.c: (main):
6358         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6359         (main):
6360         Fix compilation of some tests.
6361
6362 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6363
6364         * gst/gsterror.h:
6365           Remove comment. GST_TYPE_G_ERROR is here to stay,
6366           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6367           (#316961, #300610).
6368
6369 2005-09-26  Wim Taymans  <wim@fluendo.com>
6370
6371         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6372         Added check that shows error in state change order.
6373
6374 2005-09-26  Wim Taymans  <wim@fluendo.com>
6375
6376         * gst/gstbin.c: (gst_bin_change_state):
6377         Make state change function use 3 queues again, we were
6378         adding elements in the wrong order.
6379
6380         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6381         Some debug info,
6382
6383         * gst/gstpad.c: (gst_pad_dispose):
6384         Added some debug info first.
6385
6386 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6387
6388         * docs/design/draft-push-pull.txt:
6389         * docs/design/part-events.txt:
6390         * docs/design/part-overview.txt:
6391         * docs/design/part-scheduling.txt:
6392           Replace all _pull_region() with _pull_range()
6393           
6394 2005-09-26  Andy Wingo  <wingo@pobox.com>
6395
6396         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6397
6398         * check/gst-libs/controller.c: Update for controller api change.
6399
6400         * configure.ac: 
6401         * tests/Makefile.am:
6402         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6403         over by GLib bug 118439.
6404         
6405         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6406         routines to a function.
6407
6408         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6409
6410         * libs/gst/controller/gsthelper.c:
6411         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6412         (gst_object_sync_values): Renamed from sink_values. Ugh.
6413
6414         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6415
6416         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6417         Renamed from controller_key, as it is exported.
6418
6419         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6420
6421 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6422
6423         * gst/Makefile.am:
6424         * gst/gst.h:
6425         * gst/gstpad.h:
6426         * gst/gstpadtemplate.h:
6427         * gst/gstquery.c:
6428         * gst/gstquery.h:
6429         * gst/gstqueryutils.c:
6430         * gst/gstqueryutils.h:
6431           remove queryutils headers after moving the two used functions
6432           to gstquery.  also fixes build problem for gstsiddec
6433
6434 2005-09-26  Michael Smith <msmith@fluendo.com>
6435
6436         * tools/gst-launch.1.in:
6437         Correct documentation in manpage of debug syntax
6438
6439 2005-09-26  Wim Taymans  <wim@fluendo.com>
6440
6441         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6442         (gst_base_src_is_seekable), (gst_base_src_change_state):
6443         Some more debugging info.
6444
6445 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6446
6447         * docs/gst/gstreamer-sections.txt:
6448         * gst/base/gstbasetransform.h:
6449         * gst/gstindex.h:
6450           added more docs
6451
6452 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6453
6454         * docs/gst/.cvsignore:
6455         * docs/gst/tmpl/.cvsignore:
6456         * docs/gst/tmpl/gstpipeline.sgml:
6457         * docs/gst/tmpl/gstplugin.sgml:
6458         * gst/gstpipeline.c:
6459         * gst/gstplugin.c:
6460         * gst/gstplugin.h:
6461           inlined the last two docs files
6462           removed the tmpl directory from cvs (no more conflicts here!)
6463
6464 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6465
6466         * docs/gst/gstreamer-sections.txt:
6467         * docs/gst/tmpl/.cvsignore:
6468         * docs/gst/tmpl/gstpad.sgml:
6469         * docs/gst/tmpl/gstpadtemplate.sgml:
6470         * gst/Makefile.am:
6471         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6472         (gst_pad_finalize), (gst_pad_set_pad_template):
6473         * gst/gstpad.h:
6474         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6475         (gst_pad_template_class_init), (gst_pad_template_init),
6476         (gst_pad_template_dispose), (name_is_valid),
6477         (gst_static_pad_template_get), (gst_pad_template_new),
6478         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6479         (gst_pad_template_pad_created):
6480         * gst/gstpadtemplate.h:
6481           inlined two more docs
6482           factored gstpadtemplate out of gstpad
6483
6484 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6485
6486         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6487         (test_children_state_change_order_semi_sink):
6488           Fix test case: we can't rely on a fixed state change order when
6489           going from READY => PAUSED because the sink might commit its 
6490           new state first when the first buffer created by the source 
6491           reaches the sink before the source has finished its change state.
6492           (Test case still fails at times, see #316856, comment 5 onwards)
6493
6494 2005-09-24  Wim Taymans  <wim@fluendo.com>
6495
6496         * docs/design/part-events.txt:
6497         * docs/design/part-gstbus.txt:
6498         * docs/design/part-gstpipeline.txt:
6499         * docs/design/part-messages.txt:
6500         * docs/design/part-overview.txt:
6501         * docs/design/part-segments.txt:
6502         * gst/gstbin.c:
6503         * gst/gstbuffer.c:
6504         * gst/gstclock.c:
6505         * gst/gstelement.c:
6506         * gst/gstevent.c:
6507         * gst/gstfilter.c:
6508         * gst/gstiterator.c:
6509         Various documentation updates.
6510
6511 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6512
6513         * gst/gstclock.h:
6514           Well, that's embarassing.  Luckily we weren't using
6515           GST_CLOCK_DIFF anywhere.
6516
6517 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6518
6519         * common/gtk-doc.mak:
6520           don't fail on building XML, FC4 slave shows a bunch of doc
6521           missing bits that I don't get
6522         * gst/gstpad.c:
6523         * gst/gstpipeline.c:
6524         * gst/gststructure.c:
6525           some doc updates
6526
6527 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6528
6529         * docs/design/part-gstbin.txt:
6530         * docs/design/part-gstbus.txt:
6531         * gst/gstbus.c:
6532           Add blurb about how the bus goes into flushing mode and
6533           drops all messages when its bin goes from READY into NULL 
6534           state.
6535
6536 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6537
6538         * docs/gst/gstreamer-sections.txt:
6539         * gst/gststructure.c: (gst_structure_get_clock_time):
6540         * gst/gststructure.h:
6541           add a method to get a GstClockTime out of a structure
6542
6543 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6544
6545         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6546         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6547           Added test to check state change order in bins (can still be made
6548           to fail here under heavy disk load; bails out with 'Push on pad
6549           fakesink:sink0, but it was not activated in push mode').
6550
6551         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6552           Fix state change order when there is only a semi sink (#316856)
6553
6554         * gst/gstbus.c: (gst_bus_class_init):
6555           Use _class_peek_parent(), not _class_ref(); fix docs to say
6556           'default main context' instead of 'mainloop' where that is
6557           what's meant.
6558
6559         * gst/gstelement.c: (gst_element_commit_state),
6560         (gst_element_set_state):
6561           Fix typos in debug messages
6562
6563 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6564
6565         * docs/README:
6566         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6567         * gst/gstpluginfeature.c:
6568         * gst/gstutils.c:
6569           various doc updates
6570         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6571           change an assert into an error until it gets fixed properly
6572
6573 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6574
6575         * docs/gst/gstreamer-sections.txt:
6576         * docs/gst/tmpl/.cvsignore:
6577         * docs/gst/tmpl/gstelement.sgml:
6578         * docs/gst/tmpl/gstinfo.sgml:
6579         * docs/gst/tmpl/gstobject.sgml:
6580         * gst/gstelement.c:
6581         * gst/gstelement.h:
6582         * gst/gstinfo.c:
6583         * gst/gstinfo.h:
6584         * gst/gstobject.c: (gst_object_class_init):
6585         * gst/gstobject.h:
6586           inlined 3 more biiiig doc files and added some missing docs on the fly
6587
6588 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6589
6590         * check/gst/.cvsignore:
6591         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6592         * gst/gstregistryxml.c: (load_plugin),
6593         (gst_registry_xml_save_plugin):
6594           put back source in registry.  add checks for find_plugin.
6595         * testsuite/states/bin.c: (assert_state), (empty_bin),
6596         (test_adding_one_element), (main):
6597         * testsuite/states/locked.c: (main):
6598           some compile/run fixes
6599
6600 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6601
6602         * check/gst/gstvalue.c: (GST_START_TEST):
6603           fix leaks in the test itself
6604
6605 2005-09-22  Wim Taymans  <wim@fluendo.com>
6606
6607         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6608         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6609         (gst_base_sink_query):
6610         Prepare for more accurate position reporting and query
6611         handling.
6612
6613         * gst/gstelement.c: (gst_element_send_event),
6614         (gst_element_set_state):
6615         Add some comment.
6616
6617 2005-09-22  Wim Taymans  <wim@fluendo.com>
6618
6619         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6620         (gst_query_parse_segment):
6621         * gst/gstquery.h:
6622         More documentation.
6623         Add segment query for future use.
6624
6625 2005-09-22  Wim Taymans  <wim@fluendo.com>
6626
6627         * gst/gstbin.c: (gst_bin_add_func):
6628         Some more debug info.
6629
6630         * gst/gstelement.c: (gst_element_send_event):
6631         Simplify send_event
6632
6633         * gst/gstelement.h:
6634         Don't know how flags got broken.
6635
6636         * gst/gstquery.h:
6637         Added new query.
6638
6639 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6640
6641         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6642           Add simplistic test suite for GST_TYPE_DATE serialisation and
6643           deserialisation.
6644
6645 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6646
6647         * docs/gst/gstreamer-sections.txt:
6648         * gst/gststructure.c: (gst_structure_set_valist),
6649         (gst_structure_get_date):
6650         * gst/gststructure.h:
6651         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6652         (gst_date_copy), (gst_value_compare_date),
6653         (gst_value_serialize_date), (gst_value_deserialize_date),
6654         (gst_value_transform_date_string),
6655         (gst_value_transform_string_date), (_gst_value_initialize):
6656         * gst/gstvalue.h:
6657           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6658           bunch of utility functions along with a hack that checks that
6659           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6660           is required. Part of the grand scheme in #170777.
6661
6662 2005-09-22  Andy Wingo  <wingo@pobox.com>
6663
6664         * gst/gstconfig.h.in: Psych out gtk-doc.
6665
6666         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6667
6668         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6669
6670         * tools/gst-inspect.c (print_element_list): Plug some
6671         inconsequential leaks.
6672
6673         * gst/gstregistry.c (gst_registry_get_default): Doc.
6674
6675         * check/gst/gstplugin.c: 
6676         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6677         * gst/gstelementfactory.c (gst_element_factory_create): 
6678         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6679         refcount changes.
6680
6681         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6682         (gst_plugin_feature_load): Doc, don't eat refs.
6683
6684         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6685         (gst_plugin_list_free): Doc.
6686         (gst_plugin_load_file): Doc updates.
6687
6688         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6689         accessors returning refcounted objects, return a ref.
6690
6691         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6692         accessor for caps. IDEMPOTENCE. Oh yes.
6693
6694 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6695
6696         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6697
6698         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6699         (_gst_debug_register_funcptr):
6700           Add mutex to serialise access to the hash table with
6701           the function pointer => function name string mapping;
6702           make that hash table static scope (#316809).
6703
6704         * gst/registries/.cvsignore:
6705           Remove left-over file.
6706
6707 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6708
6709         * docs/pwg/appendix-porting.xml:
6710           And something about newsegment events and caps-on-buffers to
6711           the porting guide (feel free to improve).
6712
6713 2005-09-21  Andy Wingo  <wingo@pobox.com>
6714
6715         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6716         data and event probes on the same pad.
6717         (test_buffer_probe_once): Test that removing probes from within
6718         the probe functions works.
6719
6720 2005-09-21  Andy Wingo  <wingo@pobox.com>
6721
6722         * check/gst/gstutils.c: New file.
6723         (test_buffer_probe_n_times): A simple buffer probe test. More to
6724         come, foolios.
6725
6726         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6727         have-data::buffer, not have-data.
6728         (gst_pad_add_event_probe): Likewise for have-data::event.
6729         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6730         peer' isn't quite right yet though.
6731         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6732         (gst_pad_remove_data_probe): Change to take the guint handler_id
6733         as their arg, not the function+data, which is more glib-like.
6734
6735         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6736         the signal emission to indicate if the data is a buffer or an
6737         event.
6738         (gst_pad_get_type): Initialize buffer and event quarks.
6739         (gst_pad_class_init): have-data is now a detailed signal, yes it
6740         is.
6741
6742 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6743
6744         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6745         * gst/gstutils.c: (gst_util_set_value_from_string),
6746         (gst_util_set_object_arg):
6747           Don't put functional code in g_return_if_fail() or
6748           g_return_val_if_fail() statements, otherwise things will 
6749           break when G_DISABLE_CHECKS is defined during compilation.
6750
6751 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6752
6753         * docs/gst/tmpl/.cvsignore:
6754         * docs/gst/tmpl/gstvalue.sgml:
6755         * gst/gstvalue.c:
6756         * gst/gstvalue.h:
6757           inlied another one and added  some obvious docs
6758
6759 2005-09-21  Wim Taymans  <wim@fluendo.com>
6760
6761         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6762         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6763         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6764         (gst_fdsrc_get_property), (gst_fdsrc_create):
6765         * gst/elements/gstfdsrc.h:
6766         Properly implement fdsrc. Removed signal and timeout,
6767         better implemented somewhere else.
6768
6769 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6770
6771         * docs/gst/tmpl/.cvsignore:
6772         * docs/gst/tmpl/gstimplementsinterface.sgml:
6773         * gst/gstinterface.c:
6774           inlined more docs
6775
6776 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6777
6778         * docs/gst/gstreamer-sections.txt:
6779         * docs/gst/tmpl/.cvsignore:
6780         * docs/gst/tmpl/gstenumtypes.sgml:
6781           remove obsolete doc file
6782
6783 2005-09-21  David Schleef  <ds@schleef.org>
6784
6785         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6786         little beer, fix a little leak.
6787
6788 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6789
6790         * docs/gst/gstreamer-docs.sgml:
6791         * docs/gst/gstreamer-sections.txt:
6792         * docs/gst/tmpl/.cvsignore:
6793         * gst/Makefile.am:
6794         * gst/gst.h:
6795         * gst/gstbin.c:
6796         * gst/gstelement.h:
6797         * gst/gstindex.c: (gst_index_class_init):
6798         * gst/gstindex.h:
6799         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6800         (gst_index_factory_class_init), (gst_index_factory_init),
6801         (gst_index_factory_finalize), (gst_index_factory_new),
6802         (gst_index_factory_destroy), (gst_index_factory_find),
6803         (gst_index_factory_create), (gst_index_factory_make):
6804         * gst/gstindexfactory.h:
6805         * gst/gstpluginfeature.c:
6806         * gst/gstpluginfeature.h:
6807         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6808           more docs inlined, splitted gstindex.{c,h}
6809
6810 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6811
6812         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6813           fix a leak
6814
6815 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6816
6817         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6818           Set sync to FALSE by default.
6819
6820 2005-09-20  Wim Taymans  <wim@fluendo.com>
6821
6822         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6823         (gst_base_sink_init):
6824         Make sync property settable from subclass.
6825
6826         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6827         (gst_fake_sink_change_state):
6828         Set sync to FALSE by default.
6829
6830 2005-09-20  Wim Taymans  <wim@fluendo.com>
6831
6832         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6833         * tools/gst-launch.c: (main):
6834         The timeout handler should have lower priority than the source
6835         so we don't timeout before popping a message with 0 timeout.
6836         Dump error messages after failed state change.
6837
6838 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6839
6840         * tools/gst-inspect.c: (print_element_properties_info):
6841           Fix two typos.
6842
6843 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6844
6845         * check/gst/gstevent.c:
6846         * gst/elements/gstfakesink.c:
6847         * gst/elements/gstfakesink.h:
6848           remove the sync property from fakesink.
6849           has the side effect of setting sync TRUE
6850           for fakesink, which is a change.  Anyone who knows how
6851           to fix this nicely in a GObject-y way, feel free.
6852
6853 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6854
6855         * docs/gst/gstreamer-docs.sgml:
6856           remove probe refsection
6857
6858 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6859
6860         * check/Makefile.am:
6861           disable valgrinding the controller test again
6862         * docs/gst/gstreamer-sections.txt:
6863           update for api-changes
6864
6865 2005-09-20  Wim Taymans  <wim@fluendo.com>
6866
6867         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6868         (gst_base_sink_set_property), (gst_base_sink_get_property),
6869         (gst_base_sink_do_sync):
6870         * gst/base/gstbasesink.h:
6871         Added sync property to basesink to disable clock sync.
6872
6873 2005-09-20  Andy Wingo  <wingo@pobox.com>
6874
6875         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6876         eating the caller's refcount.
6877
6878         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6879         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6880         refcount.
6881
6882         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6883         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6884         of GLib 2.8 public, so we can know which refcount to check in
6885         tests.
6886
6887         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6888         (gst_object_init): Only set the gst refcount if we're going ahead
6889         with the refcount hack.
6890
6891 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6892
6893         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6894         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6895           more leaks plumbed, added more debug-logging
6896         * gst/gstmacros.h:
6897           whitespace fix
6898
6899 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6900
6901         * gst/gstmessage.c:
6902           remove include of gstmemchunk.h
6903
6904 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6905
6906         * gst/gstclock.c: (_gst_clock_id_free):
6907           Commit from the Political Party For More Atomic CVS Commits,
6908           so that people don't waste too much of their day fishing
6909           out obvious leaks out of massive commits.
6910           Oh, and fix a pretty damn obvious leak in the memchunk
6911           removal code.
6912
6913 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6914
6915         * check/Makefile.am:
6916         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6917           plug mem-leak, re-add to valgrindable tests
6918
6919 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6920
6921         * gst/gstplugin.h:
6922           unbreak the build for those who have chronic arthritis
6923           and typing "make check" is just too taxing on the hands
6924
6925 2005-09-20  Andy Wingo  <wingo@pobox.com>
6926
6927         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6928         really want it out, you should fix plugins at the same time.
6929
6930 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6931
6932         * configure.ac:
6933         * docs/gst/gstreamer-sections.txt:
6934         * gst/gstobject.c:
6935           added missing symbols to api docs
6936           disable ref-count hack if we have glib >= 2.8
6937
6938 2005-09-19  David Schleef  <ds@schleef.org>
6939
6940         * docs/gst/Makefile.am: Ignore a few more internal headers
6941         * docs/gst/gstreamer-docs.sgml: Remove old sections
6942         * docs/gst/gstreamer-sections.txt: Remove old sections
6943         * docs/gst/tmpl/gstobject.sgml: update
6944         * docs/gst/tmpl/gstplugin.sgml: update
6945         * docs/gst/tmpl/gstpluginfeature.sgml: update
6946         * docs/random/ds/0.9-suggested-changes: update.
6947         * gst/Makefile.am: remove memchunk and trashstack, since they're
6948           not used.
6949         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6950         * gst/gst.h: don't include some headers
6951         * gst/gstchildproxy.c: add gstmarshal.h
6952         * gst/gstclock.c: Don't use memchunks
6953         * gst/gstminiobject.c: Add some docs
6954         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6955         * gst/gstobject.h: same
6956         * gst/gstplugin.c: include gstmacros.h
6957         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6958         * gst/gstquery.c: don't use memchunks
6959         * gst/gstregistry.c: rename gst_registry_deinit()
6960         * gst/gstregistry.h: same
6961
6962 2005-09-19  David Schleef  <ds@schleef.org>
6963
6964         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6965         * docs/libs/gstreamer-libs-sections.txt:
6966         * docs/libs/tmpl/gstgetbits.sgml:
6967         * docs/libs/tmpl/gstputbits.sgml:
6968
6969 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6970
6971         * win32/gstenumtypes.c:
6972         * win32/gstenumtypes.h:
6973           Update.
6974
6975 2005-09-19  Wim Taymans  <wim@fluendo.com>
6976
6977         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6978         Automatically PAUSE and RESUME a pipeline when a flushing seek
6979         is performed.
6980
6981 2005-09-19  Andy Wingo  <wingo@pobox.com>
6982
6983         * gst/gstregistry.h: Spacing fixen.
6984
6985 2005-09-19  Wim Taymans  <wim@fluendo.com>
6986
6987         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6988         Handle state change failure more correctly.
6989
6990 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6991
6992         * check/Makefile.am:
6993         * check/pipelines/cleanup.c: (run_pipeline):
6994         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6995         (GST_START_TEST):
6996           enable cleanup again after fixing the leak
6997         * docs/README:
6998           some more info on docs
6999
7000 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7001
7002         * check/Makefile.am:
7003           re-enable tests now that leaks are plugged
7004         * check/gst/gst.c:
7005         * check/gst/gstbin.c:
7006         * check/gst/gstpipeline.c:
7007           add some more tests while fixing leaks
7008         * common/check.mak:
7009           make sure binaries are uptodate when valgrinding/gdbing
7010         * gst/gst.c:
7011         * gst/gstelementfactory.c:
7012           remove a ref too many, and add a FIXME for when we get
7013           round to disposing of classes
7014         * gst/gstplugin.c:
7015           fix the refcounting when loading a plugin from a file and
7016           the code pretends that the pointer is the same even though
7017           of course it can change
7018         * gst/gstpluginfeature.c:
7019           unref plugins marked cached (a bit confusing as a name)
7020           as the docs state should be done
7021           various doc additions to explain refcounting
7022         * gst/gstregistry.c:
7023         * gst/gstregistryxml.c:
7024           debugging
7025
7026 2005-09-19  Wim Taymans  <wim@fluendo.com>
7027
7028         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7029         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7030         (send_messages), (GST_START_TEST), (gstbus_suite):
7031         * check/gst/gstpipeline.c: (GST_START_TEST):
7032         * check/pipelines/cleanup.c: (run_pipeline):
7033         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7034         (GST_START_TEST):
7035         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7036         (gst_bus_source_check), (gst_bus_source_dispatch),
7037         (gst_bus_create_watch), (gst_bus_add_watch_full),
7038         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7039         * gst/gstbus.h:
7040         * tools/gst-launch.c: (event_loop):
7041         * tools/gst-md5sum.c: (event_loop):
7042         GstBusHandler -> GstBusFunc, return value has the same meaning as
7043         any other GSource (FALSE == remove source).
7044         _add_watch() and _add_watch_full() now take a MessageType mask to
7045         only handle specific types of messages.
7046         _poll() returns the GstMessage instead of the message type to avoid
7047         race conditions.
7048         _have_pending() takes a MessageType mask now too.
7049         Added testsuite for multiple bus watches.
7050         Fix testsuites and applications for new bus API.
7051
7052 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7053
7054         * check/Makefile.am:
7055           mark a bunch of the tests as to fix until we fix them
7056
7057 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7058
7059         * common/check.mak:
7060           use GST_PLUGIN settings for valgrind tests as well, so we're
7061           valgrinding the correct thing
7062         * gst/gst.c: (init_post):
7063           plug another leak
7064
7065 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7066
7067         * gst/gst.c: (init_post), (gst_deinit):
7068         * gst/gstelementfactory.c: (gst_element_factory_class_init),
7069         (gst_element_factory_finalize), (gst_element_factory_cleanup):
7070         * gst/gstindex.c: (gst_index_factory_class_init),
7071         (gst_index_factory_finalize):
7072         * gst/gstobject.c: (gst_object_dispose):
7073         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7074         (gst_plugin_load_file), (gst_plugin_desc_free):
7075         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7076         (gst_plugin_feature_finalize):
7077         * gst/gstregistry.c: (gst_registry_class_init),
7078         (gst_registry_init), (gst_registry_finalize),
7079         (gst_registry_get_default), (gst_registry_deinit):
7080         * gst/gstregistry.h:
7081         * gst/gstregistryxml.c: (load_feature), (load_plugin):
7082           various cleanups and memleak plugging.  make valgrind is happy now.
7083
7084 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7085
7086         * common/check.mak:
7087           add a check-valgrind target
7088
7089 2005-09-18  David Schleef  <ds@schleef.org>
7090
7091         * tools/gst-inspect.c: Revert the GOption code.
7092
7093 2005-09-17  David Schleef  <ds@schleef.org>
7094
7095         * check/Makefile.am: Fix environment variables.
7096         * check/gst/gstplugin.c: Fix for API changes.
7097         * tools/gst-inspect.c: Fix for API changes.
7098         * tools/gst-xmlinspect.c: Fix for API changes.
7099         * gst/gstelementfactory.c:
7100         * gst/gstplugin.c:
7101         * gst/gstplugin.h:
7102         * gst/gstpluginfeature.c:
7103         * gst/gstpluginfeature.h:
7104         * gst/gstregistry.c:
7105         * gst/gstregistry.h:
7106         * gst/gstregistryxml.c:
7107         * gst/gsttypefind.c:
7108         * gst/gsttypefindfactory.c:
7109         * gst/indexers/gstfileindex.c:
7110         * gst/indexers/gstmemindex.c:
7111         * gst/schedulers/Makefile.am:
7112           Change registry to keep track of both plugins and features,
7113           removing the feature tracking from plugins themselves.
7114
7115 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7116
7117         * check/Makefile.am:
7118         * tools/gst-register.1.in:
7119           remove gst-register
7120
7121 2005-09-15  David Schleef  <ds@schleef.org>
7122
7123         * check/gst/gstplugin.c:
7124         * gst/gstelementfactory.c:
7125         * gst/gstplugin.c:
7126         * gst/gstpluginfeature.c:
7127         * gst/gstregistry.c:
7128           Getting tired of debugging.  Disabled all the unreffing of
7129           plugins and features, which fixes the segfaults, but of
7130           course leaks like crazy.  At least playbin works.
7131
7132 2005-09-15  David Schleef  <ds@schleef.org>
7133
7134         * check/gst/gstplugin.c: (register_check_elements),
7135         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
7136         More testing
7137         * gst/elements/gsttypefindelement.c: Fix refcounting.
7138         * gst/gsttypefind.c:
7139         * gst/gsttypefindfactory.c:
7140         * gst/gsttypefindfactory.h:
7141
7142 2005-09-15  David Schleef  <ds@schleef.org>
7143
7144         * gst/gstindex.c: get refcounting correct.
7145         * gst/gstregistry.c: Handle the case where a feature/plugin is
7146           not found.
7147
7148 2005-09-15  David Schleef  <ds@schleef.org>
7149
7150         * check/Makefile.am:
7151         * check/gst/gstplugin.c: Add test
7152         * gst/gstplugin.c: Fix problems noticed by testsuite
7153         * gst/gstplugin.h:
7154         * gst/gstregistry.c: 
7155         * gst/gstregistry.h:
7156
7157 2005-09-15  David Schleef  <ds@schleef.org>
7158
7159         * gst/gstplugin.c: Implement semi-decent recounting and locking
7160           in plugins and plugin features.
7161         * gst/gstplugin.h:
7162         * gst/gstpluginfeature.c:
7163         * gst/gstpluginfeature.h:
7164         * gst/gstregistry.c:
7165
7166 2005-09-15  Michael Smith <msmith@fluendo.com>
7167
7168         * gst/gstregistry.c: (gst_registry_get_feature_list):
7169           Implement this. Makes oggdemux work; decodebin still broken.
7170
7171 2005-09-14  David Schleef  <ds@schleef.org>
7172
7173         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7174           #316076)
7175         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7176         * gst/check/Makefile.am:
7177         * libs/gst/controller/Makefile.am:
7178         * libs/gst/dataprotocol/Makefile.am:
7179
7180 2005-09-14  David Schleef  <ds@schleef.org>
7181
7182         * configure.ac: Remove getbits library.  Nothing uses it, and
7183           it should be in something like liboil if someone did want
7184           to use it.
7185         * libs/gst/Makefile.am:
7186         * libs/gst/getbits/Makefile.am:
7187         * libs/gst/getbits/gbtest.c:
7188         * libs/gst/getbits/getbits.c:
7189         * libs/gst/getbits/getbits.h:
7190         * libs/gst/getbits/gstgetbits_generic.c:
7191         * libs/gst/getbits/gstgetbits_i386.s:
7192         * libs/gst/getbits/gstgetbits_inl.h:
7193
7194 2005-09-14  David Schleef  <ds@schleef.org>
7195
7196         * gst/Makefile.am: Dist glib-compat.h
7197
7198 2005-09-14  David Schleef  <ds@schleef.org>
7199
7200         * configure.ac: Remove gst/registries, since it's no longer used.
7201         * gst/registries/Makefile.am:
7202         * gst/registries/gstlibxmlregistry.c:
7203         * gst/registries/gstlibxmlregistry.h:
7204         * gst/registries/gstxmlregistry.c:
7205         * gst/registries/gstxmlregistry.h:
7206         * gst/registries/registrytest.c:
7207
7208 2005-09-14  David Schleef  <ds@schleef.org>
7209
7210         * gst/glib-compat.h:
7211         * gst/gstregistryxml.c:
7212           Convergence is near.  Seriously.
7213
7214 2005-09-14  David Schleef  <ds@schleef.org>
7215
7216         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7217         * gst/glib-compat.h:
7218           Attempt #4 to appease the buildbots.
7219
7220 2005-09-14  David Schleef  <ds@schleef.org>
7221
7222         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7223           Attempt #3.
7224
7225 2005-09-14  David Schleef  <ds@schleef.org>
7226
7227         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7228         Attempt #2.
7229
7230 2005-09-14  David Schleef  <ds@schleef.org>
7231
7232         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7233           the new functions.
7234
7235 2005-09-14  David Schleef  <ds@schleef.org>
7236
7237         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7238         * gst/glib-compat.h: Add some functions that are in newer versions
7239           of glib than we care to require.
7240         * gst/gstregistryxml.c: Use them.
7241
7242 2005-09-14  David Schleef  <ds@schleef.org>
7243
7244         * po/POTFILES.in: remove gst-register.c
7245
7246 2005-09-14  David Schleef  <ds@schleef.org>
7247
7248         * docs/gst/gstreamer-docs.sgml:
7249         * docs/gst/gstreamer-sections.txt:
7250         * docs/gst/gstreamer.types:
7251         * docs/gst/tmpl/gstelement.sgml:
7252         * docs/gst/tmpl/gstplugin.sgml:
7253         * docs/gst/tmpl/gstpluginfeature.sgml:
7254           Documentation updates for registry changes.
7255
7256 2005-09-14  David Schleef  <ds@schleef.org>
7257
7258         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7259           because we don't require glib-2.8.
7260
7261 2005-09-14  David Schleef  <ds@schleef.org>
7262
7263         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7264           registries directory.
7265
7266 2005-09-14  David Schleef  <ds@schleef.org>
7267
7268         * check/Makefile.am:
7269         * check/generic/states.c:
7270         * gst/Makefile.am:
7271         * gst/gst.c:
7272         * gst/gst.h:
7273         * gst/gst_private.h:
7274         * gst/gstelementfactory.c:
7275         * gst/gstindex.c:
7276         * gst/gstinfo.c:
7277         * gst/gstplugin.c:
7278         * gst/gstplugin.h:
7279         * gst/gstpluginfeature.c:
7280         * gst/gstpluginfeature.h:
7281         * gst/gstregistry.c:
7282         * gst/gstregistry.h:
7283         * gst/gstregistrypool.c: remove
7284         * gst/gstregistrypool.h: remove
7285         * gst/gsttypefind.c:
7286         * gst/gsttypefindfactory.c:
7287         * gst/gsturi.c:
7288         * tools/Makefile.am:
7289         * tools/gst-compprep.c:
7290         * tools/gst-inspect.c:
7291         * tools/gst-register.c: remove
7292         * tools/gst-xmlinspect.c:
7293           Registry rewrite.  Changes registry from being a file created
7294           by a tool into a simple cache file created automatically by 
7295           libgstreamer.  Removed gst-register (because it's no longer
7296           needed).  Remove registry pools, because we only have one
7297           registry implementation (XML).  Fix up other subsystems as
7298           necessary.
7299
7300 2005-09-13  Michael Smith <msmith@fluendo.com>
7301
7302         * gst/gstconfig.h.in:
7303           Don't Use windows linking attributes for MinGW. Fixes #316157
7304
7305 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7306
7307         * gst/gstutils.c: (set_state_async_thread_func),
7308         (gst_element_set_state_async):
7309           Apparently people think it's better if this function doesn't
7310           try to set the state to whatever state was asked for on the first
7311           call to this function for any object.  Seriously.
7312
7313 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7314
7315         * check/gst/gstpipeline.c: (GST_START_TEST):
7316         * docs/gst/gstreamer-sections.txt:
7317         * gst/gstutils.c: (set_state_async_thread_func),
7318         (gst_element_set_state_async):
7319         * gst/gstutils.h:
7320           add a "gst_element_set_state_async" method that
7321           sets the state and starts a thread to make sure the state
7322           change completes as best as it can
7323
7324 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7325
7326         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7327           codify design+behaviour in testsuite after discussion
7328
7329 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7330
7331         * docs/gst/tmpl/gstelement.sgml:
7332         * docs/manual/appendix-quotes.xml:
7333           add a quote
7334         * gst/gstelement.c: (gst_element_set_state):
7335           add some debug
7336
7337 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7338
7339         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7340         (gst_base_transform_prepare_output_buf),
7341         (gst_base_transform_handle_buffer):
7342         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7343         (gst_capsfilter_prepare_buf):
7344           Remove the requirement for sub-classes to call the parent
7345           implementation of prepare_output_buffer with a wrapper function.
7346           
7347         * gst/gsttaglist.h:
7348         * gst/gsttagsetter.h:
7349           Fix #define wrapper
7350
7351 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7352
7353         * docs/gst/gstreamer-sections.txt:
7354           more doc cleanups
7355
7356 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7357
7358         * docs/gst/gstreamer-sections.txt:
7359         * docs/gst/tmpl/gstelement.sgml:
7360         * docs/gst/tmpl/gstplugin.sgml:
7361         * gst/gstminiobject.c:
7362         * gst/gstvalue.h:
7363           docs now stop throwing warnings
7364
7365 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7366
7367         * docs/gst/gstreamer-sections.txt:
7368         * docs/gst/gstreamer.types:
7369         * docs/gst/tmpl/gstpad.sgml:
7370         * docs/gst/tmpl/gsttypes.sgml:
7371         * gst/base/gstadapter.h:
7372         * gst/base/gstbasesink.h:
7373         * gst/base/gstbasesrc.h:
7374         * gst/gstbin.h:
7375         * gst/gstbuffer.h:
7376         * gst/gstbus.h:
7377         * gst/gstcaps.h:
7378         * gst/gstclock.h:
7379         * gst/gstelement.h:
7380         * gst/gstevent.h:
7381         * gst/gstmessage.h:
7382         * gst/gstpad.h:
7383         * gst/gststructure.c:
7384         * gst/registries/gstlibxmlregistry.h:
7385           various documentation fixes
7386
7387 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7388
7389         * docs/gst/gstreamer-sections.txt:
7390         * docs/gst/tmpl/gstvalue.sgml:
7391           rearrange gstvalue section
7392         * gst/gstutils.c: (gst_element_state_get_name):
7393           NONE -> VOID
7394         * gst/gstvalue.c: (_gst_value_initialize):
7395         * gst/gstvalue.h:
7396           doc updates
7397
7398 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7399
7400         * check/gst-libs/controller.c:
7401           Header include fix.
7402         * gst/base/gstbasetransform.c:
7403         (gst_base_transform_default_prepare_buf),
7404         (gst_base_transform_handle_buffer):
7405         * gst/base/gstbasetransform.h:
7406           Some more basetransform changes and fixes to enable sub-classes
7407           that modify buffer metadata only.
7408         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7409         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7410         (gst_capsfilter_prepare_buf):
7411           If the output pad has fixed allowed caps and input buffers 
7412           don't have any, set the fixed caps on outgoing buffers.
7413
7414 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7415         * check/elements/identity.c: (GST_START_TEST):
7416           Make the error a little clearer when the test fails because
7417           identity made a copy of the buffer.
7418         * docs/gst/gstreamer-sections.txt:
7419           New symbols in gstbasetransform.h
7420         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7421         (gst_base_transform_init), (gst_base_transform_transform_size),
7422         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7423         (gst_base_transform_default_prepare_buf),
7424         (gst_base_transform_get_unit_size),
7425         (gst_base_transform_buffer_alloc),
7426         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7427         (gst_base_transform_change_state),
7428         (gst_base_transform_set_passthrough),
7429         (gst_base_transform_set_in_place),
7430         (gst_base_transform_is_in_place):
7431         * gst/base/gstbasetransform.h:
7432           Change BaseTransform to separate in_place operate from same_caps
7433           output. in_place implies that the element can perform the transform
7434           on incoming buffers in-place, even if the caps on the output are
7435           different.
7436           Sub-class elements can now implement special buffer allocation
7437           methods for outgoing buffers if they wish to.
7438           Big documentation addition.
7439         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7440         * gst/elements/gstelements.c:
7441           Changes for basetransform modifications.
7442         * gst/elements/Makefile.am:
7443         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7444           Compile fix. Extra debug output.
7445
7446 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7447
7448         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7449         (gst_pad_suite):
7450           add tests for valid pad naming
7451         * gst/check/gstcheck.c: (gst_check_log_message_func),
7452         (gst_check_log_critical_func):
7453           add ASSERT_WARNING
7454           remove printing of code, it is fragile when the code contains
7455           % and the line number is enough info
7456         * gst/check/gstcheck.h:
7457         * gst/gstpad.c: (gst_pad_template_new):
7458           fix memleaks
7459
7460 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7461
7462         * configure.ac:
7463           say what CHECK flags we use
7464         * docs/libs/gstreamer-libs.types:
7465         * libs/gst/controller/Makefile.am:
7466         * libs/gst/controller/gst-controller.c:
7467         * libs/gst/controller/gst-controller.h:
7468         * libs/gst/controller/gst-helper.c:
7469         * libs/gst/controller/gst-interpolation.c:
7470         * libs/gst/controller/gstcontroller.c:
7471         * libs/gst/controller/gsthelper.c:
7472         * libs/gst/controller/gstinterpolation.c:
7473         * tools/gst-inspect.c: (print_plugin_info):
7474           we don't use dashes in header names
7475
7476 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7477
7478         * check/Makefile.am:
7479         * check/gst/.cvsignore:
7480         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7481         (gst_pipeline_suite), (main):
7482           adding a test for pipelines and state changes
7483         * gst/gstutils.c: (get_state_func):
7484           add some debugging
7485         * gstreamer.spec.in:
7486           fix up spec file
7487
7488 2005-09-08  Michael Smith <msmith@fluendo.com>
7489
7490         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7491         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7492         (gst_file_src_is_seekable), (gst_file_src_get_size),
7493         (gst_file_src_start):
7494         * gst/elements/gstfilesrc.h:
7495           Various fixes for unseekable, unmmapable, and non-normal files, so
7496           that fallback to read() rather than mmap() works.
7497         * gst/gstevent.c: (gst_event_new_newsegment):
7498           Allow newsegment events with segment_start == segment_end, as will
7499           correctly happen if you use filesrc on a zero-size file, for
7500           example.
7501
7502 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7503
7504         * gst/gstplugin.c: (gst_plugin_load_file):
7505           Call g_module_close when we don't load the module
7506
7507         * gst/registries/gstlibxmlregistry.c:
7508         (gst_xml_registry_get_property):
7509           Port leak fix from 0.8
7510
7511 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7512
7513         * docs/gst/gstreamer-docs.sgml:
7514         * docs/gst/tmpl/.cvsignore:
7515         * docs/gst/tmpl/gsttrace.sgml:
7516         * docs/gst/tmpl/gsttrashstack.sgml:
7517         * gst/Makefile.am:
7518         * gst/gst.h:
7519         * gst/gstelement.h:
7520         * gst/gstevent.h:
7521         * gst/gstmessage.c:
7522         * gst/gstmessage.h:
7523         * gst/gsttag.c:
7524         * gst/gsttag.h:
7525         * gst/gsttaginterface.c:
7526         * gst/gsttaginterface.h:
7527         * gst/gsttaglist.c:
7528         * gst/gsttaglist.h:
7529         * gst/gsttagsetter.c:
7530         * gst/gsttagsetter.h:
7531         * gst/gsttrace.c:
7532         * gst/gsttrace.h:
7533         * gst/gsttrashstack.c:
7534           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7535           inlined docs for gsttrace, gsttrashstack
7536
7537 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7538
7539         * gst/Makefile.am:
7540         * gst/elements/gstbufferstore.h:
7541         * gst/elements/gsttypefindelement.c:
7542         * gst/elements/gsttypefindelement.h:
7543         * gst/gst.h:
7544         * gst/gsttypefind.c:
7545         * gst/gsttypefind.h:
7546         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7547         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7548         (gst_type_find_factory_dispose),
7549         (gst_type_find_factory_unload_thyself),
7550         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7551         (gst_type_find_factory_get_caps),
7552         (gst_type_find_factory_get_extensions),
7553         (gst_type_find_factory_call_function):
7554         * gst/gsttypefindfactory.h:
7555         * gst/registries/gstlibxmlregistry.c:
7556         * gst/registries/gstxmlregistry.c:
7557           splitted gsttypefind into gsttypefind, gsttypefindfactory
7558
7559 2005-09-07  Andy Wingo  <wingo@pobox.com>
7560
7561         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7562         condition whereby the pad's task function is entered before the
7563         pad_mode variable was set.
7564
7565 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7566
7567         * gst/gstpad.c: (gst_pad_alloc_buffer):
7568           Catch misbehaving pad_alloc functions that don't
7569           set up caps and do it for them.
7570
7571 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7572
7573         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7574           test for pipe!=NULL
7575         * docs/gst/tmpl/.cvsignore:
7576         * docs/gst/tmpl/gstmemchunk.sgml:
7577         * docs/gst/tmpl/gstparse.sgml:
7578         * docs/gst/tmpl/gsttaglist.sgml:
7579         * docs/gst/tmpl/gsttagsetter.sgml:
7580         * docs/gst/tmpl/gsttypefind.sgml:
7581         * docs/gst/tmpl/gsttypefindfactory.sgml:
7582         * gst/gstmemchunk.c:
7583         * gst/gstparse.c:
7584         * gst/gsttag.c:
7585         * gst/gsttaginterface.c:
7586         * gst/gsttypefind.c:
7587         * gst/gsttypefind.h:
7588           inlined more docs
7589
7590 === release 0.9.2 ===
7591
7592 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7593
7594         * NEWS:
7595         * RELEASE:
7596         * configure.ac:
7597           releasing 0.9.2, "South"
7598
7599 2005-09-05  Andy Wingo  <wingo@pobox.com>
7600
7601         * gst/registries/gstxmlregistry.h:
7602         * gst/registries/gstxmlregistry.c: Um... resurrect...
7603         
7604         * gst/registries/gstxmlregistry.h:
7605         * gst/registries/gstxmlregistry.c: and update to newer API.
7606         Incidentally they should be a bit faster now that they don't have
7607         to parse the caps.
7608         
7609 2005-09-05  Andy Wingo  <wingo@pobox.com>
7610
7611         * gst/registries/gstxmlregistry.h:
7612         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7613         replaced by the libxml registry a while back
7614
7615 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7616
7617         * docs/gst/tmpl/gstplugin.sgml:
7618         * gst/elements/gstelements.c:
7619         * gst/gst.c:
7620         * gst/gstplugin.c: (gst_plugin_register_func),
7621         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7622         (gst_plugin_get_source):
7623         * gst/gstplugin.h:
7624         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7625         (gst_xml_registry_save_plugin):
7626         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7627         (gst_xml_registry_save_plugin):
7628         * tools/gst-inspect.c: (print_plugin_info):
7629           add a "source" plugin description field, to represent the source
7630           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7631           will set it to PACKAGE, which is automake's idea of the name of
7632           the source project.
7633
7634 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7635
7636         * Makefile.am:
7637         * autogen.sh:
7638         * configure.ac:
7639         * docs/Makefile.am:
7640         * docs/faq/Makefile.am:
7641         * docs/gst/tmpl/gstelement.sgml:
7642         * docs/gst/tmpl/gsttypes.sgml:
7643         * docs/htmlinstall.mak:
7644         * docs/manual/Makefile.am:
7645         * docs/pwg/Makefile.am:
7646           reorganize doc build a little
7647           split out docbook and gtk-doc stuff
7648           have two separate --enable's and enable them through autogen
7649           but disable by default in configure (to be similar to other
7650           projects)
7651         * gstreamer.spec.in:
7652           clean up docs install
7653         * po/af.po:
7654         * po/az.po:
7655         * po/ca.po:
7656         * po/cs.po:
7657         * po/de.po:
7658         * po/en_GB.po:
7659         * po/fr.po:
7660         * po/it.po:
7661         * po/nb.po:
7662         * po/nl.po:
7663         * po/ru.po:
7664         * po/sq.po:
7665         * po/sr.po:
7666         * po/sv.po:
7667         * po/tr.po:
7668         * po/uk.po:
7669         * po/vi.po:
7670           translation updates
7671
7672 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7673
7674         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7675           Add comment.
7676           
7677         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7678         (gst_fake_sink_change_state):
7679           Make state change function thread-safe.
7680           
7681         * gst/gstpad.c: (gst_pad_alloc_buffer):
7682           Set offset on generic buffer allocated by fallback.
7683
7684 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7685
7686         * docs/gst/gstreamer-sections.txt:
7687         * docs/gst/tmpl/gstelement.sgml:
7688         * gst/gstpad.c:
7689         * libs/gst/controller/gst-controller.c:
7690         (gst_controlled_property_set_interpolation_mode),
7691         (gst_controlled_property_new),
7692         (gst_controller_find_controlled_property):
7693          run the wingo-magic script against the docs
7694
7695 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7696
7697         * docs/gst/gstreamer-docs.sgml:
7698         * docs/gst/gstreamer-sections.txt:
7699         * docs/gst/tmpl/.cvsignore:
7700         * docs/gst/tmpl/gstelementdetails.sgml:
7701         * docs/gst/tmpl/gstelementfactory.sgml:
7702         * gst/gst.c:
7703         * gst/gstbus.c:
7704         * gst/gstelementfactory.c:
7705         * gst/gstelementfactory.h:
7706           merged elementdetails docs into elementfactory docs
7707           inlined both
7708
7709 2005-09-02  Andy Wingo  <wingo@pobox.com>
7710
7711         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7712         consider this enum an enum and not a flags.
7713
7714 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7715
7716         * docs/gst/gstreamer-docs.sgml:
7717         * docs/gst/tmpl/.cvsignore:
7718         * docs/gst/tmpl/gstghostpad.sgml:
7719         * docs/gst/tmpl/gstiterator.sgml:
7720         * docs/gst/tmpl/gstmacros.sgml:
7721         * docs/gst/tmpl/gstrealpad.sgml:
7722         * docs/gst/tmpl/gstregistry.sgml:
7723         * docs/gst/tmpl/gstregistrypool.sgml:
7724         * docs/gst/tmpl/gststructure.sgml:
7725         * docs/gst/tmpl/gstsystemclock.sgml:
7726         * docs/gst/tmpl/gsttrace.sgml:
7727         * gst/gstghostpad.c:
7728         * gst/gstmacros.h:
7729         * gst/gstmemchunk.c:
7730         * gst/gstmemchunk.h:
7731         * gst/gstqueue.c:
7732         * gst/gstregistry.c:
7733         * gst/gstregistrypool.c:
7734         * gst/gststructure.c:
7735         * gst/gstsystemclock.c:
7736           more docs inlined
7737
7738 2005-09-02  Andy Wingo  <wingo@pobox.com>
7739
7740         * gst/gstelement.h (GstState): Renamed from GstElementState,
7741         changed to be a normal enum instead of flags.
7742         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7743         munged to be GST_STATE_CHANGE_*.
7744         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7745         work with the new state representation.
7746         (GstStateChange): New enumeration of possible state transitions.
7747         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7748         (GstElementClass::change_state): Pass the GstStateChange along as
7749         an argument. Helps language bindings, so they don't have to use
7750         tricky lock-needing macros like GST_STATE_CHANGE ().
7751
7752         * scripts/update-states (file): New script. Run it on a file to
7753         update it for state naming and API changes. Updates files in
7754         place.
7755
7756         * All files updated for the new API.
7757
7758 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7759
7760         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7761         * gst/gstutils.c: (gst_util_set_value_from_string),
7762         (gst_util_set_object_arg):
7763           fix a bunch of unchecked return values
7764         * tools/gst-complete.c: (main):
7765         * gstreamer.spec.in:
7766           clean up a little
7767
7768 2005-09-01  Wim Taymans  <wim@fluendo.com>
7769
7770         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7771         (gst_base_sink_event), (gst_base_sink_do_sync),
7772         (gst_base_sink_handle_event):
7773         * gst/base/gstbasesink.h:
7774         Handle newsegments more correctly.
7775
7776         * gst/gstbus.c:
7777         Fix docs.
7778
7779         * gst/gstevent.c: (gst_event_new_newsegment):
7780         A newsegment cannot have a start_time of -1
7781
7782 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7783
7784         * win32/gstenumtypes.c:
7785         * win32/gstenumtypes.h:
7786           Update
7787
7788 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7789
7790         * libs/gst/controller/gst-controller.c:
7791         (gst_controlled_property_set_interpolation_mode),
7792         (gst_controlled_property_new):
7793          fixed boolean again
7794
7795 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7796
7797         * docs/faq/gst-uninstalled:
7798           add -good
7799         * gst/gstevent.c:
7800         * gst/gstevent.h:
7801           remove wrong docs
7802         * gst/gstutils.c: (gst_element_link_filtered):
7803         * gst/gstutils.h:
7804           add gst_element_link_filtered
7805
7806 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7807
7808         * docs/gst/gstreamer-docs.sgml:
7809         * docs/gst/gstreamer-sections.txt:
7810         * docs/gst/tmpl/.cvsignore:
7811         * docs/gst/tmpl/gsterror.sgml:
7812         * docs/gst/tmpl/gstfilter.sgml:
7813         * docs/gst/tmpl/gsturihandler.sgml:
7814         * docs/gst/tmpl/gsturitype.sgml:
7815         * docs/gst/tmpl/gstutils.sgml:
7816         * docs/gst/tmpl/gstxml.sgml:
7817         * gst/gsterror.c:
7818         * gst/gsterror.h:
7819         * gst/gstfilter.c:
7820         * gst/gsturi.c:
7821         * gst/gsturitype.c:
7822         * gst/gstutils.c:
7823         * gst/gstxml.c:
7824           inlined more docs, fixed double id-ref
7825
7826 2005-08-31  Wim Taymans  <wim@fluendo.com>
7827
7828         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7829         (gst_base_transform_handle_buffer):
7830         Passthrough elements don't need the caps as they don't care.
7831
7832 2005-08-31  Wim Taymans  <wim@fluendo.com>
7833
7834         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7835         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7836         Don't leak refcounts on buffers.
7837
7838 2005-08-31  Wim Taymans  <wim@fluendo.com>
7839
7840         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7841         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7842         (gst_base_transform_chain), (gst_base_transform_change_state):
7843         * gst/base/gstbasetransform.h:
7844         Handle the case where we are not negotiated more gracefully.
7845
7846 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7847
7848         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7849         (gst_file_src_map_region):
7850           Set READONLY flag on mmap'ed buffers, otherwise
7851           gst_buffer_make_writable() won't work properly (#314708).
7852
7853 2005-08-31  Wim Taymans  <wim@fluendo.com>
7854
7855         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7856         passthrough elements can even do inplace on non writable
7857         buffers (as they don't touch them).
7858
7859 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7860
7861         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7862         (gst_test_mono_source_set_property),
7863         (gst_test_mono_source_class_init), (GST_START_TEST),
7864         (gst_controller_suite):
7865           more tests (hehe I have the most)
7866         * gst/gstbus.c:
7867           describe popping messages whenusing mulltiple sources
7868         * libs/gst/controller/gst-controller.c:
7869         (gst_controlled_property_set_interpolation_mode),
7870         (gst_controlled_property_new):
7871         * libs/gst/controller/gst-controller.h:
7872         * libs/gst/controller/gst-interpolation.c:
7873           implement boolean properties
7874
7875 2005-08-31  Wim Taymans  <wim@fluendo.com>
7876
7877         * gst/gstminiobject.c: (gst_mini_object_ref):
7878         Cannot assert that the refcount has to be positive
7879         since a disposed object can be resurrected.
7880
7881 2005-08-31  Wim Taymans  <wim@fluendo.com>
7882
7883         * gst/gstpad.c: (gst_pad_init):
7884         Revert change, need to first fix badly behaving 
7885         apps.
7886
7887 2005-08-30  Wim Taymans  <wim@fluendo.com>
7888
7889         * check/elements/fakesrc.c: (setup_fakesrc):
7890         * check/elements/identity.c: (setup_identity):
7891         Activate pads before using them.
7892
7893 2005-08-30  Wim Taymans  <wim@fluendo.com>
7894
7895         * gst/base/gstadapter.c: (gst_adapter_flush):
7896         Flushing out 0 bytes is ok for this function.
7897
7898         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7899         no newsegment gives a warning and sets the start/stop to 
7900         invalid.
7901
7902         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7903         (gst_base_transform_set_passthrough):
7904         Some debug info.
7905
7906         * gst/gstminiobject.c: (gst_mini_object_ref):
7907         Check refcount here too.
7908
7909         * gst/gstpad.c: (gst_pad_init):
7910         Pads are initially flushing and refusing data.
7911
7912         * gst/gstutils.c: (gst_element_link_pads_filtered):
7913         When adding a capsfilter element make sure it has the
7914         same state as the parent bin.
7915
7916 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7917
7918         * docs/gst/tmpl/.cvsignore:
7919         * docs/gst/tmpl/gstformat.sgml:
7920         * docs/gst/tmpl/gstversion.sgml:
7921         * gst/gstbus.h:
7922         * gst/gstformat.c:
7923         * gst/gstformat.h:
7924         * gst/gstversion.h.in:
7925           more docs and two more inlined
7926
7927 2005-08-30  Wim Taymans  <wim@fluendo.com>
7928
7929         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7930         Don't sync to clock.
7931
7932 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7933
7934         * docs/gst/gstreamer-sections.txt:
7935           ultral33t func10ns deserve to appear in the docs actually
7936         * docs/gst/tmpl/.cvsignore:
7937         * docs/gst/tmpl/gstcompat.sgml:
7938         * docs/gst/tmpl/gstconfig.sgml:
7939         * gst/check/gstcheck.c:
7940         * gst/gstcompat.h:
7941         * gst/gstconfig.h.in:
7942           inlined more docs
7943
7944 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7945
7946         * docs/gst/tmpl/.cvsignore:
7947         * docs/gst/tmpl/gstquery.sgml:
7948         * docs/gst/tmpl/gstutils.sgml:
7949         * gst/gstquery.c:
7950         * gst/gstquery.h:
7951           inlined and extended docs
7952
7953 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7954
7955         * check/gst-libs/controller.c: (GST_START_TEST),
7956         (gst_controller_suite):
7957           more tests
7958         * docs/gst/tmpl/gstutils.sgml:
7959         * docs/libs/gstreamer-libs-sections.txt:
7960         * docs/libs/tmpl/gstdataprotocol.sgml:
7961           include path fixes
7962         * examples/controller/audio-example.c: (main):
7963           controller example works now
7964         * gst/gstclock.h:
7965           doc fixes
7966         * tools/gst-inspect.c: (print_element_properties_info):
7967           show param spec flags
7968
7969 2005-08-29  Andy Wingo  <wingo@pobox.com>
7970
7971         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7972
7973 2005-08-28  Andy Wingo  <wingo@pobox.com>
7974
7975         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7976         as having two arguments instead of just one. Allows superclasses
7977         to access information on subclasses -- see the terrible for() loop
7978         in gtype.c:g_type_create_instance for the reason why. All callers
7979         changed.
7980
7981 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7982
7983         * docs/design/part-messages.txt:
7984           update info
7985         * docs/gst/tmpl/.cvsignore:
7986         * docs/gst/tmpl/gstcaps.sgml:
7987         * docs/gst/tmpl/gstclock.sgml:
7988         * gst/gstbus.c:
7989         * gst/gstcaps.c:
7990         * gst/gstcaps.h:
7991         * gst/gstclock.c:
7992         * gst/gstclock.h:
7993         * gst/gstmessage.c:
7994           added descriptions for bus and message
7995           inline caps and clock docs
7996
7997 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7998
7999         * gst/gstmessage.c:
8000         * gst/gstmessage.h:
8001           doc fixes
8002
8003 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8004
8005         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8006           fix div-by-zero
8007
8008 2005-08-26  Andy Wingo  <wingo@pobox.com>
8009
8010         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8011         element_set_state's return val.
8012         (test_2_elements): Add test that's been disabled for months.
8013
8014         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8015         can-activate-pull properties.
8016
8017         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8018         can-activate-pull properties. Implement is_seekable so fakesrc can
8019         operate in pull mode.
8020
8021         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8022         properties.
8023         (gst_base_sink_activate, gst_base_sink_activate_pull)
8024         (gst_base_sink_activate_push): Make activation mode choosing work.
8025         Cleanups.
8026         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8027         is right. Make pull mode work. Post an eos before pausing in pull
8028         mode.
8029         (gst_base_sink_change_state): Pay attention to the core's
8030         change_state() return val.
8031         
8032         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8033         has-getrange properties. Cleanups.
8034         
8035         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8036         has_getrange and replace with can_activate_pull and
8037         can_activate_push.
8038
8039         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8040         locking comments. Remove has_loop, has_chain and replace with
8041         can_activate_pull and can_activate_push.
8042
8043 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
8044
8045         * configure.ac:
8046         * examples/Makefile.am:
8047         * examples/metadata/Makefile.am:
8048         * examples/metadata/read-metadata.c: (message_loop),
8049         (have_pad_handler), (make_pipeline), (print_tag), (main):
8050           Add metadata reading example that loops over a list of filenames,
8051           dumping any tags found.
8052
8053         * gst/gstbus.c: (gst_bus_dispose):
8054         * gst/gstelement.c: (gst_element_dispose):
8055           Release a few potentially-held references in dispose.
8056
8057 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8058
8059         * docs/gst/tmpl/gstminiobject.sgml:
8060           do *not* add tmpl/*.sgml files to CVS!
8061
8062 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8063
8064         * libs/gst/bytestream/.cvsignore:
8065         * libs/gst/bytestream/Makefile.am:
8066         * libs/gst/bytestream/adapter.c:
8067         * libs/gst/bytestream/adapter.h:
8068         * libs/gst/bytestream/bytestream.c:
8069         * libs/gst/bytestream/bytestream.h:
8070         * libs/gst/bytestream/filepad.c:
8071         * libs/gst/bytestream/filepad.h:
8072           removing obsolete files
8073
8074 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8075
8076         * docs/gst/gstreamer-docs.sgml:
8077         * docs/libs/gstreamer-libs-docs.sgml:
8078           disabed additional index entries again, as this makes docs-gen just
8079           slow and they aren't useful yet
8080         * docs/libs/gstreamer-libs-sections.txt:
8081           little -section.txt cleanup for libs
8082
8083 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8084
8085         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8086         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8087           fix up some debugging
8088         (gst_base_transform_get_unit_size),
8089         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8090         (gst_base_transform_handle_buffer):
8091         * gst/base/gstbasetransform.h:
8092           handle and store timed NEWSEGMENT events so that subclasses that
8093           calculate time by counting samples have a segment_start time they
8094           need to add to their timestamps - see audioresample
8095
8096 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8097
8098         * gst/gstbin.h:
8099           removed ';' from the end of macro defs
8100         * docs/gst/gstreamer-docs.sgml:
8101         * docs/gst/gstreamer-sections.txt:
8102         * docs/gst/tmpl/.cvsignore:
8103         * gst/gstbus.h:
8104         * gst/gstelement.c: (gst_element_class_init),
8105         (gst_element_set_state), (activate_pads),
8106         (gst_element_save_thyself):
8107         * gst/gstevent.c: (gst_event_new_newsegment):
8108         * gst/gstevent.h:
8109         * gst/gstiterator.c:
8110         * gst/gstiterator.h:
8111         * gst/gstpad.c:
8112         * gst/gstprobe.h:
8113         * gst/gstutils.c: (gst_pad_query_convert):
8114         * gst/gstutils.h:
8115           fixed parameter name mismatches between source, header and docs
8116           added some more docs, resolved the last batch of unused elements in
8117           docs (now someone needs to doc them)
8118
8119 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8120
8121         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
8122         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
8123           don't walk through the plugins backwards.  Where is all this
8124           reversed logic coming from ?
8125
8126 2005-08-25  Wim Taymans  <wim@fluendo.com>
8127
8128         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8129         (gst_base_transform_transform_size),
8130         (gst_base_transform_configure_caps),
8131         (gst_base_transform_get_unit_size),
8132         (gst_base_transform_buffer_alloc),
8133         (gst_base_transform_change_state):
8134         * gst/base/gstbasetransform.h:
8135         Cache caps unit_size.
8136         Make sure we cannot negotiate up and downstream at the
8137         same time.
8138
8139 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8140
8141         * gst/gst.c: (init_pre), (init_post):
8142           register the installed plugin path after the env var
8143         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8144         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8145           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8146           directories, so the tests can prefer uninstalled over installed
8147
8148 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8149
8150         * gst/base/gstbasetransform.h:
8151           comment
8152         * gst/gstpad.c:
8153           add to docs
8154
8155 2005-08-25  Wim Taymans  <wim@fluendo.com>
8156
8157         * gst/gstbin.c: (bin_bus_handler):
8158         Be a bit more conservative about the posted message.
8159         
8160         * gst/gstbus.c: (gst_bus_post):
8161         Some cleanups, warn wrong return values.
8162
8163 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8164
8165         * check/gst/gstbin.c: (GST_START_TEST):
8166         * gst/gstbin.c: (bin_bus_handler):
8167         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8168         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8169         (gst_message_new_warning), (gst_message_new_tag),
8170         (gst_message_new_state_changed), (gst_message_new_segment_start),
8171         (gst_message_new_segment_done), (gst_message_new_custom):
8172         * gst/gstmessage.h:
8173         * tools/gst-launch.c: (event_loop):
8174         * tools/gst-md5sum.c: (event_loop):
8175           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8176
8177 2005-08-25  Wim Taymans  <wim@fluendo.com>
8178
8179         * check/generic/states.c: (GST_START_TEST):
8180         Cleanup can be done at the end.
8181
8182         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8183         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8184         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8185         Oh boy.. Thanks for finding this, Thomas. 
8186
8187 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8188
8189         * docs/gst/gstreamer.types:
8190           added missing types
8191
8192 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8193
8194         * docs/gst/gstreamer-docs.sgml:
8195         * docs/gst/gstreamer-sections.txt:
8196         * docs/gst/tmpl/.cvsignore:
8197         * gst/gstbin.c:
8198         * gst/gstiterator.c:
8199         * gst/gstutils.c:
8200         * gst/registries/gstxmlregistry.h:
8201           added missing classes and symbols (123 more to go)
8202           removed removed symbols from section file
8203           fixed many doc-comments
8204
8205 2005-08-24  Wim Taymans  <wim@fluendo.com>
8206
8207         * check/generic/states.c: (GST_START_TEST):
8208         Make sure all tasks are stopped.
8209
8210         * check/gst/gstbin.c: (GST_START_TEST):
8211         Unref after usage for proper valgrinding.
8212
8213         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8214         Really wait for the task to stop before destroying the
8215         mutex.
8216
8217         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8218         (gst_queue_src_activate_push):
8219         Small cleanups. Don't stop the task when we did not start
8220         it.
8221
8222         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8223         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8224         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8225         (gst_task_join):
8226         * gst/gsttask.h:
8227         Protect the stream lock with the object lock.
8228         Disallow setting the stream lock when running.
8229         Add cleanup_all to wait for the threadpool to finish.
8230         Remove code to autoallocate a mutex if none was provided.
8231         Add _join() to wait for a task to stop.
8232         Protect the thread pool with a global lock.
8233
8234 2005-08-24  Wim Taymans  <wim@fluendo.com>
8235
8236         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8237         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8238         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8239         * gst/base/gstbasesink.h:
8240         Handle newsegment events correctly.
8241         Drop buffers out of the segment range.
8242
8243 2005-08-22  Andy Wingo  <wingo@pobox.com>
8244
8245         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8246         macro, implements an interface and gstimplementsinterface for a
8247         new type.
8248
8249 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8250
8251         * check/Makefile.am:
8252         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8253           add a test that does a bunch of state changes on elements
8254           needs some fixing for valgrind
8255         * check/states/sinks.c: (gst_object_suite):
8256           whitespace
8257         * gst/gstcaps.h:
8258           add prototype for gst_caps_is_equal_fixed
8259         * gst/gstplugin.c:
8260         * gst/gstregistrypool.c:
8261           doc fixes
8262
8263 2005-08-24  Andy Wingo  <wingo@pobox.com>
8264
8265         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8266         convert a negative value. Doesn't make much sense. Mostly this is
8267         here to force callers to ensure -1 maps to -1.
8268
8269 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8270
8271         * docs/pwg/advanced-types.xml:
8272           Well done to Michael for catching my deliberate introduction
8273           of this spelling mistake. 
8274         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8275         * gst/gstelement.h:
8276           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8277           unlink pads before removing the element from the bin.
8278
8279 2005-08-24  Andy Wingo  <wingo@pobox.com>
8280
8281         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8282         the same thing as GST_DEBUG=*:4.
8283         (parse_debug_level, parse_debug_category): New helper parsers.
8284
8285 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8286
8287         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8288         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8289         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8290         (gst_base_transform_buffer_alloc),
8291         (gst_base_transform_handle_buffer):
8292           use gboolean return values and pointers to size so we can use the
8293           full GST_BUFFER_SIZE range (guint) for buffer sizes
8294           use GstPadDirection for transform_caps
8295         * gst/base/gstbasetransform.h:
8296           rename get_size to get_unit_size since that's what it is
8297         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8298           use GstPadDirection for transform_caps
8299         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8300         * gst/gstutils.h:
8301           cleanup and debugging
8302
8303 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8304
8305         * gst/gstelement.c: (gst_element_class_init),
8306         (gst_element_set_state), (activate_pads),
8307         (gst_element_save_thyself):
8308         * tools/gst-compprep.c: (main):
8309         * tools/gst-inspect.c: (print_element_properties_info):
8310         * tools/gst-xmlinspect.c: (print_element_properties):
8311           Fixed long standing mem-leak
8312
8313 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8314
8315         * check/gst/gstbin.c: (GST_START_TEST):
8316         * gst/gstbin.c: (bin_bus_handler):
8317         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8318         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8319         (gst_message_new_warning), (gst_message_new_tag),
8320         (gst_message_new_state_changed), (gst_message_new_segment_start),
8321         (gst_message_new_segment_done), (gst_message_new_custom):
8322         * gst/gstmessage.h:
8323         * tools/gst-launch.c: (event_loop):
8324         * tools/gst-md5sum.c: (event_loop):
8325           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8326           that applications can sensibly post custom messages with references
8327           to their own objects.
8328
8329 2005-08-24  Andy Wingo  <wingo@pobox.com>
8330
8331         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8332         already.
8333
8334 2005-08-24  Wim Taymans  <wim@fluendo.com>
8335
8336         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8337         (gst_base_transform_transform_caps),
8338         (gst_base_transform_transform_size),
8339         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8340         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8341         (gst_base_transform_handle_buffer):
8342         * gst/base/gstbasetransform.h:
8343         Many fixes and new features added by Thomas. Can now also do
8344         transforms with variable sizes and a custom fixate_caps function.
8345
8346 2005-08-24  Wim Taymans  <wim@fluendo.com>
8347
8348         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8349         Some debugging.
8350
8351         * gst/gstclock.h:
8352         Cast to ClockTime before formatting to time.
8353
8354         * gst/gstutils.h:
8355         Cleanups.
8356
8357 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8358
8359         * check/gst-libs/controller.c: (GST_START_TEST),
8360         (gst_controller_suite):
8361         * docs/gst/tmpl/gstcaps.sgml:
8362         * docs/gst/tmpl/gstghostpad.sgml:
8363         * docs/gst/tmpl/gstquery.sgml:
8364         * docs/gst/tmpl/gstutils.sgml:
8365         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8366         (gst_object_sink_values), (gst_object_get_value_arrays),
8367         (gst_object_get_value_array):
8368           gracefully handle helper method calls to objects that are not beeing
8369           controlled, added test case for that          
8370
8371 2005-08-23  Wim Taymans  <wim@fluendo.com>
8372
8373         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8374         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8375         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8376         (gst_event_parse_qos), (gst_event_new_seek),
8377         (gst_event_parse_seek):
8378         * gst/gstevent.h:
8379         Some more debugging output and doc cleanups.
8380
8381         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8382         Fix possible deadlock.
8383
8384 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8385
8386         * docs/gst/gstreamer-docs.sgml:
8387         * docs/gst/gstreamer-sections.txt:
8388         * docs/gst/gstreamer.types:
8389         * docs/gst/tmpl/.cvsignore:
8390         * gst/gstbin.h:
8391         * gst/gstbus.c:
8392         * gst/gstelement.c:
8393         * gst/gstevent.h:
8394           added 100 symbols from gstreamer-unused.txt to the right sections
8395           fixed more broken comments
8396           added GstBus to docs
8397
8398 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8399
8400         * docs/gst/gstreamer-sections.txt:
8401         * docs/gst/tmpl/.cvsignore:
8402         * docs/gst/tmpl/gstbin.sgml:
8403         * docs/gst/tmpl/gstbuffer.sgml:
8404         * gst/base/gstbasesrc.c:
8405         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8406         * gst/gstbuffer.c:
8407         * gst/gstbuffer.h:
8408         * tools/gst-launch.1.in:
8409           inlined more doc comments, added missing comments and fixed comments
8410           fixed typos
8411
8412 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8413
8414         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8415           some debugging
8416         * gst/gstcaps.h:
8417           whitespace fixes
8418         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8419           more debugging
8420         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8421         * gst/gststructure.h:
8422           add a fixate function for booleans; add a FIXME that these func
8423           names should probably be gst_structure_fixate_*
8424
8425 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8426
8427         * docs/gst/gstreamer-docs.sgml:
8428         * docs/gst/gstreamer-sections.txt:
8429         * gst/Makefile.am:
8430         * gst/gstbin.c: (gst_bin_get_type),
8431         (gst_bin_child_proxy_get_child_by_index),
8432         (gst_bin_child_proxy_get_children_count),
8433         (gst_bin_child_proxy_init):
8434         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8435         (gst_child_proxy_get_child_by_index),
8436         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8437         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8438         (gst_child_proxy_get), (gst_child_proxy_set_property),
8439         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8440         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8441         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8442         * gst/gstchildproxy.h:
8443         * gst/parse/grammar.y:
8444         * tools/gst-inspect.c: (print_interfaces),
8445         (print_element_properties_info), (print_element_info):
8446           ported gstchildproxy over from 0.8
8447           ported gst-inspect fixes and enhancements over from 0.8
8448
8449 2005-08-22  Wim Taymans  <wim@fluendo.com>
8450
8451         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8452         (gst_base_transform_handle_buffer):
8453         Also call the transform function if we have ANY caps.
8454
8455         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8456         Fix debug info.
8457
8458 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8459
8460         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8461           Don't pretend to handle seek events if the source is not seekable
8462
8463 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8464
8465         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8466           Remove extra parameter to debug output
8467
8468         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8469         (gst_base_src_do_seek), (gst_base_src_activate_push):
8470           Fix seek event handling.
8471
8472         * gst/gstpipeline.c: (gst_pipeline_change_state):
8473         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8474         (gst_queue_src_activate_push):
8475           Don't start the src pad task on FLUSH_STOP if the pad
8476           isn't linked.
8477           Debug changes.
8478
8479 2005-08-22  Wim Taymans  <wim@fluendo.com>
8480
8481         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8482         Added check for gst_static_caps_get() refcounting.
8483
8484 2005-08-22  Wim Taymans  <wim@fluendo.com>
8485
8486         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8487         Make _static_caps_get() refcounting sane.
8488         
8489         * gst/gstelement.c: (gst_element_set_state):
8490         Add g_return_val_if_fail() to protect against segfaults.
8491
8492 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8493
8494         * docs/gst/tmpl/gstevent.sgml:
8495         * gst/gstevent.c:
8496         * gst/gstevent.h:
8497           inlined remaining docs, added missing doc comments
8498
8499 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8500
8501         * check/gst/gstbin.c: (GST_START_TEST):
8502           since we don't know when preroll is done, use refcount range
8503           check for the sink
8504         * gst/check/gstcheck.h:
8505           add macro for checking refcount range
8506
8507 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8508
8509         * check/Makefile.am:
8510           clean up environment for when registry gets built versus
8511           when actual tests are run; valgrind seems to not report
8512           leaks if GST_PLUGIN_PATH is set to some specific values
8513         * check/gst/gstbin.c: (GST_START_TEST):
8514           add more refcounting checks; maybe this exposes a
8515           preroll lock bug ?
8516         * common/check.mak:
8517         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8518         * gst/check/gstcheck.h:
8519         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8520         (gst_bin_change_state):
8521         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8522           add/fix debugging/whitespace
8523
8524 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8525
8526         * check/gst/gstevent.c: (event_probe), (test_event),
8527         (GST_START_TEST):
8528          Er, don't call gst_bin_watch_for_state_change you idiot.
8529
8530 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8531
8532         * check/Makefile.am:
8533           Use CHECK_CFLAGS and CHECK_LIBS
8534         * check/gst/gstevent.c: (event_probe), (test_event),
8535         (GST_START_TEST):
8536           Don't leak events.
8537         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8538         (gst_base_src_start), (gst_base_src_stop),
8539         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8540         (gst_base_src_change_state):
8541           Sprinkle gst_base_src_stop liberally around error paths to fix
8542           problems reusing a source after failed state changes.
8543         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8544         (helper_find_suggest), (gst_type_find_helper):
8545           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8546         * gst/gstevent.h:
8547         * docs/gst/tmpl/gstevent.sgml:
8548           Migrate part of the docs from the SGML file. Wait for ensonic to
8549           tell me how I did it wrong ;)
8550         * tools/gst-typefind.c: (main):
8551           Extra robustness to state changes between files.
8552
8553 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8554
8555         * check/Makefile.am:
8556           don't valgrind the controller test - it's leaking - Stefan, HELP
8557         * gst/check/gstcheck.c: (gst_check_message_error),
8558         (gst_check_chain_func), (gst_check_setup_element),
8559         (gst_check_teardown_element), (gst_check_setup_src_pad),
8560         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8561         (gst_check_teardown_sink_pad):
8562         * gst/check/gstcheck.h:
8563           add a bunch of methods to set up elements, and src and sink pads
8564         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8565         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8566         (GST_START_TEST):
8567           use them
8568         * gst/gstmessage.c:
8569         * gst/gsttag.h:
8570           whitespace/doc fixes
8571
8572 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8573
8574         * gst/gstelement.h:
8575           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8576           be handled by the application and not always printed as well
8577
8578 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8579
8580         * check/Makefile.am:
8581           set GST_TOOLS_DIR
8582         * gst/check/gstcheck.c: (gst_check_message_error):
8583         * gst/check/gstcheck.h:
8584           add a fail_unless_equals_int
8585           add fail_unless for error messages
8586
8587 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8588
8589         * check/Makefile.am:
8590         * check/gst.supp:
8591         * common/Makefile.am:
8592         * common/check.mak:
8593         * common/gst.supp:
8594           factor out some of the common stuff so we can use it
8595
8596 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8597
8598         * check/Makefile.am:
8599         * check/gst/gstiterator.c: (GST_START_TEST):
8600         * check/gst/gstsystemclock.c: (GST_START_TEST),
8601         (gst_systemclock_suite):
8602         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8603         * gst/gstclock.c:
8604           valgrind more tests
8605
8606 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8607
8608         * check/elements/.cvsignore:
8609         * check/elements/gstfakesrc.c:
8610           rename to name of element
8611         * check/elements/identity.c: (chain_func), (event_func),
8612         (setup_identity), (cleanup_identity), (GST_START_TEST),
8613         (identity_suite), (main):
8614           add a test for identity
8615         * check/Makefile.am:
8616         * pkgconfig/Makefile.am:
8617         * pkgconfig/gstreamer-check.pc.in:
8618         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8619         * gst/check:
8620         * gst/Makefile.am:
8621         * configure.ac:
8622           move the check stuff to a library that gets installed
8623         * check/gst-libs/controller.c: (GST_START_TEST):
8624         * check/gst-libs/gdp.c:
8625         * check/gst/gst.c: (GST_START_TEST):
8626         * check/gst/gstbin.c:
8627         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8628         * check/gst/gstbus.c:
8629         * check/gst/gstcaps.c: (GST_START_TEST):
8630         * check/gst/gstelement.c:
8631         * check/gst/gstghostpad.c:
8632         * check/gst/gstiterator.c:
8633         * check/gst/gstmessage.c:
8634         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8635         * check/gst/gstobject.c:
8636         * check/gst/gstpad.c: (GST_START_TEST):
8637         * check/gst/gststructure.c: (GST_START_TEST):
8638         * check/gst/gstsystemclock.c: (GST_START_TEST),
8639         (gst_systemclock_suite):
8640         * check/gst/gsttag.c: (gst_tag_suite):
8641         * check/gst/gstvalue.c:
8642         * check/pipelines/cleanup.c:
8643         * check/pipelines/simple_launch_lines.c:
8644         * check/states/sinks.c:
8645           change include statement
8646
8647         * docs/gst/gstreamer-sections.txt:
8648         * docs/gst/tmpl/gstpad.sgml:
8649           document more pad stuff
8650         * gst/gstminiobject.c: (gst_mini_object_ref),
8651         (gst_mini_object_unref):
8652           debug refcounting
8653
8654 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8655
8656         * docs/gst/tmpl/gst.sgml:
8657         * gst/gst.c:
8658           eliminate another tmpl file, fix spelling in the long-description
8659
8660 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8661
8662         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8663         (test_event), (timediff), (gstevents_suite):
8664           Should fix build on 64-bit arch's
8665
8666 2005-08-18  Andy Wingo  <wingo@pobox.com>
8667
8668         Make sure that when a pipeline goes to PLAYING, that data has
8669         actually hit the sink.
8670
8671         * check/states/sinks.c (test_sink): A sink that doesn't get any
8672         data shouldn't return SUCCESS for going to either PLAYING or
8673         PAUSED. Test also the return values on the way back down.
8674
8675         * gst/gstelement.c (gst_element_set_state): When changing the
8676         state of an element currently changing state asynchronously, go to
8677         lost-state after commiting the pending state. Makes future calls
8678         to get_state continue to return ASYNC.
8679
8680         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8681         ASYNC when going to PLAYING if we still don't have preroll, as can
8682         happen with live sources.
8683
8684 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8685
8686         * docs/pwg/advanced-types.xml:
8687           Hack long paragraph into 2 chunks as a workaround for buggy
8688           jadetex version in sid and breezy that loops infinitely and
8689           eats all RAM.
8690
8691 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8692
8693         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8694         (test_event), (timediff), (gstevents_suite):
8695           Provide more error margin in clock measurements to allow for 
8696           g_get_current_time inaccuracies.
8697
8698 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8699
8700         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8701         (test_event), (timediff), (gstevents_suite):
8702            Fix error message output so I might be able to tell why the
8703            test works here but fails on the build farm.
8704
8705 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8706
8707         * check/Makefile.am:
8708         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8709         (test_event), (timediff), (gstevents_suite), (main):
8710           I wrote a test!
8711
8712         * docs/design/part-seeking.txt:
8713           Spelling correction
8714
8715         * docs/gst/tmpl/gstevent.sgml:
8716         * docs/gst/tmpl/gstfakesrc.sgml:
8717           Docs updates.
8718
8719         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8720           Treat a buffer-without-newsegment the same as a receiving 
8721           a newsegment not in time format, and disable syncing to the clock
8722           with a warning.
8723
8724         * gst/gstbus.c: (gst_bus_set_sync_handler):
8725           Assert if anyone tries to replace the existing sync_handler for bus, 
8726           as only the owner should be setting it.
8727
8728         * gst/gstevent.h:
8729           Have a fixed set of custom event enums with events identified by
8730           their structure name (as in 0.8), rather than a free-for-all
8731           allowing collisions between enum values from different plugins.
8732
8733         * gst/gstpad.c: (gst_pad_class_init):
8734           Docs change.
8735           
8736         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8737           Handle out-of-band downstream events from the sending thread.
8738
8739 2005-08-17  Andy Wingo  <wingo@pobox.com>
8740
8741         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8742         play-timeout==0 to mean no timeout at all. In that case, don't
8743         bother with a get_state or a warning, just return directly, even
8744         if it's ASYNC.
8745
8746         * gst/base/gstbasetransform.c: Debug changes.
8747
8748         * gst/gstutils.h:
8749         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8750         ensure bins post state change messages. A bit of a hack but I can't
8751         think of a way to avoid it.
8752
8753         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8754
8755 2005-08-16  Andy Wingo  <wingo@pobox.com>
8756
8757         * gst/base/gstadapter.h:
8758         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8759         peek() but you own the data. Not terribly efficient atm.
8760
8761 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8762
8763         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8764         (gst_element_found_tags):
8765         * gst/gstutils.h:
8766           Add two utility functions for tag handling.
8767
8768 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8769
8770         * docs/manual/advanced-dataaccess.xml:
8771         * docs/manual/basics-helloworld.xml:
8772           Fix docs to use _bin_add() before _link(), which fixes the examples
8773           with recent core versions (reported by Madhan Raj M
8774           <raj_madan@rediffmail.com>, #313199).
8775
8776 2005-08-16  Wim Taymans  <wim@fluendo.com>
8777
8778         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8779         Added subtract checks.
8780
8781         * docs/design/part-events.txt:
8782         Some more docs about newsegment
8783
8784         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8785         Fix FIXME
8786
8787         * gst/gstcaps.c: (gst_caps_to_string):
8788         Add comments, cleanups.
8789         
8790         * gst/gstelement.c: (gst_element_save_thyself):
8791         cleanups
8792         
8793         * gst/gstvalue.c: (gst_value_collect_int_range),
8794         (gst_string_unwrap), (gst_value_union_int_int_range),
8795         (gst_value_union_int_range_int_range),
8796         (gst_value_intersect_int_int_range),
8797         (gst_value_intersect_int_range_int_range),
8798         (gst_value_intersect_double_double_range),
8799         (gst_value_intersect_double_range_double_range),
8800         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8801         (gst_value_subtract_int_range_int),
8802         (gst_value_subtract_double_range_double),
8803         (gst_value_subtract_double_range_double_range),
8804         (gst_value_subtract_from_list), (gst_value_subtract_list),
8805         (gst_value_can_compare), (gst_value_compare_fraction):
8806         Cleanups, add comments, remove unneeded asserts.
8807
8808 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8809
8810         * tools/gst-launch.c: (event_loop):
8811           don't convert NULL structures to strings
8812
8813 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8814
8815         * docs/gst/gstreamer-sections.txt:
8816           made some defines private
8817         * docs/gst/tmpl/gstconfig.sgml:
8818         * docs/gst/tmpl/gstqueue.sgml:
8819         * docs/gst/tmpl/gsttaglist.sgml:
8820         * docs/gst/tmpl/gsttypes.sgml:
8821         * docs/gst/tmpl/gstutils.sgml:
8822         * docs/pwg/appendix-porting.xml:
8823         * gst/base/gstbasesink.h:
8824         * gst/base/gstbasesrc.c:
8825         * gst/base/gstbasesrc.h:
8826         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8827         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8828         * gst/gstelement.c: (gst_element_class_init):
8829         * gst/gstpad.c: (gst_pad_class_init):
8830         * gst/gstqueue.c: (gst_queue_class_init):
8831         * gst/gstxml.c: (gst_xml_class_init):
8832           documented all undocumented signal inline
8833         * libs/gst/controller/gst-controller.h:
8834           added padding
8835
8836 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8837
8838         * docs/pwg/appendix-porting.xml:
8839           Document _set_link_function -> _set_setcaps_function.
8840
8841 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8842
8843         * check/Makefile.am:
8844           add a .check target for running the check
8845         * check/gst-libs/controller.c: (GST_START_TEST):
8846           cosmetic fixups
8847         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8848           complete checks for gstbuffer; would be nice if I could get the
8849           gcov stuff to work so I can see if I actually completed gstbuffer.c
8850         * check/gstcheck.h:
8851           add ASSERT_BUFFER_REFCOUNT
8852
8853 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8854
8855         * docs/gst/gstreamer-sections.txt:
8856         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8857         * gst/gsttag.h:
8858           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8859           spew out a warning if a tag that is already registered
8860           is re-registered, unless it is re-registered with a 
8861           different type (#308438).
8862
8863 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8864
8865         * docs/pwg/appendix-porting.xml:
8866         * docs/pwg/building-state.xml:
8867           Add some paragraphs about state changes in 0.9 to the PWG
8868           and the porting guide, in particular about the new meaning
8869           of GST_STATE_PAUSED and how to write state change functions
8870           with concurrent access by multiple threads in mind.
8871
8872 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8873
8874         * docs/gst/gstreamer-docs.sgml:
8875         * docs/libs/gstreamer-libs-docs.sgml:
8876           added deprecation and since indexes
8877         * libs/gst/controller/gst-controller.c:
8878         * libs/gst/controller/gst-helper.c:
8879           added since tags
8880
8881
8882 2005-08-11  Wim Taymans  <wim@fluendo.com>
8883
8884         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8885         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8886         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8887         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8888         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8889         (gst_ghost_pad_set_target):
8890         Actually implement (re)setting the target on a ghostpad
8891         as described in the docs.
8892
8893 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8894
8895         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8896           Check whether GST_DEBUG_NO_COLOR environment variable is
8897           set and disable coloured debug output if that is the case.
8898
8899 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8900
8901         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8902         (gst_type_find_helper):
8903           The memory returned by gst_type_find_peek() needs to
8904           stay valid until the end of a typefind function, and
8905           typefind functions may keep results from different 
8906           offsets around, so we can't just unref the buffer from
8907           the previous _peek(), but have to save all buffers 
8908           returned by _peek() until typefinding is done and only
8909           free them then.
8910
8911 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8912
8913         * docs/gst/gstreamer-sections.txt:
8914         * gst/gstutils.h:
8915           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8916
8917 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8918
8919         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8920           Fix a pretty good memleak.
8921
8922 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8923
8924         * gst/gstiterator.h:
8925           Fix wrong include and 'make distcheck'.
8926
8927 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8928
8929         * gst/gstbin.c: (bin_bus_handler):
8930           Use gst_element_post_message() instead.
8931
8932 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8933
8934         * gst/base/gstadapter.h:
8935         * gst/base/gstbasesink.h:
8936         * gst/base/gstbasesrc.h:
8937         * gst/base/gstbasetransform.h:
8938         * gst/base/gstcollectpads.h:
8939         * gst/base/gstpushsrc.h:
8940         * gst/gstiterator.h:
8941           Add padding to our base elements' class and instance structs and
8942           to GstIterator (you will need to rebuild all plugins and apps!)
8943
8944 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8945
8946         * gst/gstbin.c: (bin_bus_handler):
8947           Make default message forwarding from child->bus to bin->bus
8948           threadsafe and make it not emit warnings if the parent has no bus.
8949
8950 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8951
8952         * gst/gstelement.c: (activate_pads):
8953           On paused->ready, set pad->caps to NULL, as is the documented
8954           behaviour in this state change. Fixes playback of series of
8955           media files when visualization is enabled in Totem.
8956
8957 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8958
8959         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8960           Allow NULL as filter-caps (which means "any").
8961
8962 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8963
8964         * docs/libs/gstreamer-libs-sections.txt:
8965         * libs/gst/controller/gst-controller.c:
8966         * libs/gst/controller/gst-controller.h:
8967         * libs/gst/controller/gst-helper.c:
8968           adding more entries to the docs and fix small doc-bugs
8969
8970 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8971
8972         * docs/gst/gstreamer-docs.sgml:
8973         * docs/gst/gstreamer-sections.txt:
8974         * docs/gst/gstreamer.types:
8975         * docs/gst/tmpl/gstbasesink.sgml:
8976         * docs/gst/tmpl/gstbasesrc.sgml:
8977         * docs/gst/tmpl/gstbasetransform.sgml:
8978         * docs/gst/tmpl/gstfakesrc.sgml:
8979         * gst/base/gstcollectpads.c:
8980         * gst/base/gstcollectpads.h:
8981         * libs/gst/controller/gst-controller.c:
8982         * libs/gst/controller/gst-controller.h:
8983         * libs/gst/controller/gst-helper.c:
8984         * libs/gst/controller/gst-interpolation.c:
8985         * libs/gst/controller/lib.c:
8986           added long/short desc for controller docs
8987           added collectpads base class docs
8988           added correct includes to base-class docs
8989
8990 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8991
8992         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8993         (gst_test_mono_source_set_property),
8994         (gst_test_mono_source_class_init), (GST_START_TEST),
8995         (gst_controller_suite):
8996         * docs/gst/gstreamer-docs.sgml:
8997         * docs/gst/gstreamer-sections.txt:
8998         * docs/gst/gstreamer.types:
8999         * docs/libs/gstreamer-libs-docs.sgml:
9000         * docs/libs/gstreamer-libs-sections.txt:
9001         * gst/base/gstadapter.c:
9002         * libs/gst/controller/gst-controller.c:
9003         (gst_controlled_property_new), (gst_controlled_property_free),
9004         (gst_controller_new_valist),
9005         (gst_controller_remove_properties_valist),
9006         (gst_controller_sink_values), (_gst_controller_finalize):
9007         * libs/gst/controller/gst-controller.h:
9008         * libs/gst/controller/gst-helper.c:
9009         (gst_object_control_properties), (gst_object_uncontrol_properties),
9010         (gst_object_get_controller), (gst_object_set_controller),
9011         (gst_object_sink_values), (gst_object_get_value_arrays),
9012         (gst_object_get_value_array):
9013           more tests (and fixes) for the controller
9014           more docs for the controller
9015           integrated companies docs for the adapter 
9016
9017 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9018
9019         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9020         (GST_START_TEST), (fakesrc_suite):
9021           add tests for sizetype
9022
9023 2005-08-04  Andy Wingo  <wingo@pobox.com>
9024
9025         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9026         fixes buffer_alloc proxying among other things.
9027
9028         * gst/base/gstbasetransform.c:
9029         * gst/base/gstbasetransform.h:
9030         Revert patch to gstbasetransform from 7-28 removing
9031         delay_configure.
9032
9033         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9034         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9035         Semantics changed, should return not the size of the output buffer
9036         but the byte size of a buffer with a given caps.
9037
9038         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9039         debug object.
9040         (gst_base_transform_configure_caps): Don't set out_size here: (in,
9041         out) are not the pad caps until setcaps finishes.
9042         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9043         not-in-place case as well. Deal with changing from in-place to
9044         not-in-place within calling pad_alloc_buffer. Still a bit
9045         concerned about the overhead here...
9046
9047 2005-08-03  Andy Wingo  <wingo@pobox.com>
9048
9049         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9050         fixating is an error.
9051
9052 2005-08-04  Edward Hervey  <edward@fluendo.com>
9053
9054         * gst/base/gstadapter.h: 
9055         Added gst_adapter_get_type() to the header
9056
9057 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9058
9059         * check/Makefile.am:
9060         * check/gst-libs/controller.c:
9061         * libs/gst/controller/gst-controller.c:
9062         (gst_controller_new_valist):
9063           added check test suite for the controller
9064         * gst/base/gstpushsrc.c:
9065           fixed a doc typo
9066
9067 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9068
9069         * docs/gst/Makefile.am:
9070         * docs/gst/gstreamer-docs.sgml:
9071         * docs/gst/gstreamer-sections.txt:
9072         * docs/gst/gstreamer.types:
9073         * docs/gst/tmpl/gstfakesrc.sgml:
9074         * gst/base/README:
9075         * gst/base/gstbasesink.c:
9076         * gst/base/gstbasesink.h:
9077         * gst/base/gstbasesrc.c:
9078         * gst/base/gstbasesrc.h:
9079         * gst/base/gstbasetransform.c:
9080         * gst/base/gstpushsrc.c:
9081         * gst/base/gstpushsrc.h:
9082           add short/long description docs to base classes
9083           add pushsrc to the docs
9084           remove consolidated doc fragments
9085
9086 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9087
9088         * configure.ac:
9089         * docs/libs/Makefile.am:
9090         * docs/libs/gstreamer-libs-docs.sgml:
9091         * docs/libs/gstreamer-libs-sections.txt:
9092         * docs/libs/gstreamer-libs.types:
9093         * examples/Makefile.am:
9094         * examples/controller/.cvsignore:
9095         * examples/controller/Makefile.am:
9096         * examples/controller/audio-example.c: (main):
9097         * libs/gst/Makefile.am:
9098         * libs/gst/controller/.cvsignore:
9099         * libs/gst/controller/Makefile.am:
9100         * libs/gst/controller/gst-controller.c:
9101         (on_object_controlled_property_changed), (gst_timed_value_compare),
9102         (gst_timed_value_find),
9103         (gst_controlled_property_set_interpolation_mode),
9104         (gst_controlled_property_new), (gst_controlled_property_free),
9105         (gst_controller_find_controlled_property),
9106         (gst_controller_new_valist), (gst_controller_new),
9107         (gst_controller_remove_properties_valist),
9108         (gst_controller_remove_properties), (gst_controller_set),
9109         (gst_controller_set_from_list), (gst_controller_unset),
9110         (gst_controller_get), (gst_controller_get_all),
9111         (gst_controller_sink_values), (gst_controller_get_value_arrays),
9112         (gst_controller_get_value_array),
9113         (gst_controller_set_interpolation_mode),
9114         (_gst_controller_finalize), (_gst_controller_init),
9115         (_gst_controller_class_init), (gst_controller_get_type):
9116         * libs/gst/controller/gst-controller.h:
9117         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
9118         (g_object_uncontrol_properties), (g_object_get_controller),
9119         (g_object_set_controller), (g_object_sink_values),
9120         (g_object_get_value_arrays), (g_object_get_value_array):
9121         * libs/gst/controller/gst-interpolation.c:
9122         (gst_controlled_property_find_timed_value_node),
9123         (interpolate_none_get), (interpolate_trigger_get),
9124         (interpolate_trigger_get_value_array):
9125         * libs/gst/controller/lib.c: (gst_controller_init):
9126         * pkgconfig/Makefile.am:
9127         * pkgconfig/gstreamer-control-uninstalled.pc.in:
9128         * pkgconfig/gstreamer-control.pc.in:
9129         * testsuite/Makefile.am:
9130         * testsuite/controller/.cvsignore:
9131         * testsuite/controller/Makefile.am:
9132         * testsuite/controller/interpolator.c: (main):
9133           added controller code
9134           removed dparam pc files
9135
9136 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9137         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
9138         (gst_collectpads_stop):
9139           Broadcast the condition when shutting down, to make sure we wake all
9140           threads up. Shut down pads on finalize, for safety.
9141
9142 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9143         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9144         (gst_base_transform_handle_buffer),
9145         (gst_base_transform_change_state):
9146           Handle PAUSED->READY->PAUSED transition after negotiation
9147           occurred already.
9148         * gst/gstmessage.c: (gst_message_init):
9149           Extra piece of debug for new messages.
9150
9151 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
9152
9153         * configure.ac:
9154         * docs/gst/tmpl/gstbasesrc.sgml:
9155         * docs/gst/tmpl/gstelement.sgml:
9156         * docs/gst/tmpl/gstevent.sgml:
9157         * docs/gst/tmpl/gstfakesrc.sgml:
9158         * docs/gst/tmpl/gstformat.sgml:
9159         * docs/gst/tmpl/gstghostpad.sgml:
9160         * docs/gst/tmpl/gstpad.sgml:
9161         * docs/gst/tmpl/gstquery.sgml:
9162         * docs/gst/tmpl/gststructure.sgml:
9163         * docs/gst/tmpl/gsttaglist.sgml:
9164         * docs/gst/tmpl/gstvalue.sgml:
9165         * docs/libs/gstreamer-libs-docs.sgml:
9166         * docs/libs/gstreamer-libs-sections.txt:
9167         * docs/libs/gstreamer-libs.types:
9168         * libs/gst/Makefile.am:
9169         * libs/gst/control/.cvsignore:
9170         * libs/gst/control/Makefile.am:
9171         * libs/gst/control/control.c:
9172         * libs/gst/control/control.h:
9173         * libs/gst/control/dparam.c:
9174         * libs/gst/control/dparam.h:
9175         * libs/gst/control/dparam_smooth.c:
9176         * libs/gst/control/dparam_smooth.h:
9177         * libs/gst/control/dparamcommon.h:
9178         * libs/gst/control/dparammanager.c:
9179         * libs/gst/control/dparammanager.h:
9180         * libs/gst/control/dplinearinterp.c:
9181         * libs/gst/control/dplinearinterp.h:
9182         * libs/gst/control/unitconvert.c:
9183         * libs/gst/control/unitconvert.h:
9184         * testsuite/Makefile.am:
9185         * testsuite/dynparams/.cvsignore:
9186         * testsuite/dynparams/Makefile.am:
9187         * testsuite/dynparams/dparamstest.c:
9188         * tools/Makefile.am:
9189         * tools/gst-inspect.c: (print_element_info), (main):
9190         * tools/gst-xmlinspect.c: (print_element_info), (main):
9191           deactivate and remove dparams (libgstcontrol)
9192
9193 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9194
9195         * gst/elements/gsttypefindelement.c:
9196         (gst_type_find_element_have_type), (gst_type_find_element_init),
9197         (stop_typefinding), (gst_type_find_element_handle_event),
9198         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9199         * gst/elements/gsttypefindelement.h:
9200           Set caps on all outgoing buffers, not just the first one.
9201
9202 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9203
9204         * gst/elements/gsttypefindelement.c:
9205         (gst_type_find_element_have_type),
9206         (gst_type_find_element_check_set_buffer_caps),
9207         (gst_type_find_element_init), (stop_typefinding),
9208         (gst_type_find_element_handle_event),
9209         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9210         * gst/elements/gsttypefindelement.h:
9211           Set caps on first outgoing buffer when we've found the type.
9212
9213 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9214
9215         * docs/gst/gstreamer-docs.sgml:
9216         * docs/gst/gstreamer-sections.txt:
9217         * docs/gst/tmpl/gstscheduler.sgml:
9218         * docs/gst/tmpl/gstschedulerfactory.sgml:
9219           Remove some old cruft from docs.
9220
9221 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9222
9223         * gst/gstpad.h:
9224           Fix inline docs for GstPadLinkReturn.
9225           
9226         * gst/gststructure.c: (gst_structure_has_name):
9227         * gst/gststructure.h:
9228         * docs/gst/gstreamer-sections.txt:
9229           New API: gst_structure_has_name().
9230
9231 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9232
9233         * configure.ac:
9234           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9235           and _LARGEFILE_SOURCE in config.h as required. Do not 
9236           export those flags in our .pc files any longer (#142209).
9237
9238           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9239
9240         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9241         (gst_file_sink_do_seek), (gst_file_sink_event),
9242         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9243           Redo seek/tell calls with large file support in mind; add some
9244           debugging messages; add log message that tells us when large
9245           file support is unavailable or not enabled for some reason.
9246
9247         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9248           Add log message that tells us when large file support 
9249           is unavailable or not enabled for some reason.
9250
9251 2005-07-29  Wim Taymans  <wim@fluendo.com>
9252
9253         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9254         Added test for removing an element with ghostpad from a bin.
9255         Fixed test as current implementation does the right thing.
9256
9257         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9258         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9259         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9260         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9261         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9262         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9263         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9264         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9265         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9266         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9267         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9268         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9269         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9270         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9271         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9272         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9273         * gst/gstghostpad.h:
9274         Clean up ghostpads, remove properties for internal stuff.
9275         Make threadsafe.
9276         Fix refcounting.
9277         Prepare for switching targets, not all use cases work yet.
9278
9279 2005-07-29  Wim Taymans  <wim@fluendo.com>
9280
9281         * docs/design/part-gstghostpad.txt:
9282         Small update.
9283
9284         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9285         (gst_bin_remove_func):
9286         Unlinking pads while holding the bin LOCK is not a good
9287         idea.
9288
9289         * gst/gstpad.c: (gst_pad_class_init),
9290         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9291         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9292         No prob setting template after creating the pad.
9293
9294 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9295
9296         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9297         (gst_bus_peek), (gst_bus_source_dispatch),
9298         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9299         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9300           gst_bus_poll may be called from other threads. Handle
9301           this nicely by not making poll_data disappear off the
9302           stack once gst_bus_poll returns.
9303           gst_bus_peek now increments the refcount on the returned
9304           message.
9305
9306 2005-07-29  Wim Taymans  <wim@fluendo.com>
9307
9308         * docs/design/part-gstghostpad.txt:
9309         Overview of current GhostPad datastructures and use
9310         cases for changing the target.
9311
9312 2005-07-28  Wim Taymans  <wim@fluendo.com>
9313
9314         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9315         Added checks for hierarchy consistency whan adding linked
9316         elements to bins.
9317
9318         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9319         Added check to test element scheduling without bin/pipeline.
9320
9321         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9322         First add elements to bin, then link.
9323         
9324         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9325         (gst_bin_remove_func):
9326         Unlink pads from elements added/removed from bin to maintain
9327         hierarchy consistency.
9328
9329 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9330
9331         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9332         (gst_base_transform_handle_buffer):
9333         * gst/base/gstbasetransform.h:
9334           Remove broken delay_configure (fixes renegotiation of software
9335           scaling pipelines); remove some leftover printf()s.
9336
9337 2005-07-28  Wim Taymans  <wim@fluendo.com>
9338
9339         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9340         Added some more tests for wrong hierarchy
9341
9342         * docs/design/part-overview.txt:
9343         Some updates.
9344
9345         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9346         Cleanups.
9347
9348         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9349         (gst_element_dispose):
9350         Some more cleanups.
9351
9352         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9353         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9354         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9355         (gst_pad_set_caps), (gst_pad_send_event):
9356         Check for correct hierarchy when linking pads. Moving to
9357         strict requirement for ghostpads when linking elements in
9358         different bins.
9359
9360         * gst/gstpad.h:
9361         Clean ups. Added WRONG_HIERARCHY return value.
9362
9363 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9364
9365         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9366           Better debug if no transform is possible.
9367
9368 2005-07-27  Wim Taymans  <wim@fluendo.com>
9369
9370         * docs/random/wtay/network-transp:
9371         Some old doc I had.
9372
9373 2005-07-27  Wim Taymans  <wim@fluendo.com>
9374
9375         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9376         (gst_dp_event_from_packet):
9377         Fix serialization of seek events.
9378
9379 2005-07-27  Wim Taymans  <wim@fluendo.com>
9380
9381         * check/gst-libs/gdp.c: (GST_START_TEST):
9382         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9383         Fix compilation and fix event serialization.
9384
9385 2005-07-27  Wim Taymans  <wim@fluendo.com>
9386
9387         * CHANGES-0.9:
9388         * docs/design/part-TODO.txt:
9389         * docs/design/part-events.txt:
9390         Some docs updates
9391
9392         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9393         (gst_base_sink_event), (gst_base_sink_do_sync),
9394         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9395         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9396         (gst_base_src_do_seek), (gst_base_src_event_handler),
9397         (gst_base_src_loop):
9398         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9399         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9400         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9401         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9402         (gst_base_transform_set_passthrough),
9403         (gst_base_transform_is_passthrough):
9404         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9405         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9406         Event updates.
9407
9408         * gst/gstbuffer.h:
9409         Use faster casts.
9410
9411         * gst/gstelement.c: (gst_element_seek):
9412         * gst/gstelement.h:
9413         Update gst_element_seek.
9414
9415         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9416         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9417         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9418         (gst_event_new_eos), (gst_event_new_newsegment),
9419         (gst_event_parse_newsegment), (gst_event_new_tag),
9420         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9421         (gst_event_parse_qos), (gst_event_new_seek),
9422         (gst_event_parse_seek), (gst_event_new_navigation):
9423         * gst/gstevent.h:
9424         Make GstEvent use GstStructure. Add parsing code, make sure the
9425         API is sufficiently generic.
9426         Mark possible directions of events and serialization.
9427
9428         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9429         (_gst_message_copy), (gst_message_new_segment_start),
9430         (gst_message_new_segment_done), (gst_message_new_custom),
9431         (gst_message_parse_segment_start),
9432         (gst_message_parse_segment_done):
9433         Small cleanups.
9434
9435         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9436         (gst_pad_set_caps), (gst_pad_send_event):
9437         Update for new events. 
9438         Catch events sent in wrong directions.
9439
9440         * gst/gstqueue.c: (gst_queue_link_src),
9441         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9442         (gst_queue_handle_src_query):
9443         Event updates.
9444
9445         * gst/gsttag.c:
9446         * gst/gsttag.h:
9447         Remove event code from this file.
9448
9449         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9450         (gst_dp_event_from_packet):
9451         Event updates.
9452
9453 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9454
9455         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9456         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9457         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9458           Make debugging actually useful.
9459
9460 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9461
9462         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9463         (gst_pad_fixate_caps):
9464           Implement default fixation once again, so that gst_pad_fixate()
9465           actually does anything at all. This probably needs to be some
9466           sort of a last resort, and use profile-based fixation first, but
9467           since that doesn't exist yet, this is the best we have. Fixes
9468           visualization in Totem.
9469
9470 2005-07-22  Wim Taymans  <wim@fluendo.com>
9471
9472         * docs/design/part-events.txt:
9473         Small update.
9474
9475         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9476         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9477         (gst_base_sink_activate_pull):
9478         Some more comments.
9479
9480         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9481         (gst_fake_src_create):
9482         Fix handoff marshall.
9483
9484         * gst/elements/gstidentity.c: (gst_identity_class_init),
9485         (gst_identity_transform_ip):
9486         We're a real inplace element.
9487
9488         * gst/gstbus.c: (gst_bus_post):
9489         Added some comments.
9490
9491         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9492         * tests/muxing/case1.c: (main):
9493         * tests/sched/dynamic-pipeline.c: (main):
9494         * tests/sched/interrupt1.c: (main):
9495         * tests/sched/interrupt2.c: (main):
9496         * tests/sched/interrupt3.c: (main):
9497         * tests/sched/runxml.c: (main):
9498         * tests/sched/sched-stress.c: (main):
9499         * tests/seeking/seeking1.c: (event_received), (main):
9500         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9501         (main):
9502         * tests/threadstate/threadstate3.c: (main):
9503         * tests/threadstate/threadstate4.c: (main):
9504         * tests/threadstate/threadstate5.c: (main):
9505         Fix the tests.
9506
9507 2005-07-21  Wim Taymans  <wim@fluendo.com>
9508
9509         * docs/design/part-seeking.txt:
9510         Some small additions.
9511
9512         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9513         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9514         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9515         * gst/base/gstbasesink.h:
9516         discont values are gint64, handle the math correctly.
9517
9518         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9519         Make the basesrc report error if the source pad is not linked.
9520
9521         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9522         (gst_queue_loop), (gst_queue_handle_src_query),
9523         (gst_queue_src_activate_push):
9524         Make queue collect data even if the srcpad is not linked.
9525         Start pushing out data as soon as it is linked.
9526
9527         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9528         * gst/gstutils.h:
9529         Added gst_flow_get_name() to ease error reporting.
9530
9531 2005-07-20  Wim Taymans  <wim@fluendo.com>
9532
9533         * gst/gstmessage.c: (gst_message_new_segment_start),
9534         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9535         (gst_message_parse_segment_done):
9536         * gst/gstmessage.h:
9537         Added a bunch of messages for advanced seeking.
9538
9539         * gst/parse/grammar.y:
9540         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9541         (gst_dpman_state_changed):
9542         Fix some new-pad -> pad-added signals
9543
9544 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9545
9546         * docs/manual/appendix-porting.xml:
9547         * docs/pwg/appendix-porting.xml:
9548           Document new-pad/state-change signal renames and the FixedList
9549           type rename.
9550
9551 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9552
9553         * docs/manual/advanced-autoplugging.xml:
9554         * docs/manual/basics-helloworld.xml:
9555         * docs/manual/basics-pads.xml:
9556         * docs/random/ds/0.9-suggested-changes:
9557         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9558         * gst/gstelement.h:
9559         * gst/gstevent.h:
9560         * gst/gstformat.h:
9561         * gst/gstquery.h:
9562         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9563         (gst_structure_parse_array), (gst_structure_parse_value):
9564         * gst/gstvalue.c: (gst_type_is_fixed),
9565         (gst_value_list_prepend_value), (gst_value_list_append_value),
9566         (gst_value_list_get_size), (gst_value_list_get_value),
9567         (gst_value_transform_array_string), (gst_value_serialize_array),
9568         (gst_value_deserialize_array), (gst_value_intersect_array),
9569         (gst_value_is_fixed), (_gst_value_initialize):
9570         * gst/gstvalue.h:
9571           GstElement::new-pad -> pad-added, GstElement::state-change ->
9572           state-changed, GstValueFixedList -> GstValueArray, add format and
9573           flags as their own arguments in gst_element_seek() (should improve
9574           "bindeability"), remove function generators since they don't work
9575           under a whole bunch of compilers (they were deprecated already
9576           anyway).
9577
9578 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9579
9580         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9581         (_gst_debug_register_funcptr):
9582         * gst/gstinfo.h:
9583           Fix illegal cast on some platforms (#309253).
9584
9585 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9586
9587         * gst/gstmessage.c: (gst_message_new_custom):
9588         * gst/gstmessage.h:
9589           Add _new_custom, make _new_application a macro to _new_custom.
9590
9591 2005-07-20  Wim Taymans  <wim@fluendo.com>
9592
9593         * gst/base/gstbasesrc.c: (gst_base_src_init),
9594         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9595         * gst/base/gstbasesrc.h:
9596         Add a gboolean to decide when to push out a discont.
9597
9598         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9599         (gst_queue_loop), (gst_queue_handle_src_query),
9600         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9601         (gst_queue_set_property), (gst_queue_get_property):
9602         Some cleanups.
9603
9604         * tests/threadstate/threadstate1.c: (main):
9605         Make a thread test compile and run... very silly..
9606
9607
9608 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9609
9610         * docs/manual/appendix-porting.xml:
9611           Mention removal of libgstgconf-0.9.la and existence of gconf
9612           elements.
9613
9614 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9615
9616         * docs/pwg/advanced-clock.xml:
9617         * docs/pwg/appendix-porting.xml:
9618         * docs/pwg/intro-preface.xml:
9619         * docs/pwg/other-base.xml:
9620         * docs/pwg/other-manager.xml:
9621         * docs/pwg/other-nton.xml:
9622         * docs/pwg/other-ntoone.xml:
9623         * docs/pwg/other-oneton.xml:
9624         * docs/pwg/pwg.xml:
9625           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9626           demuxer), remove n-to-n (was never written), fix some code examples
9627           and links and update the porting section to include all this.
9628
9629 2005-07-19  Wim Taymans  <wim@fluendo.com>
9630
9631         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9632         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9633         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9634         (gst_queue_src_activate_push), (gst_queue_change_state),
9635         (gst_queue_get_property):
9636         * gst/gstqueue.h:
9637         Propagate GstFlowReturn more intelligently upstream and output
9638         an ERROR/EOS when streaming stopped due to fatal error.
9639
9640 2005-07-19  Wim Taymans  <wim@fluendo.com>
9641
9642         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9643         Don't block forever for the state change to complete, the
9644         pipeline already did with a sensible timeout.
9645
9646 2005-07-19  Wim Taymans  <wim@fluendo.com>
9647
9648         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9649         Make sure we never call the create function is we
9650         got deactivated.
9651
9652 2005-07-19  Andy Wingo  <wingo@pobox.com>
9653
9654         * gst/parse/parse.l: Attempt to solve bug #172815.
9655
9656 2005-07-19  Wim Taymans  <wim@fluendo.com>
9657
9658         * docs/design/part-clocks.txt:
9659         * docs/design/part-events.txt:
9660         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9661         Small docs updates.
9662         Only update the seeking values when we are not
9663         busy streaming.
9664
9665 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9666
9667         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9668           Oops, ignore the result of gst_pad_push_event here.
9669
9670 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9671
9672         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9673         (gst_base_src_activate_push):
9674           Send discont event from the loop function, as pads
9675           aren't activated yet in the activate_push handler.
9676
9677         * gst/gstbin.c: (bin_bus_handler):
9678           Don't leak element name.
9679
9680 2005-07-18  Andy Wingo  <wingo@pobox.com>
9681
9682         * configure.ac: Use AS_LIBTOOL_TAGS.
9683
9684 2005-07-18  Wim Taymans  <wim@fluendo.com>
9685
9686         * docs/gst/gstreamer.types:
9687         Remove deleted types.
9688
9689 2005-07-18  Wim Taymans  <wim@fluendo.com>
9690
9691         * check/elements/gstfakesrc.c: (GST_START_TEST):
9692         * configure.ac:
9693         * gst/Makefile.am:
9694         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9695         (init_popt_callback):
9696         * gst/gst.h:
9697         * gst/gst_private.h:
9698         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9699         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9700         * gst/gstbin.h:
9701         * gst/gstbus.h:
9702         * gst/gstconfig.h.in:
9703         * gst/gstelement.c: (gst_element_class_init),
9704         (gst_element_set_base_time), (gst_element_get_base_time),
9705         (iterator_fold_with_resync), (gst_element_change_state),
9706         (gst_element_dispose), (gst_element_get_bus):
9707         * gst/gstelement.h:
9708         * gst/gstelementfactory.h:
9709         * gst/gsterror.c: (_gst_core_errors_init):
9710         * gst/gsterror.h:
9711         * gst/gstevent.h:
9712         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9713         * gst/gstindex.c:
9714         * gst/gstinfo.c: (_gst_debug_init):
9715         * gst/gstmessage.c: (_gst_message_copy):
9716         * gst/gstmessage.h:
9717         * gst/gstminiobject.h:
9718         * gst/gstobject.c:
9719         * gst/gstobject.h:
9720         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9721         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9722         * gst/gstpad.h:
9723         * gst/gstparse.h:
9724         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9725         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9726         (gst_pipeline_get_last_stream_time):
9727         * gst/gstpipeline.h:
9728         * gst/gstpluginfeature.h:
9729         * gst/gstquery.h:
9730         * gst/gstscheduler.c:
9731         * gst/gstscheduler.h:
9732         * gst/gststructure.h:
9733         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9734         (gst_task_finalize), (gst_task_func), (gst_task_create),
9735         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9736         (gst_task_stop), (gst_task_pause):
9737         * gst/gsttask.h:
9738         * gst/gsttypefind.h:
9739         * gst/gsttypes.h:
9740         * gst/registries/gstlibxmlregistry.c: (load_feature),
9741         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9742         * gst/registries/gstxmlregistry.c:
9743         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9744         * gst/schedulers/threadscheduler.c:
9745         * libs/gst/control/dparammanager.h:
9746         * tools/gst-inspect.c: (print_element_list),
9747         (print_plugin_features), (print_element_features):
9748         * tools/gst-xmlinspect.c: (print_element_list),
9749         (print_plugin_info), (main):
9750         Removed plugable schedulers.
9751         Removed Scheduler/Manager from elements.
9752         Removed gsttypes.h, rearranged includes.
9753         Removed dependency pad<->element, element<>pipeline, and
9754         various others,  fix includes.
9755         implement gst_pad_get_parent() with gst_object_get_parent()
9756         Make GstTask sefcontained.
9757         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9758         timeout.
9759         Fix endless loop in iterator_fold_with_resync.
9760
9761
9762 2005-07-18  Wim Taymans  <wim@fluendo.com>
9763
9764         * gst/Makefile.am:
9765         * gst/gstarch.h:
9766         Remove old file.
9767
9768 2005-07-18  Wim Taymans  <wim@fluendo.com>
9769
9770         * gst/Makefile.am:
9771         No more cothreads.h
9772
9773 2005-07-18  Wim Taymans  <wim@fluendo.com>
9774
9775         * gst/cothreads.c:
9776         * gst/cothreads.h:
9777         Let's remove these.
9778
9779 2005-07-18  Wim Taymans  <wim@fluendo.com>
9780
9781         * docs/design/part-dynamic.txt:
9782         * docs/design/part-events.txt:
9783         * docs/design/part-seeking.txt:
9784         Some more docs in the works.
9785
9786         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9787         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9788         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9789         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9790         (gst_base_transform_handle_buffer),
9791         (gst_base_transform_sink_activate_push),
9792         (gst_base_transform_src_activate_pull),
9793         (gst_base_transform_set_passthrough),
9794         (gst_base_transform_is_passthrough):
9795         Refcounting fixes.
9796
9797         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9798         Cleanups.
9799
9800         * gst/gstevent.c: (gst_event_finalize):
9801         Set SRC to NULL.
9802
9803         * gst/gstutils.c: (gst_element_unlink),
9804         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9805         (gst_pad_proxy_setcaps):
9806         * gst/gstutils.h:
9807         Add _get_parent_element() to get a pads parent as an element.
9808
9809 2005-07-18  Wim Taymans  <wim@fluendo.com>
9810
9811         * check/gst/gstbin.c: (GST_START_TEST):
9812         Remove bogus test.
9813
9814 2005-07-18  Wim Taymans  <wim@fluendo.com>
9815
9816         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9817         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9818         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9819         (gst_base_sink_event), (gst_base_sink_do_sync),
9820         (gst_base_sink_chain), (gst_base_sink_loop),
9821         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9822         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9823         Refcounting fixes.
9824         Fix logic for returning ASYNC when not prerolled.
9825
9826 2005-07-18  Wim Taymans  <wim@fluendo.com>
9827
9828         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9829         Fix nasty refcount bug.
9830
9831 2005-07-16 Philippe Khalaf <burger@speedy.org>
9832
9833         * gst/elements/gstfdsrc.c:
9834         * gst/elements/gstfdsrc.h:
9835         * gst/elements/gstelements.c:
9836         * gst/elements/Makefile.am:
9837         Ported fdsrc to 0.9.
9838
9839 2005-07-16  Wim Taymans  <wim@fluendo.com>
9840
9841         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9842         (gst_base_sink_do_sync):
9843         Fix compile error.
9844
9845 2005-07-16  Wim Taymans  <wim@fluendo.com>
9846
9847         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9848         (gst_base_sink_event), (gst_base_sink_get_times),
9849         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9850         * gst/base/gstbasesink.h:
9851         Store and use discont values when syncing buffers as described
9852         in design docs.
9853         
9854         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9855         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9856         (gst_base_src_activate_push):
9857         Push discont event when starting.
9858
9859         * gst/elements/gstidentity.c: (gst_identity_transform):
9860         Small cleanups.
9861
9862         * gst/gstbin.c: (gst_bin_change_state):
9863         Small cleanups in base_time  distribution.
9864
9865         * gst/gstelement.c: (gst_element_set_base_time),
9866         (gst_element_get_base_time), (gst_element_change_state):
9867         * gst/gstelement.h:
9868         Added methods for the base_time of the element.
9869         Some MT fixes.
9870
9871         * gst/gstpipeline.c: (gst_pipeline_send_event),
9872         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9873         (gst_pipeline_get_last_stream_time):
9874         * gst/gstpipeline.h:
9875         MT fixes.
9876         Handle seeking as described in design doc, remove stream_time
9877         hack.
9878         Cleanups clock and stream_time selection code. Added accessors
9879         for the stream_time.
9880         
9881
9882 2005-07-16  Andy Wingo  <wingo@pobox.com>
9883
9884         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9885         (#305291).
9886
9887 2005-07-16  Wim Taymans  <wim@fluendo.com>
9888
9889         * check/gst/gstbin.c: (GST_START_TEST):
9890         Make elements silent as the deep_notify refs the
9891         parent, which might make the test fail.
9892
9893         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9894         Don't hold the lock for too long.
9895
9896 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9897
9898         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9899           Don't unref the caps we passed to gst_caps_make_writable() after
9900           passing them. gst_caps_make_writable() will do that for us.
9901
9902 2005-07-15  Andy Wingo  <wingo@pobox.com>
9903
9904         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9905         (#157311).
9906
9907         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9908         own marshalling function for the handoff signal. Properly type the
9909         buffer as a buffer. Fixes some warnings. Should do a more general
9910         solution.
9911         (gst_identity_class_init): Plug into the right marshaller.
9912
9913 2005-07-15  Wim Taymans  <wim@fluendo.com>
9914
9915         * docs/design/part-TODO.txt:
9916         * docs/design/part-clocks.txt:
9917         * docs/design/part-element-sink.txt:
9918         * docs/design/part-events.txt:
9919         * docs/design/part-gstpipeline.txt:
9920         Updated docs, mostly DISCONT related.
9921
9922 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9923
9924         * docs/pwg/building-pads.xml:
9925           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9926
9927 2005-07-15  Andy Wingo  <wingo@pobox.com>
9928
9929         * tools/gst-typefind.c: Update, add copyright block.
9930
9931         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9932         Normalize and truncate caps before fixation.
9933
9934         * gst/gstcaps.h:
9935         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9936         discards all but the first structure from its argument.
9937
9938 2005-07-15  Wim Taymans  <wim@fluendo.com>
9939
9940         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9941         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9942         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9943         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9944         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9945         (gst_base_transform_chain), (gst_base_transform_change_state),
9946         (gst_base_transform_set_passthrough),
9947         (gst_base_transform_is_passthrough):
9948         * gst/base/gstbasetransform.h:
9949         Make passthrough work using the bufferpools.
9950         Changed API a bit, subclasses have to write into a buffer
9951         provided by the base class.
9952         More debug info in nego functions.
9953         
9954         * gst/elements/gstidentity.c: (gst_identity_init),
9955         (gst_identity_transform):
9956         Port to new base class.
9957
9958 2005-07-15  Wim Taymans  <wim@fluendo.com>
9959
9960         * gst/gstmessage.c: (gst_message_new_state_changed):
9961         * tools/gst-launch.c: (event_loop), (main):
9962         Totally dump messages in -launch with the -m option.
9963         Fix message name for State messages,
9964
9965 2005-07-14  Wim Taymans  <wim@fluendo.com>
9966
9967         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9968         Post error messages on errors.
9969
9970 2005-07-14  Wim Taymans  <wim@fluendo.com>
9971
9972         * gst/gstcaps.c: (gst_caps_do_simplify):
9973         Remove debug info.
9974
9975         * gst/gsterror.h:
9976         Define error for stream stopped.
9977
9978         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9979         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9980         Do proper return values.
9981
9982         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9983         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9984         (gst_pad_get_range):
9985         Better return values.
9986
9987         * gst/gstpad.h:
9988         Reorganise return values, add macro to check for fatal errors.
9989
9990         * gst/gstqueue.c: (gst_queue_chain):
9991         Return proper GstFlowReturn values,
9992
9993 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9994
9995         * docs/gst/gstreamer-sections.txt:
9996         * docs/gst/gstreamer.types:
9997         * docs/gst/tmpl/gst.sgml:
9998         * docs/gst/tmpl/gstbasesink.sgml:
9999         * docs/gst/tmpl/gstbasesrc.sgml:
10000         * docs/gst/tmpl/gstbasetransform.sgml:
10001         * docs/gst/tmpl/gstbin.sgml:
10002         * docs/gst/tmpl/gstbuffer.sgml:
10003         * docs/gst/tmpl/gstcaps.sgml:
10004         * docs/gst/tmpl/gstclock.sgml:
10005         * docs/gst/tmpl/gstcompat.sgml:
10006         * docs/gst/tmpl/gstconfig.sgml:
10007         * docs/gst/tmpl/gstelement.sgml:
10008         * docs/gst/tmpl/gstelementdetails.sgml:
10009         * docs/gst/tmpl/gstelementfactory.sgml:
10010         * docs/gst/tmpl/gstenumtypes.sgml:
10011         * docs/gst/tmpl/gsterror.sgml:
10012         * docs/gst/tmpl/gstevent.sgml:
10013         * docs/gst/tmpl/gstfakesink.sgml:
10014         * docs/gst/tmpl/gstfakesrc.sgml:
10015         * docs/gst/tmpl/gstfilesink.sgml:
10016         * docs/gst/tmpl/gstfilesrc.sgml:
10017         * docs/gst/tmpl/gstfilter.sgml:
10018         * docs/gst/tmpl/gstformat.sgml:
10019         * docs/gst/tmpl/gstghostpad.sgml:
10020         * docs/gst/tmpl/gstimplementsinterface.sgml:
10021         * docs/gst/tmpl/gstindex.sgml:
10022         * docs/gst/tmpl/gstindexfactory.sgml:
10023         * docs/gst/tmpl/gstinfo.sgml:
10024         * docs/gst/tmpl/gstiterator.sgml:
10025         * docs/gst/tmpl/gstmacros.sgml:
10026         * docs/gst/tmpl/gstmemchunk.sgml:
10027         * docs/gst/tmpl/gstminiobject.sgml:
10028         * docs/gst/tmpl/gstobject.sgml:
10029         * docs/gst/tmpl/gstpad.sgml:
10030         * docs/gst/tmpl/gstpadtemplate.sgml:
10031         * docs/gst/tmpl/gstparse.sgml:
10032         * docs/gst/tmpl/gstpipeline.sgml:
10033         * docs/gst/tmpl/gstplugin.sgml:
10034         * docs/gst/tmpl/gstpluginfeature.sgml:
10035         * docs/gst/tmpl/gstquery.sgml:
10036         * docs/gst/tmpl/gstqueue.sgml:
10037         * docs/gst/tmpl/gstregistry.sgml:
10038         * docs/gst/tmpl/gstregistrypool.sgml:
10039         * docs/gst/tmpl/gstscheduler.sgml:
10040         * docs/gst/tmpl/gstschedulerfactory.sgml:
10041         * docs/gst/tmpl/gststructure.sgml:
10042         * docs/gst/tmpl/gstsystemclock.sgml:
10043         * docs/gst/tmpl/gsttaglist.sgml:
10044         * docs/gst/tmpl/gsttagsetter.sgml:
10045         * docs/gst/tmpl/gsttrace.sgml:
10046         * docs/gst/tmpl/gsttrashstack.sgml:
10047         * docs/gst/tmpl/gsttypefind.sgml:
10048         * docs/gst/tmpl/gsttypefindfactory.sgml:
10049         * docs/gst/tmpl/gsttypes.sgml:
10050         * docs/gst/tmpl/gsturihandler.sgml:
10051         * docs/gst/tmpl/gsturitype.sgml:
10052         * docs/gst/tmpl/gstutils.sgml:
10053         * docs/gst/tmpl/gstvalue.sgml:
10054         * docs/gst/tmpl/gstversion.sgml:
10055         * docs/gst/tmpl/gstxml.sgml:
10056         * docs/libs/tmpl/gstcontrol.sgml:
10057         * docs/libs/tmpl/gstdataprotocol.sgml:
10058         * docs/libs/tmpl/gstdparam.sgml:
10059         * docs/libs/tmpl/gstdplinint.sgml:
10060         * docs/libs/tmpl/gstdpman.sgml:
10061         * docs/libs/tmpl/gstdpsmooth.sgml:
10062         * docs/libs/tmpl/gstgetbits.sgml:
10063         * docs/libs/tmpl/gstunitconvert.sgml:
10064         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10065         (gst_push_src_base_init), (gst_push_src_class_init),
10066         (gst_push_src_init), (gst_push_src_create):
10067         * gst/base/gstpushsrc.h:
10068         * gst/elements/gstelements.c:
10069         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10070         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10071         (gst_fake_sink_init), (gst_fake_sink_set_property),
10072         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10073         (gst_fake_sink_event), (gst_fake_sink_preroll),
10074         (gst_fake_sink_render), (gst_fake_sink_change_state):
10075         * gst/elements/gstfakesink.h:
10076         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10077         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10078         (gst_fake_src_base_init), (gst_fake_src_class_init),
10079         (gst_fake_src_init), (gst_fake_src_event_handler),
10080         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10081         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10082         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10083         (gst_fake_src_create_buffer), (gst_fake_src_create),
10084         (gst_fake_src_start), (gst_fake_src_stop):
10085         * gst/elements/gstfakesrc.h:
10086         * gst/elements/gstfilesink.c: (_do_init),
10087         (gst_file_sink_base_init), (gst_file_sink_class_init),
10088         (gst_file_sink_init), (gst_file_sink_dispose),
10089         (gst_file_sink_set_location), (gst_file_sink_set_property),
10090         (gst_file_sink_get_property), (gst_file_sink_open_file),
10091         (gst_file_sink_close_file), (gst_file_sink_query),
10092         (gst_file_sink_event), (gst_file_sink_render),
10093         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10094         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10095         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10096         * gst/elements/gstfilesink.h:
10097         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10098         (gst_file_src_class_init), (gst_file_src_init),
10099         (gst_file_src_finalize), (gst_file_src_set_location),
10100         (gst_file_src_set_property), (gst_file_src_get_property),
10101         (gst_file_src_map_region), (gst_file_src_map_small_region),
10102         (gst_file_src_create_mmap), (gst_file_src_create_read),
10103         (gst_file_src_create), (gst_file_src_is_seekable),
10104         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10105         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10106         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10107         (gst_file_src_uri_handler_init):
10108         * gst/elements/gstfilesrc.h:
10109           more autistic cleanliness in functions/names/defines
10110
10111 2005-07-13  Andy Wingo  <wingo@pobox.com>
10112
10113         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
10114         source couldn't negotiate.
10115
10116         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
10117         connections again.
10118
10119         * gst/gstutils.h:
10120         * gst/gstutils.c (gst_element_link_pads_filtered): New old
10121         function. I am channeling Hades. Put your boots on suckers!!!
10122
10123 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10124
10125         * testsuite/caps/Makefile.am:
10126         * testsuite/caps/value_compare.c:
10127         * testsuite/caps/value_intersect.c:
10128         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10129           move two testsuite apps over to the check dir
10130
10131 2005-07-12  Wim Taymans  <wim@fluendo.com>
10132
10133         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10134         Added more debug info in the negotiate process.
10135
10136         * gst/gstmessage.h:
10137         Prepare for segment playback.
10138
10139         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
10140         Better debugging.
10141
10142         * gst/gstutils.c:
10143         Some more docs.
10144
10145         * tools/gst-launch.c: (main):
10146         NULL pipeline on errors.
10147
10148 2005-07-12  Andy Wingo  <wingo@pobox.com>
10149
10150         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10151         not it comes from a malloc region. Make sure our copy gets freed.
10152
10153 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10154
10155         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10156         * check/gst/gstmessage.c: (GST_START_TEST):
10157         * check/gst/gststructure.c: (GST_START_TEST),
10158         (gst_structure_suite), (main):
10159           more testing
10160         * gst/gstelement.c: (gst_element_message_full):
10161           clean up GError and debug string now that they get copied
10162         * gst/gstmessage.c: (gst_message_new_error),
10163         (gst_message_new_warning), (gst_message_parse_error),
10164         (gst_message_parse_warning):
10165           use GST_TYPE_G_ERROR for structure_new, and take copies of
10166           arguments, so that we don't mess up refcounting
10167
10168 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10169
10170         * check/Makefile.am:
10171           add per-test valgrind targets
10172         * check/gst-libs/gdp.c: (GST_START_TEST),
10173         (gst_data_protocol_suite), (main):
10174           clean up
10175
10176 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10177
10178         * check/Makefile.am:
10179           instate more valgrindable tests
10180         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10181         (GST_START_TEST), (fakesrc_suite):
10182         * check/gst/gstpad.c: (GST_START_TEST):
10183         * check/gst/gststructure.c: (GST_START_TEST):
10184           fix test leaks
10185         * docs/gst/tmpl/gstminiobject.sgml:
10186         * gst/gstpad.c: (gst_pad_finalize):
10187           fix the static mutex leak
10188
10189 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10190
10191         * check/Makefile.am:
10192           add two more tests for valgrinding
10193         * check/gst/gstvalue.c: (GST_START_TEST):
10194           test refcount of deserialized buffer, found a leak
10195         * docs/gst/gstreamer-docs.sgml:
10196         * docs/gst/gstreamer-sections.txt:
10197         * docs/gst/gstreamer.types:
10198         * docs/gst/tmpl/gstminiobject.sgml:
10199           add miniobject to docs
10200         * gst/gstminiobject.c:
10201           add some docs
10202         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10203         (gst_string_unwrap):
10204           fix a hard-to-find invalid write for one of the tests
10205           fix a leak for deserialized buffers
10206
10207 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10208
10209         * docs/pwg/advanced-events.xml:
10210         * docs/pwg/advanced-request.xml:
10211         * docs/pwg/advanced-scheduling.xml:
10212         * docs/pwg/appendix-porting.xml:
10213         * docs/pwg/building-boiler.xml:
10214         * docs/pwg/intro-preface.xml:
10215         * docs/pwg/other-ntoone.xml:
10216           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10217           of example code and explanation for pad activation, loop() and
10218           getrange() functions and a bit more. Remove old comments pointing
10219           to loop-functions.
10220         * examples/pwg/Makefile.am:
10221           Add loop/getrange examples.
10222
10223 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10224
10225         * configure.ac:
10226           check for valgrind binary + some fixes
10227         * check/gst.supp:
10228           valgrind suppressions for the tests
10229         * check/Makefile.am:
10230           add a valgrind: target that valgrinds the unit tests
10231         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10232         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10233         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10234         * check/gst/gstghostpad.c:
10235           added some cleanup
10236         * check/gst/gstdata.c:
10237           removed
10238         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10239         (thread_unref), (gst_mini_object_suite), (main):
10240           added
10241         * gst/gst.c: (gst_deinit):
10242         * gst/gst.h:
10243           add a method to clean up.
10244         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10245         (gst_system_clock_obtain):
10246           allow for disposing the system clock.
10247         * tools/gst-launch.c: (main):
10248           deinit
10249
10250 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10251
10252         * docs/gst/tmpl/gstbasesrc.sgml:
10253         * docs/gst/tmpl/gstfakesrc.sgml:
10254         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10255         (gst_base_src_init), (gst_base_src_set_property),
10256         (gst_base_src_get_property), (gst_base_src_get_range),
10257         (gst_base_src_start):
10258         * gst/base/gstbasesrc.h:
10259           add num-buffers property
10260         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10261         (gst_fakesrc_init), (gst_fakesrc_set_property),
10262         (gst_fakesrc_get_property), (gst_fakesrc_create),
10263         (gst_fakesrc_start):
10264           remove num-buffers property
10265
10266 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10267
10268         * docs/gst/gstreamer-sections.txt:
10269         * docs/gst/tmpl/gstbasesink.sgml:
10270         * docs/gst/tmpl/gstbasesrc.sgml:
10271         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10272         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10273         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10274         (gst_base_sink_set_property), (gst_base_sink_get_property),
10275         (gst_base_sink_handle_object), (gst_base_sink_event),
10276         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10277         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10278         (gst_base_sink_loop), (gst_base_sink_deactivate),
10279         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10280         (gst_base_sink_change_state):
10281         * gst/base/gstbasesink.h:
10282         * gst/base/gstbasesrc.h:
10283         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10284         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10285         (gst_filesink_init):
10286           more macro splitting
10287
10288 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10289
10290         * gst/gstelement.c: (gst_element_get_bus):
10291           add debug
10292         * tools/gst-launch.c: (check_intr), (event_loop):
10293           fix bus leaks
10294
10295 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10296
10297         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10298           fix a caps leak
10299
10300 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10301
10302         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10303         (gst_base_src_finalize):
10304           add finalize method and clean up properly
10305         * gst/gstpipeline.c: (gst_pipeline_dispose):
10306           add debug
10307
10308 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10309
10310         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10311         (gst_bin_suite):
10312           add more things to check
10313         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10314         * gst/gstelement.c:
10315           more debug
10316
10317 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10318
10319         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10320         (GST_START_TEST), (fakesrc_suite):
10321         * check/gst-libs/gdp.c: (GST_START_TEST):
10322         * check/gst/gst.c: (GST_START_TEST):
10323         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10324         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10325         * check/gst/gstbus.c: (GST_START_TEST):
10326         * check/gst/gstcaps.c: (GST_START_TEST):
10327         * check/gst/gstdata.c: (GST_START_TEST):
10328         * check/gst/gstelement.c: (GST_START_TEST):
10329         * check/gst/gstghostpad.c: (GST_START_TEST):
10330         * check/gst/gstiterator.c: (GST_START_TEST):
10331         * check/gst/gstmessage.c: (GST_START_TEST):
10332         * check/gst/gstobject.c: (GST_START_TEST):
10333         * check/gst/gstpad.c: (GST_START_TEST):
10334         * check/gst/gststructure.c: (GST_START_TEST):
10335         * check/gst/gstsystemclock.c: (GST_START_TEST),
10336         (gst_systemclock_suite):
10337         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10338         * check/gst/gstvalue.c: (GST_START_TEST):
10339         * check/pipelines/cleanup.c: (GST_START_TEST):
10340         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10341         * check/states/sinks.c: (GST_START_TEST):
10342         * check/gstcheck.c: (gst_check_init):
10343         * check/gstcheck.h:
10344           add debugging category
10345           use GST_START_TEST now, so we add a debug line
10346
10347 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10348
10349         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10350           add test for state change message on a bin
10351         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10352           add another test
10353         * gst/gstbin.c: (gst_bin_init):
10354         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10355         * gst/gstelement.c: (gst_element_post_message),
10356         (gst_element_set_state):
10357         * gst/gstelementfactory.c: (gst_element_factory_create):
10358         * gst/gstmessage.c: (gst_message_new):
10359         * gst/gstscheduler.c:
10360           various debugging additions and cleanups
10361
10362 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10363
10364         * check/Makefile.am:
10365         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10366         (main):
10367           adding tests for elements
10368         * gst/gstelement.c: (gst_element_dispose):
10369
10370 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10371
10372         * gst/registries/gstlibxmlregistry.c: (load_feature):
10373           plug more leaks.  A simple gst_init() now is leakfree, yay.
10374
10375 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10376
10377         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10378         (gst_xml_registry_load):
10379           plug another memleak
10380
10381 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10382
10383         * configure.ac:
10384           use GST_SET_ERROR_CFLAGS
10385         * docs/faq/cvs.xml:
10386           change to ERROR_CFLAGS
10387
10388 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10389
10390         * configure.ac:
10391           make GST_ERROR_CFLAGS overridable and re-enable Werror
10392         * docs/faq/cvs.xml:
10393           add a note about error CFLAGS
10394         * docs/gst/tmpl/gstfakesrc.sgml:
10395         * gst/elements/gstfakesrc.c:
10396           comment out some unused code
10397         * gst/gst.c: (split_and_iterate):
10398         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10399         (load_feature):
10400           plug some memleaks
10401
10402 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10403
10404         * common/Makefile.am:
10405         * common/gtk-doc.mak:
10406         * docs/gst/Makefile.am:
10407           factor out gtk-doc.mak
10408
10409 2005-07-07  Wim Taymans  <wim@fluendo.com>
10410
10411         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10412         (gst_thread_scheduler_dispose):
10413         Unlock the STREAM_LOCK completely.
10414
10415 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10416
10417         * check/Makefile.am:
10418         * check/elements/.cvsignore:
10419         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10420         (START_TEST), (fakesrc_suite), (main):
10421         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10422         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10423         (gst_fakesrc_create), (gst_fakesrc_start):
10424         * gst/elements/gstfakesrc.h:
10425           adding a first element test
10426
10427 2005-07-07  Andy Wingo  <wingo@pobox.com>
10428
10429         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10430         debug message.
10431
10432 2005-07-07  Wim Taymans  <wim@fluendo.com>
10433
10434         * gst/gstquery.c:
10435         * gst/gstquery.h:
10436         Remove old types
10437
10438 2005-07-07  Wim Taymans  <wim@fluendo.com>
10439
10440         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10441         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10442         Allow subclasses to implement their own negotiation.
10443
10444 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10445
10446         * docs/design/part-gstbin.txt:
10447         * docs/design/part-gstpipeline.txt:
10448           Update design notes to reflect the movement of
10449           responsibility for bus handling from GstPipeline to
10450           GstBin
10451
10452 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10453
10454         * configure.ac:
10455           Remove unnecessary queue2/3/4 examples.
10456
10457 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10458
10459         * examples/Makefile.am:
10460         * examples/helloworld/helloworld.c: (event_loop), (main):
10461         * examples/queue/queue.c: (event_loop), (main):
10462         * examples/queue2/queue2.c: (main):
10463           Update a couple of the examples to work again.
10464
10465         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10466         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10467          Spelling corrections and extra debug.
10468         
10469         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10470         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10471         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10472         * gst/gstbin.h:
10473         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10474         (gst_pipeline_change_state):
10475         * gst/gstpipeline.h:
10476           Move the bus handler for children to the GstBin, and create a
10477           separate bus for receiving messages from children to the one the
10478           bus sends 'upwards' on.
10479
10480 2005-07-06  Wim Taymans  <wim@fluendo.com>
10481
10482         * gst/base/README:
10483         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10484         (gst_base_sink_handle_object), (gst_base_sink_loop),
10485         (gst_base_sink_change_state):
10486         * gst/base/gstbasesink.h:
10487         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10488         (gst_base_src_init), (gst_base_src_setcaps),
10489         (gst_base_src_getcaps), (gst_base_src_loop),
10490         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10491         (gst_base_src_start), (gst_base_src_change_state):
10492         * gst/base/gstbasesrc.h:
10493         Make basesrc negotiate.
10494         Handle the case where preroll fails in basesink.
10495         Update README.
10496
10497 2005-07-06  Wim Taymans  <wim@fluendo.com>
10498
10499         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10500         Implement the fixate function.
10501         Clean up acceptcaps.
10502
10503 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10504
10505         * docs/pwg/building-filterfactory.xml:
10506         * docs/pwg/pwg.xml:
10507           Remove never-written filter-factory chapter; I'll add the various
10508           base classes to part 4 ("other element types") later on.
10509
10510 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10511
10512         * docs/pwg/advanced-negotiation.xml:
10513         * docs/pwg/building-boiler.xml:
10514         * docs/pwg/building-pads.xml:
10515         * docs/pwg/pwg.xml:
10516         * examples/pwg/Makefile.am:
10517           Add a chapter on caps negotiation, simplify the original code
10518           samples a bit w.r.t. caps negotiation, add link to the advanced
10519           section. Add a bunch of examples showing different use cases of
10520           different types of caps negotiation. Upstream renegotiation isn't
10521           fully documented yet since nobody knows how that works.
10522
10523 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10524
10525         * check/gst/gstpad.c:
10526         * check/gstcheck.c:
10527         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10528           if pad has no parent, return NULL as list of internal links
10529
10530 2005-07-05  Andy Wingo  <wingo@pobox.com>
10531
10532         * gst/elements/gstfilesrc.c:
10533         * gst/elements/gstfakesrc.c: 
10534         * gst/base/gstpushsrc.c:
10535         * gst/base/gstbasesrc.h: 
10536         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10537         
10538 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10539
10540         * Makefile.am:
10541           better report generation target (lcov needs a patch)
10542
10543 2005-07-05  Andy Wingo  <wingo@pobox.com>
10544
10545         * gst/elements, testsuite: Null if we got it...
10546
10547 2005-07-05  Wim Taymans  <wim@fluendo.com>
10548
10549         * configure.ac:
10550         * libs/gst/dataprotocol/Makefile.am:
10551         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10552         * libs/gst/dataprotocol/dataprotocol.h:
10553         * pkgconfig/Makefile.am:
10554         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10555         * pkgconfig/gstreamer-dataprotocol.pc.in:
10556         Ported dataprotol to 0.9. 
10557         Added pkgconfig files.
10558
10559 2005-07-05  Andy Wingo  <wingo@pobox.com>
10560
10561         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10562         Default to returning TRUE for the case when tranform_caps returns
10563         a fixed caps, like for identity or volume.
10564
10565         * check/gst/gstbus.c (pound_bus_with_messages): 
10566         * check/gst/gstmessage.c (START_TEST): 
10567         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10568         message API change.
10569
10570         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10571         logic weaks here: always run transform_caps, trying passthrough
10572         operation only if the original caps intersects with the transform.
10573
10574         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10575         source and sink caps.
10576
10577         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10578         Intersect the peer caps with the pad template before going into
10579         transform_caps.
10580         (gst_base_transform_transform_caps): More debugging.
10581
10582         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10583         src argument.
10584
10585 2005-07-04  Edward Hervey  <edward@fluendo.com>
10586
10587         * gst/gstutils.c:
10588         * gst/gstutils.h:
10589         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10590         in bindings.
10591
10592 2005-07-04  Andy Wingo  <wingo@pobox.com>
10593
10594         * check/gst/gstpad.c: Only set explicit caps on pads.
10595
10596 2005-07-01  Andy Wingo  <wingo@pobox.com>
10597
10598         * tests/network-clock.scm: Commentary update.
10599
10600         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10601         Didn't really make sense, not implementable with basetransform,
10602         etc.
10603         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10604         attempt at implementing the sync property, needs an unlock method.
10605
10606         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10607         New func, by default returns the same caps (the identity
10608         transformation).
10609         (gst_base_transform_getcaps): Uses transform_caps to return
10610         something sensible.
10611         (gst_base_transform_setcaps): Complicated logic to get caps on
10612         both pads, even if they are different, and to call set_caps once
10613         for every time both pads get their caps set.
10614         (gst_base_transform_handle_buffer): Give the ref to the transform
10615         function. Allows in-place modification of the buffer.
10616
10617         * gst/base/gstbasetransform.h (transform_caps): New class method.
10618         Given caps on one side, what can I do on the other.
10619         (set_caps): Take two caps, one for each side of the element.
10620
10621         * gst/gstpad.h:
10622         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10623         caps in place. This is safe because we can check the mutability of
10624         the caps, and a good idea because fixate functions are just called
10625         as a matter of last resort. (Not actually implemented.)
10626         (gst_pad_set_caps): If the caps we're setting is actually the same
10627         as the existing pad caps, just update the pointer without calling
10628         setcaps. Assert that caps is either NULL or fixed, as per the
10629         docs.
10630
10631         * gst/gstghostpad.c: Update for fixate changes.
10632
10633 2005-07-02  Andy Wingo  <wingo@pobox.com>
10634
10635         * gst/gstcaps.c:
10636         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10637         two refcounts makes it immutable, which is enough. Doc more.
10638
10639 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10640
10641         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10642           Put the mini_object into GValue as a mini_object,
10643           not a gpointer, since that's how we declared
10644           the signal.
10645
10646 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10647
10648         * examples/pwg/Makefile.am:
10649           Fix buildbot again.
10650
10651 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10652
10653         * docs/pwg/building-testapp.xml:
10654           Add extra check.
10655         * examples/pwg/Makefile.am:
10656           Fix buildbot.
10657
10658 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10659
10660         * configure.ac:
10661         * examples/Makefile.am:
10662         * examples/pwg/Makefile.am:
10663         * examples/pwg/extract.pl:
10664           Enable building the PWG examples.
10665         * docs/pwg/advanced-interfaces.xml:
10666           Add URI interface stub.
10667         * docs/pwg/advanced-types.xml:
10668         * docs/pwg/other-autoplugger.xml:
10669         * docs/pwg/appendix-porting.xml:
10670         * docs/pwg/pwg.xml:
10671           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10672         * docs/pwg/building-boiler.xml:
10673         * docs/pwg/building-chainfn.xml:
10674         * docs/pwg/building-pads.xml:
10675         * docs/pwg/building-props.xml:
10676         * docs/pwg/building-state.xml:
10677         * docs/pwg/building-testapp.xml:
10678           Update the building-*.xml parts for 0.9 changes. All examples
10679           code blocks compile in examples/pwg/*.
10680
10681 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10682
10683         * docs/manual/advanced-autoplugging.xml:
10684         * docs/manual/appendix-checklist.xml:
10685         * docs/manual/appendix-integration.xml:
10686         * docs/manual/highlevel-components.xml:
10687           Fix playbin/decodebin examples, update docs a bit, mention bus
10688           instead of signals in various places, mention kmplayer and
10689           kaffeine since they have a working GStreamer backend in the KDE
10690           section.
10691
10692 2005-06-30  Wim Taymans  <wim@fluendo.com>
10693
10694         * CHANGES-0.9:
10695         * docs/design/draft-ghostpads.txt:
10696         * docs/design/draft-push-pull.txt:
10697         * docs/design/draft-query.txt:
10698         * docs/design/part-TODO.txt:
10699         * docs/design/part-query.txt:
10700         Added CHANGES-0.9 doc, updated status of other docs.
10701         
10702         * gst/gstquery.h:
10703         Remove "hmm" macro
10704
10705 2005-06-30  Wim Taymans  <wim@fluendo.com>
10706
10707         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10708         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10709         (gst_base_sink_change_state):
10710         * gst/base/gstbasesink.h:
10711         Some tweaks, only EOS and a buffer complete a preroll.
10712
10713 2005-06-30  Andy Wingo  <wingo@pobox.com>
10714
10715         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10716         activate_push down to the internal pad as well.
10717
10718 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10719
10720         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10721
10722         * gst/gsttaginterface.c:
10723           Some documentation fixes (#307394 and #307397).
10724
10725 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10726
10727         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10728
10729         * gst/gstvalue.c: (gst_value_intersect_list):
10730           Fix memleak (#309125).
10731
10732 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10733
10734         * docs/manual/advanced-dataaccess.xml:
10735           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10736         * docs/manual/basics-pads.xml:
10737           Add reference for filtered caps to above chapter.
10738
10739 2005-06-30  Wim Taymans  <wim@fluendo.com>
10740
10741         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10742         (gst_bin_change_state):
10743         Probes are gone.
10744         Lame attempt at making the state change function a bit
10745         more readable.
10746
10747 2005-06-30  Wim Taymans  <wim@fluendo.com>
10748
10749         * docs/design/part-clocks.txt:
10750         * docs/design/part-element-sink.txt:
10751         * docs/design/part-events.txt:
10752         * docs/design/part-preroll.txt:
10753         * docs/design/part-states.txt:
10754         Some more tweeks and additions to the docs.
10755
10756 2005-06-30  Wim Taymans  <wim@fluendo.com>
10757
10758         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10759         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10760         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10761         (gst_pad_check_pull_range), (gst_pad_get_range),
10762         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10763         * gst/gstpad.h:
10764         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10765         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10766         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10767         (gst_pad_remove_buffer_probe):
10768         Removed atomic operations, use existing LOCK.
10769         Move exception handling out of main code path.
10770
10771 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10772
10773         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10774         (silly_return_true_function), (gst_pad_class_init),
10775         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10776         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10777         (gst_pad_send_event):
10778           Fix accumulator, add default value by using _emitv() instead
10779           of _emit() for signal emission.
10780
10781 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10782
10783         * docs/manual/advanced-dataaccess.xml:
10784         * examples/manual/Makefile.am:
10785           Add probe example.
10786         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10787           Make work (??).
10788
10789 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10790
10791         * gst/elements/gstfilesink.c: (gst_filesink_render):
10792           Simplify code so that we don't have to handle short
10793           writes and return GST_FLOW_ERROR if an error occured.
10794
10795 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10796
10797         * docs/gst/gstreamer-docs.sgml:
10798           Remove probes more.
10799
10800 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10801
10802         * docs/gst/gstreamer-sections.txt:
10803         * docs/gst/tmpl/gstpad.sgml:
10804         * docs/gst/tmpl/gstprobe.sgml:
10805         * gst/Makefile.am:
10806         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10807         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10808         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10809         (gst_pad_push_event), (gst_pad_send_event):
10810         * gst/gstpad.h:
10811         * gst/gstutils.c: (gst_pad_add_data_probe),
10812         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10813         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10814         (gst_pad_remove_buffer_probe):
10815         * gst/gstutils.h:
10816           Remove old probes, add new g-signal-based probes and some utility
10817           functions.
10818
10819 2005-06-29  Edward Hervey  <edward@fluendo.com>
10820
10821         * gst/gstelementfactory.c:
10822         * gst/gstutils.h:
10823         * gst/gstutils.c:
10824         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10825         the definition to the header file.
10826
10827 2005-06-29  Andy Wingo  <wingo@pobox.com>
10828
10829         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10830         plugins from the source directory.
10831
10832 2005-06-29  Wim Taymans  <wim@fluendo.com>
10833
10834         * docs/gst/tmpl/gstbuffer.sgml:
10835         * docs/gst/tmpl/gstclock.sgml:
10836         Some fixings for blantently wrong text.
10837
10838 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10839
10840         * check/Makefile.am:
10841         * gst/gst.c: (add_path_func), (init_pre):
10842         * gst/gstregistry.c: (gst_registry_add_path):
10843           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10844           only scan the GST_PLUGIN_PATH locations, and not add
10845           system locations
10846
10847 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10848
10849         * docs/gst/gstreamer-sections.txt:
10850         * docs/gst/tmpl/gstbasesrc.sgml:
10851         * gst/gstelement.c:
10852         * gst/gstelement.h:
10853         * gst/gstevent.c:
10854         * gst/gstutils.c:
10855           doc fixes
10856
10857 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10858
10859         * docs/manual/advanced-autoplugging.xml:
10860           Fix autoplugging example.
10861
10862 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10863
10864         * docs/manual/advanced-autoplugging.xml:
10865         * docs/manual/mime-world.fig:
10866           Try to get autoplugging working, fix type detection. Fix text
10867           in hello-world image.
10868
10869 2005-06-29  Wim Taymans  <wim@fluendo.com>
10870
10871         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10872         (gst_base_sink_change_state):
10873         Small debug line.
10874
10875         * gst/gstclock.h:
10876         map SIGNAL and BROADCAST to the right function.
10877
10878         * gst/gstobject.h:
10879         Remove redundant braces.
10880
10881         * gst/gstpad.c: (gst_pad_set_caps):
10882         Don't call setcaps function when reseting caps to NULL.
10883
10884         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10885         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10886         (gst_system_clock_id_unschedule):
10887         Use BROADCAST as this is what we do.
10888
10889 2005-06-29  Wim Taymans  <wim@fluendo.com>
10890
10891         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10892         We are actually prerolling before commiting the state
10893         change. 
10894
10895 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10896
10897         * docs/manual/advanced-clocks.xml:
10898         * docs/manual/advanced-interfaces.xml:
10899         * docs/manual/advanced-metadata.xml:
10900         * docs/manual/advanced-position.xml:
10901         * docs/manual/advanced-schedulers.xml:
10902         * docs/manual/advanced-threads.xml:
10903         * docs/manual/appendix-porting.xml:
10904         * docs/manual/basics-bins.xml:
10905         * docs/manual/basics-bus.xml:
10906         * docs/manual/basics-elements.xml:
10907         * docs/manual/basics-helloworld.xml:
10908         * docs/manual/basics-pads.xml:
10909         * docs/manual/highlevel-components.xml:
10910         * docs/manual/manual.xml:
10911         * docs/manual/thread.fig:
10912           Update (until threads/scheduling) Application Development Manual;
10913           remove GstThread, add GstBus, add simple porting checklist, add
10914           documentation for tag writing, clocks, make all examples until this
10915           part compile and run.
10916         * examples/manual/Makefile.am:
10917           Update from changes to Application Development Manual; add bus
10918           example, remove thread example.
10919
10920 2005-06-28  Wim Taymans  <wim@fluendo.com>
10921
10922         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10923         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10924         (gst_bus_source_dispatch):
10925         Add debugging messages.
10926         Make internal methods static.
10927         Handle the case where the bus is flushed in the handler.
10928         
10929         * gst/gstelement.c: (gst_element_get_bus):
10930         Fix refcount in _get_bus();
10931
10932         * gst/gstpipeline.c: (gst_pipeline_change_state),
10933         (gst_pipeline_get_clock_func):
10934         Clock refcounting fixes.
10935         Handle the case where preroll timed out more gracefully.
10936         
10937         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10938         Clean up the internal thread in dispose. This is needed
10939         for subclasses that actually get disposed.
10940         
10941         * gst/schedulers/threadscheduler.c:
10942         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10943         (gst_thread_scheduler_dispose):
10944         Free thread pool in dispose.
10945
10946 2005-06-28  Andy Wingo  <wingo@pobox.com>
10947
10948         * tests/network-clock-utils.scm (debug, print-event): New utils.
10949
10950         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10951         (*packet-loss*): Unified loss probability.
10952         (network-time): Report out-of-band events.
10953
10954         * tests/plot-data: Add support for out-of-band events. Hack it
10955         into this script instead of passing it down the pipe; should fix
10956         this later.
10957
10958 2005-06-28  Wim Taymans  <wim@fluendo.com>
10959
10960         * docs/gst/gstreamer.types:
10961         * docs/gst/tmpl/gstbasesrc.sgml:
10962         * docs/gst/tmpl/gstpad.sgml:
10963         Docs fixes.
10964
10965 2005-06-28  Wim Taymans  <wim@fluendo.com>
10966
10967         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10968         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10969         (gst_proxy_pad_do_fixatecaps):
10970         Correctly proxy the check_pull_range function.
10971
10972 2005-06-28  Andy Wingo  <wingo@pobox.com>
10973
10974         * tests/network-clock.scm: Removed need for slib.
10975         
10976 2005-06-28  Wim Taymans  <wim@fluendo.com>
10977
10978         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10979         (gst_basesink_preroll_queue_flush):
10980         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10981         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10982         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10983         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10984         (gst_proxy_pad_set_property):
10985         * gst/gstpad.c:
10986         * gst/gstpad.h:
10987         * gst/gstqueue.c: (gst_queue_init):
10988         The deprecated pad loop function is removed now.
10989
10990 2005-06-28  Andy Wingo  <wingo@pobox.com>
10991
10992         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10993         New parameters, simulate network packet loss.
10994
10995         * tests/network-clock-utils.scm: Initialize the RNG.
10996
10997 2005-06-28  Wim Taymans  <wim@fluendo.com>
10998
10999         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11000         (gst_basesink_event), (gst_basesink_deactivate):
11001         Flushing the preroll queue always needs to unlock the waiters.
11002
11003 2005-06-28  Edward Hervey  <edward@fluendo.com>
11004
11005         * gst/gstpipeline.c: (gst_pipeline_send_event): 
11006         Wheen a seek was successful on a pipeline, set the stream_time to the
11007         seek offset in order to have a synchronized stream_time.
11008
11009 2005-06-28  Wim Taymans  <wim@fluendo.com>
11010
11011         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11012         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11013         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11014         (gst_proxy_pad_do_fixatecaps):
11015         Call wrapper function instead of just calling the function
11016         pointers. This takes care of any locking and whatmore.
11017
11018 2005-06-28  Wim Taymans  <wim@fluendo.com>
11019
11020         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11021         (gst_pad_pull_range):
11022         * gst/gstpad.h:
11023         CONNECTED -> LINKED.
11024
11025 2005-06-28  Andy Wingo  <wingo@pobox.com>
11026
11027         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11028         source-munging commit!!!
11029
11030         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
11031         (gst_object_sink): Take gpointer arguments, not GstObject --
11032         avoids casts. Like GLib.
11033
11034         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11035         activate.
11036
11037 2005-06-27  Andy Wingo  <wingo@pobox.com>
11038
11039         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11040         remaining buffer.
11041
11042         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11043         returns a sorted copy of the trace list.
11044         (gst_alloc_trace_print_live): New API, only prints traces with
11045         live objects. Sort the list.
11046         (gst_alloc_trace_print_all): Sort the list.
11047         (gst_alloc_trace_print): Align columns.
11048
11049         * gst/elements/gstttypefindelement.c:
11050         * gst/elements/gsttee.c:
11051         * gst/base/gstbasesrc.c:
11052         * gst/base/gstbasesink.c:
11053         * gst/base/gstbasetransform.c:
11054         * gst/gstqueue.c: Adapt for pad activation changes.
11055
11056         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11057         sched.
11058         (gst_pipeline_dispose): Drop ref on sched.
11059
11060         * gst/gstpad.c (gst_pad_init): Set the default activate func.
11061         (gst_pad_activate_default): Push mode by default.
11062         (pre_activate_switch, post_activate_switch): New stubs, things to
11063         do before and after switching activation modes on pads.
11064         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11065         the pad's activate function to choose which mode to activate.
11066         Shortcut on deactivation and call the right function directly.
11067         (gst_pad_activate_pull): New API, (de)activates a pad in pull
11068         mode.
11069         (gst_pad_activate_push): New API, same for push mode.
11070         (gst_pad_set_activate_function) 
11071         (gst_pad_set_activatepull_function) 
11072         (gst_pad_set_activatepush_function): Setters for new API.
11073
11074         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11075         Trace all miniobjects.
11076         (gst_mini_object_make_writable): Unref the arg if we copy, like
11077         gst_caps_make_writable.
11078
11079         * gst/gstmessage.c (_gst_message_initialize): No trace init.
11080
11081         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
11082         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11083         Adapt for new pad API.
11084
11085         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11086
11087         * gst/gstelement.h:
11088         * gst/gstelement.c (gst_element_iterate_src_pads) 
11089         (gst_element_iterate_sink_pads): New API functions.
11090         
11091         * gst/gstelement.c (iterator_fold_with_resync): New utility,
11092         should fold into gstiterator.c in some form.
11093         (gst_element_pads_activate): Simplified via use of fold and
11094         delegation of decisions to gstpad->activate.
11095
11096         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11097         help in debugging.
11098
11099         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11100         class once in init, like gstmessage. Didn't run into this issue
11101         but it seems correct. Don't initialize a trace, gstminiobject does
11102         that.
11103
11104         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11105         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11106         to the bus.
11107         (assert_live_count): New util function, uses alloc traces to check
11108         cleanup.
11109
11110         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
11111         To be modified when unlink drops the internal pad.
11112
11113 2005-06-27  Wim Taymans  <wim@fluendo.com>
11114
11115         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
11116         (gst_bin_change_state):
11117         Cleanup the get_state() function a little, make sure it
11118         iterates the same set of elements.
11119         Added stub iterate_state_order().
11120
11121 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11122
11123         * docs/gst/gstreamer-docs.sgml:
11124         * docs/gst/gstreamer-sections.txt:
11125         * docs/gst/gstreamer.types:
11126         * docs/gst/tmpl/gstbasesink.sgml:
11127         * docs/gst/tmpl/gstbasesrc.sgml:
11128         * docs/gst/tmpl/gstbasetransform.sgml:
11129         * docs/gst/tmpl/gstelement.sgml:
11130         * docs/gst/tmpl/gstiterator.sgml:
11131         * gst/base/gstbasesrc.c:
11132         * gst/base/gstbasesrc.h:
11133         * gst/base/gstbasetransform.h:
11134         * gst/gstelement.c:
11135         * gst/gstiterator.h:
11136           adding basetransform and iterator docs
11137
11138 2005-06-27  Andy Wingo  <wingo@pobox.com>
11139
11140         * docs/design/part-activation.txt: Notes on how activation should
11141         work -- not quite implemented yet.
11142
11143 2005-06-25  Wim Taymans  <wim@fluendo.com>
11144
11145         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11146         At least get the chain function correct, needs more
11147         fixing.
11148
11149 2005-06-25  Wim Taymans  <wim@fluendo.com>
11150
11151         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11152         (gst_basesink_handle_object), (gst_basesink_event),
11153         (gst_basesink_do_sync), (gst_basesink_handle_event),
11154         (gst_basesink_change_state):
11155         * gst/gsttask.h:
11156         Right, two problems here: ghostpads don't take locks and
11157         glib _rec_mutex_lock_full() with depth==0 still locks.
11158         Catch illegal locking and g_warn them.
11159
11160 2005-06-25  Wim Taymans  <wim@fluendo.com>
11161
11162         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11163         Have to check for completion now...
11164
11165 2005-06-25  Wim Taymans  <wim@fluendo.com>
11166
11167         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11168         (gst_basesink_handle_object), (gst_basesink_event),
11169         (gst_basesink_do_sync), (gst_basesink_handle_event),
11170         (gst_basesink_change_state):
11171         * gst/gstpad.h:
11172         Unlock STREAM_LOCK whatever the recursion was.
11173
11174 2005-06-25  Wim Taymans  <wim@fluendo.com>
11175
11176         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11177         (gst_basesink_preroll_queue_empty),
11178         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11179         (gst_basesink_event), (gst_basesink_do_sync),
11180         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11181         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11182         (gst_basesink_change_state):
11183         Reworked the base sink, handle event and buffer serialisation
11184         correctly and removed possible deadlock.
11185         Handle EOS correctly.
11186
11187 2005-06-25  Wim Taymans  <wim@fluendo.com>
11188
11189         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11190         (gst_pipeline_change_state):
11191         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11192         Allow elements to post EOS in the state change function.
11193         Fix up -launch, make it exit the poll loop when the
11194         pipeline actually changed state.
11195         Fix up warning parsing in -launch.
11196
11197 2005-06-25  Wim Taymans  <wim@fluendo.com>
11198
11199         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11200         (gst_tee_sink_activate):
11201         Core takes STREAM_LOCK for us now.
11202
11203 2005-06-25  Wim Taymans  <wim@fluendo.com>
11204
11205         * gst/gstelement.c: (gst_element_get_state_func),
11206         (gst_element_set_state):
11207         * gst/gstelement.h:
11208         * gst/gstmessage.c: (gst_message_parse_error),
11209         (gst_message_parse_warning):
11210         Keep track of current target state while performing a state
11211         change so that subclasses can do something interesting.
11212         Fix parsing of warning/error messages when GError is NULL.
11213
11214 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11215
11216         * docs/gst/Makefile.am:
11217         * docs/gst/gstreamer-docs.sgml:
11218         * docs/gst/gstreamer-sections.txt:
11219         * docs/gst/gstreamer.types:
11220         * docs/gst/tmpl/gstbasesink.sgml:
11221         * docs/gst/tmpl/gstbasesrc.sgml:
11222         * docs/gst/tmpl/gstbin.sgml:
11223         * docs/gst/tmpl/gstcompat.sgml:
11224         * docs/gst/tmpl/gstfakesink.sgml:
11225         * docs/gst/tmpl/gstfakesrc.sgml:
11226         * docs/gst/tmpl/gstfilesink.sgml:
11227         * docs/gst/tmpl/gstfilesrc.sgml:
11228         * docs/gst/tmpl/gstindex.sgml:
11229         * docs/manual/appendix-quotes.xml:
11230         * gst/base/gstbasesrc.h:
11231         * gst/elements/gstfakesrc.h:
11232         * gst/gstmessage.h:
11233           start pulling in base classes and elements in our docs
11234
11235 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11236
11237         * docs/gst/Makefile.am:
11238         * docs/libs/Makefile.am:
11239           fixed make distcheck with gtk-doc 1.3
11240
11241 2005-06-23  Wim Taymans  <wim@fluendo.com>
11242
11243         * gst/gstelement.c: (gst_element_get_state_func),
11244         (gst_element_set_state), (gst_element_change_state):
11245         When the state did not change, also report NO_PREROLL
11246         when it matters.
11247
11248 2005-06-23  Wim Taymans  <wim@fluendo.com>
11249
11250         * gst/gstpad.c: (gst_pad_event_default):
11251         * gst/gstqueue.c: (gst_queue_loop):
11252         No unsafe task pausing please.
11253
11254 2005-06-23  Wim Taymans  <wim@fluendo.com>
11255
11256         * gst/schedulers/threadscheduler.c:
11257         (gst_thread_scheduler_task_start),
11258         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11259         Ref the task before pushing it on the threadpool. This
11260         makes sure that we have a ref when the threadfunction is
11261         actually called.
11262
11263 2005-06-23  Andy Wingo  <wingo@pobox.com>
11264
11265         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11266         offset is greater than the file's size.
11267
11268         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11269         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11270         * gst/gstobject.c (gst_object_class_init): Make the class lock
11271         recursive. Wim won't let me drop deep_notify. Decodebin works
11272         again, whoopdy doo.
11273
11274         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11275         internal pad, and hacks accordingly. Doesn't do it on the target
11276         pad because we change its caps. Probably catches all cases of
11277         interest tho.
11278         (gst_ghost_pad_set_property): Connect to notify::caps as
11279         appropritate.
11280
11281         * tests/network-clock.scm (plot-simulation): Pipe data to the
11282         elite python skript.
11283
11284         * tests/network-clock-utils.scm (define-parameter): New macro,
11285         defines a parameter that can be set via the command line.
11286         (set-parameter!, parse-parameter-arguments): Command line args
11287         parser.
11288
11289         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11290         stdin.
11291
11292 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11293
11294         * gst/elements/gsttypefindelement.c:
11295         (gst_type_find_element_handle_event):
11296           Don't restart typefinding on a discont.
11297         * gst/gstelement.c: (gst_element_set_state):
11298           Debug spelling fix.
11299         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11300           Allow changing mode of an active pad.
11301           Debug output fixes.
11302         * gst/registries/gstlibxmlregistry.c: (load_feature):
11303           Don't cast a static pad template to a normal pad template.
11304
11305 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11306
11307         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11308         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11309           remove gst_strtoll completely, since it didn't actually do
11310           anything more than what g_ascii_strtoull already does.
11311           check for range errors when deserializing
11312           do a cast for the unsigned cases; but further fixing needs
11313           a decision on what the interpretation of "(int)" and
11314           deserialization should be for values that fall outside the
11315           type's boundaries (ie, refuse, or interpret as casting)
11316
11317 2005-06-23  Wim Taymans  <wim@fluendo.com>
11318
11319         * check/Makefile.am:
11320         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11321         * docs/design/part-live-source.txt:
11322         * docs/design/part-states.txt:
11323         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11324         (gst_basesrc_set_live), (gst_basesrc_is_live),
11325         (gst_basesrc_get_range), (gst_basesrc_activate),
11326         (gst_basesrc_change_state):
11327         * gst/base/gstbasesrc.h:
11328         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11329         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11330         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11331         * gst/gstelement.c: (gst_element_get_state_func),
11332         (gst_element_set_state):
11333         * gst/gstelement.h:
11334         * gst/gsttypes.h:
11335         * tools/gst-launch.c: (event_loop), (main):
11336         Added support for live sources and other elements that
11337         cannot do preroll.
11338         Updated design docs, added live-source design doc.
11339         Implemented live source functionality in basesrc
11340         Fix error condition in _bin_get_state()
11341         Implement live source handling in -launch.
11342         Added check for live sources.
11343         Fixed case in GstBin where elements were changed state
11344         multiple times.
11345
11346
11347 2005-06-23  Andy Wingo  <wingo@pobox.com>
11348
11349         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11350         borken refcounting.
11351
11352         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11353         gst_caps_replace takes care of this for us.
11354
11355         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11356         gst_pad_set_caps on the target, not just its setcaps() function.
11357
11358         * tests/network-clock.scm: 
11359         * tests/network-clock-utils.scm: A network clock simulator.
11360         Something of an algorithmic testbed before doing something in C.
11361
11362 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11363
11364         * check/Makefile.am:
11365         * check/gst/capslist.h:
11366           copy over from 0.8, and add two with bitmasks specified with
11367           (int) 0xFF...
11368         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11369           add test to parse everything from capslist.h
11370         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11371         (main):
11372           add test for structure deserialization
11373         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11374           add tests for deserialization of strings to int types
11375         * gst/gststructure.c: (gst_structure_nth_field_name):
11376         * gst/gststructure.h:
11377           add a way to get the name of a field referenced by index
11378         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11379           instead of checking if the resulting long long lies between
11380           min and max, we check if the long long would fit into
11381           a number of bytes for the final type.
11382           This fixes cases where a string represents 2^32 - 1, which
11383           when cast to int would be the (valid) -1, but is bigger than
11384           G_MAXINT
11385
11386 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11387
11388         * gst/parse/grammar.y:
11389           add a log line for type deserialization
11390
11391 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11392
11393         * check/gst/gstvalue.c: (START_TEST):
11394         * gst/gstvalue.c: (gst_value_deserialize):
11395           return long long, not int, so gint64 deserialization actually
11396           works.  Is there any flag that makes the compiler check this ?
11397           Fixes #308559
11398
11399 2005-06-22  Wim Taymans  <wim@fluendo.com>
11400
11401         * gst/gstbuffer.h:
11402         Added convenience macros for setting buffers in GValue.
11403
11404 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11405
11406         * check/gst/.cvsignore:
11407         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11408           add a test deserializing int64, and comment part out because
11409           it fails, yay !
11410
11411 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11412
11413         * check/Makefile.am:
11414         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11415         * testsuite/Makefile.am:
11416         * testsuite/caps/Makefile.am:
11417         * testsuite/caps/value_serialize.c:
11418         * testsuite/test_gst_init.c:
11419           move a value_serialize test over
11420
11421 2005-06-20  Wim Taymans  <wim@fluendo.com>
11422
11423         * gst/gstpad.c:
11424         Small doc updates.
11425         
11426         * gst/gstvalue.c: (gst_value_compare_buffer),
11427         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11428         (gst_value_compare_flags), (gst_value_serialize_flags),
11429         (gst_value_deserialize_flags), (_gst_value_initialize):
11430         Fix serialisation of buffers, they are not boxed types anymore
11431
11432 2005-06-20  Wim Taymans  <wim@fluendo.com>
11433
11434         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11435         Testcase to show error in buffer-on-caps serialisation.
11436
11437 2005-06-20  Andy Wingo  <wingo@pobox.com>
11438
11439         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11440         will be adding to later.
11441
11442         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11443         if its socks fill with rocks.
11444         (gst_system_clock_obtain): Set the name on object construction.
11445         Avoid double-checked locking.
11446
11447 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11448
11449         * gst/gsturi.c: (gst_element_make_from_uri):
11450           Fix potential endless loop.
11451
11452 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11453
11454         * check/Makefile.am:
11455           add gsttag
11456         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11457         (main):
11458           move over from testsuite dir and clean up
11459         * configure.ac:
11460         * gst/gsttag.c:
11461         * testsuite/Makefile.am:
11462         * testsuite/tags/.cvsignore:
11463         * testsuite/tags/Makefile.am:
11464         * testsuite/tags/merge.c:
11465           remove testsuite/tags
11466
11467 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11468
11469         * docs/gst/gstreamer-sections.txt:
11470         * docs/gst/tmpl/gstenumtypes.sgml:
11471         * win32/gstenumtypes.c:
11472           clean up documentation build a little
11473
11474 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11475
11476         * check/gstcheck.h:
11477           add macros for checking refcounts on objects and caps
11478         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11479           add some more unit tests
11480         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11481         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11482           fix leaked refcounts (I hope :)) so unittest works
11483         * gst/gstpad.h:
11484           whitespace removal
11485
11486 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11487
11488         * configure.ac: back to HEAD
11489
11490 === release 0.9.1 ===
11491
11492 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11493
11494         * NEWS:
11495         * RELEASE:
11496           updated
11497
11498 2005-06-17  Andy Wingo  <wingo@pobox.com>
11499
11500         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11501         assert; it's always possible that the pad gets deactivated in
11502         between the checks in gstpad.c and the implementation. Rely on
11503         finish_preroll() to return a FLUSHING or similar instead of on the
11504         assert.
11505         
11506         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11507         clock and post an EOS message if we come out of finish_preroll in
11508         the playing state.
11509
11510 2005-06-16  David Schleef  <ds@schleef.org>
11511
11512         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11513         (gst_capsfilter_set_property): Allow NULL as possible value
11514         for filter_caps property, indicating GST_CAPS_ANY.
11515
11516 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11517
11518         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11519           fix debug output
11520         * gst/schedulers/Makefile.am:
11521           use libgst prefix
11522         * gstreamer.spec.in:
11523           fix spec for it
11524
11525 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11526
11527         * gstreamer.spec.in:
11528           clean up
11529
11530 2005-06-08  Andy Wingo  <wingo@pobox.com>
11531
11532         * gst/gstutils.c: RPAD fixes all around.
11533         (gst_element_link_pads): Refcounting fixes.
11534
11535         * tools/gst-inspect.c:
11536         * tools/gst-xmlinspect.c:
11537         * parse/grammar.y:
11538         * gst/base/gsttypefindhelper.c:
11539         * gst/base/gstbasesink.c:
11540         * gst/gstqueue.c: RPAD fixes.
11541
11542         * gst/gstghostpad.h:
11543         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11544         pads. The tricky thing is they provide both source and sink
11545         interfaces, since they proxy the internal pad for the external
11546         pad, and vice versa. Implement with lower-level ProxyPad objects,
11547         with the interior proxy pad as a child of the exterior ghost pad.
11548         Should write a doc on this.
11549         
11550         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11551         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11552         gst_object API.
11553         
11554         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11555         pads are real pads. No ghost pads in this file. Not documenting
11556         the myriad s/RPAD/PAD/ and REALIZE fixes.
11557         (gst_pad_class_init): Add properties for "direction" and
11558         "template". Both are construct-only, so they can't change during
11559         the life of the pad. Fixes properly deriving from GstPad.
11560         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11561         derived objects, just set properties when creating the objects via
11562         g_object_new.
11563         (gst_pad_get_parent): Implement as a function, return NULL if the
11564         parent is not an element.
11565         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11566         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11567         
11568         * gst/gstobject.c (gst_object_class_init): Make name a construct
11569         property. Don't set it in the object init.
11570
11571         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11572         with UNKNOWN direction.
11573         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11574         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11575         (gst_element_remove_pad): Remove ghost-pad special cases.
11576         (gst_element_pads_activate): Remove rpad cruft.
11577
11578         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11579         catch the pad's-parent-not-an-element case.
11580
11581         * gst/gst.h: Include gstghostpad.h.
11582
11583         * gst/gst.c (init_post): No more real, ghost pads.
11584
11585         * gst/Makefile.am: Add gstghostpad.[ch].
11586
11587         * check/Makefile.am:
11588         * check/gst/gstbin.c:
11589         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11590         into a bin creates ghost pads, and that the refcounts are right.
11591         Partly moved from gstbin.c.
11592
11593 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11594
11595         * check/gst-libs/.cvsignore:
11596         * check/gst/.cvsignore:
11597         * check/pipelines/.cvsignore:
11598           ignore more
11599         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11600         (START_TEST), (cleanup_suite), (main):
11601           add some tests related to cleanup after running pipelines
11602
11603 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11604
11605         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11606           add a testsuite for GstBuffer
11607
11608 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11609
11610         * gst/gstminiobject.h:
11611           add defines for accessing the refcount
11612
11613 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11614
11615         * Makefile.am: added support for html unit test coverage reports
11616
11617 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11618
11619         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11620           Free existing caps if the capsfilter changes. Add a FIXME about
11621           setting those caps on the pads.
11622
11623         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11624           Before adding a ghost pad to a parent bin, check that there isn't
11625           already one for the element on the bin. Prevents infinite recursion
11626           when using decodebin in parse pipelines. Andy says he'll rewrite the
11627           way this works anyway, so ignore the hack.
11628
11629 2005-06-02  Andy Wingo  <wingo@pobox.com>
11630
11631         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11632         file size, pass it on to the type find helper.
11633
11634         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11635         segment_start and segment_end properly according to the seek
11636         method. Segment_end is still a bit flaky because offset can be
11637         negative for CUR and END cases, but it takes -1 as an "unset"
11638         value.
11639
11640 2005-06-02  Wim Taymans  <wim@fluendo.com>
11641
11642         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11643         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11644         (gst_basesink_activate):
11645         * gst/base/gstbasesink.h:
11646         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11647         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11648         (gst_pad_query), (gst_pad_start_task):
11649         * gst/gstpad.h:
11650         * gst/gstqueue.c: (gst_queue_bufferalloc),
11651         (gst_queue_handle_sink_event), (gst_queue_chain):
11652         Bufferalloc: return GstFlowReturn to more accuratly report
11653         why allocation failed.
11654
11655 2005-06-02  Wim Taymans  <wim@fluendo.com>
11656
11657         * gst/gstpipeline.c: (gst_pipeline_send_event):
11658         Take snapshot of state without blocking.
11659
11660 2005-06-02  Wim Taymans  <wim@fluendo.com>
11661
11662         * docs/design/part-TODO.txt:
11663         * docs/design/part-caps.txt:
11664         * docs/design/part-clocks.txt:
11665         * docs/design/part-negotiation.txt:
11666         * docs/design/part-preroll.txt:
11667         Small doc updates 
11668
11669 2005-05-30  Wim Taymans  <wim@fluendo.com>
11670
11671         * gst/elements/gstidentity.c: (gst_identity_event),
11672         (gst_identity_transform), (gst_identity_get_property):
11673         Protect last_message property as it is accessed from
11674         multiple threads.
11675
11676 2005-05-30  Wim Taymans  <wim@fluendo.com>
11677
11678         * gst/gstelement.c: (gst_element_init),
11679         (gst_element_pads_activate), (gst_element_change_state):
11680         Slicker pad activation code.
11681
11682 2005-05-30  Wim Taymans  <wim@fluendo.com>
11683
11684         * gst/Makefile.am:
11685         * gst/gstelement.h:
11686         * gst/gstelementfactory.h:
11687         * gst/gsttypes.h:
11688         Move elementfactory methods to separate .h file.
11689
11690 2005-05-30  Wim Taymans  <wim@fluendo.com>
11691
11692         * docs/design/part-overview.txt:
11693         * gst/gstsystemclock.h:
11694         Small typo fixes, doc updates.
11695
11696 2005-05-30  Wim Taymans  <wim@fluendo.com>
11697
11698         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11699         (init_popt_callback):
11700         Remove cpu-opt flag.
11701
11702 2005-05-30  Wim Taymans  <wim@fluendo.com>
11703
11704         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11705         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11706         * gst/gstbuffer.h:
11707         Avoid typechecking in places where not needed.
11708         Added accessor for malloc_data.
11709
11710 2005-05-30  Wim Taymans  <wim@fluendo.com>
11711
11712         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11713         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11714         (gst_pad_configure_sink), (gst_pad_configure_src),
11715         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11716         (gst_pad_start_task):
11717         Propagate errors from _set_caps() in configure_src/sink
11718         functions instead of returning TRUE.
11719         FLUSH events can travel up and downstream
11720
11721
11722 2005-05-30  Wim Taymans  <wim@fluendo.com>
11723
11724         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11725         (gst_basesink_activate):
11726         Handle EOS in preroll.
11727
11728 2005-05-30  Wim Taymans  <wim@fluendo.com>
11729
11730         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11731         (gst_queue_loop), (gst_queue_handle_src_event):
11732         Remove old pieces of code
11733         Flushing the queue in an upstream event is a very bad idea.
11734
11735 2005-05-26  Andy Wingo  <wingo@pobox.com>
11736
11737         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11738         gst_value_set_mini_object so as to add a ref on the object (which
11739         will be removed when the value is unset).
11740
11741         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11742         arg type in ::handoff.
11743
11744         * gst/gstelement.c (gst_element_change_state): Also deactivate
11745         pads in READY->NULL, just in case the element didn't make it to
11746         PAUSED. Wingo tested, Wim approved.
11747
11748 2005-05-26  Wim Taymans  <wim@fluendo.com>
11749
11750         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11751         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11752         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11753         A flushing pad cannot be used to alloc_buffer from.
11754
11755 2005-05-26  Wim Taymans  <wim@fluendo.com>
11756
11757         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11758         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11759         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11760         (gst_bus_create_watch), (gst_bus_add_watch_full):
11761         * gst/gstbus.h:
11762         Implement a real GSource and use g_main_context_wakeup() to
11763         signal new messages instead of the socketpair.
11764
11765 2005-05-25  Wim Taymans  <wim@fluendo.com>
11766
11767         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11768         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11769         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11770         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11771         (gst_pad_send_event), (gst_pad_start_task):
11772         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11773         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11774         (gst_queue_sink_activate), (gst_queue_src_activate),
11775         (gst_queue_change_state):
11776         * gst/gstqueue.h:
11777         Fix state changes for non sinks. We now change sinks, then elements
11778         with unconnected srcpads, then the rest.
11779         More efficient queue unlocking in flush and state changes.
11780         Set the pad activate mode even if it does not have an activate
11781         function.
11782
11783 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11784
11785         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11786           Don't go in pull mode for non-seekable sources.
11787         * gst/elements/gsttypefindelement.h:
11788         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11789         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11790         (free_entry), (stop_typefinding),
11791         (gst_type_find_element_handle_event), (find_peek),
11792         (gst_type_find_element_chain), (do_pull_typefind),
11793         (gst_type_find_element_change_state):
11794           Allow typefinding (w/o seeking) in push-mode, simplified version
11795           of what was in 0.8.
11796         * gst/gstutils.c: (gst_buffer_join):
11797         * gst/gstutils.h:
11798           gst_buffer_join() from 0.8.
11799
11800 2005-05-25  Wim Taymans  <wim@fluendo.com>
11801
11802         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11803         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11804         (gst_pad_send_event), (gst_pad_start_task):
11805         Disable attempt at mode switching until it is figured out.
11806
11807 2005-05-25  Wim Taymans  <wim@fluendo.com>
11808
11809         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11810         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11811         (gst_basesink_finish_preroll), (gst_basesink_chain),
11812         (gst_basesink_loop), (gst_basesink_activate),
11813         (gst_basesink_change_state):
11814         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11815         (gst_basesrc_get_range), (gst_basesrc_loop),
11816         (gst_basesrc_activate):
11817         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11818         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11819         (gst_real_pad_init), (gst_real_pad_set_property),
11820         (gst_real_pad_get_property), (gst_pad_set_active),
11821         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11822         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11823         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11824         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11825         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11826         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11827         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11828         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11829         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11830         (gst_pad_stop_task):
11831         * gst/gstpad.h:
11832         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11833         (gst_queue_loop), (gst_queue_src_activate):
11834         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11835         (gst_task_get_state):
11836         * gst/gsttask.h:
11837         * gst/schedulers/threadscheduler.c:
11838         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11839         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11840         in task function.
11841         Remove ACTIVE pad flag, use FLUSHING everywhere
11842         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11843         functions.
11844         Add locks around IS_FLUSHING when reading.
11845         Take STREAM lock in chain(), get_range() functions so plugins
11846         don't need to take it anymore.
11847         
11848
11849
11850 2005-05-25  Wim Taymans  <wim@fluendo.com>
11851
11852         * tools/gst-launch.c: (event_loop):
11853         Unref message after using its contents instead of
11854         before.
11855
11856 2005-05-24  Wim Taymans  <wim@fluendo.com>
11857
11858         * docs/design/draft-ghostpads.txt:
11859         * docs/design/draft-push-pull.txt:
11860         * docs/design/draft-query.txt:
11861         * docs/design/part-overview.txt:
11862         Docs updates, added general overview doc.
11863
11864 2005-05-21  David Schleef  <ds@schleef.org>
11865
11866         * docs/gst/tmpl/old/GstBin.sgml:
11867         * docs/gst/tmpl/old/GstBuffer.sgml:
11868         * docs/gst/tmpl/old/GstCaps.sgml:
11869         * docs/gst/tmpl/old/GstClock.sgml:
11870         * docs/gst/tmpl/old/GstCompat.sgml:
11871         * docs/gst/tmpl/old/GstData.sgml:
11872         * docs/gst/tmpl/old/GstElement.sgml:
11873         * docs/gst/tmpl/old/GstEvent.sgml:
11874         * docs/gst/tmpl/old/GstIndex.sgml:
11875         * docs/gst/tmpl/old/GstStructure.sgml:
11876         * docs/gst/tmpl/old/GstTag.sgml:
11877         * docs/gst/tmpl/old/cothreads.sgml:
11878         * docs/gst/tmpl/old/cothreads_compat.sgml:
11879         * docs/gst/tmpl/old/gettext.sgml:
11880         * docs/gst/tmpl/old/gobject2gtk.sgml:
11881         * docs/gst/tmpl/old/grammar.tab.sgml:
11882         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11883         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11884         * docs/gst/tmpl/old/gst_private.sgml:
11885         * docs/gst/tmpl/old/gstaggregator.sgml:
11886         * docs/gst/tmpl/old/gstarch.sgml:
11887         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11888         * docs/gst/tmpl/old/gstbufferstore.sgml:
11889         * docs/gst/tmpl/old/gstdata_private.sgml:
11890         * docs/gst/tmpl/old/gstdisksink.sgml:
11891         * docs/gst/tmpl/old/gstdisksrc.sgml:
11892         * docs/gst/tmpl/old/gstelementfactory.sgml:
11893         * docs/gst/tmpl/old/gstextratypes.sgml:
11894         * docs/gst/tmpl/old/gstfakesink.sgml:
11895         * docs/gst/tmpl/old/gstfakesrc.sgml:
11896         * docs/gst/tmpl/old/gstfdsink.sgml:
11897         * docs/gst/tmpl/old/gstfdsrc.sgml:
11898         * docs/gst/tmpl/old/gstfilesink.sgml:
11899         * docs/gst/tmpl/old/gstfilesrc.sgml:
11900         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11901         * docs/gst/tmpl/old/gstidentity.sgml:
11902         * docs/gst/tmpl/old/gstindexfactory.sgml:
11903         * docs/gst/tmpl/old/gstmarshal.sgml:
11904         * docs/gst/tmpl/old/gstmd5sink.sgml:
11905         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11906         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11907         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11908         * docs/gst/tmpl/old/gstpipefilter.sgml:
11909         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11910         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11911         * docs/gst/tmpl/old/gstshaper.sgml:
11912         * docs/gst/tmpl/old/gstspider.sgml:
11913         * docs/gst/tmpl/old/gstspideridentity.sgml:
11914         * docs/gst/tmpl/old/gststatistics.sgml:
11915         * docs/gst/tmpl/old/gsttee.sgml:
11916         * docs/gst/tmpl/old/gsttimecache.sgml:
11917         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11918         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11919         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11920         * docs/gst/tmpl/old/types.sgml:
11921           I didn't intend to add these or check them in.
11922
11923 2005-05-19  David Schleef  <ds@schleef.org>
11924
11925         * configure.ac: Use -no-common everywhere.  In a sane world, it
11926           would be the default in libtool, because without it, you can't
11927           build DLLs on Windows.
11928         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11929         * docs/gst/gstreamer-sections.txt:
11930         * docs/gst/tmpl/gstcpu.sgml:
11931         * docs/gst/tmpl/gstdata.sgml:
11932         * docs/gst/tmpl/gstthread.sgml:
11933
11934 2005-05-19  David Schleef  <ds@schleef.org>
11935
11936         * gst/gstminiobject.c: (gst_value_set_mini_object),
11937         (gst_value_take_mini_object), (gst_value_get_mini_object):
11938         * gst/gstminiobject.h: Add GValue set/get functions.
11939
11940 2005-05-19  Wim Taymans  <wim@fluendo.com>
11941
11942         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11943         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11944         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11945         * gst/gstbuffer.h:
11946         * gst/gstbus.c: (gst_bus_post):
11947         * gst/gstelement.c: (gst_element_get_random_pad):
11948         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11949         Make subbufer unref the parent in finalize.
11950         some more debugging info.
11951
11952
11953 2005-05-19  Wim Taymans  <wim@fluendo.com>
11954
11955         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11956         (gst_basesink_init), (gst_basesink_finalize),
11957         (gst_basesink_activate), (gst_basesink_change_state):
11958         Don't free preroll queue too early.
11959
11960 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11961
11962         * gst/Makefile.am:
11963         * gst/ROADMAP:
11964           Hi, I'm outdated. Please shoot me.
11965
11966 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11967
11968         * gst/gstpipeline.c: (gst_pipeline_send_event):
11969           Do not access variables after they have been deleted.
11970
11971 2005-05-19  Wim Taymans  <wim@fluendo.com>
11972
11973         * tools/gst-inspect.c: (print_plugin_features):
11974         A plugin feature does unfortunatly not use the
11975         object name yet...
11976
11977 2005-05-18  Wim Taymans  <wim@fluendo.com>
11978
11979         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11980         Port _span() functions to new subbuffers.
11981
11982 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11983
11984         * gst/gstbin.c: (gst_bin_add_func):
11985           Fix clock settery in bins when adding kids after the clock has
11986           been selected.
11987
11988 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11989
11990         * gst/elements/gstidentity.c: (gst_identity_class_init):
11991           Workaround until signals support GstMiniObject.
11992
11993 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11994
11995         * gst/gstbuffer.c:
11996         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11997
11998 2005-05-18  Wim Taymans  <wim@fluendo.com>
11999
12000         * gst/base/Makefile.am:
12001         * gst/base/gstadapter.c: (gst_adapter_base_init),
12002         (gst_adapter_class_init), (gst_adapter_init),
12003         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12004         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12005         (gst_adapter_flush), (gst_adapter_available),
12006         (gst_adapter_available_fast):
12007         * gst/base/gstadapter.h:
12008         Ported and added adapter to the base classes.
12009
12010 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12011
12012         * gst/gst.c:
12013         * gst/gstmessage.c:
12014           Make sure the class is reffed/unreffed once before threads can be
12015           used.  Fixes #304551.
12016
12017 2005-05-17  Wim Taymans  <wim@fluendo.com>
12018
12019         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12020         (gst_basesink_chain_unlocked), (gst_basesink_activate):
12021         * gst/gstminiobject.c: (gst_mini_object_get_type),
12022         (gst_mini_object_free):
12023         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12024         (gst_pad_push), (gst_pad_push_event):
12025         * gst/gstqueue.c: (gst_queue_change_state):
12026         Don't queue buffers in basesink when we are flushing.
12027         Unref buffer when flushing in basesink.
12028         Flush queue when going to READY
12029         Unref buffer when _push() returns an error.
12030         Don't free MiniObject instance when refcount is incremented
12031         in _finalize() so that we can recover objects.
12032
12033 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12034
12035         * docs/manual/advanced-schedulers.xml:
12036         * docs/manual/appendix-checklist.xml:
12037         * docs/pwg/advanced-clock.xml:
12038         * docs/pwg/advanced-interfaces.xml:
12039         * docs/pwg/advanced-request.xml:
12040         * docs/pwg/advanced-types.xml:
12041         * docs/pwg/intro-preface.xml:
12042         * examples/plugins/example.c: (gst_example_get_type),
12043         (gst_example_class_init), (gst_example_chain),
12044         (gst_example_set_property), (gst_example_get_property),
12045         (gst_example_change_state), (plugin_init):
12046         * examples/plugins/example.h:
12047           small doc fixes
12048
12049 2005-05-17  Wim Taymans  <wim@fluendo.com>
12050
12051         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12052         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12053         * gst/gstqueue.c: (gst_queue_change_state):
12054         Clear queue when going to READY.
12055         Remove IN_SETCAPS flag too.
12056
12057 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
12058
12059         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12060           Remove implicit cast from gboolean to GstElementStateReturn;
12061           make sure we still return failure in paused => ready case if
12062           the parent class fails to change state and our own stop 
12063           vfunc succeeds.
12064
12065 2005-05-17  Wim Taymans  <wim@fluendo.com>
12066
12067         * tools/gst-launch.c: (event_loop):
12068         Message was unreffed too soon.
12069
12070 2005-05-16  Andy Wingo  <wingo@pobox.com>
12071
12072         * gst/gstbin.c (sink_iterator_filter): Err... um...
12073
12074         * check/gst/gstbin.c (test_ghost_pads): New test for the
12075         ghosting-if-elements-not-in-same-bin behavior.
12076
12077 2005-05-16  David Schleef  <ds@schleef.org>
12078
12079         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12080         accessing refcount directly.
12081
12082 2005-05-15  David Schleef  <ds@schleef.org>
12083
12084         * check/Makefile.am: remove GstData checks
12085         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12086         * gst/Makefile.am: add miniobject, remove data
12087         * gst/gst.h: add miniobject, remove data
12088         * gst/gstdata.c: remove
12089         * gst/gstdata.h: remove
12090         * gst/gstdata_private.h: remove
12091         * gst/gsttypes.h: remove GstEvent and GstMessage
12092         * gst/gstelement.c: (gst_element_post_message): fix for API changes
12093         * gst/gstmarshal.list: change BOXED -> OBJECT
12094
12095         Implement GstMiniObject.
12096         * gst/gstminiobject.c:
12097         * gst/gstminiobject.h:
12098
12099         Modify to be subclasses of GstMiniObject.
12100         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12101         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12102         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12103         (gst_subbuffer_get_type), (gst_subbuffer_init),
12104         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12105         (gst_buffer_span):
12106         * gst/gstbuffer.h:
12107         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12108         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12109         (_gst_event_copy), (gst_event_new):
12110         * gst/gstevent.h:
12111         * gst/gstmessage.c: (_gst_message_initialize),
12112         (gst_message_get_type), (gst_message_class_init),
12113         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
12114         (gst_message_new), (gst_message_new_error),
12115         (gst_message_new_warning), (gst_message_new_tag),
12116         (gst_message_new_state_changed), (gst_message_new_application):
12117         * gst/gstmessage.h:
12118         * gst/gstprobe.c: (gst_probe_perform),
12119         (gst_probe_dispatcher_dispatch):
12120         * gst/gstprobe.h:
12121         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
12122         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
12123         (_gst_query_copy), (gst_query_new):
12124
12125         Update elements for GstData -> GstMiniObject changes
12126         * gst/gstquery.h:
12127         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
12128         (gst_queue_chain), (gst_queue_loop):
12129         * gst/elements/gstbufferstore.c:
12130         (gst_buffer_store_add_buffer_func),
12131         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
12132         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12133         (gst_fakesink_render):
12134         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12135         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
12136         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
12137         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
12138         (gst_filesrc_create_read):
12139         * gst/elements/gstidentity.c: (gst_identity_class_init):
12140         * gst/elements/gsttypefindelement.c:
12141         (gst_type_find_element_src_event), (free_entry_buffers),
12142         (gst_type_find_element_handle_event):
12143         * libs/gst/dataprotocol/dataprotocol.c:
12144         (gst_dp_header_from_buffer):
12145         * libs/gst/dataprotocol/dataprotocol.h:
12146         * libs/gst/dataprotocol/dp-private.h:
12147
12148 2005-05-15  David Schleef  <ds@schleef.org>
12149
12150         * gst/elements/gstelements.c: Don't include headers that were
12151         just removed.
12152
12153 2005-05-15  David Schleef  <ds@schleef.org>
12154
12155         * gst/elements/Makefile.am: Remove some elements that don't
12156         need to be in the core (or even exist at all).
12157         * gst/elements/gstaggregator.c:
12158         * gst/elements/gstaggregator.h:
12159         * gst/elements/gstmd5sink.c:
12160         * gst/elements/gstmd5sink.h:
12161         * gst/elements/gstmultifilesrc.c:
12162         * gst/elements/gstmultifilesrc.h:
12163         * gst/elements/gstpipefilter.c:
12164         * gst/elements/gstpipefilter.h:
12165         * gst/elements/gstshaper.c:
12166         * gst/elements/gstshaper.h:
12167         * gst/elements/gststatistics.c:
12168         * gst/elements/gststatistics.h:
12169         * po/POTFILES.in: Remove above files.
12170
12171 2005-05-14  Andy Wingo  <wingo@pobox.com>
12172
12173         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12174         so as to get the refs right.
12175         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12176         unreffing objects that don't pass the filter.
12177
12178         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12179         gst_element_set_bus.
12180         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12181         normal cases, this will destroy the bus.
12182
12183         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12184         object.
12185
12186         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12187         has no sinks.
12188
12189 2005-05-13  Andy Wingo  <wingo@pobox.com>
12190
12191         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12192         gst_pad_link, call pad_link_maybe_ghosting,
12193         (pad_link_maybe_ghosting): Links pads, making sure that the
12194         elements being linked are in the same bin.
12195         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12196         Helpers for pad_link_maybe_ghosting.
12197
12198 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12199
12200         * configure.ac:
12201           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12202
12203 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12204
12205         * docs/design/part-element-source.txt:
12206           Mention GstPushSrc
12207
12208 2005-05-12  Wim Taymans  <wim@fluendo.com>
12209
12210         * gst/base/gstbasesink.c: (gst_basesink_init),
12211         (gst_basesink_activate):
12212         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12213         (gst_basesrc_is_seekable):
12214         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12215         (bin_element_is_sink), (gst_bin_change_state):
12216         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12217         * gst/gstelement.h:
12218         Identify sinks by their flag to avoid overly complicated
12219         checks (fow now).
12220         Do state changes even for elements not reachable from the
12221         sinks.
12222         BaseSink is a sink now :)
12223         Some more debugging info in the basesrc.
12224
12225
12226 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12227
12228         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12229           Implement _query on a bin, similar to _send_event.
12230
12231 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12232
12233         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12234           Discont event offset format should be GST_FORMAT_BYTES,
12235           not GST_FORMAT_TIME.
12236
12237 2005-05-12  Wim Taymans  <wim@fluendo.com>
12238
12239         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12240         Same fix as Ronald's but without the signal. 
12241
12242 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12243
12244         * gst/gstutils.c: (gst_element_query_position):
12245           No, an element is not a pad.
12246
12247 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12248
12249         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12250         (gst_bin_get_state):
12251           If a child is removed from a bin while we remove the child from
12252           the bin and while we're retrieving its state, signal this to the
12253           get_state function so we abort the wait (instead of waiting for
12254           a timeout) and can immediately re-iterate over all other elements.
12255
12256 2005-05-12  Wim Taymans  <wim@fluendo.com>
12257
12258         * gst/base/Makefile.am:
12259         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12260         (gst_basesrc_start):
12261         * gst/base/gstbasesrc.h:
12262         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12263         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12264         (gst_pushsrc_init), (gst_pushsrc_create):
12265         * gst/base/gstpushsrc.h:
12266         Added is_seekable to BaseSrc
12267         Added simple PushSrc.
12268
12269 2005-05-11  Wim Taymans  <wim@fluendo.com>
12270
12271         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12272         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12273         (gst_element_link_pads), (gst_element_query_position),
12274         (gst_element_query_convert), (intersect_caps_func),
12275         (gst_pad_query_position), (gst_pad_query_convert):
12276         Fix refcounting in utils function.
12277         No point in trying to activate a pad when it's added, it could
12278         be added from the state change function and then we deadlock, the
12279         element has to decide what to do.
12280
12281 2005-05-10  Andy Wingo  <wingo@pobox.com>
12282
12283         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12284         *all* the arguments.
12285
12286         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12287         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12288         lock (according to the docs -- if this is wrong change the docs).
12289
12290         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12291         flush messages in the NULL state.
12292
12293         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12294         message immediately and return.
12295         (gst_bus_set_flushing): New function. If a bus is flushing, it
12296         flushes out any queued messages and immediately unrefs new
12297         messages. This is so when an element goes to NULL, all of the
12298         unhandled messages coming from it can be freed, and their
12299         references to the element dropped. In other words: message source
12300         ref considered harmful :P
12301
12302         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12303         we're finished with it.
12304
12305         * gst/gstmessage.c (gst_message_new_state_changed): 
12306
12307 2005-05-10  Wim Taymans  <wim@fluendo.com>
12308
12309         * gst/gstvalue.c: (gst_value_compare_flags),
12310         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12311         (_gst_value_initialize):
12312         Added flags serialize/deserialize/compare code.
12313
12314 2005-05-09  Andy Wingo  <wingo@pobox.com>
12315
12316         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12317         Intersect the peer's caps with our caps.
12318
12319 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12320
12321         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12322         * gst/elements/gsttypefindelement.c: (find_peek):
12323           Handle negative offsets better. Fixes decodebin.
12324
12325 2005-05-09  Wim Taymans  <wim@fluendo.com>
12326
12327         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12328         (gst_base_transform_event):
12329         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12330         Implement accept_caps.
12331         Fix silly lock/unlock mismatch in base class.
12332
12333 2005-05-09  Wim Taymans  <wim@fluendo.com>
12334
12335         * docs/design/draft-push-pull.txt:
12336         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12337         * gst/elements/gstfilesink.c: (gst_filesink_init),
12338         (gst_filesink_query):
12339         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12340         (gst_type_find_handle_src_query), (find_element_get_length):
12341         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12342         * gst/gstelement.h:
12343         * gst/gstmessage.c:
12344         * gst/gstmessage.h:
12345         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12346         (gst_real_pad_get_caps_unlocked),
12347         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12348         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12349         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12350         (gst_real_pad_dispose), (gst_real_pad_finalize),
12351         (gst_pad_load_and_link), (gst_pad_save_thyself),
12352         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12353         (gst_pad_check_pull_range), (gst_pad_pull_range),
12354         (gst_pad_template_get_type), (gst_pad_template_class_init),
12355         (gst_pad_template_init), (gst_pad_template_dispose),
12356         (name_is_valid), (gst_static_pad_template_get),
12357         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12358         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12359         (gst_pad_get_element_private), (gst_pad_start_task),
12360         (gst_pad_pause_task), (gst_pad_stop_task),
12361         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12362         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12363         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12364         (gst_ghost_pad_new):
12365         * gst/gstpad.h:
12366         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12367         (gst_query_new_position), (gst_query_set_position),
12368         (gst_query_parse_position), (gst_query_new_convert),
12369         (gst_query_set_convert), (gst_query_parse_convert):
12370         * gst/gstquery.h:
12371         * gst/gstqueryutils.c:
12372         * gst/gstqueryutils.h:
12373         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12374         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12375         (gst_queue_handle_src_query):
12376         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12377         (gst_element_query_position), (gst_element_query_convert),
12378         (intersect_caps_func), (gst_pad_query_position),
12379         (gst_pad_query_convert):
12380         * gst/gstutils.h:
12381         * tools/gst-inspect.c: (print_pad_info):
12382         * tools/gst-xmlinspect.c: (print_element_info):
12383         Remove old query functions. Ported old code.
12384         Added position/convert helper functions to gstutils.
12385         Reordered gstpad.c code, grouping relevant things.
12386         Remove gst_message_new(), always need to speficy a specific
12387         message.
12388
12389
12390 2005-05-09  Andy Wingo  <wingo@pobox.com>
12391
12392         * gst/gstiterator.h: Add some includes.
12393
12394         * gst/gstqueryutils.h: Include more headers.
12395
12396         * gst/gstpad.h:
12397         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12398         some uses of gst_pad_query.
12399
12400         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12401         NULL out parameters.
12402         (gst_query_new_position): New proc, allocates a new position
12403         query.
12404
12405         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12406         gstqueryutils.c to the build.
12407
12408         * gst/gststructure.c (gst_structure_set_valist): Implement with
12409         the generic G_VALUE_COLLECT.
12410         
12411 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12412
12413         * gst/Makefile.am: (gst_headers):
12414         Added gstqueryutils.h to the list of headers to install, that was
12415         a 'nachty' move wingo :)
12416
12417 2005-05-06  Andy Wingo  <wingo@pobox.com>
12418
12419         * gst/gstquery.h
12420         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12421         GstData, init a memchunk.
12422         (standard_definitions): Add a few query types, deprecate a few.
12423         (gst_query_get_type): New proc.
12424         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12425         implementation.
12426         (gst_query_new_application, gst_query_get_structure): New public
12427         procs.
12428
12429         * docs/design/draft-query.txt: Removed LINKS from the query types,
12430         because all the rest can be dispatched to other pads -- seemed
12431         ugly to have a query that couldn't be dispatched. internal_links
12432         is fine as a pad method.
12433
12434         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12435         in gstpad.c, but maintain binary compatibility for the moment.
12436         Will fix before 0.9 is out.
12437
12438         * gst/gstqueryutils.c: 
12439         * gst/gstqueryutils.h: New files, implement 3 methods for each
12440         query type: parse_query, parse_response, and set. Probably need an
12441         allocator as well.
12442
12443         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12444
12445         * gst/elements/gstfilesink.c (gst_filesink_query2):
12446         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12447         query_types, and formats methods.
12448
12449         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12450         (gst_pad_set_query2_function): New functions.
12451         (gst_real_pad_init): Set query2_default as the default query2
12452         function. Basically just dispatches to internally linked pads.
12453
12454         Needs review!
12455         
12456         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12457         without using the atomic operations. Only one thread can possibly
12458         be accessing the data at this point. Changed so as to avoid
12459         gst_atomic operations.
12460
12461 2005-05-06  Wim Taymans  <wim@fluendo.com>
12462
12463         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12464         Also set caps if we use the fallback buffer alloc.
12465
12466 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12467
12468         * docs/gst/Makefile.am:
12469         * docs/gst/gstreamer-docs.sgml:
12470         * docs/gst/gstreamer-sections.txt:
12471         * docs/gst/tmpl/gstatomic.sgml:
12472         * docs/gst/tmpl/gstmemchunk.sgml:
12473         * testsuite/elements/struct_i386.h:
12474         * win32/GStreamer.vcproj:
12475         * win32/Makefile:
12476           Purge GstAtomic stuff from docs and win32 makefiles as well
12477
12478 2005-05-06  Wim Taymans  <wim@fluendo.com>
12479
12480         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12481         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12482         * gst/gstpad.c: (gst_pad_peer_get_caps):
12483         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12484         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12485         (gst_queue_src_activate), (gst_queue_change_state):
12486         * gst/gstqueue.h:
12487         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12488         (intersect_caps_func):
12489         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12490         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12491         Some fixes for the peer_get_caps() change.
12492
12493 2005-05-06  Wim Taymans  <wim@fluendo.com>
12494
12495         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12496         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12497         (gst_basesink_activate):
12498         Actually do something with error codes returned from the push
12499         functions.
12500
12501 2005-05-06  Wim Taymans  <wim@fluendo.com>
12502
12503         * docs/design/part-element-sink.txt:
12504         * docs/design/part-element-source.txt:
12505         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12506         (gst_basesink_event), (gst_basesink_activate):
12507         * gst/base/gstbasesink.h:
12508         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12509         (gst_basesrc_activate):
12510         * gst/base/gstbasesrc.h:
12511         * gst/gstelement.c: (gst_element_pads_activate):
12512         Some more documentation.
12513         Fixed scheduling decision in _pads_activate().
12514
12515 2005-05-05  Andy Wingo  <wingo@pobox.com>
12516
12517         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12518         the test suite.
12519
12520 2005-05-05  Wim Taymans  <wim@fluendo.com>
12521
12522         * gst/base/Makefile.am:
12523         * gst/base/gstbasesink.h:
12524         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12525         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12526         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12527         (gst_collectpads_class_init), (gst_collectpads_init),
12528         (gst_collectpads_finalize), (gst_collectpads_new),
12529         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12530         (find_pad), (gst_collectpads_remove_pad),
12531         (gst_collectpads_is_active), (gst_collectpads_collect),
12532         (gst_collectpads_collect_range), (gst_collectpads_start),
12533         (gst_collectpads_stop), (gst_collectpads_peek),
12534         (gst_collectpads_pop), (gst_collectpads_available),
12535         (gst_collectpads_read), (gst_collectpads_flush),
12536         (gst_collectpads_chain):
12537         * gst/base/gstcollectpads.h:
12538         * gst/elements/Makefile.am:
12539         * gst/elements/gstelements.c:
12540         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12541         (gst_fakesink_get_times), (gst_fakesink_event),
12542         (gst_fakesink_preroll), (gst_fakesink_render):
12543         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12544         (gst_filesink_init), (gst_filesink_set_location),
12545         (gst_filesink_open_file), (gst_filesink_close_file),
12546         (gst_filesink_pad_query), (gst_filesink_event),
12547         (gst_filesink_render), (gst_filesink_change_state):
12548         * gst/elements/gstfilesink.h:
12549         Added object to help in making collect pad based elements.
12550         Ported filesink.
12551         Make event function in sink baseclass return gboolean.
12552
12553 2005-05-05  Wim Taymans  <wim@fluendo.com>
12554
12555         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12556         (gst_bin_get_by_name):
12557         * gst/gstbuffer.h:
12558         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12559         (gst_clock_finalize):
12560         * gst/gstdata.c: (gst_data_replace):
12561         * gst/gstdata.h:
12562         * gst/gstelement.c: (gst_element_request_pad),
12563         (gst_element_pads_activate):
12564         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12565         (gst_object_unref):
12566         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12567         (gst_pad_set_checkgetrange_function),
12568         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12569         (gst_pad_check_pull_range), (gst_pad_pull_range),
12570         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12571         (gst_pad_pause_task), (gst_pad_stop_task):
12572         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12573         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12574         Fix name lookup in GstBin.
12575         Added _data_replace() function and _buffer_replace()
12576         Use finalize method to clean up clock.
12577         Fix refcounting on request pads.
12578         Fix pad schedule mode error.
12579         Some more object refcounting debug info,
12580
12581
12582 2005-05-04  Andy Wingo <wingo@pobox.com>
12583
12584         * check/Makefile.am:
12585         * docs/gst/tmpl/gstatomic.sgml:
12586         * docs/gst/tmpl/gstplugin.sgml:
12587         * gst/base/gstbasesink.c: (gst_basesink_activate):
12588         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12589         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12590         (gst_basesrc_query), (gst_basesrc_set_property),
12591         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12592         (gst_basesrc_activate):
12593         * gst/base/gstbasesrc.h:
12594         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12595         (gst_base_transform_src_activate):
12596         * gst/elements/gstelements.c:
12597         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12598         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12599         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12600         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12601         (gst_type_find_element_checkgetrange),
12602         (gst_type_find_element_activate):
12603         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12604         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12605         (gst_caps_load_thyself):
12606         * gst/gstelement.c: (gst_element_pads_activate),
12607         (gst_element_save_thyself), (gst_element_restore_thyself):
12608         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12609         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12610         * gst/gstpad.h:
12611         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12612         (gst_xml_parse_file), (gst_xml_parse_memory),
12613         (gst_xml_get_element), (gst_xml_make_element):
12614         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12615         (_file_index_id_save_xml), (gst_file_index_commit):
12616         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12617         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12618         (load_paths):
12619         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12620         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12621         * tools/gst-complete.c: (main):
12622         * tools/gst-compprep.c: (main):
12623         * tools/gst-inspect.c: (print_element_properties_info):
12624         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12625         * tools/gst-xmlinspect.c: (print_element_properties):
12626         GCC 4 fixen.
12627         
12628 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12629
12630         * gst/gstplugin.c: (gst_plugin_check_module),
12631         (gst_plugin_check_file), (gst_plugin_load_file):
12632             apply patch from #172526 to make register work on MacOSX
12633
12634 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12635
12636         * docs/gst/tmpl/gstconfig.sgml:
12637         * gst/gstconfig.h.in:
12638           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12639         * testsuite/debug/printf_extension.c: (main):
12640           Do not use GST_PTR_FORMAT on pointers to types with
12641           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12642         * testsuite/elements/property.h:
12643           use correct printf format
12644
12645 2005-05-02  Wim Taymans  <wim@fluendo.com>
12646
12647         * docs/design/draft-push-pull.txt:
12648         * docs/design/draft-query.txt:
12649         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12650         (gst_basesrc_start):
12651         Added draft for new query API.
12652         Added draft for better selecting scheduling methods.
12653         Make basesrc ignore length if the subclass does not support
12654         it.
12655
12656 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12657
12658         * gst/Makefile.am:
12659           possible fixes for automake-1.5 - _LIBADD is reserved
12660
12661 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12662
12663         * docs/faq/Makefile.am:
12664         * docs/manual/Makefile.am:
12665         * docs/manuals.mak:
12666         * docs/pwg/Makefile.am:
12667         * gst/Makefile.am:
12668           possible fixes for automake-1.5
12669
12670 2005-04-28  Wim Taymans  <wim@fluendo.com>
12671
12672         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12673         (gst_basesink_pad_getcaps), (gst_basesink_init),
12674         (gst_basesink_do_sync):
12675         * gst/gstclock.c: (gst_clock_entry_new):
12676         * gst/gstevent.c: (gst_event_discont_get_value):
12677         * gst/gstpipeline.c: (pipeline_bus_handler),
12678         (gst_pipeline_change_state):
12679         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12680         Better debugging of clocking info.
12681         Allow NULL values when getting discont values.
12682
12683 2005-04-27  Wim Taymans  <wim@fluendo.com>
12684
12685         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12686         * check/gst/gstpad.c: (gst_pad_suite):
12687         Increase timeout for checks.
12688
12689 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12690
12691         * check/Makefile.am:
12692           fix the broken rule for cleanup.  Apparently this rule is
12693           only needed on FC2, so maybe this warrants further autotool
12694           inspection.
12695
12696 2005-04-26  Wim Taymans  <wim@fluendo.com>
12697
12698         * gst/gsttrashstack.h:
12699         Ooohh. a nasty one! After having a failed pop() from the stack,
12700         it's possible that the stack is empty. In that case, don't
12701         follow the NULL pointer.
12702
12703 2005-04-25  Wim Taymans  <wim@fluendo.com>
12704
12705         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12706         (gst_pad_set_checkgetrange_function),
12707         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12708         (gst_pad_check_pull_range), (gst_pad_pull_range),
12709         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12710         (gst_pad_pause_task), (gst_pad_stop_task):
12711         * gst/gstplugin.c: (gst_plugin_load):
12712         * gst/gstplugin.h:
12713         Remove gst_library_load as it does more harm than good with
12714         the new g_module flags.
12715         Revert bogus caps template check in pad linking, pad caps
12716         are important when linking not the template, which is more
12717         general than the current caps.
12718
12719 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12720
12721         * gst/autoplug/.cvsignore:
12722         * gst/autoplug/Makefile.am:
12723         * gst/autoplug/gstsearchfuncs.c:
12724         * gst/autoplug/gstsearchfuncs.h:
12725         * gst/autoplug/gstspider.c:
12726         * gst/autoplug/gstspider.h:
12727         * gst/autoplug/gstspideridentity.c:
12728         * gst/autoplug/gstspideridentity.h:
12729         * gst/autoplug/spidertest.c:
12730           Die, spider, die.
12731
12732 2005-04-25  Wim Taymans  <wim@fluendo.com>
12733
12734         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12735         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12736         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12737         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12738         * gst/gstpad.h:
12739         Added stubs for unimplemented functions. 
12740
12741 2005-04-24  David Schleef  <ds@schleef.org>
12742
12743         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12744         please fix.
12745
12746 2005-04-24  David Schleef  <ds@schleef.org>
12747
12748         Convert everything from GstAtomicInt to g_atomic_int_*, and
12749         remove gstatomic.
12750         * gst/Makefile.am:
12751         * gst/gstatomic.c:
12752         * gst/gstatomic.h:
12753         * gst/gstatomic_impl.h:
12754         * gst/gstbuffer.c:
12755         * gst/gstcaps.c:
12756         * gst/gstcaps.h:
12757         * gst/gstclock.c:
12758         * gst/gstclock.h:
12759         * gst/gstdata.c:
12760         * gst/gstdata.h:
12761         * gst/gstdata_private.h:
12762         * gst/gstevent.c:
12763         * gst/gstinfo.c:
12764         * gst/gstinfo.h:
12765         * gst/gstmessage.c:
12766         * gst/gstobject.c:
12767         * gst/gstobject.h:
12768         * gst/gststructure.c:
12769         * gst/gststructure.h:
12770         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12771         * gst/gstutils.h:
12772
12773 2005-04-24  David Schleef  <ds@schleef.org>
12774
12775         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12776         make the regressions tests work.  Remove some code that is no
12777         longer true.
12778         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12779         Disable warning for pads without templates.
12780
12781 2005-04-24  David Schleef  <ds@schleef.org>
12782
12783         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12784         functions that handle filtered links.
12785         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12786         removed functions.
12787         * gst/gstutils.c: Fix/remove utility functions that handle
12788         filtered caps.
12789         * gst/gstutils.h:
12790         * gst/gstvalue.c: Add serialization/deserialization of caps
12791         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12792         requires fixing so that the filter caps notation creates
12793         a capsfilter element and sets the filter_caps property.  I
12794         think everyone probably wants to keep the shorthand notation.
12795         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12796         * docs/gst/tmpl/gstpad.sgml:
12797
12798         * gst/elements/gstelements.c: Register capsfilter element.
12799         * gst/Makefile.am: fix spacing
12800         * docs/random/ds/0.9-suggested-changes: random
12801
12802 2005-04-23  David Schleef  <ds@schleef.org>
12803
12804         * gst/elements/Makefile.am:
12805         * gst/elements/gstcapsfilter.c: New element that acts like an
12806         identity, but filters caps.  Will eventually replace filtered
12807         caps in pad linking.
12808         * gst/gstutils.c: (gst_element_create_all_pads): New function
12809         to create all the ALWAYS pads that are registered with an
12810         element class.  This functionality should eventually be
12811         merged in with GstElement initialization.
12812         * gst/gstutils.h:
12813         * testsuite/trigger/README: part of trigger test code that should
12814         have been checked in a long time ago.
12815
12816 2005-04-23  David Schleef  <ds@schleef.org>
12817
12818         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12819         needed with new versions of libtool (nobody will confirm this),
12820         and hard to carry around.
12821         * gst/autoplug/Makefile.am:
12822         * gst/base/Makefile.am:
12823         * gst/elements/Makefile.am:
12824         * gst/indexers/Makefile.am:
12825         * gst/schedulers/Makefile.am:
12826         * libs/gst/bytestream/Makefile.am:
12827         * libs/gst/control/Makefile.am:
12828         * libs/gst/dataprotocol/Makefile.am:
12829         * libs/gst/getbits/Makefile.am:
12830
12831 2005-04-21  Wim Taymans  <wim@fluendo.com>
12832
12833         * docs/design/draft-push-pull.txt:
12834         * docs/design/part-MT-refcounting.txt:
12835         * docs/design/part-TODO.txt:
12836         * docs/design/part-caps.txt:
12837         * docs/design/part-events.txt:
12838         * docs/design/part-gstbus.txt:
12839         * docs/design/part-gstpipeline.txt:
12840         * docs/design/part-messages.txt:
12841         * docs/design/part-push-pull.txt:
12842         * docs/design/part-query.txt:
12843         Some more docs.
12844
12845 2005-04-21  Wim Taymans  <wim@fluendo.com>
12846
12847         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12848         (gst_message_new), (gst_message_new_error),
12849         (gst_message_new_warning), (gst_message_new_tag),
12850         (gst_message_new_state_changed), (gst_message_new_application),
12851         (gst_message_get_structure):
12852         * gst/gstmessage.h:
12853         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12854         (gst_structure_copy_conditional):
12855         Use parent refcount in GstMessage to ensure GstStructure
12856         consistency.
12857         Cleaned up headers a bit.
12858         
12859
12860 2005-04-20  Wim Taymans  <wim@fluendo.com>
12861
12862         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12863         (gst_basesink_pad_getcaps), (gst_basesink_init),
12864         (gst_basesink_chain_unlocked):
12865         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12866         (gst_type_find_helper):
12867         * gst/elements/gsttypefindelement.c:
12868         (gst_type_find_element_have_type), (gst_type_find_element_init),
12869         (stop_typefinding), (gst_type_find_element_handle_event),
12870         (find_suggest), (gst_type_find_element_chain),
12871         (gst_type_find_element_checkgetrange),
12872         (gst_type_find_element_getrange), (do_typefind),
12873         (gst_type_find_element_activate):
12874         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12875         (gst_buffer_default_free), (gst_buffer_default_copy),
12876         (gst_buffer_set_caps):
12877         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12878         (gst_caps_replace):
12879         * gst/gstmessage.c: (gst_message_new),
12880         (gst_message_new_state_changed):
12881         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12882         (gst_pad_set_checkgetrange_function),
12883         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12884         (gst_pad_set_caps), (gst_pad_check_pull_range),
12885         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12886         * gst/gstpad.h:
12887         * gst/gsttypefind.c: (gst_type_find_register):
12888         Make gst_caps_replace() work like other _replace() functions.
12889         Use _caps_replace() where possible.
12890         Make sure _message_new() initialises its field.
12891         Add gst_static_pad_template_get_caps()
12892
12893
12894 2005-04-18  Andy Wingo  <wingo@pobox.com>
12895
12896         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12897         on the peer, not the pad. I think that was a typo. Pass an extra
12898         arg to see if random access is possible. Activate the pads as
12899         PULL_RANGE if possible.
12900
12901         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12902
12903         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12904         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12905         to PROP_....
12906
12907 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12908
12909         * docs/faq/using.xml:
12910           Add note on gstreamer-properties (#154996).
12911
12912 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12913
12914         * docs/random/bbb/optional-properties:
12915           Some analysis on optional properties.
12916
12917 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12918
12919         * docs/gst/tmpl/gstelementfactory.sgml:
12920         * gst/gstelement.h:
12921         * gst/gstelementfactory.c: (gst_element_factory_init),
12922         (gst_element_factory_cleanup), (gst_element_register),
12923         (__gst_element_factory_add_static_pad_template),
12924         (gst_element_factory_get_static_pad_templates),
12925         (gst_element_factory_can_src_caps),
12926         (gst_element_factory_can_sink_caps):
12927         * gst/registries/Makefile.am:
12928         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12929         (gst_xml_registry_class_init), (gst_xml_registry_init),
12930         (gst_xml_registry_new), (gst_xml_registry_set_property),
12931         (gst_xml_registry_get_property), (get_time), (make_dir),
12932         (gst_xml_registry_get_perms_func),
12933         (plugin_times_older_than_recurse), (plugin_times_older_than),
12934         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12935         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12936         (add_to_char_array), (read_string), (read_uint), (read_enum),
12937         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12938         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12939         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12940         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12941         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12942         (gst_xml_registry_rebuild):
12943         * gst/registries/gstlibxmlregistry.h:
12944         * tools/gst-compprep.c: (main):
12945         * tools/gst-inspect.c: (print_pad_templates_info):
12946         * tools/gst-xmlinspect.c: (print_element_info):
12947           Use libxml2 for registry parsing, use staticpadtemplates in
12948           elementfactories. Makes gst_init() +/- 10x faster.
12949
12950 2005-04-12  Wim Taymans  <wim@fluendo.com>
12951
12952         * gst/base/Makefile.am:
12953         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12954         (gst_basesink_pad_getcaps), (gst_basesink_init),
12955         (gst_basesink_event), (gst_basesink_change_state):
12956         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12957         (gst_basesrc_init), (gst_basesrc_query),
12958         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12959         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12960         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12961         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12962         (gst_basesrc_stop), (gst_basesrc_activate),
12963         (gst_basesrc_change_state):
12964         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12965         (helper_find_suggest), (gst_type_find_helper):
12966         * gst/base/gsttypefindhelper.h:
12967         * gst/elements/Makefile.am:
12968         * gst/elements/gstelements.c:
12969         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12970         (gst_fakesink_get_times), (gst_fakesink_event),
12971         (gst_fakesink_preroll), (gst_fakesink_render):
12972         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12973         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12974         (gst_fakesrc_get_property), (gst_fakesrc_create),
12975         (gst_fakesrc_start), (gst_fakesrc_stop):
12976         * gst/elements/gstfakesrc.h:
12977         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12978         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12979         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12980         (gst_filesrc_create_read), (gst_filesrc_create),
12981         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12982         (gst_filesrc_start):
12983         * gst/elements/gsttypefindelement.c:
12984         (gst_type_find_element_have_type), (gst_type_find_element_init),
12985         (start_typefinding), (stop_typefinding), (push_buffer_store),
12986         (gst_type_find_element_handle_event),
12987         (gst_type_find_element_chain),
12988         (gst_type_find_element_checkgetrange),
12989         (gst_type_find_element_getrange), (do_typefind),
12990         (gst_type_find_element_activate),
12991         (gst_type_find_element_change_state):
12992         * gst/elements/gsttypefindelement.h:
12993         * gst/gstpipeline.c: (pipeline_bus_handler):
12994         Added typefind helper.
12995         Small preroll fix in the base sink.
12996         Disable typefind code in basesrc.
12997         Crude port of typefindelement.
12998         Fakesrc cleanups.
12999
13000
13001 2005-04-11  Wim Taymans  <wim@fluendo.com>
13002
13003         * check/gst/gstbus.c: (gstbus_suite):
13004         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13005         * check/gstcheck.h:
13006           Fix up the timeout so that the test does not fail.
13007
13008 2005-04-06  Wim Taymans  <wim@fluendo.com>
13009
13010         * gst/base/README:
13011         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13012         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13013         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13014         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13015         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13016         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13017         (gst_basesrc_stop), (gst_basesrc_activate),
13018         (gst_basesrc_change_state), (basesrc_find_peek),
13019         (basesrc_find_suggest), (gst_basesrc_type_find):
13020         * gst/base/gstbasesrc.h:
13021         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13022         (gst_filesrc_class_init), (gst_filesrc_init),
13023         (gst_filesrc_finalize), (gst_filesrc_set_location),
13024         (gst_filesrc_set_property), (gst_filesrc_get_property),
13025         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13026         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13027         (gst_filesrc_create_read), (gst_filesrc_create),
13028         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13029         * gst/elements/gstfilesrc.h:
13030         * gst/gstelement.c: (gst_element_get_state_func),
13031         (gst_element_lost_state), (gst_element_pads_activate):
13032         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13033         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13034         (gst_pad_pull_range):
13035         * gst/gstpad.h:
13036         More work on the generic source base class, implement seeking,
13037         query.
13038         Make filesrc extend the base source class.
13039         Added gst_pad_set_checkgetrange_function to GstPad.
13040
13041 2005-04-06  Andy Wingo  <wingo@pobox.com>
13042
13043         * pkgconfig/gstreamer-base.pc.in:
13044         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13045
13046         * pkgconfig/Makefile.am:
13047         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13048
13049 2005-04-04  Wim Taymans  <wim@fluendo.com>
13050
13051         * gst/base/Makefile.am:
13052         * gst/base/README:
13053         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13054         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13055         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13056         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13057         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13058         (gst_basesrc_base_init), (gst_basesrc_class_init),
13059         (gst_basesrc_init), (gst_basesrc_get_formats),
13060         (gst_basesrc_get_query_types), (gst_basesrc_query),
13061         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13062         (gst_basesrc_set_property), (gst_basesrc_get_property),
13063         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13064         (gst_basesrc_loop), (gst_basesrc_activate),
13065         (gst_basesrc_change_state):
13066         * gst/base/gstbasesrc.h:
13067         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13068         (gst_fakesrc_class_init), (gst_fakesrc_init),
13069         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13070         (gst_fakesrc_get_property), (gst_fakesrc_create):
13071         * gst/elements/gstfakesrc.h:
13072         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13073         (gst_filesrc_open_file), (gst_filesrc_loop),
13074         (gst_filesrc_activate), (filesrc_find_peek),
13075         (gst_filesrc_type_find):
13076         Made base source class, make fakesrc extend it.
13077         Add comments to basesink class.
13078         Some filesrc cleanup.
13079
13080 2005-03-31  David Schleef  <ds@schleef.org>
13081
13082         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13083         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13084         expected to link against libgstreamer.
13085         * gst/base/Makefile.am: link against libgstreamer
13086         * gst/elements/Makefile.am: same
13087
13088 2005-03-31  Andy Wingo  <wingo@pobox.com>
13089
13090         * tests/instantiate/Makefile.am:
13091         * tests/instantiate/caps.c: Add test to test speed of caps copy
13092         and free.
13093
13094         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13095         GMemChunk to be fair.
13096
13097         * gst/gsttrashstack.h: Remove warning about using the fallback
13098         trash stack implementation, it's still faster than malloc.
13099
13100 2005-03-30  Andy Wingo  <wingo@pobox.com>
13101
13102         * tests/complexity.c: Add a copyright.
13103
13104 2005-03-31  Wim Taymans  <wim@fluendo.com>
13105
13106         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13107         (gst_base_transform_class_init), (gst_base_transform_init),
13108         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13109         (gst_base_transform_get_property),
13110         (gst_base_transform_sink_activate),
13111         (gst_base_transform_src_activate),
13112         (gst_base_transform_change_state):
13113         * gst/base/gstbasetransform.h:
13114         * gst/elements/gstidentity.c: (gst_identity_class_init),
13115         (gst_identity_event), (gst_identity_check_perfect),
13116         (gst_identity_transform), (gst_identity_start),
13117         (gst_identity_stop):
13118         Added start/stop methods to transform base class so subclasses 
13119         don't need to deal with state changes even.
13120
13121 2005-03-31  Wim Taymans  <wim@fluendo.com>
13122
13123         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
13124         (gst_event_new_discontinuous), (gst_event_discont_get_value):
13125         * gst/gstevent.h:
13126         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13127         (gst_pad_pull_range):
13128         Added rate to the discont event to prepare for variable speed
13129         and reverse playback.
13130
13131 2005-03-29  David Schleef  <ds@schleef.org>
13132
13133         * configure.ac:
13134         * testsuite/trigger/Makefile.am:
13135         * testsuite/trigger/trigger.c: A little example program to show
13136         how trigger-based elements can work.
13137
13138 2005-03-29  Wim Taymans  <wim@fluendo.com>
13139
13140         * gst/base/Makefile.am:
13141         * gst/base/README:
13142         * gst/base/gstbasesink.c: (gst_basesink_get_type),
13143         (gst_basesink_base_init), (gst_basesink_class_init),
13144         (gst_basesink_pad_getcaps), (gst_basesink_init),
13145         (gst_basesink_activate), (gst_basesink_change_state):
13146         * gst/base/gstbasesink.h:
13147         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13148         (gst_base_transform_base_init), (gst_base_transform_finalize),
13149         (gst_base_transform_class_init), (gst_base_transform_init),
13150         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13151         (gst_base_transform_event), (gst_base_transform_getrange),
13152         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13153         (gst_base_transform_set_property),
13154         (gst_base_transform_get_property),
13155         (gst_base_transform_sink_activate),
13156         (gst_base_transform_src_activate),
13157         (gst_base_transform_change_state):
13158         * gst/base/gstbasetransform.h:
13159         * gst/elements/gstidentity.c: (gst_identity_finalize),
13160         (gst_identity_class_init), (gst_identity_init),
13161         (gst_identity_event), (gst_identity_check_perfect),
13162         (gst_identity_transform), (gst_identity_set_property),
13163         (gst_identity_get_property), (gst_identity_change_state):
13164         * gst/elements/gstidentity.h:
13165         * gst/gstelement.c: (gst_element_get_state_func),
13166         (gst_element_lost_state), (gst_element_pads_activate):
13167         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13168         (gst_pad_check_pull_range), (gst_pad_pull_range):
13169         * gst/gstpad.h:
13170         Simplify pad activation.
13171         Added function to check if pull_range can be performed.
13172         Error out when pulling inactive or flushing pads.
13173         Removed const from refcounted types as it does not make sense.
13174         Simplify pad templates in basesink
13175         Added base class for simple 1-to-1 transforms.
13176         Make identity subclass the base transform.
13177
13178 2005-03-29  Andy Wingo  <wingo@pobox.com>
13179
13180         * docs/libs/gstreamer-libs-overrides.txt: 
13181         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13182         really don't understand what's going on, but like whatever. I want
13183         green buildbot!
13184
13185         * docs/gst/Makefile.am:
13186         * docs/libs/Makefile.am: Dist the overrides files.
13187
13188         * check/Makefile.am (clean-local): Remove .libs directories.
13189
13190         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13191         elements to EXTRA_DIST, so po/ files are happy.
13192
13193         * po/POTFILES.in: Er, remove it here.
13194
13195         * po/POTFILES: Remove gstspider.c.
13196
13197         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13198
13199         * docs/libs/gstreamer-libs-docs.sgml: 
13200         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13201         bytestream.
13202
13203         * tests/complexity.c (main): Set the length of the preroll queue
13204         on the sinks to prevent a lockup.
13205
13206         * libs/gst/dataprotocol/Makefile.am: 
13207         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13208         the same as the one in check/gst-libs/gdp.c.
13209
13210         * po/, docs/gst/: Commit automatic changes to docs and po files.
13211
13212         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13213         the versioned libgstbase.
13214
13215         * check/Makefile.am: Depend on an unversioned gst-register, seems
13216         to make autoconf happier.
13217
13218         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13219
13220 2005-03-28  Wim Taymans  <wim@fluendo.com>
13221
13222         * configure.ac:
13223         * docs/design/part-gstelement.txt:
13224         * docs/design/part-negotiation.txt:
13225         * docs/design/part-preroll.txt:
13226         * docs/design/part-scheduling.txt:
13227         * docs/design/part-states.txt:
13228         * gst/Makefile.am:
13229         * gst/base/Makefile.am:
13230         * gst/base/README:
13231         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13232         (gst_basesink_base_init), (gst_basesink_class_init),
13233         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13234         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13235         (gst_basesink_set_pad_functions),
13236         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13237         (gst_basesink_set_property), (gst_basesink_get_property),
13238         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13239         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13240         (gst_basesink_preroll_queue_push),
13241         (gst_basesink_preroll_queue_empty),
13242         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13243         (gst_basesink_event), (gst_basesink_get_times),
13244         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13245         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13246         (gst_basesink_loop), (gst_basesink_activate),
13247         (gst_basesink_change_state):
13248         * gst/base/gstbasesink.h:
13249         * gst/elements/Makefile.am:
13250         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13251         (gst_fakesink_class_init), (gst_fakesink_init),
13252         (gst_fakesink_set_property), (gst_fakesink_get_property),
13253         (gst_fakesink_get_times), (gst_fakesink_event),
13254         (gst_fakesink_preroll), (gst_fakesink_render),
13255         (gst_fakesink_change_state):
13256         * gst/elements/gstfakesink.h:
13257         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13258         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13259         * gst/gstelement.c: (gst_element_add_pad),
13260         (gst_element_get_state_func), (gst_element_abort_state),
13261         (gst_element_commit_state), (gst_element_lost_state),
13262         (gst_element_set_state), (gst_element_pads_activate):
13263         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13264         * gst/gstpipeline.c: (gst_pipeline_send_event),
13265         (gst_pipeline_change_state):
13266         Added state change code.
13267         Added/updated docs.
13268         Added sink base class, make fakesink extend the base class.
13269         Small cleanups in GstPipeline.
13270
13271 2005-03-26  David Schleef  <ds@schleef.org>
13272
13273         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13274         is broken and should be implemented in a different library.
13275         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13276         * gst/gst.h: remove gstcpu.h
13277         * gst/gstcpu.c: remove
13278         * gst/gstcpu.h: remove
13279         * gst/Makefile.am.future: Remove this file.  It's ancient.
13280
13281 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13282
13283         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13284         (gst_bin_send_event):
13285           Add default event/set_manager handlers. The set_manager handler
13286           takes care that the manager is distributed over kids that were
13287           already in the bin before the manager was set. The event handler
13288           is a utility virtual function that sends the event over all sinks,
13289           so that gst_element_send_event (bin, event); has the expected
13290           behaviour.
13291         * gst/gstpad.c: (gst_pad_event_default):
13292           Re-install default event handling for discontinuities, so that
13293           seeking works without requiring hacks in applications or extra
13294           code in sinks.
13295         * gst/gstpipeline.c: (gst_pipeline_class_init),
13296         (gst_pipeline_send_event):
13297           Half hack, half utility: set a pipeline to PAUSED for seek events,
13298           since that is the only way we can guarantee a/v sync. Means that
13299           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13300           and it "just works".
13301
13302 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13303
13304         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13305           Lock/unlock mismatch.
13306
13307 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13308
13309         * docs/faq/gst-uninstalled:
13310           add gst-plugins-base
13311         * docs/gst/Makefile.am:
13312           don't error out until docs are fixed
13313         * docs/gst/gstreamer.types:
13314           remove thread
13315
13316 2005-03-22  Wim Taymans  <wim@fluendo.com>
13317
13318         * check/Makefile.am:
13319         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13320         * gst/gststructure.c: (gst_structure_set_valist),
13321         (gst_structure_copy_conditional):
13322         Activated more tests.
13323         Added message test.
13324         Added G_TYPE_POINTER to GstStructure.
13325         
13326
13327 2005-03-22  Wim Taymans  <wim@fluendo.com>
13328
13329         * docs/design/part-TODO.txt:
13330         * docs/design/part-events.txt:
13331         * docs/design/part-gstbin.txt:
13332         * docs/design/part-gstbus.txt:
13333         * docs/design/part-gstpipeline.txt:
13334         * docs/design/part-messages.txt:
13335         * gst/gstbus.c:
13336         * gst/gstmessage.c:
13337         Docs updates
13338
13339 2005-03-21  Wim Taymans  <wim@fluendo.com>
13340
13341         * gst/gstbus.c: (gst_bus_post):
13342         Fix copy-and-paste error.
13343
13344 2005-03-21  Wim Taymans  <wim@fluendo.com>
13345
13346         * check/Makefile.am:
13347         * gst/Makefile.am:
13348         * gst/elements/Makefile.am:
13349         * gst/elements/gstelements.c:
13350         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13351         (gst_fakesink_event), (gst_fakesink_chain):
13352         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13353         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13354         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13355         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13356         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13357         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13358         (gst_fakesrc_loop), (gst_fakesrc_activate),
13359         (gst_fakesrc_change_state):
13360         * gst/elements/gstfakesrc.h:
13361         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13362         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13363         (gst_filesrc_open_file), (gst_filesrc_loop),
13364         (gst_filesrc_activate), (gst_filesrc_change_state),
13365         (filesrc_find_peek), (filesrc_find_suggest),
13366         (gst_filesrc_type_find):
13367         * gst/elements/gstidentity.c: (gst_identity_finalize),
13368         (gst_identity_class_init), (gst_identity_init),
13369         (gst_identity_proxy_getcaps), (identity_queue_push),
13370         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13371         (gst_identity_getrange), (gst_identity_chain),
13372         (gst_identity_sink_loop), (gst_identity_src_loop),
13373         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13374         (gst_identity_set_property), (gst_identity_get_property),
13375         (gst_identity_change_state):
13376         * gst/elements/gstidentity.h:
13377         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13378         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13379         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13380         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13381         (gst_tee_sink_activate):
13382         * gst/elements/gsttee.h:
13383         * gst/gst.c: (gst_register_core_elements), (init_post):
13384         * gst/gst.h:
13385         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13386         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13387         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13388         (gst_bin_change_state):
13389         * gst/gstbin.h:
13390         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13391         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13392         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13393         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13394         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13395         (bus_watch_callback), (bus_watch_destroy),
13396         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13397         (poll_timeout), (gst_bus_poll):
13398         * gst/gstbus.h:
13399         * gst/gstcaps.h:
13400         * gst/gstdata.h:
13401         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13402         (gst_element_post_message), (gst_element_message_full),
13403         (gst_element_get_state_func), (gst_element_get_state),
13404         (gst_element_abort_state), (gst_element_commit_state),
13405         (gst_element_lost_state), (gst_element_set_state),
13406         (gst_element_pads_activate), (gst_element_change_state),
13407         (gst_element_dispose), (gst_element_set_manager_func),
13408         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13409         (gst_element_set_manager), (gst_element_get_manager),
13410         (gst_element_set_bus), (gst_element_get_bus),
13411         (gst_element_set_scheduler), (gst_element_get_scheduler):
13412         * gst/gstelement.h:
13413         * gst/gstevent.c: (gst_event_new_segment_seek),
13414         (gst_event_new_flush):
13415         * gst/gstevent.h:
13416         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13417         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13418         (gst_message_new_eos), (gst_message_new_error),
13419         (gst_message_new_warning), (gst_message_new_tag),
13420         (gst_message_new_state_changed), (gst_message_new_application),
13421         (gst_message_get_structure), (gst_message_parse_tag),
13422         (gst_message_parse_state_changed), (gst_message_parse_error),
13423         (gst_message_parse_warning):
13424         * gst/gstmessage.h:
13425         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13426         (gst_real_pad_set_property), (gst_pad_set_active),
13427         (gst_pad_is_active), (gst_pad_set_blocked_async),
13428         (gst_pad_set_blocked), (gst_pad_is_blocked),
13429         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13430         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13431         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13432         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13433         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13434         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13435         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13436         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13437         (gst_pad_set_caps), (gst_pad_configure_sink),
13438         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13439         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13440         (gst_real_pad_dispose), (gst_real_pad_finalize),
13441         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13442         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13443         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13444         * gst/gstpad.h:
13445         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13446         (pipeline_bus_handler), (gst_pipeline_change_state),
13447         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13448         * gst/gstpipeline.h:
13449         * gst/gstprobe.h:
13450         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13451         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13452         (gst_queue_link_src), (gst_queue_bufferalloc),
13453         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13454         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13455         (gst_queue_loop), (gst_queue_handle_src_event),
13456         (gst_queue_handle_src_query), (gst_queue_src_activate),
13457         (gst_queue_change_state):
13458         * gst/gstqueue.h:
13459         * gst/gstscheduler.c: (gst_scheduler_init),
13460         (gst_scheduler_dispose), (gst_scheduler_create_task),
13461         (gst_scheduler_factory_create):
13462         * gst/gstscheduler.h:
13463         * gst/gststructure.c: (gst_structure_get_type),
13464         (gst_structure_copy_conditional):
13465         * gst/gststructure.h:
13466         * gst/gsttaginterface.h:
13467         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13468         (gst_task_init), (gst_task_dispose), (gst_task_create),
13469         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13470         (gst_task_pause):
13471         * gst/gsttask.h:
13472         * gst/gstthread.c:
13473         * gst/gstthread.h:
13474         * gst/gsttypes.h:
13475         * gst/schedulers/Makefile.am:
13476         * gst/schedulers/cothreads_compat.h:
13477         * gst/schedulers/entryscheduler.c:
13478         * gst/schedulers/faircothreads.c:
13479         * gst/schedulers/faircothreads.h:
13480         * gst/schedulers/fairscheduler.c:
13481         * gst/schedulers/gstbasicscheduler.c:
13482         * gst/schedulers/gstoptimalscheduler.c:
13483         * gst/schedulers/gthread-cothreads.h:
13484         * gst/schedulers/threadscheduler.c:
13485         (gst_thread_scheduler_task_get_type),
13486         (gst_thread_scheduler_task_class_init),
13487         (gst_thread_scheduler_task_init),
13488         (gst_thread_scheduler_task_start),
13489         (gst_thread_scheduler_task_stop),
13490         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13491         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13492         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13493         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13494         (plugin_init):
13495         * libs/gst/Makefile.am:
13496         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13497         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13498         (gst_file_pad_parent_set):
13499         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13500         (gst_dp_event_from_packet):
13501         * tests/complexity.c: (main):
13502         * tests/mass_elements.c: (main):
13503         * testsuite/states/locked.c: (message_received), (main):
13504         * testsuite/states/parent.c: (main):
13505         * tools/gst-inspect.c: (print_element_flag_info),
13506         (print_implementation_info), (print_pad_info):
13507         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13508         (main):
13509         * tools/gst-md5sum.c: (event_loop), (main):
13510         * tools/gst-typefind.c: (main):
13511         * tools/gst-xmlinspect.c: (print_element_info):
13512         Next big merge.
13513         Added GstBus for mainloop integration.
13514         Added GstMessage for sending notifications on the bus.
13515         Added GstTask as an abstraction for pipeline entry points.
13516         Removed GstThread.
13517         Removed Schedulers.
13518         Simplified GstQueue for multithreaded core.
13519         Made _link threadsafe, removed old capsnego.
13520         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13521         Added pad blocking functions.
13522         Reworked scheduling functions in GstPad to prepare for
13523         scheduling updates soon.
13524         Moved events out of data stream.
13525         Simplified GstEvent types.
13526         Added return values to push/pull.
13527         Removed clocking from GstElement.
13528         Added prototypes for state change function for next merge.
13529         Removed iterate from bins and state change management.
13530         Fixed some elements, disabled others for now.
13531         Fixed -inspect and -launch.
13532         Added check for GstBus.
13533
13534 2005-03-10  Wim Taymans  <wim@fluendo.com>
13535
13536         * docs/design/part-MT-refcounting.txt:
13537         * docs/design/part-clocks.txt:
13538         * docs/design/part-gstelement.txt:
13539         * docs/design/part-gstobject.txt:
13540         * docs/design/part-standards.txt:
13541         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13542         (gst_bin_remove_func), (gst_bin_remove):
13543         * gst/gstbin.h:
13544         * gst/gstbuffer.c:
13545         * gst/gstcaps.h:
13546         * testsuite/clock/clock1.c: (main):
13547         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13548         (main):
13549         * testsuite/dlopen/loadgst.c: (do_test):
13550         * testsuite/refcounting/bin.c: (add_remove_test1),
13551         (add_remove_test2), (main):
13552         * testsuite/refcounting/element.c: (main):
13553         * testsuite/refcounting/element_pad.c: (main):
13554         * testsuite/refcounting/pad.c: (main):
13555         * tools/gst-launch.c: (sigint_handler_sighandler):
13556         * tools/gst-typefind.c: (main):
13557         Doc updates.
13558         Added doc about clock.
13559         removed gst_bin_iterate_recurse_up(), marked methods
13560         for removal.
13561         Fix more testsuites.
13562
13563 2005-03-09  Wim Taymans  <wim@fluendo.com>
13564
13565         * gst/gstpad.c: (gst_pad_get_direction),
13566         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13567         (gst_pad_collect_valist):
13568         * testsuite/bins/interface.c: (main):
13569         * testsuite/caps/audioscale.c: (test_caps):
13570         * testsuite/caps/caps.c: (test1), (test2), (test3):
13571         * testsuite/caps/deserialize.c: (main):
13572         * testsuite/caps/enumcaps.c: (main):
13573         * testsuite/caps/filtercaps.c: (main):
13574         * testsuite/caps/intersect2.c: (main):
13575         * testsuite/caps/random.c: (main):
13576         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13577         * testsuite/caps/sets.c: (check_caps):
13578         * testsuite/caps/simplify.c: (check_caps), (main):
13579         * testsuite/caps/subtract.c: (check_caps):
13580         Fix _pad_get_direction wrt ghostpads.
13581         Fix caps testsuite.
13582
13583 2005-03-09  Wim Taymans  <wim@fluendo.com>
13584
13585         * check/Makefile.am:
13586         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13587         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13588         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13589         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13590         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13591         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13592         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13593         (bin_element_is_sink), (gst_bin_iterate_sinks),
13594         (gst_bin_iterate_all_by_interface):
13595         * gst/gstbin.h:
13596         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13597         (gst_element_change_state), (gst_element_dispose),
13598         (gst_element_finalize), (gst_element_set_loop_function):
13599         * gst/gstelement.h:
13600         * gst/gstiterator.c: (find_custom_fold_func):
13601         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13602         (gst_pad_collectv), (gst_pad_collect_valist),
13603         (gst_pad_template_new):
13604         * gst/gstpipeline.c: (gst_pipeline_class_init),
13605         (gst_pipeline_dispose), (gst_pipeline_set_property),
13606         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13607         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13608         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13609         * gst/gstutils.h:
13610         * gst/schedulers/entryscheduler.c:
13611         * gst/schedulers/gstbasicscheduler.c:
13612         (gst_basic_scheduler_cothreaded_chain),
13613         (gst_basic_scheduler_chain_add_element):
13614         * testsuite/bins/interface.c: (main):
13615         Added GstBin test.
13616         Added GstSystemClock test.
13617         Implemented clock distribution code in GstBin.
13618         Implemented iterate sinks method for future use.
13619         Rearranged gstelement.h
13620         Fix GstIterator comparison bug.
13621         Moved some code to GstPipeline, mostly clocking related.
13622
13623 2005-03-09  Wim Taymans  <wim@fluendo.com>
13624
13625         * configure.ac:
13626         * gst/gst_private.h:
13627         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13628         (gst_bin_remove_func), (gst_bin_remove),
13629         (gst_bin_get_by_name_recurse_up):
13630         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13631         (gst_clock_id_compare_func), (gst_clock_id_wait),
13632         (gst_clock_id_wait_async), (gst_clock_init),
13633         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13634         * gst/gstelement.h:
13635         * gst/gstinfo.c: (_gst_debug_init):
13636         * gst/gstobject.h:
13637         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13638         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13639         * gst/gstpad.h:
13640         Bump version number, we're now 0.9.0
13641         Add future debugging category.
13642         Fix NULL _unref() in _get_by_name_recurse_up
13643         Rearrange gstpad.h.
13644         Update some docs.
13645
13646 2005-03-08  Wim Taymans  <wim@fluendo.com>
13647
13648         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13649         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13650         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13651         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13652         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13653         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13654         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13655         * gst/elements/gstidentity.c: (gst_identity_class_init):
13656         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13657         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13658         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13659         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13660         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13661         (gst_tee_link):
13662         * gst/gstelement.c: (gst_element_class_init),
13663         (gst_element_base_class_init), (gst_element_init),
13664         (gst_element_get_random_pad), (gst_element_wait_state_change),
13665         (gst_element_change_state), (gst_element_dispose),
13666         (gst_element_finalize), (gst_element_set_loop_function):
13667         * gst/gstelement.h:
13668         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13669         * gst/gstthread.c: (gst_thread_class_init),
13670         (gst_thread_release_children_locks), (gst_thread_change_state):
13671         * gst/schedulers/gstbasicscheduler.c:
13672         (gst_basic_scheduler_loopfunc_wrapper),
13673         (gst_basic_scheduler_chain_wrapper),
13674         (gst_basic_scheduler_src_wrapper),
13675         (gst_basic_scheduler_remove_element):
13676         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13677         Remove threadsafe properties. Fix elements because GObject
13678         complains when installing a property before declaring a
13679         set/get_property handler.
13680         Rearrange gstelement.h file, use STATE macros for state locks.
13681         Free mutexes in the finalize method instead of dispose.
13682
13683 2005-03-08  Wim Taymans  <wim@fluendo.com>
13684
13685         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13686         * gst/gstthread.c: (gst_thread_release_children_locks):
13687         Added parentage check.
13688         Fix build og GstThread again.
13689
13690 2005-03-08  Wim Taymans  <wim@fluendo.com>
13691
13692         * docs/design/part-MT-refcounting.txt:
13693         * docs/design/part-conventions.txt:
13694         * docs/design/part-gstobject.txt:
13695         * docs/design/part-relations.txt:
13696         * docs/design/part-standards.txt:
13697         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13698         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13699         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13700         (gst_bin_iterate_all_by_interface):
13701         * gst/gstbuffer.h:
13702         * gst/gstclock.h:
13703         * gst/gstelement.c: (gst_element_class_init),
13704         (gst_element_change_state), (gst_element_set_loop_function):
13705         * gst/gstelement.h:
13706         * gst/gstiterator.c:
13707         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13708         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13709         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13710         (gst_object_set_parent), (gst_object_unparent),
13711         (gst_object_check_uniqueness):
13712         * gst/gstobject.h:
13713         Docs updates, clean up some headers.
13714
13715 2005-03-07  Wim Taymans  <wim@fluendo.com>
13716
13717         * check/.cvsignore:
13718         * check/Makefile.am:
13719         * check/gst-libs/.cvsignore:
13720         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13721         * check/gst/.cvsignore:
13722         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13723         (START_TEST), (gstbus_suite), (main):
13724         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13725         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13726         (gst_data_suite), (main):
13727         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13728         (add_fold_func), (gstiterator_suite), (main):
13729         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13730         (thread_name_object), (thread_name_object_default),
13731         (gst_object_name_compare), (gst_object_suite), (main):
13732         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13733         (gst_pad_suite), (main):
13734         * check/gstcheck.c: (gst_check_log_message_func),
13735         (gst_check_log_critical_func), (gst_check_init):
13736         * check/gstcheck.h:
13737         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13738         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13739         Added checks.
13740
13741 2005-03-07  Wim Taymans  <wim@fluendo.com>
13742
13743         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13744         (gst_list_iterator_next), (gst_list_iterator_resync),
13745         (gst_list_iterator_free), (gst_iterator_new_list),
13746         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13747         (gst_iterator_free), (gst_iterator_push), (filter_next),
13748         (filter_resync), (filter_uninit), (filter_free),
13749         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13750         (gst_iterator_foreach), (find_custom_fold_func),
13751         (gst_iterator_find_custom):
13752         * gst/gstiterator.h:
13753         Added missing files.
13754
13755 2005-03-07  Wim Taymans  <wim@fluendo.com>
13756
13757         * Makefile.am:
13758         * configure.ac:
13759         * docs/design/part-MT-refcounting.txt:
13760         * docs/design/part-conventions.txt:
13761         * docs/design/part-gstobject.txt:
13762         * docs/design/part-relations.txt:
13763         * examples/mixer/mixer.c: (main):
13764         * examples/thread/thread.c: (eos), (main):
13765         * gst/Makefile.am:
13766         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13767         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13768         (gst_spider_plug_from_srcpad):
13769         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13770         (gst_spider_identity_change_state),
13771         (gst_spider_identity_sink_loop_type_finding):
13772         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13773         * gst/elements/gstidentity.c: (gst_identity_init):
13774         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13775         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13776         * gst/elements/gsttypefindelement.c: (free_entry):
13777         * gst/gst.c:
13778         * gst/gst.h:
13779         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13780         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13781         (gst_bin_set_index), (gst_bin_set_element_sched),
13782         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13783         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13784         (gst_bin_iterate_elements), (iterate_child_recurse),
13785         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13786         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13787         (compare_interface), (gst_bin_get_by_interface),
13788         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13789         * gst/gstbin.h:
13790         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13791         (gst_buffer_default_free), (gst_buffer_default_copy),
13792         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13793         (gst_buffer_create_sub):
13794         * gst/gstbuffer.h:
13795         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13796         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13797         (gst_caps_unref), (gst_static_caps_get),
13798         (gst_caps_remove_and_get_structure), (gst_caps_append),
13799         (gst_caps_append_structure), (gst_caps_remove_structure),
13800         (gst_caps_copy_nth), (gst_caps_set_simple),
13801         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13802         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13803         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13804         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13805         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13806         (gst_caps_structure_figure_out_union),
13807         (gst_caps_switch_structures), (gst_caps_do_simplify),
13808         (gst_caps_replace), (gst_caps_from_string),
13809         (gst_caps_copy_conditional):
13810         * gst/gstcaps.h:
13811         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13812         (_gst_clock_id_free), (gst_clock_id_unref),
13813         (gst_clock_id_compare_func), (gst_clock_id_wait),
13814         (gst_clock_id_wait_async), (gst_clock_class_init),
13815         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13816         (gst_clock_get_time), (gst_clock_set_time_adjust),
13817         (gst_clock_set_property), (gst_clock_get_property):
13818         * gst/gstclock.h:
13819         * gst/gstcompat.h:
13820         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13821         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13822         * gst/gstdata.h:
13823         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13824         (gst_element_requires_clock), (gst_element_provides_clock),
13825         (gst_element_set_clock), (gst_element_clock_wait),
13826         (gst_element_wait), (gst_element_set_time_delay),
13827         (gst_element_is_indexable), (gst_element_add_pad),
13828         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13829         (pad_compare_name), (gst_element_get_static_pad),
13830         (gst_element_request_pad), (gst_element_get_request_pad),
13831         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13832         (gst_element_class_get_pad_template_list),
13833         (gst_element_class_get_pad_template), (gst_element_error_func),
13834         (gst_element_get_random_pad), (gst_element_get_event_masks),
13835         (gst_element_send_event), (gst_element_seek),
13836         (gst_element_get_query_types), (gst_element_query),
13837         (gst_element_get_formats), (gst_element_convert),
13838         (gst_element_is_locked_state), (gst_element_set_locked_state),
13839         (gst_element_sync_state_with_parent), (gst_element_change_state),
13840         (gst_element_finalize), (gst_element_yield),
13841         (gst_element_interrupt), (gst_element_set_scheduler),
13842         (gst_element_get_scheduler), (gst_element_set_loop_function):
13843         * gst/gstelement.h:
13844         * gst/gstevent.h:
13845         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13846         (gst_format_get_by_nick), (gst_format_get_details),
13847         (gst_format_iterate_definitions):
13848         * gst/gstformat.h:
13849         * gst/gstindex.c: (gst_index_gtype_resolver):
13850         * gst/gstinfo.c:
13851         * gst/gstinfo.h:
13852         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13853         (gst_mem_chunk_free):
13854         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13855         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13856         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13857         (gst_object_dispatch_properties_changed),
13858         (gst_object_set_name_default), (gst_object_set_name),
13859         (gst_object_get_name), (gst_object_set_name_prefix),
13860         (gst_object_get_name_prefix), (gst_object_set_parent),
13861         (gst_object_get_parent), (gst_object_unparent),
13862         (gst_object_check_uniqueness), (gst_object_save_thyself),
13863         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13864         (gst_object_set_property), (gst_object_get_property),
13865         (gst_object_get_path_string):
13866         * gst/gstobject.h:
13867         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13868         (gst_real_pad_init), (gst_real_pad_get_property),
13869         (gst_pad_custom_new), (gst_pad_get_direction),
13870         (gst_pad_set_active), (gst_pad_is_active),
13871         (gst_pad_set_event_function), (gst_pad_is_linked),
13872         (gst_pad_link_free), (gst_pad_link_intersect),
13873         (gst_pad_link_fixate), (gst_pad_set_caps),
13874         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13875         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13876         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13877         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13878         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13879         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13880         (gst_pad_realize), (gst_pad_get_allowed_caps),
13881         (gst_real_pad_dispose), (gst_real_pad_finalize),
13882         (gst_pad_collectv), (gst_pad_collect_valist),
13883         (gst_pad_template_dispose), (gst_pad_template_new),
13884         (gst_pad_get_internal_links):
13885         * gst/gstpad.h:
13886         * gst/gstpipeline.c: (gst_pipeline_dispose),
13887         (gst_pipeline_change_state):
13888         * gst/gstpipeline.h:
13889         * gst/gstplugin.c:
13890         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13891         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13892         * gst/gstpluginfeature.h:
13893         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13894         * gst/gstquery.c: (_gst_query_type_initialize),
13895         (gst_query_type_register), (gst_query_type_get_by_nick),
13896         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13897         * gst/gstquery.h:
13898         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13899         * gst/gstscheduler.c: (gst_scheduler_add_element),
13900         (gst_scheduler_factory_create):
13901         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13902         (gst_structure_free), (gst_structure_set_name),
13903         (gst_structure_id_set_value), (gst_structure_set_value),
13904         (gst_structure_set_valist), (gst_structure_remove_field),
13905         (gst_structure_remove_fields),
13906         (gst_structure_remove_fields_valist),
13907         (gst_structure_remove_all_fields), (gst_structure_foreach),
13908         (gst_structure_map_in_place),
13909         (gst_caps_structure_fixate_field_nearest_int),
13910         (gst_caps_structure_fixate_field_nearest_double):
13911         * gst/gststructure.h:
13912         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13913         (gst_system_clock_init), (gst_system_clock_dispose),
13914         (gst_system_clock_async_thread),
13915         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13916         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13917         * gst/gstsystemclock.h:
13918         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13919         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13920         * gst/gsttaginterface.c:
13921         * gst/gstthread.c: (gst_thread_dispose),
13922         (gst_thread_release_children_locks), (gst_thread_change_state),
13923         (gst_thread_main_loop):
13924         * gst/gsttrashstack.h:
13925         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13926         * gst/gsttypes.h:
13927         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13928         (gst_element_request_pad), (gst_element_get_pad_from_template),
13929         (gst_element_request_compatible_pad),
13930         (gst_element_get_compatible_pad_filtered),
13931         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13932         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13933         (gst_element_link_many), (gst_element_link),
13934         (gst_element_link_pads), (gst_element_unlink_pads),
13935         (gst_element_unlink_many), (gst_element_unlink),
13936         (gst_pad_can_link_filtered), (gst_pad_can_link),
13937         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13938         (gst_object_default_error), (gst_bin_add_many),
13939         (gst_bin_remove_many), (gst_element_populate_std_props),
13940         (gst_element_class_install_std_props), (gst_buffer_merge),
13941         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13942         (link_fold_func), (gst_pad_proxy_setcaps):
13943         * gst/gstutils.h:
13944         * gst/gstvalue.c: (gst_value_deserialize_string):
13945         * gst/parse/grammar.y:
13946         * gst/schedulers/gstbasicscheduler.c:
13947         (gst_basic_scheduler_cothreaded_chain),
13948         (gst_basic_scheduler_chain_recursive_add),
13949         (gst_basic_scheduler_pad_link):
13950         * gst/schedulers/gstoptimalscheduler.c:
13951         (get_group_schedule_function),
13952         (gst_opt_scheduler_state_transition),
13953         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13954         * libs/gst/bytestream/bytestream.c:
13955         * libs/gst/dataprotocol/dataprotocol.c:
13956         (gst_dp_header_from_buffer):
13957         * po/nb.po:
13958         * po/ru.po:
13959         * tests/threadstate/threadstate2.c: (eos):
13960         * tools/gst-compprep.c: (main):
13961         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13962         (print_pad_info), (print_children_info):
13963         * tools/gst-launch.c: (idle_func), (main):
13964         * tools/gst-md5sum.c: (idle_func), (main):
13965         * tools/gst-xmlinspect.c: (print_element_info):
13966         First THREADED backport attempt, focusing on adding locks and
13967         making sure the API is threadsafe. Needs more work. More docs
13968         follow this week.
13969
13970 2005-02-24  Andy Wingo  <wingo@pobox.com>
13971
13972         * tests/bench-complexity.scm:
13973         * tests/complexity.gnuplot: New files, good for running complexity
13974         benchmarks.
13975
13976         * tests/Makefile.am:
13977         * tests/complexity.c: New test, sets up N elements, at each level
13978         teeing into M streams per element. Eeeenteresting.
13979
13980         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13981         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13982         running bench-mass_elements.scm.
13983
13984         * tests/bench-mass_elements.scm: New script, runs mass_elements
13985         for various numbers of identities, outputting the results to a
13986         file. Requires guile 1.6. Just for testing.
13987
13988 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13989
13990         * gst/schedulers/fairscheduler.c:
13991           compile with debug disabled
13992
13993 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13994
13995         * configure.ac:
13996           hunting season on 0.9 is now OPEN