c0f9104d0a9ba6d04301fecb798f367d40969319
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * docs/manual/appendix-integration.xml:
4           Update GNOME integration section to use gst_init_get_option_group()
5           instead of the old popt stuff (#322911). Also, GNOME applications
6           should  now use gconf*sink and gconf*src instead of the old gconf
7           helper lib we had.
8
9 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
10
11
12         * docs/gst/gstreamer-docs.sgml:
13         * docs/gst/gstreamer-sections.txt:
14         * docs/libs/gstreamer-libs-sections.txt:
15           add new API entries to the docs
16         * libs/gst/controller/Makefile.am:
17         * libs/gst/controller/gstcontroller.c:
18         * libs/gst/controller/gstcontroller.h:
19         * libs/gst/controller/gstcontrollerprivate.h:
20         * libs/gst/controller/gsthelper.c:
21         * libs/gst/controller/gstinterpolation.c:
22           move private structs to private header
23         * po/README:
24           gstreamer-0.7 -> gstreamer-0.10
25         * tests/check/libs/struct_i386.h:
26           remove private structs
27
28 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
29
30         * plugins/indexers/Makefile.am:
31           Fixes as part of #317048
32
33 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
34
35         * plugins/indexers/Makefile.am:
36           fix #316086 - compilation when mmap is missing
37
38 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
39
40         * libs/gst/base/gstbasesink.c:
41           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
42           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
43         * win32/common/config.h:
44           added some defines GST_MAJORMINOR and HOST_CPU
45         * win32/common/libgstbase.def:
46         * win32/common/libgstreamer.def:
47           added some exported functions.
48
49 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
50
51         * libs/gst/controller/gstcontroller.c:
52         (gst_controlled_property_set_interpolation_mode),
53         (gst_controlled_property_new):
54         * libs/gst/controller/gstcontroller.h:
55         * libs/gst/controller/gstinterpolation.c:
56         (interpolate_none_get_string_value_array):
57           make G_TYPE_STRING controlable
58
59 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
60
61         * tools/README:
62         * tools/gst-feedback.1.in:
63         * tools/gst-inspect.1.in:
64         * tools/gst-launch.1.in:
65         * tools/gst-md5sum.1.in:
66         * tools/gst-typefind.1.in:
67         * tools/gst-xmlinspect.1.in:
68         * tools/gst-xmllaunch.1.in:
69           cleanup man-pages, remove reference to gst-register, document env-vars
70
71 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
72
73         * gst/gstbuffer.c: (gst_buffer_span):
74           gst_buffer_span should copy the timestamp of the first buffer
75           if they were both originally overlapping subbuffers of the 
76           same parent, using the same logic as the 'slow copy' case.
77
78 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
79
80         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
81           Need to awaken ALL the pads when we pop a buffer, otherwise
82           collectpads only works when there is 2 input streams.
83
84 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
85
86         * docs/random/ensonic/media-device-daemon.txt:
87           more ideas (dbus)
88         * gst/gstbuffer.c:
89           fix doc example, add clarification
90         * tools/gst-launch.1.in:
91           add initial info about GST_PLUGIN_PATH, needs more work
92
93 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
94
95         * docs/manual/basics-bins.xml:
96         * docs/manual/basics-elements.xml:
97         * docs/manual/intro-basics.xml:
98           Some more minor docs additions and updates.
99
100 2006-01-11  Wim Taymans  <wim@fluendo.com>
101
102         * docs/manual/basics-bins.xml:
103         * docs/manual/basics-elements.xml:
104         Some small fixes as pointed out by Ser-ver on IRC.
105
106 2006-01-10  Edward Hervey  <edward@fluendo.com>
107
108         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
109         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
110         the single-segment mode.
111
112 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
113
114         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
115
116         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
117         (gst_base_src_perform_seek), (gst_base_src_send_event),
118         (gst_base_src_set_property), (gst_base_src_get_property),
119         (gst_base_src_loop), (gst_base_src_start),
120         (gst_base_src_activate_push):
121         * libs/gst/base/gstbasesrc.h:
122           Name (private) union; makes Sun's Forte compiler happy (#324900).
123
124 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
125
126         * README:
127           gst-register is gone.
128
129 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
130
131         * gst/gstvalue.c: (_gst_value_initialize):
132           make the G_TYPE_DATE instantiation work if debug is disabled
133
134 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
135
136         * gst/gstmessage.c: (gst_message_parse_tag),
137         (gst_message_parse_error), (gst_message_parse_warning):
138           Don't crash when return location for error/warning debug
139           string is NULL; add fact that return locations can be
140           NULL to docs where appropriate.
141
142 2006-01-05  Wim Taymans  <wim@fluendo.com>
143
144         * gst/gstplugin.c: (gst_plugin_load_file):
145         Replace strdup by g_strdup.
146
147 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
148
149         * docs/pwg/advanced-types.xml:
150           fix doc borkage
151
152 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
153
154         submitted by: Abel Cheung
155
156         * po/LINGUAS:
157         * po/zh_TW.po:
158           Added Chinese (traditional) translation
159
160 2006-01-04  Wim Taymans  <wim@fluendo.com>
161
162         * docs/manual/basics-pads.xml:
163         * docs/plugins/Makefile.am:
164         * docs/plugins/gstreamer-plugins-docs.sgml:
165         * docs/plugins/gstreamer-plugins-sections.txt:
166         * docs/pwg/advanced-clock.xml:
167         * docs/pwg/advanced-scheduling.xml:
168         * docs/pwg/advanced-types.xml:
169         * plugins/elements/gstfdsink.c:
170         * plugins/elements/gstfdsrc.c:
171         * plugins/elements/gstfdsrc.h:
172         * plugins/elements/gstidentity.c: (gst_identity_class_init):
173         * plugins/elements/gstidentity.h:
174         * plugins/elements/gstqueue.h:
175         * plugins/elements/gsttee.c:
176         * plugins/elements/gsttee.h:
177         * plugins/elements/gsttypefindelement.c:
178         (gst_type_find_element_class_init):
179         * plugins/elements/gsttypefindelement.h:
180         Small updates to various docs.
181         Added core plugins to docs.
182
183 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
184
185         * common/gst.supp:
186           add a suppression for liboil's uninitialized variable
187
188 2006-01-02  James Livingston  <jrl at ids dot org dot au>
189
190         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
191
192         * gst/gstutils.h:
193           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
194           macro, so that gcc doesn't complain if the -Wmissing-prototypes
195           compiler switch is being used (#325429).
196
197 >>>>>>> 1.2159
198 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
199
200         * gst/gstbin.c: (gst_bin_query):
201           Disable duration query caching in bins until it gets
202           fixed (see #324807).
203
204 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
205
206         * tools/gst-inspect.c: (print_element_properties_info):
207           Handle properties of POINTER and BOXED type.
208
209 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
210
211         * gst/gst.c: (init_post):
212           Init tags stuff and some other things before loading
213           any static plugins (there may be other static plugins
214           than just the GStreamer ones, and they may want to
215           register their own tags or formats or whatever, and
216           preferably without segfaulting).
217
218         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
219           Print at least a warning in the debug logs if we drop a
220           query just because we don't know how to adjust the value
221           in the particular format.
222
223 2005-12-24  David Schleef  <ds@schleef.org>
224
225         * tools/gstreamer-completion:
226           Replacement for gst-complete written in sh and sed.  Only
227           completes names of features, but that's 90% of what I want
228           it for.  Properties are not available in registry.xml.  (Maybe
229           they should be...)
230
231 === release 0.10.1 ===
232
233 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
234
235         * configure.ac:
236           releasing 0.10.1, "Nollaig chridheil"
237
238 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
239
240         * docs/faq/cvs.xml:
241           Add missing quote, should be make ERROR_CFLAGS="".
242
243 2005-12-20  Wim Taymans  <wim@fluendo.com>
244
245         * docs/design/part-trickmodes.txt:
246         More documentation on trickmodes.
247
248 2005-12-20  Edward Hervey  <edward@fluendo.com>
249
250         * gst/gstcaps.c: (gst_static_caps_get_type):
251         * gst/gstcaps.h:
252           API addition: GST_TYPE_STATIC_CAPS
253         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
254         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
255         * gst/gstpadtemplate.h:
256           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
257         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
258         bindings.
259
260 2005-12-18  Wim Taymans  <wim@fluendo.com>
261
262         * libs/gst/base/gstadapter.c:
263         * libs/gst/base/gstadapter.h:
264         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
265         (gst_base_sink_get_position):
266         * libs/gst/base/gstbasesink.h:
267         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
268         (gst_base_src_default_query), (gst_base_src_default_do_seek),
269         (gst_base_src_do_seek), (gst_base_src_perform_seek),
270         (gst_base_src_send_event), (gst_base_src_update_length),
271         (gst_base_src_get_range), (gst_base_src_loop),
272         (gst_base_src_start):
273         * libs/gst/base/gstbasesrc.h:
274         * libs/gst/base/gstbasetransform.h:
275         * libs/gst/base/gstcollectpads.h:
276         * libs/gst/base/gstpushsrc.c:
277         * libs/gst/base/gstpushsrc.h:
278         * libs/gst/dataprotocol/dataprotocol.c:
279         * libs/gst/dataprotocol/dataprotocol.h:
280         * libs/gst/net/gstnetclientclock.h:
281         * libs/gst/net/gstnettimeprovider.h:
282         Documentation updates.
283
284 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
285
286         * docs/manual/basics-helloworld.xml:
287           Remove superfluous closing bracket in helloworld example.
288
289 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
290
291         * tools/gst-launch.1.in:
292           Update gst-launch man page; add a section with useful
293           environment variables. Fixes #323882.
294
295 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
296
297         * gst/gst.c:
298         * gst/gst_private.h:
299           change some char* into char[]
300
301 2005-12-16  Wim Taymans  <wim@fluendo.com>
302
303         * gst/gstregistryxml.c: (load_feature):
304         Cleanups.
305         Don't use g_object_unref on GstObjects so that we avoid
306         leaks on unsafe glibs.
307
308 2005-12-16  Wim Taymans  <wim@fluendo.com>
309
310         * gst/gstbin.c: (gst_bin_recalc_state):
311         Small doc updates.
312
313 2005-12-16  Wim Taymans  <wim@fluendo.com>
314
315         * common/check.mak:
316         Added make forever target for check.
317
318 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
319
320         * gst/gst.c: (init_post):
321           make the registry cache file HOST_CPU-dependent
322
323 2005-12-16  Andy Wingo  <wingo@pobox.com>
324
325         * plugins/elements/gstbufferstore.c
326         (gst_buffer_store_cleared_func): Pay attention to g_list_append
327         return value.
328
329         * tests/check/gst/gstobject.c
330         (test_fake_object_name_threaded_unique): Pay attention to
331         g_list_sort return value.
332
333 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
334
335         * tools/gst-feedback-m.m:
336           Update for 0.9/0.10 (fixes #323870).
337
338 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
339
340         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
341           Fix lcopy for mini objects, the mini object needs to be ref'ed.
342           
343         * tests/check/gst/gstminiobject.c: (my_foo_init),
344         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
345         (test_value_collection), (gst_mini_object_suite):
346           Add test to ensure refcounts end up as expected when passing
347           GstMiniObjects through g_object_get() and g_object_set().
348
349 2005-12-14  Julien MOUTTE  <julien@moutte.net>
350
351         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
352         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
353         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
354         of collectpads. This version removes a lot of races without
355         touching API/ABI. Yay !
356
357 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
358
359         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
360           Don't allow activation of a srcpad in pull_range if it has no
361           getrange function.
362           Change some debug statements to be a little clearer
363
364         * plugins/elements/gsttypefindelement.c:
365         (gst_type_find_handle_src_query):
366           Check that we have a peer before executing queries thereupon.
367
368         * tests/examples/metadata/read-metadata.c: (message_loop):
369           Use gst_bus_pop instead of gst_bus_poll when we just want it to
370           immediately return us any available message with 0 timeout.
371
372 2005-12-12  Michael Smith  <msmith@fluendo.com>
373
374         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
375           Don't unref factories after calling them.
376         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
377         * plugins/elements/gsttypefindelement.c:
378         (gst_type_find_element_chain):
379           Free lists of factories after using them. Fixing typefinding memory
380           leaks.
381
382 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
383
384         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
385         (gst_plugin_feature_load):
386           more meaningful debug output
387         * configure.ac:
388         * tests/Makefile.am:
389         * tests/old/examples/Makefile.am:
390           make make distcheck happy again
391
392 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
393
394         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
395           Catch the special case where we are operating chain-based,
396           but the downstream peer pad has no chain function. Emit a
397           custom error message in this case instead of letting the
398           core generate one implying that this is some sort of core
399           bug. It's not, it just means that whatever got plugged
400           into the pipeline downstream when we announced the type
401           can only operate pull-based, while our source can only
402           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
403           Error string has not been marked for translation yet, as
404           it probably needs some more work first.
405
406         (gst_type_find_element_get_best_possibility):
407           Add helper function to find the best of all available
408           found possibilities that qualify given the min. threshold.
409
410         (gst_type_find_element_handle_event):
411           Fix the case where we get an EOS while still in TYPEFIND
412           mode (we want to chose the best of all possible types,
413           not just the first type that happens to be in our unsorted
414           list of possible types).
415
416         (gst_type_find_element_chain):
417           Make sure we return GST_FLOW_ERROR when we errored out
418           in stop_typefinding(); also, don't just find the best of
419           all found type entries and then use the last examined
420           type entry, but actually use the best entry.
421
422 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
423
424         * tests/examples/typefind/typefind.c: (type_found):
425         * tests/examples/xml/runxml.c: (xml_loaded):
426           More gcc4 fixes and a mem leak fix.
427
428 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
429
430         * tests/examples/xml/createxml.c: (object_saved):
431           gcc 4 fixes
432
433 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
434
435         * tests/Makefile.am:
436           enable the examples even more
437
438 2005-12-12  Andy Wingo  <wingo@pobox.com>
439
440         * libs/gst/net/gstnettimeprovider.c
441         (gst_net_time_provider_class_init, gst_net_time_provider_init)
442         (gst_net_time_provider_set_property)
443         (gst_net_time_provider_get_property):
444         API addition: Export "active" as a GObject property.
445         (gst_net_time_provider_thread): Only respond to time queries if
446         the time provider is active.
447
448         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
449         NetTimeProvider, preserving binary compat.
450
451 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
452
453         * tests/examples/controller/audio-example.c: (main):
454         * tests/examples/launch/Makefile.am:
455           convert comments again
456
457 2005-12-12  Wim Taymans  <wim@fluendo.com>
458
459         * libs/gst/base/gstpushsrc.c:
460         Fix typo.
461
462 2005-12-12  Wim Taymans  <wim@fluendo.com>
463
464         * docs/libs/gstreamer-libs-sections.txt:
465         Added new symbol to docs.
466
467         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
468         (gst_base_src_init), (gst_base_src_set_format),
469         (gst_base_src_default_query), (gst_base_src_query),
470         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
471         (gst_base_src_perform_seek), (gst_base_src_send_event),
472         (gst_base_src_default_event), (gst_base_src_event_handler),
473         (gst_base_src_set_property), (gst_base_src_get_property),
474         (gst_base_src_wait), (gst_base_src_do_sync),
475         (gst_base_src_update_length), (gst_base_src_get_range),
476         (gst_base_src_check_get_range), (gst_base_src_loop),
477         (gst_base_src_default_negotiate), (gst_base_src_start),
478         (gst_base_src_activate_push), (gst_base_src_activate_pull),
479         (gst_base_src_change_state):
480         * libs/gst/base/gstbasesrc.h:
481         Implement seeking to other formats than _BYTES.
482         Implement more seeking methods correctly.
483         Doc updates.
484         Added query vmethod.
485         Added do_seek vmethod to make life easier for subclasses
486         when seeking.
487         API addition: gst_base_src_set_format()
488
489 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
490
491         * tests/examples/Makefile.am:
492           added that too
493
494 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
495
496         * configure.ac:
497         * docs/random/ensonic/media-device-daemon.txt:
498         * tests/examples/controller/.cvsignore:
499         * tests/examples/controller/Makefile.am:
500         * tests/examples/controller/audio-example.c: (main):
501         * tests/examples/helloworld/.cvsignore:
502         * tests/examples/helloworld/Makefile.am:
503         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
504         * tests/examples/launch/.cvsignore:
505         * tests/examples/launch/Makefile.am:
506         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
507         * tests/examples/metadata/.cvsignore:
508         * tests/examples/metadata/Makefile.am:
509         * tests/examples/metadata/read-metadata.c: (message_loop),
510         (make_pipeline), (print_tag), (main):
511         * tests/examples/queue/.cvsignore:
512         * tests/examples/queue/Makefile.am:
513         * tests/examples/queue/queue.c: (event_loop), (main):
514         * tests/examples/typefind/.cvsignore:
515         * tests/examples/typefind/Makefile.am:
516         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
517         (main):
518         * tests/examples/xml/.cvsignore:
519         * tests/examples/xml/Makefile.am:
520         * tests/examples/xml/createxml.c: (object_saved), (main):
521         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
522         * tests/old/examples/Makefile.am:
523         * tests/old/examples/TODO:
524         * tests/old/examples/controller/.cvsignore:
525         * tests/old/examples/controller/Makefile.am:
526         * tests/old/examples/controller/audio-example.c:
527         * tests/old/examples/helloworld/.cvsignore:
528         * tests/old/examples/helloworld/Makefile.am:
529         * tests/old/examples/helloworld/helloworld.c:
530         * tests/old/examples/launch/.cvsignore:
531         * tests/old/examples/launch/Makefile.am:
532         * tests/old/examples/launch/mp3parselaunch.c:
533         * tests/old/examples/launch/mp3play:
534         * tests/old/examples/manual/Makefile.am:
535         * tests/old/examples/metadata/Makefile.am:
536         * tests/old/examples/metadata/read-metadata.c:
537         * tests/old/examples/queue/.cvsignore:
538         * tests/old/examples/queue/Makefile.am:
539         * tests/old/examples/queue/queue.c:
540         * tests/old/examples/typefind/.cvsignore:
541         * tests/old/examples/typefind/Makefile.am:
542         * tests/old/examples/typefind/typefind.c:
543         * tests/old/examples/xml/.cvsignore:
544         * tests/old/examples/xml/Makefile.am:
545         * tests/old/examples/xml/createxml.c:
546         * tests/old/examples/xml/runxml.c:
547           applied some simple fixing to some examples
548           re-enabled the working examples
549
550 2005-12-12  Wim Taymans  <wim@fluendo.com>
551
552         * gst/gstsegment.c: (gst_segment_init),
553         (gst_segment_set_last_stop), (gst_segment_set_seek),
554         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
555         (gst_segment_to_running_time):
556         Added more documentation.
557         Make sure the last_pos value is updated properly.
558         Make sure to_stream_time and to_running_time don't
559         operate on wrong values.
560
561         * tests/check/gst/gstsegment.c: (GST_START_TEST):
562         Update check.
563
564 2005-12-12  Michael Smith  <msmith@fluendo.com>
565
566         * plugins/elements/gsttypefindelement.c: (free_entry),
567         (gst_type_find_element_chain):
568           Now that we're not leaking factories, make sure we keep references
569           to them while we need them.
570
571 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
572
573         * tests/check/gst/struct_i386.h:
574           ifdef out the XML structs
575
576 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
577
578         * gst/gstvalue.c: (gst_value_transform_double_fraction):
579           floor is not needed, F is always positive; this obviates the
580           need for adding -lm when building without libxml
581
582 2005-12-12  Wim Taymans  <wim@fluendo.com>
583
584         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
585         Take current playback rate into account when reporting
586         the position.
587
588 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
589
590         * docs/manual/mime-world.fig:
591           Let's try this again, this time with a file that is
592           actually in XFig format.
593
594 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
595
596         * docs/manual/mime-world.fig:
597           Add audioconvert element to diagram so that it
598           matches the text and the code (fixes #319526).
599
600 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
601
602         * docs/pwg/building-chainfn.xml:
603         * docs/pwg/building-pads.xml:
604         * docs/pwg/building-state.xml:
605         * docs/pwg/other-source.xml:
606           Update state change stuff for 0.10 (fixes #322969).
607
608 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
609
610         * docs/manual/advanced-dataaccess.xml:
611         * docs/manual/appendix-checklist.xml:
612         * docs/manual/appendix-programs.xml:
613         * docs/manual/basics-pads.xml:
614         * docs/manual/highlevel-components.xml:
615         * docs/manual/manual.xml:
616           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
617           add converters in front of pipelines; remove curly
618           brackets for threads stuff, they no longer exist; use
619           GST_TYPE_FRACTION for framerates; update some pieces of
620           code to 0.10, but there's plenty more to do.
621
622         * docs/manual/appendix-porting.xml:
623           Expand on asynchroneous state changes; s/0.9/0.10/;
624           mention disappearance of gst_init_get_popt_table()
625           (fixes #322916).
626
627 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
628
629         * docs/faq/using.xml:
630           Spider no longer exists, and neither does gst-launch-ext.
631           Update examples to use decodebin and playbin and put
632           converters in front of sinks (fixes #323726).
633
634 2005-12-09  Michael Smith  <msmith@fluendo.com>
635
636         * plugins/elements/gsttypefindelement.c: (find_peek),
637         (gst_type_find_element_chain):
638           Fix leaking element factories in typefinding.
639           Fix problem where we forgot about a probable type on non-seekable
640           files, and thus later mis-typefound it.
641
642 2005-12-09  Michael Smith  <msmith@fluendo.com>
643
644         * common/m4/gst-makecontext.m4:
645         * common/m4/gst-mcsc.m4:
646         * configure.ac:
647         * win32/common/config.h:
648         * win32/common/config.h.in:
649           Remove makecontext stuff; not used in 0.10 and causes problems on
650           HPUX according to bug #322441
651
652 2005-12-07  Wim Taymans  <wim@fluendo.com>
653
654         * tests/check/Makefile.am:
655         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
656         (main):
657         * tests/check/libs/struct_i386.h:
658         Added ABI check for libs
659
660 2005-12-07  Wim Taymans  <wim@fluendo.com>
661
662         * tests/check/Makefile.am:
663         And add the struct_i386.h to dist.
664
665 2005-12-07  Wim Taymans  <wim@fluendo.com>
666
667         * tests/check/Makefile.am:
668         * tests/check/gst/.cvsignore:
669         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
670         (main):
671         * tests/check/gst/struct_i386.h:
672         Added check for ABI compatibility.
673
674 2005-12-07  Wim Taymans  <wim@fluendo.com>
675
676         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
677         (gst_fake_src_get_times), (gst_fake_src_create):
678         Fix broken sync option, fixes #323259
679
680 2005-12-07  Wim Taymans  <wim@fluendo.com>
681
682         * gst/gstbuffer.c:
683         Small docs update.
684
685         * gst/gstcaps.c: (gst_caps_is_equal):
686         Don't assert on NULL <--> X. Fixes #323260
687
688         * gst/gstminiobject.c: (gst_mini_object_replace):
689         If we're doing atomic operations, we might just as well use
690         the proper way to get an atomic pointer.
691
692         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
693         Clean up debugging.
694
695 2005-12-07  Michael Smith  <msmith@fluendo.com>
696
697         * gst/parse/grammar.y:
698           Remove handling of { } for threads.
699
700 2005-12-06  David Schleef  <ds@schleef.org>
701
702         * libs/gst/base/gstbasetransform.c: speling fix.
703
704 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
705
706         * docs/libs/tmpl/gstdataprotocol.sgml:
707         * docs/random/omega/testing/gstobject.c:
708         * gst/gst.c:
709         * gst/gstclock.c:
710         * gst/gstelement.c:
711         * gst/gstelementfactory.c:
712         * gst/gsterror.c:
713         * gst/gstevent.c:
714         * gst/gstghostpad.c:
715         * gst/gstinfo.c:
716         * gst/gstpadtemplate.c:
717         * gst/gstregistryxml.c:
718         * gst/gsttaglist.c:
719         * gst/gsttagsetter.c:
720         * gst/gsttypefind.c:
721         * gst/gstvalue.c:
722         * libs/gst/base/gstbasesrc.c:
723         * libs/gst/net/gstnetclientclock.c:
724         * libs/gst/net/gstnettimeprovider.c:
725         * plugins/elements/gstfakesrc.c:
726         * plugins/elements/gstfdsrc.c:
727         * plugins/elements/gstfilesrc.c:
728         * plugins/elements/gstidentity.c:
729         * plugins/elements/gstqueue.c:
730         * plugins/elements/gsttypefindelement.c:
731         * plugins/indexers/gstfileindex.c:
732         * plugins/indexers/gstmemindex.c:
733         * tests/check/gst/gsttag.c:
734         * tests/old/examples/cutter/cutter.c:
735         * tests/old/examples/mixer/mixer.c:
736         * tests/old/examples/xml/runxml.c: (main):
737         * tests/old/testsuite/caps/normalisation.c:
738         * tests/old/testsuite/debug/global.c:
739         * tests/old/testsuite/parse/parse1.c:
740         * tools/gst-xmlinspect.c:
741         * win32/common/dirent.c:
742           expand tabs
743
744 === release 0.10.0 ===
745
746 2005-12-05   <thomas (at) apestaart (dot) org>
747
748         * configure.ac:
749           releasing 0.10.0, "Maroilles"
750
751 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
752
753         submitted by: Funda Wang <fundawang@linux.net.cn>
754
755         * po/LINGUAS:
756         * po/zh_CN.po:
757           added Chinese (Traditional) translation
758
759 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
760
761         * docs/gst/gstreamer-sections.txt:
762         * docs/libs/tmpl/gstdataprotocol.sgml:
763         * docs/random/thomasvs/TODO:
764         * gst/gstutils.c:
765         * gst/gstutils.h:
766           fix docs
767
768 2005-12-05  Andy Wingo  <wingo@pobox.com>
769
770         patch by: Wim Taymans <wim@fluendo.com>
771
772         * libs/gst/base/gstbasetransform.c
773         (gst_base_transform_prepare_output_buf)
774         (gst_base_transform_buffer_alloc):
775         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
776         alloc_buffer_and_set_caps.
777
778         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
779         set_caps on the source pad.
780         (gst_pad_alloc_buffer_and_set_caps): New function, does what
781         alloc_buffer used to do. Fixes #322874.
782
783         * docs/gst/gstreamer-sections.txt: 
784         * docs/design/part-negotiation.txt: 
785         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
786         changes.
787
788 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
789
790         patch by: Sebastien Moutte
791
792         * win32/MANIFEST:
793         * win32/common/config.h.in:
794         * win32/vs6/libgstcontroller.dsp:
795           win32 build fixes
796
797 2005-12-05  Wim Taymans  <wim@fluendo.com>
798
799         * gst/gstcaps.c: (gst_caps_is_equal):
800         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
801         (gst_fake_src_create):
802         Back out previous code changes, leave doc updates, file bugs 
803         instead. 
804
805 2005-12-05  Wim Taymans  <wim@fluendo.com>
806
807         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
808         (gst_fake_src_get_times), (gst_fake_src_create):
809         * plugins/elements/gstfakesrc.h:
810         Fix broken sync code.
811
812 2005-12-05  Wim Taymans  <wim@fluendo.com>
813
814         * gst/gstcaps.c: (gst_caps_is_equal):
815         Comparing NULL against !NULL yields different caps, not a
816         failure.
817
818 2005-12-05  Wim Taymans  <wim@fluendo.com>
819
820         * gst/gstpipeline.c:
821         Fix small typo in docs.
822
823 2005-12-05  Andy Wingo  <wingo@pobox.com>
824
825         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
826
827         * gst/gst.c (init_post): remove hard-coded 0.9 location for
828         registries/plugins with a MAJORMINOR one.
829         (plugin_desc): Rename library from gstcoreleements to
830         staticelements. Fixes #323222.
831
832 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
833
834         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
835           Change debug category to 'collectpads' from 'collect_pads'
836           (fixes #323250).
837
838 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
839
840         patch by: Sebastien Moutte
841
842         * libs/gst/controller/gstinterpolation.c:
843           use convert function for uint64/double
844         * win32/vs6/libgstcontroller.dsp:
845           link to GLib
846
847 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
848
849         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
850         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
851         * gst/gstutils.h:
852         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
853           add tests that seem to show that the guint64/gdouble conversions
854           are correct.
855
856 2005-12-02  Wim Taymans  <wim@fluendo.com>
857
858         * gst/gstregistry.c: (gst_registry_add_path):
859         * gst/gstregistry.h:
860         * gst/gstregistryxml.c:
861         Fix docs again.
862
863 2005-12-02  Wim Taymans  <wim@fluendo.com>
864
865         * gst/gstutils.c: (gst_util_uint64_scale_int64),
866         (gst_util_uint64_scale_int):
867         Small cleanup.
868
869         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
870         Add debug log line.
871
872         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
873         Add FIXME.
874
875 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
876
877         * win32/MANIFEST:
878         * win32/common/config.h:
879         * win32/vs6/gstreamer.dsw:
880         * win32/vs6/libgstcoreelements.dsp:
881         * win32/vs6/libgstelements.dsp:
882           renamed core elements plugin
883
884 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
885
886         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
887         (get_candidates):
888           do piece-wise major/minor comparison so 0.9 < 0.10
889           also allow .exe extensions for tools
890
891 2005-12-02  Michael Smith  <msmith@fluendo.com>
892
893         * gst/gst.c:
894           Escape a % to make gtkdoc happier; bug 322958.
895
896 === release 0.9.7 ===
897
898 2005-12-01   <thomas (at) apestaart (dot) org>
899
900         * configure.ac:
901           releasing 0.9.7, "My Dog Has No Nose"
902
903 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
904
905         * common/gst-xmlinspect.py:
906         * configure.ac:
907         * docs/libs/tmpl/gstdataprotocol.sgml:
908         * docs/random/release:
909         * po/af.po:
910         * po/az.po:
911         * po/bg.po:
912         * po/ca.po:
913         * po/cs.po:
914         * po/de.po:
915         * po/en_GB.po:
916         * po/fr.po:
917         * po/it.po:
918         * po/nb.po:
919         * po/nl.po:
920         * po/ru.po:
921         * po/sq.po:
922         * po/sr.po:
923         * po/sv.po:
924         * po/tr.po:
925         * po/uk.po:
926         * po/vi.po:
927         * win32/common/config.h:
928         * win32/common/config.h.in:
929         * win32/vs6/gst_inspect.dsp:
930         * win32/vs6/gst_launch.dsp:
931         * win32/vs6/libgstbase.dsp:
932         * win32/vs6/libgstelements.dsp:
933         * win32/vs6/libgstreamer.dsp:
934         * win32/vs7/GStreamer.vcproj:
935         * win32/vs7/gst-inspect.vcproj:
936         * win32/vs7/gst-launch.vcproj:
937         * win32/vs7/libgstbase.vcproj:
938           bump GST_MAJORMINOR to 0.10
939           reset libtool version
940
941 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
942
943         * po/LINGUAS:
944         * po/bg.po:
945           Added Bulgarian translation by (Alexander Shopov)
946
947 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
948
949         * tests/check/gst/gstplugin.c:
950           fix test
951
952 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
953
954         * common/gst-xmlinspect.py:
955         * common/gtk-doc-plugins.mak:
956         * configure.ac:
957         * docs/Makefile.am:
958         * docs/gst/Makefile.am:
959         * docs/gst/gstreamer-docs.sgml:
960         * docs/gst/gstreamer-sections.txt:
961         * docs/gst/gstreamer.types:
962         * docs/gst/gstreamer.types.in:
963         * docs/plugins/Makefile.am:
964         * docs/plugins/gstreamer-plugins-docs.sgml:
965         * docs/plugins/gstreamer-plugins-sections.txt:
966         * docs/plugins/gstreamer-plugins.types:
967         * docs/plugins/inspect.stamp:
968         * docs/plugins/inspect/plugin-coreelements.xml:
969         * docs/plugins/inspect/plugin-coreindexers.xml:
970         * docs/plugins/scanobj-build.stamp:
971         * gstreamer.spec.in:
972         * plugins/elements/Makefile.am:
973         * plugins/elements/gstelements.c:
974         * plugins/elements/gstfakesink.c:
975         * plugins/elements/gstfakesrc.c:
976         * plugins/elements/gstfilesink.c:
977         * plugins/elements/gstfilesrc.c:
978         * plugins/elements/gstqueue.c:
979         * plugins/indexers/Makefile.am:
980         * plugins/indexers/gstindexers.c:
981           document core plugins in a separate document just like all the
982           others
983           rename these plugins to something starting with core
984
985 2005-12-01  Andy Wingo  <wingo@pobox.com>
986
987         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
988         padding here before, but it missed the commit.
989
990 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
991
992         * libs/gst/controller/gstinterpolation.c:
993           whitespace prices have crashed, we should feel free to use some now
994           use gst_guint64_to_gdouble
995
996 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
997
998         * libs/gst/controller/gstcontroller.c:
999         * libs/gst/controller/gsthelper.c:
1000         * libs/gst/controller/gstinterpolation.c:
1001         * libs/gst/controller/lib.c:
1002           wrap config.h include
1003
1004 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1005
1006         * docs/gst/gstreamer-sections.txt:
1007           update docs
1008
1009 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1010
1011         * plugins/elements/gstelements.c:
1012         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1013         (gst_fd_sink__class_init), (gst_fd_sink__init),
1014         (gst_fd_sink__chain), (gst_fd_sink__set_property),
1015         (gst_fd_sink__get_property):
1016         * plugins/elements/gstfdsink.h:
1017         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1018         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1019         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1020         (gst_fd_src_unlock), (gst_fd_src_set_property),
1021         (gst_fd_src_get_property), (gst_fd_src_create),
1022         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1023         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1024         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1025         (gst_fd_src_uri_handler_init):
1026         * plugins/elements/gstfdsrc.h:
1027         * plugins/elements/gstqueue.c: (gst_queue_get_type):
1028           more anal cleanup
1029
1030 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1031
1032         * docs/gst/Makefile.am:
1033         * docs/gst/gstreamer.types.in:
1034         * gst/Makefile.am:
1035           fix the docs build
1036
1037 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1038
1039         * configure.ac:
1040         * gst/Makefile.am:
1041         * gst/gst.c:
1042         * gst/gstplugin.h:
1043         * gst/gstregistry.h:
1044         * tests/benchmarks/complexity.c:
1045         * tests/benchmarks/mass-elements.c:
1046         * tests/check/Makefile.am:
1047         * tools/Makefile.am:
1048         * tools/gst-inspect.c:
1049         * tools/gst-xmlinspect.c:
1050           various fixes to make
1051           --disable-nls --disable-registry --disable-loadsave
1052           --disable-parse --disable-gst-debug
1053           work and get the core .so down to 360444 bytes after stripping
1054
1055 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1056
1057         * Makefile.am:
1058         * configure.ac:
1059           descend into tests
1060         * docs/random/thomasvs/TODO:
1061         * tests/Makefile.am:
1062         * tests/README:
1063           add a README
1064
1065 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1066
1067         * win32/GStreamer.vcproj:
1068         * win32/MANIFEST:
1069         * win32/Makefile:
1070         * win32/Makefile.inspect:
1071         * win32/Makefile.launch:
1072         * win32/Makefile.register:
1073         * win32/README.txt:
1074         * win32/gst-inspect.vcproj:
1075         * win32/gst-launch.vcproj:
1076         * win32/gst-register.vcproj:
1077         * win32/gstelements.vcproj:
1078         * win32/gstgetbits.def:
1079         * win32/gstgetbits.vcproj:
1080         * win32/gstreamer-dbg.def:
1081         * win32/gstreamer.def:
1082         * win32/libgstbase.def:
1083         * win32/libgstbase.vcproj:
1084         * win32/link_oldruntime.c:
1085         * win32/mman.c:
1086         * win32/mman.h:
1087         * win32/mman.inl:
1088         * win32/msvc71.sln:
1089           move even more stuff, win32/ is nice and clean now
1090
1091 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1092
1093         * libs/gst/control/.cvsignore:
1094         * win32/MANIFEST:
1095         * win32/config.h:
1096         * win32/dirent.c:
1097         * win32/dirent.h:
1098         * win32/gstbytestream.def:
1099         * win32/gstbytestream.vcproj:
1100         * win32/gstconfig.h:
1101         * win32/gstenumtypes.c:
1102         * win32/gstenumtypes.h:
1103         * win32/gstoptimalscheduler.vcproj:
1104         * win32/gstversion.h:
1105         * win32/gtchar.h:
1106         * win32/testsuite/bins.vcproj:
1107         * win32/testsuite/bytestream.vcproj:
1108         * win32/testsuite/caps.vcproj:
1109         * win32/testsuite/cleanup.vcproj:
1110         * win32/testsuite/clock.vcproj:
1111         * win32/testsuite/debug.vcproj:
1112         * win32/testsuite/dlopen.vcproj:
1113         * win32/testsuite/dynparams.vcproj:
1114         * win32/testsuite/elements.vcproj:
1115         * win32/testsuite/ghostpads.vcproj:
1116         * win32/testsuite/indexers.vcproj:
1117         * win32/testsuite/negotiation.vcproj:
1118         * win32/testsuite/parse.vcproj:
1119         * win32/testsuite/plugin.vcproj:
1120         * win32/testsuite/refcounting.vcproj:
1121         * win32/testsuite/schedulers.vcproj:
1122         * win32/testsuite/states.vcproj:
1123         * win32/testsuite/tags.vcproj:
1124         * win32/testsuite/threads.vcproj:
1125           remove old win32 stuff that isn't maintained and should be
1126           reorganized
1127
1128 2005-11-30  Andy Wingo  <wingo@pobox.com>
1129
1130         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
1131         loading the gst.interfaces python module bork.
1132
1133         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1134         available since GLib 2.2. Fixes #318031.
1135
1136 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1137
1138         * Makefile.am:
1139         * check/.cvsignore:
1140         * check/Makefile.am:
1141         * check/elements/.cvsignore:
1142         * check/elements/fakesrc.c:
1143         * check/elements/fdsrc.c:
1144         * check/elements/identity.c:
1145         * check/generic/.cvsignore:
1146         * check/generic/states.c:
1147         * check/gst-libs/.cvsignore:
1148         * check/gst-libs/controller.c:
1149         * check/gst-libs/gdp.c:
1150         * check/gst/.cvsignore:
1151         * check/gst/capslist.h:
1152         * check/gst/gst.c:
1153         * check/gst/gstbin.c:
1154         * check/gst/gstbuffer.c:
1155         * check/gst/gstbus.c:
1156         * check/gst/gstcaps.c:
1157         * check/gst/gstelement.c:
1158         * check/gst/gstevent.c:
1159         * check/gst/gstghostpad.c:
1160         * check/gst/gstiterator.c:
1161         * check/gst/gstmessage.c:
1162         * check/gst/gstminiobject.c:
1163         * check/gst/gstobject.c:
1164         * check/gst/gstpad.c:
1165         * check/gst/gstpipeline.c:
1166         * check/gst/gstplugin.c:
1167         * check/gst/gstsegment.c:
1168         * check/gst/gststructure.c:
1169         * check/gst/gstsystemclock.c:
1170         * check/gst/gsttag.c:
1171         * check/gst/gstutils.c:
1172         * check/gst/gstvalue.c:
1173         * check/net/.cvsignore:
1174         * check/net/gstnetclientclock.c:
1175         * check/net/gstnettimeprovider.c:
1176         * check/pipelines/.cvsignore:
1177         * check/pipelines/cleanup.c:
1178         * check/pipelines/simple_launch_lines.c:
1179         * check/pipelines/stress.c:
1180         * check/states/.cvsignore:
1181         * check/states/sinks.c:
1182         * configure.ac:
1183         * examples/Makefile.am:
1184         * examples/appreader/.cvsignore:
1185         * examples/appreader/Makefile.am:
1186         * examples/appreader/appreader.c:
1187         * examples/controller/.cvsignore:
1188         * examples/controller/Makefile.am:
1189         * examples/controller/audio-example.c:
1190         * examples/cutter/.cvsignore:
1191         * examples/cutter/Makefile.am:
1192         * examples/cutter/cutter.c:
1193         * examples/cutter/cutter.h:
1194         * examples/events/Makefile.am:
1195         * examples/events/seek.c:
1196         * examples/helloworld/.cvsignore:
1197         * examples/helloworld/Makefile.am:
1198         * examples/helloworld/helloworld.c:
1199         * examples/helloworld2/.cvsignore:
1200         * examples/helloworld2/Makefile.am:
1201         * examples/helloworld2/helloworld2.c:
1202         * examples/launch/.cvsignore:
1203         * examples/launch/Makefile.am:
1204         * examples/launch/mp3parselaunch.c:
1205         * examples/launch/mp3play:
1206         * examples/manual/.cvsignore:
1207         * examples/manual/Makefile.am:
1208         * examples/manual/extract.pl:
1209         * examples/metadata/Makefile.am:
1210         * examples/metadata/read-metadata.c:
1211         * examples/mixer/.cvsignore:
1212         * examples/mixer/Makefile.am:
1213         * examples/mixer/mixer.c:
1214         * examples/mixer/mixer.h:
1215         * examples/pingpong/.cvsignore:
1216         * examples/pingpong/Makefile.am:
1217         * examples/pingpong/pingpong.c:
1218         * examples/plugins/.cvsignore:
1219         * examples/plugins/Makefile.am:
1220         * examples/plugins/example.c:
1221         * examples/plugins/example.h:
1222         * examples/pwg/.cvsignore:
1223         * examples/pwg/Makefile.am:
1224         * examples/pwg/extract.pl:
1225         * examples/queue/.cvsignore:
1226         * examples/queue/Makefile.am:
1227         * examples/queue/queue.c:
1228         * examples/queue2/.cvsignore:
1229         * examples/queue2/Makefile.am:
1230         * examples/queue2/queue2.c:
1231         * examples/queue3/.cvsignore:
1232         * examples/queue3/Makefile.am:
1233         * examples/queue3/queue3.c:
1234         * examples/queue4/.cvsignore:
1235         * examples/queue4/Makefile.am:
1236         * examples/queue4/queue4.c:
1237         * examples/retag/.cvsignore:
1238         * examples/retag/Makefile.am:
1239         * examples/retag/retag.c:
1240         * examples/retag/transcode.c:
1241         * examples/thread/.cvsignore:
1242         * examples/thread/Makefile.am:
1243         * examples/thread/thread.c:
1244         * examples/typefind/.cvsignore:
1245         * examples/typefind/Makefile.am:
1246         * examples/typefind/typefind.c:
1247         * examples/xml/.cvsignore:
1248         * examples/xml/Makefile.am:
1249         * examples/xml/createxml.c:
1250         * examples/xml/runxml.c:
1251         * tests/Makefile.am:
1252         * tests/check/Makefile.am:
1253         * testsuite/.cvsignore:
1254         * testsuite/Makefile.am:
1255         * testsuite/Rules:
1256         * testsuite/caps/.cvsignore:
1257         * testsuite/caps/Makefile.am:
1258         * testsuite/caps/app_fixate.c:
1259         * testsuite/caps/audioscale.c:
1260         * testsuite/caps/caps.c:
1261         * testsuite/caps/caps.h:
1262         * testsuite/caps/caps_strings:
1263         * testsuite/caps/compatibility.c:
1264         * testsuite/caps/deserialize.c:
1265         * testsuite/caps/enumcaps.c:
1266         * testsuite/caps/eratosthenes.c:
1267         * testsuite/caps/filtercaps.c:
1268         * testsuite/caps/fixed.c:
1269         * testsuite/caps/fraction-convert.c:
1270         * testsuite/caps/fraction-multiply-and-zero.c:
1271         * testsuite/caps/intersect2.c:
1272         * testsuite/caps/intersection.c:
1273         * testsuite/caps/normalisation.c:
1274         * testsuite/caps/random.c:
1275         * testsuite/caps/renegotiate.c:
1276         * testsuite/caps/sets.c:
1277         * testsuite/caps/simplify.c:
1278         * testsuite/caps/string-conversions.c:
1279         * testsuite/caps/structure.c:
1280         * testsuite/caps/subtract.c:
1281         * testsuite/caps/union.c:
1282         * testsuite/debug/.cvsignore:
1283         * testsuite/debug/Makefile.am:
1284         * testsuite/debug/category.c:
1285         * testsuite/debug/commandline.c:
1286         * testsuite/debug/global.c:
1287         * testsuite/debug/output.c:
1288         * testsuite/debug/printf_extension.c:
1289         * testsuite/dlopen/.cvsignore:
1290         * testsuite/dlopen/Makefile.am:
1291         * testsuite/dlopen/dlopen_gst.c:
1292         * testsuite/dlopen/loadgst.c:
1293         * testsuite/elements/.cvsignore:
1294         * testsuite/elements/Makefile.am:
1295         * testsuite/elements/gst-inspect-check.in:
1296         * testsuite/elements/struct_i386.h:
1297         * testsuite/elements/struct_size.c:
1298         * testsuite/indexers/.cvsignore:
1299         * testsuite/indexers/Makefile.am:
1300         * testsuite/indexers/cache1.c:
1301         * testsuite/indexers/indexdump.c:
1302         * testsuite/parse/.cvsignore:
1303         * testsuite/parse/Makefile.am:
1304         * testsuite/parse/parse1.c:
1305         * testsuite/parse/parse2.c:
1306         * testsuite/plugin/.cvsignore:
1307         * testsuite/plugin/Makefile.am:
1308         * testsuite/plugin/README:
1309         * testsuite/plugin/dynamic.c:
1310         * testsuite/plugin/linked.c:
1311         * testsuite/plugin/loading.c:
1312         * testsuite/plugin/registry.c:
1313         * testsuite/plugin/static.c:
1314         * testsuite/plugin/static2.c:
1315         * testsuite/plugin/testplugin.c:
1316         * testsuite/plugin/testplugin2.c:
1317         * testsuite/plugin/testplugin2_s.c:
1318         * testsuite/plugin/testplugin_s.c:
1319         * testsuite/refcounting/.cvsignore:
1320         * testsuite/refcounting/Makefile.am:
1321         * testsuite/refcounting/bin.c:
1322         * testsuite/refcounting/element.c:
1323         * testsuite/refcounting/element_pad.c:
1324         * testsuite/refcounting/mainloop.c:
1325         * testsuite/refcounting/mem.c:
1326         * testsuite/refcounting/mem.h:
1327         * testsuite/refcounting/object.c:
1328         * testsuite/refcounting/pad.c:
1329         * testsuite/refcounting/sched.c:
1330         * testsuite/refcounting/thread.c:
1331         * testsuite/states/.cvsignore:
1332         * testsuite/states/Makefile.am:
1333         * testsuite/states/bin.c:
1334         * testsuite/states/locked.c:
1335         * testsuite/states/parent.c:
1336         * testsuite/threads/.cvsignore:
1337         * testsuite/threads/159566.c:
1338         * testsuite/threads/159852.c:
1339         * testsuite/threads/Makefile.am:
1340         * testsuite/threads/queue.c:
1341         * testsuite/threads/signals.c:
1342         * testsuite/threads/staticrec.c:
1343         * testsuite/threads/thread.c:
1344         * testsuite/threads/threadb.c:
1345         * testsuite/threads/threadc.c:
1346         * testsuite/threads/threadd.c:
1347         * testsuite/threads/threade.c:
1348         * testsuite/threads/threadf.c:
1349         * testsuite/threads/threadg.c:
1350         * testsuite/threads/threadh.c:
1351         * testsuite/threads/threadi.c:
1352           move all of these under tests
1353
1354 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1355
1356         * configure.ac:
1357         * tests/Makefile.am:
1358           fix distcheck
1359
1360 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1361
1362         * docs/gst/gstreamer-sections.txt:
1363         * tests/sched/.cvsignore:
1364         * tests/sched/Makefile.am:
1365         * tests/sched/cases/(fs-fs).xml:
1366         * tests/sched/cases/(fs-i-fs).xml:
1367         * tests/sched/cases/(fs-i-i-fs).xml:
1368         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1369         * tests/sched/dynamic-pipeline.c:
1370         * tests/sched/interrupt1.c:
1371         * tests/sched/interrupt2.c:
1372         * tests/sched/interrupt3.c:
1373         * tests/sched/runtestcases:
1374         * tests/sched/runxml.c:
1375         * tests/sched/sched-stress.c:
1376         * tests/sched/sort.c:
1377         * tests/sched/testcases:
1378         * tests/sched/testcases1.tc:
1379         * tests/seeking/.cvsignore:
1380         * tests/seeking/Makefile.am:
1381         * tests/seeking/seeking1.c:
1382         * tests/threadstate/.cvsignore:
1383         * tests/threadstate/Makefile.am:
1384         * tests/threadstate/test1.c:
1385         * tests/threadstate/test2.c:
1386         * tests/threadstate/threadstate1.c:
1387         * tests/threadstate/threadstate2.c:
1388         * tests/threadstate/threadstate3.c:
1389         * tests/threadstate/threadstate4.c:
1390         * tests/threadstate/threadstate5.c:
1391           remove obsolete tests
1392         * configure.ac:
1393         * tests/bench-complexity.scm:
1394         * tests/bench-mass_elements.scm:
1395         * tests/complexity.c:
1396         * tests/complexity.gnuplot:
1397         * tests/instantiate/.cvsignore:
1398         * tests/instantiate/Makefile.am:
1399         * tests/instantiate/caps.c:
1400         * tests/mass_elements.c:
1401         * tests/network-clock-utils.scm:
1402         * tests/network-clock.scm:
1403         * tests/plot-data:
1404         First pass at cleaning up tests/ dir before moving the rest
1405         Combined with CVS surgery
1406
1407 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1408
1409         * po/POTFILES.in:
1410           queue has moved, update
1411
1412 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1413
1414         * docs/gst/gstreamer-sections.txt:
1415           remove double entries from the docs
1416         * gst/gst_private.h:
1417         * gst/gstinfo.c: (_gst_debug_init):
1418           remove the THREAD debug category
1419         * gst/Makefile.am:
1420         * gst/gstqueue.c:
1421         * gst/gstqueue.h:
1422         * docs/gst/gstreamer.types:
1423         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1424         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1425           completely move queue and fix up debugging categories
1426
1427 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1428
1429         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1430           make initialization portable, using LL is not
1431
1432 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1433
1434         * win32/common/gstconfig.h:
1435           add large padding
1436
1437 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1438
1439         * win32/common/libgstreamer.def:
1440           rename symbols; sort base section
1441
1442 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1443
1444         * gst/gstclock.c: (do_linear_regression):
1445           remove crack non-portable handrolled DEBUG macro
1446
1447 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1448
1449         * docs/random/release:
1450           update notes
1451         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1452         (gst_object_flags_get_type), (register_gst_bin_flags),
1453         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1454         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1455         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1456         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1457         (gst_caps_flags_get_type), (register_gst_clock_return),
1458         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1459         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1460         (gst_clock_flags_get_type), (register_gst_state),
1461         (gst_state_get_type), (register_gst_state_change_return),
1462         (gst_state_change_return_get_type), (register_gst_state_change),
1463         (gst_state_change_get_type), (register_gst_element_flags),
1464         (gst_element_flags_get_type), (register_gst_core_error),
1465         (gst_core_error_get_type), (register_gst_library_error),
1466         (gst_library_error_get_type), (register_gst_resource_error),
1467         (gst_resource_error_get_type), (register_gst_stream_error),
1468         (gst_stream_error_get_type), (register_gst_event_type_flags),
1469         (gst_event_type_flags_get_type), (register_gst_event_type),
1470         (gst_event_type_get_type), (register_gst_seek_type),
1471         (gst_seek_type_get_type), (register_gst_seek_flags),
1472         (gst_seek_flags_get_type), (register_gst_format),
1473         (gst_format_get_type), (register_gst_index_certainty),
1474         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1475         (gst_index_entry_type_get_type),
1476         (register_gst_index_lookup_method),
1477         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1478         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1479         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1480         (gst_index_flags_get_type), (register_gst_debug_level),
1481         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1482         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1483         (gst_iterator_result_get_type), (register_gst_iterator_item),
1484         (gst_iterator_item_get_type), (register_gst_message_type),
1485         (gst_message_type_get_type), (register_gst_mini_object_flags),
1486         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1487         (gst_pad_link_return_get_type), (register_gst_flow_return),
1488         (gst_flow_return_get_type), (register_gst_activate_mode),
1489         (gst_activate_mode_get_type), (register_gst_pad_direction),
1490         (gst_pad_direction_get_type), (register_gst_pad_flags),
1491         (gst_pad_flags_get_type), (register_gst_pad_presence),
1492         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1493         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1494         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1495         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1496         (gst_plugin_flags_get_type), (register_gst_rank),
1497         (gst_rank_get_type), (register_gst_query_type),
1498         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1499         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1500         (gst_tag_flag_get_type), (register_gst_task_state),
1501         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1502         (gst_alloc_trace_flags_get_type),
1503         (register_gst_type_find_probability),
1504         (gst_type_find_probability_get_type), (register_gst_uri_type),
1505         (gst_uri_type_get_type), (register_gst_parse_error),
1506         (gst_parse_error_get_type):
1507         * win32/common/gstenumtypes.h:
1508         * win32/common/gstversion.h:
1509           update visual studio generated files
1510
1511 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1512
1513         * win32/vs6/libgstbase.dsp:
1514         * win32/vs6/libgstelements.dsp:
1515           update project files for new locations
1516
1517 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1518
1519         * Makefile.am:
1520           remove some files
1521         * README:
1522           reinstate and update
1523         * DEVEL:
1524         * REQUIREMENTS:
1525           removed
1526         * LICENSE:
1527         * docs/random/LICENSE:
1528           moved to random
1529
1530 2005-11-30  Edward Hervey  <edward@fluendo.com>
1531
1532         * gst/gsttypefind.c: (gst_type_find_register):
1533         * gst/gsttypefind.h:
1534         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1535         (gst_type_find_factory_dispose):
1536         * gst/gsttypefindfactory.h:
1537         Fix memory leak in GstTypeFindFactory.
1538
1539 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1540
1541         * gst/gst.c:
1542         * plugins/elements/Makefile.am:
1543         * plugins/elements/gstelements.c:
1544         * plugins/elements/gstqueue.c:
1545           move queue from core to the elements plugin
1546
1547 2005-11-29  Andy Wingo  <wingo@pobox.com>
1548
1549         * libs/gst/base/gstbasetransform.h: 
1550         * libs/gst/base/gstbasesrc.h: 
1551         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1552
1553         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1554         of pointers by which to pad very extensible base classes (like the
1555         ones in libs/gst/base).
1556
1557 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1558
1559         * docs/gst/gstreamer-docs.sgml:
1560         * docs/gst/gstreamer-sections.txt:
1561         * docs/libs/gstreamer-libs-docs.sgml:
1562         * docs/libs/gstreamer-libs-sections.txt:
1563           moving documentation from core to lib
1564
1565 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1566
1567         * check/Makefile.am:
1568         * configure.ac:
1569         * docs/gst/Makefile.am:
1570         * gst/Makefile.am:
1571         * gst/base/.cvsignore:
1572         * gst/base/Makefile.am:
1573         * gst/base/README:
1574         * gst/base/gstadapter.c:
1575         * gst/base/gstadapter.h:
1576         * gst/base/gstbasesink.c:
1577         * gst/base/gstbasesink.h:
1578         * gst/base/gstbasesrc.c:
1579         * gst/base/gstbasesrc.h:
1580         * gst/base/gstbasetransform.c:
1581         * gst/base/gstbasetransform.h:
1582         * gst/base/gstcollectpads.c:
1583         * gst/base/gstcollectpads.h:
1584         * gst/base/gstpushsrc.c:
1585         * gst/base/gstpushsrc.h:
1586         * gst/base/gsttypefindhelper.c:
1587         * gst/base/gsttypefindhelper.h:
1588         * gst/check/Makefile.am:
1589         * gst/check/gstcheck.c:
1590         * gst/check/gstcheck.h:
1591         * gst/net/Makefile.am:
1592         * gst/net/gstnet.h:
1593         * gst/net/gstnetclientclock.c:
1594         * gst/net/gstnetclientclock.h:
1595         * gst/net/gstnettimepacket.c:
1596         * gst/net/gstnettimepacket.h:
1597         * gst/net/gstnettimeprovider.c:
1598         * gst/net/gstnettimeprovider.h:
1599         * libs/gst/Makefile.am:
1600         * libs/gst/base/Makefile.am:
1601         * libs/gst/base/gstbasetransform.c:
1602         * libs/gst/check/Makefile.am:
1603         * plugins/elements/Makefile.am:
1604         * po/POTFILES.in:
1605           CVS surgery + support to move base, check, and net out of gst
1606           and into libs/gst
1607
1608 2005-11-29  Andy Wingo  <wingo@pobox.com>
1609
1610         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1611
1612         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1613         padding.
1614
1615         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1616
1617         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1618
1619         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1620
1621         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1622         padding; reduces object size by about 30%. We don't expect
1623         anything else to go into gstobject.
1624
1625         * gst/gstminiobject.h (struct _GstMiniObject)
1626         (struct _GstMiniObjectClass): Only one pointer of padding; the
1627         payload is only a pointer and two ints anyway. For the class there
1628         are only two methods as well.
1629         
1630         * gst/gstelement.h (struct _GstElementClass): Removed
1631         the state_changed signal callback, it is not used.
1632
1633 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1634
1635         * docs/gst/gstreamer.types:
1636           fix includes, though they are a little dinky
1637
1638 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1639
1640         * check/Makefile.am:
1641           look in the right place for elements, a lot more chance of
1642           success
1643         * gst/Makefile.am:
1644           remove indexers and elements subdirs
1645         * plugins/Makefile.am:
1646           make indexers conditional
1647
1648 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1649
1650         * Makefile.am:
1651         * configure.ac:
1652         * plugins/elements/Makefile.am:
1653         * plugins/elements/gstcapsfilter.c:
1654         * plugins/elements/gstfilesink.c:
1655         * plugins/elements/gstfilesrc.c:
1656         * plugins/elements/gstidentity.c:
1657         * plugins/indexers/Makefile.am:
1658           do CVS surgery and related build fixery to move elements
1659           and indexers in a new gstreamer/plugins directory, out of the
1660           gst/ directory
1661
1662 2005-11-29  Andy Wingo  <wingo@pobox.com>
1663
1664         * check/Makefile.am:
1665         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1666         * pkgconfig/gstreamer-net.pc.in:
1667         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1668         #322257.
1669
1670 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1671
1672         * tools/Makefile.am:
1673         * tools/gst-complete.1.in:
1674         * tools/gst-complete.c:
1675         * tools/gst-compprep.1.in:
1676         * tools/gst-compprep.c:
1677           removing -compprep and -complete
1678
1679 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1680
1681         * gst/gstevent.c: (gst_event_new_new_segment),
1682         (gst_event_parse_new_segment):
1683         * gst/gstevent.h:
1684           fix #320529 - clean up new_segment API and structure.
1685           Let's hope everyone was using the methods, and not the structure.
1686
1687 2005-11-29  Edward Hervey  <edward@fluendo.com>
1688
1689         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1690         (gst_base_sink_event), (gst_base_sink_do_sync),
1691         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1692         Properly handle non GST_FORMAT_TIME segment
1693         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1694         Properly handle non GST_FORMAT_TIME segment
1695         * gst/gstsegment.c:
1696         This function is valid if the accumulator is 0 and the format
1697         is different from the requested format.
1698         
1699 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1700
1701         * docs/gst/gstreamer-sections.txt:
1702         Add gst_query_new_seeking and gst_query_parse_seeking to the
1703         docs.
1704
1705 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1706
1707         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1708           Treat a pad alloc with new caps the same as if we were not
1709           negotiated, in order to allow a changing upstream output
1710           to produce a new format of data.
1711
1712 2005-11-29  Edward Hervey  <edward@fluendo.com>
1713
1714         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1715         (gst_base_transform_event), (gst_base_transform_eventfunc):
1716         The event virtual method is now properly implemented, with a default
1717         handler
1718         Sub classes should call the parent_class event method. They should
1719         return FALSE if they had a problem handling the given event, or don't
1720         want GstBaseTransform to send that even downstream
1721         * gst/elements/gstidentity.c: (gst_identity_class_init),
1722         (gst_identity_init), (gst_identity_event),
1723         (gst_identity_transform_ip), (gst_identity_set_property),
1724         (gst_identity_get_property):
1725         * gst/elements/gstidentity.h:
1726         Added the single-segment boolean property.
1727         If set to TRUE, it will output a single segment of data, starting from
1728         0, will eat up all incoming newsegment, and modify the timestamp of the
1729         buffers accordingly
1730
1731 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1732
1733         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1734           Don't ref NULL target pad (#322751). Improve docs.
1735
1736 2005-11-29  Michael Smith  <msmith@fluendo.com>
1737
1738         * gst/gstregistryxml.c: (load_plugin):
1739           Don't crash if we failed to load a feature from a plugin. 
1740
1741 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1742
1743         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1744         (GST_START_TEST):
1745           use more check API and less GLib API
1746
1747 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1748
1749         * Makefile.am:
1750           don't run checks if we don't have check
1751         * common/check.mak:
1752           remove the registry when running make torture
1753         * docs/gst/gstreamer-sections.txt:
1754           remove second multiply
1755         * gst/gstqueue.c: (gst_queue_loop):
1756           fix a compile warning when disabling debug
1757
1758 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1759
1760         * gst/gstinfo.h:
1761         Hey! Let's print the pad name if the pointer != NULL instead
1762         of when it == NULL :-)
1763
1764 2005-11-28  Wim Taymans  <wim@fluendo.com>
1765
1766         * check/gst/gstutils.c: (GST_START_TEST):
1767         Updated check, add some scaling accuracy checking code.
1768
1769         * gst/gstutils.c: (gst_util_div128_64),
1770         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1771         (gst_util_uint64_scale_int):
1772         Fix 6 times faster division code. Optimize for common 
1773         1/1 and less common X/1 cases.
1774
1775 2005-11-28  Wim Taymans  <wim@fluendo.com>
1776
1777         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1778         More checks.
1779
1780         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1781         (do_linear_regression), (gst_clock_add_observation):
1782         Cleanups.
1783         Release lock when the clock cannot be slaved.
1784         Catch the case where the regression returned an invalid denominator.
1785
1786         * gst/gstutils.c: (gst_util_div128_64_iterate),
1787         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1788         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1789         Add protentially more performant non-iterative 128/64 divide function
1790         that unfortunatly does not work yet.
1791         Shortcut the trivial 0/X = 0 case.
1792         Remove the warnings on overflow.
1793
1794 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1795
1796         * gst/gstplugin.c: (gst_plugin_register_func):
1797           everything causing a plugin not to load should be at least a WARNING
1798
1799 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1800
1801         * docs/random/ensonic/dparams.txt:
1802           some TODOs for the next dev cycle
1803         * libs/gst/controller/gstcontroller.c:
1804         (gst_controlled_property_set_interpolation_mode),
1805         (gst_controlled_property_new):
1806         * libs/gst/controller/gstcontroller.h:
1807           use base type to assign acccessor functions
1808
1809 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1810
1811         * check/Makefile.am:
1812         Oops, that should have been top_srcdir
1813
1814 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1815
1816         * check/Makefile.am:
1817         * check/elements/fdsrc.c: (GST_START_TEST):
1818         Use a cmdline define to specify the location of a file to use for
1819         testing, to avoid breaking distcheck.
1820
1821 2005-11-28  Andy Wingo  <wingo@pobox.com>
1822
1823         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1824
1825 2005-11-28  Edward Hervey  <edward@fluendo.com>
1826
1827         * tools/gst-launch.c: (main):
1828         Clarify the output strings, makes it easier to translate.
1829         Fixes #322626
1830
1831 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1832
1833         * gst/Makefile.am:
1834           don't try and build net if we don't even have <sys/socket.h>
1835
1836 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1837
1838         * check/Makefile.am:
1839         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1840         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1841           Add tests for fdsrc seekability
1842
1843         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1844         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1845         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1846         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1847         * gst/elements/gstfdsrc.h:
1848           fdsrc should not be a 'live' source.
1849           Implement seeking on seekable fd's.
1850
1851         * gst/gstquery.c: (gst_query_new_seeking),
1852         (gst_query_parse_seeking):
1853         * gst/gstquery.h:
1854           Implement SEEKING query functions: 
1855             *_new_seeking and *_parse_seeking
1856
1857 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1858
1859         * gst/gstelement.c: (gst_element_dispose):
1860           don't loop forever
1861
1862         * gst/gstiterator.c:
1863         * gst/gststructure.c:
1864           doc fixes
1865
1866         * libs/gst/controller/gstcontroller.c:
1867         (gst_controlled_property_set_interpolation_mode):
1868         * libs/gst/controller/gstcontroller.h:
1869         * libs/gst/controller/gstinterpolation.c:
1870         (interpolate_none_get_enum_value_array):
1871           support controlling enums
1872
1873 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1874
1875         * gst/gstvalue.c:
1876           Improve documentation for gst_value_union().
1877
1878         * gst/gstvalue.h:
1879           Change return value for union, intersect and subtract functions
1880           from gint to gboolean.
1881
1882 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1883
1884         * gst/gstvalue.c: (gst_value_serialize_any_list),
1885         (gst_value_transform_any_list_string),
1886         (gst_value_deserialize_list), (gst_value_deserialize_array),
1887         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1888         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1889         (gst_value_set_fraction_range_full),
1890         (gst_value_deserialize_fraction_range),
1891         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1892         (gst_value_deserialize_boolean),
1893         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1894         (gst_value_serialize_float), (gst_value_deserialize_float),
1895         (gst_string_wrap), (gst_value_deserialize_string),
1896         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1897         (gst_value_union_int_range_int_range),
1898         (gst_value_intersect_int_range_int_range),
1899         (gst_value_intersect_double_range_double_range),
1900         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1901         (gst_value_subtract_int_range_int_range),
1902         (gst_value_subtract_double_double_range),
1903         (gst_value_subtract_double_range_double_range),
1904         (gst_value_deserialize_fraction):
1905         * gst/gstvalue.h:
1906           Use gint, gdouble and gchar in our API instead of int, double and
1907           char (and make usage in gstvalue.c more consistent).
1908
1909 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1910
1911         * check/Makefile.am:
1912         * libs/gst/controller/Makefile.am:
1913         * libs/gst/dataprotocol/Makefile.am:
1914           fix up Makefile.am and remove GST_ENABLE_NEW
1915
1916 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1917
1918         * configure.ac:
1919         * gst/Makefile.am:
1920         * gst/base/Makefile.am:
1921         * gst/check/Makefile.am:
1922         * gst/elements/Makefile.am:
1923         * gst/net/Makefile.am:
1924           update LDFLAGS use some more
1925
1926 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1927
1928         * common/m4/gst-doc.m4:
1929           Fixes #312589
1930
1931 2005-11-26  Edward Hervey  <edward@fluendo.com>
1932
1933         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1934         This shouldn't issue a g_warning since it returns NULL if it
1935         couldn't find the plugin, and all functions using this behave
1936         properly on a NULL return. Switching to a GST_WARNING.
1937
1938 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1939
1940         * gst/gstbin.c: (gst_bin_handle_message_func):
1941         Don't leak clock messages.
1942
1943 2005-11-25  Wim Taymans  <wim@fluendo.com>
1944
1945         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1946         (gst_util_uint64_scale_int):
1947         Optimisations, remove unneeded vars.
1948
1949 2005-11-25  Wim Taymans  <wim@fluendo.com>
1950
1951         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1952         Added more checks for the high precision uint64 cases.
1953
1954         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1955         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1956         Implement high precision (guint64 * guint64) / guint64.
1957
1958 2005-11-24  Wim Taymans  <wim@fluendo.com>
1959
1960         * gst/base/gstbasesrc.c: (gst_base_src_query):
1961         Fix wrong percentage query.
1962
1963         * gst/gstutils.c: (gst_util_uint64_scale),
1964         (gst_util_uint64_scale_int):
1965         Add some more common cases that can be handled 
1966         efficiently to _scale.
1967
1968 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1969
1970         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1971         (gst_mini_object_suite):
1972           don't use check calls from threads; check probably isn't
1973           threadsafe and using a lock to make it threadsafe would
1974           defeat the purpose of this check
1975         * gst/check/gstcheck.c:
1976         * gst/check/gstcheck.h:
1977           use GST_DEBUG some more
1978
1979 2005-11-24  Wim Taymans  <wim@fluendo.com>
1980
1981         * gst/gstutils.c: (gst_util_uint64_scale),
1982         (gst_util_uint64_scale_int):
1983         Chain trivial case to _scale_int.
1984
1985 2005-11-24  Wim Taymans  <wim@fluendo.com>
1986
1987         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1988         Added test for scaling.
1989
1990         * gst/gstclock.h:
1991         Small doc fix.
1992
1993         * gst/gstutils.c: (gst_util_uint64_scale_int):
1994         Implemented high precision scaling code.
1995
1996 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1997
1998         * gst/gstinfo.h:
1999           do not crash on pad==NULL
2000
2001 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2002
2003         Patch by: Stefan Kost
2004
2005         * common/gtk-doc.mak:
2006         * docs/gst/Makefile.am:
2007         * docs/libs/Makefile.am:
2008           Fix distcheck issues for the libraries docs build
2009           Closes #319599.
2010
2011 2005-11-24  Michael Smith <msmith@fluendo.com>
2012
2013         * docs/manual/basics-helloworld.xml:
2014           Fix bug #315027: memory leak in example code in docs.
2015
2016 2005-11-24  Michael Smith <msmith@fluendo.com>
2017
2018         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2019           Unlock the PREROLL_LOCK in a failure case.
2020
2021 2005-11-24  Wim Taymans  <wim@fluendo.com>
2022
2023         * docs/gst/gstreamer-sections.txt:
2024         * gst/base/gstadapter.h:
2025         * gst/base/gstbasesink.h:
2026         * gst/base/gstbasesrc.h:
2027         * gst/base/gstbasetransform.h:
2028         * gst/base/gstpushsrc.h:
2029         * gst/elements/gstfakesink.h:
2030         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2031         * gst/elements/gstfakesrc.h:
2032         * gst/elements/gstfilesink.h:
2033         * gst/elements/gstfilesrc.h:
2034         * gst/gst.c:
2035         * gst/gstbin.c:
2036         * gst/gstbuffer.c: (_gst_buffer_copy):
2037         * gst/gstbus.h:
2038         * gst/gstcaps.c:
2039         * gst/gstchildproxy.c:
2040         * gst/gstclock.c:
2041         * gst/gstelement.c:
2042         * gst/gstelementfactory.c:
2043         * gst/gstelementfactory.h:
2044         * gst/gstevent.c:
2045         * gst/gstghostpad.h:
2046         * gst/gstindex.h:
2047         * gst/gstinterface.h:
2048         * gst/gstminiobject.c:
2049         * gst/gstminiobject.h:
2050         * gst/gstpad.c:
2051         * gst/gstpad.h:
2052         * gst/gstpadtemplate.h:
2053         * gst/gstpipeline.h:
2054         * gst/gstpluginfeature.h:
2055         * gst/gstquery.h:
2056         * gst/gstqueue.h:
2057         * gst/gsttaglist.c:
2058         * gst/gsttaglist.h:
2059         * gst/gsttagsetter.c:
2060         * gst/gsttagsetter.h:
2061         * gst/gsttrace.c:
2062         * gst/gsttrace.h:
2063         * gst/gsttypefind.h:
2064         * gst/gsturi.h:
2065         * gst/gstvalue.c:
2066         * gst/net/gstnetclientclock.c:
2067         * gst/net/gstnetclientclock.h:
2068         * gst/net/gstnettimepacket.c:
2069         * gst/net/gstnettimeprovider.c:
2070         * gst/net/gstnettimeprovider.h:
2071         Doc fixes.
2072
2073 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2074
2075         * configure.ac: back to HEAD
2076
2077 === release 0.9.6 ===
2078
2079 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
2080
2081         * configure.ac:
2082           releasing 0.9.6, "Always On Time"
2083
2084 2005-11-23  Wim Taymans  <wim@fluendo.com>
2085
2086         * docs/gst/gstreamer-sections.txt:
2087         * gst/glib-compat.c:
2088         * gst/gsttagsetter.c:
2089         * gst/gstvalue.c:
2090         * gst/net/gstnetclientclock.c:
2091         * gst/net/gstnettimepacket.h:
2092         Doc updates.
2093
2094 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2095
2096         * docs/faq/using.xml:
2097         * docs/libs/tmpl/gstcontrol.sgml:
2098         * docs/manual/advanced-dparams.xml:
2099         * docs/manual/appendix-checklist.xml:
2100         * docs/manual/basics-elements.xml:
2101         * docs/pwg/other-source.xml:
2102         * docs/random/moving-plugins:
2103         * gst/gstpad.c:
2104         * tools/gst-launch.1.in:
2105           remove mentions of sinesrc
2106
2107 2005-11-23  Michael Smith <msmith@fluendo.com>
2108
2109         * docs/gst/gstreamer-sections.txt:
2110           Update for new API and API changes.
2111         * gst/gstobject.h:
2112           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
2113         * gst/gstvalue.c:
2114           Documentation typo fix.
2115         * gst/net/gstnettimepacket.c:
2116           Documentation fixes for arguments.
2117
2118 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
2119
2120         * gst/gststructure.c: (gst_structure_get_fraction),
2121         (gst_structure_parse_value),
2122         (gst_structure_fixate_field_nearest_fraction):
2123         * gst/gststructure.h:
2124         * gst/gstutils.c: (gst_util_uint64_scale_int):
2125         * gst/gstutils.h:
2126         * scripts/update-funcnames:
2127         API Changes. 
2128         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
2129         Make gst_structure_fixate_field_nearest_fraction take a numerator
2130         and denominator argument instead of a GValue
2131         add gst_structure_get_fraction helper function.
2132
2133 2005-11-23  Wim Taymans  <wim@fluendo.com>
2134
2135         * docs/design/part-TODO.txt:
2136         Update TODO.
2137
2138         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2139         * gst/net/gstnetclientclock.h:
2140         Use parent fields for timeout and window_size.
2141
2142 2005-11-23  Andy Wingo  <wingo@pobox.com>
2143
2144         * check/net/gstnetclientclock.c (test_functioning): Adjust to
2145         rate_num/rate_denom change.
2146
2147         * gst/net/gstnetclientclock.c
2148         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2149         OBJECT_LOCK. Don't call add_observation with the lock.
2150
2151         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2152         fraction.
2153         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2154         rate fraction.
2155         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2156         deal with rate as a fraction whose numerator and denominator are
2157         GstClockTime values.
2158         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2159         master; the other fields are protected by the SLAVE_LOCK.
2160         (do_linear_regression): Note that this must be called with the
2161         SLAVE_LOCK.
2162         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2163         OBJECT_LOCK. Call set_calibration instead of touching the
2164         variables directly.
2165         (gst_clock_set_property, gst_clock_get_property): Protect
2166         master/slave parameters with the SLAVE_LOCK.
2167
2168         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2169         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2170         note that all of the instance variables that add_observation and
2171         the set_master functions use are protected by that lock and not
2172         the OBJECT_LOCK.
2173         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2174
2175         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2176         the caller to take the object lock.
2177
2178 2005-11-23  Wim Taymans  <wim@fluendo.com>
2179
2180         * gst/gsterror.c: (_gst_core_errors_init):
2181         * gst/gsterror.h:
2182         Add error for clock stuff.
2183
2184         * gst/gstpipeline.c: (gst_pipeline_change_state),
2185         (gst_pipeline_set_clock):
2186         Post clock error when clock cannot be used in a pipeline.
2187
2188 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2189
2190         * docs/gst/gstreamer-sections.txt:
2191           make two symbols from gstinfo private for the docs
2192         * gst/base/gstcollectpads.h:
2193         * gst/gstutils.c:
2194           fix doc typos, update docs
2195
2196 2005-11-22  Wim Taymans  <wim@fluendo.com>
2197
2198         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2199         (gst_base_sink_wait), (gst_base_sink_do_sync),
2200         (gst_base_sink_handle_event):
2201         * gst/base/gstbasesink.h:
2202         No need to store the clock, the parent element class already
2203         has it.
2204
2205         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2206         Updates for clock_set returning a gboolean
2207
2208         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2209         (gst_clock_id_wait_async), (gst_clock_class_init),
2210         (gst_clock_init), (gst_clock_finalize),
2211         (gst_clock_get_internal_time), (gst_clock_get_time),
2212         (gst_clock_slave_callback), (gst_clock_set_master),
2213         (gst_clock_get_master), (do_linear_regression),
2214         (gst_clock_add_observation), (gst_clock_set_property),
2215         (gst_clock_get_property):
2216         * gst/gstclock.h:
2217         Implement master/slave. When setting a clock as a slave, a
2218         periodic timeout is scheduled to sample master and slave times.
2219         Then the slave clock is recalibrated to match offset and rate
2220         of the master clock.
2221         Update logging a bit.
2222         Add flag so that a clock can state that is cannot be slaved to
2223         another clock.
2224
2225         * gst/gstelement.c: (gst_element_set_clock):
2226         * gst/gstelement.h:
2227         The set clock returns a gboolean for when an element cannot
2228         deal with the selected clock in the pipeline. 
2229
2230         * gst/gstpipeline.c: (gst_pipeline_change_state),
2231         (gst_pipeline_set_clock):
2232         * gst/gstpipeline.h:
2233         Handle the case where the selected clock cannot be set on
2234         the pipeline.
2235
2236         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2237         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2238         (gst_net_client_clock_set_property),
2239         (gst_net_client_clock_get_property),
2240         (gst_net_client_clock_observe_times):
2241         * gst/net/gstnetclientclock.h:
2242         Use regression code in GstClock parent, remove duplicated
2243         functionality.
2244
2245 2005-11-22  Michael Smith <msmith@fluendo.com>
2246
2247         * gst/gstutils.c: (gst_util_clock_time_scale):
2248         * gst/gstutils.h:
2249         * docs/gst/gstreamer-sections.txt:
2250           Rename method to have extra underscore.
2251
2252 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2253
2254         * gst/elements/Makefile.am:
2255         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2256         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2257         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2258         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2259         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2260         * gst/elements/gstfakesrc.h:
2261         * gst/gstqueue.c: (queue_leaky_get_type):
2262           correctly fix GEnumValues so that nick is the short lowercase
2263           dashed tag
2264         * tools/gst-inspect.c: (print_element_properties_info):
2265           also show the nick, since it's useful to use from parse_launch
2266           syntax
2267           Fixes #322139
2268
2269 2005-11-22  Michael Smith <msmith@fluendo.com>
2270
2271         * gst/gstutils.c: (gst_util_clocktime_scale):
2272         * gst/gstutils.h:
2273         * docs/gst/gstreamer-sections.txt:
2274           Add util method for scaling a clocktime by a fraction. Useful 
2275           implementation is left as an exercise for the reader.
2276
2277 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2278
2279         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2280         If needed, allocate storage in the destination value during
2281         collection.
2282
2283 2005-11-22  Edward Hervey  <edward@fluendo.com>
2284
2285         * docs/gst/gstreamer-sections.txt:
2286         * gst/Makefile.am:
2287         * gst/gst.h:
2288         * gst/gsturitype.c:
2289         * gst/gsturitype.h:
2290         * gst/gstutils.c: (gst_util_set_object_arg):
2291         * tools/gst-compprep.c: (main):
2292         * tools/gst-inspect.c: (print_element_properties_info):
2293         Removed GstURI, closes bug #321061
2294
2295 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2296
2297         * check/gst/gststructure.c: (GST_START_TEST):
2298         * gst/gststructure.c: (gst_structure_parse_value):
2299           Oops, broke automatic string type parsing.
2300           Add a test to catch it in future.
2301
2302 2005-11-22  Andy Wingo  <wingo@pobox.com>
2303
2304         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2305         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2306         Actually rename the function implementations. Grr.
2307
2308 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2309
2310         * check/gst/capslist.h:
2311           Comment test cases
2312         * check/gst/gststructure.c: (GST_START_TEST),
2313         (gst_structure_suite):
2314           Test automatic value type detection in gst_structure_from_string.
2315         * gst/gststructure.c: (gst_structure_parse_value):
2316           Add fraction as a type we try and guess automatically in
2317           caps/structure strings.
2318
2319 2005-11-22  Andy Wingo  <wingo@pobox.com>
2320
2321         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2322
2323         * gst/gsttagsetter.h:
2324         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2325         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2326         (gst_tag_setter_add_tag_valist)
2327         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2328         _add_values, _add_valist, and _add_valist_values. Since this is an
2329         interface the function suffixes should be more explicit so
2330         language binding don't end up with element.add_valist ->
2331         gst_tag_setter_add_valist, for example. Fixes #322069.
2332
2333 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2334
2335         * check/gst/gstcaps.c: (GST_START_TEST):
2336           Extend caps string tests to check that a caps to string
2337           conversion is reversible and produces the same caps.
2338
2339         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2340           Output "fraction" as the generic type fraction range, so caps
2341           serialisation and deserialisation works.
2342         * check/gst/capslist.h:
2343         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2344           Support 'MIN' and 'MAX' for deserialising fractions.
2345
2346 2005-11-22  Andy Wingo  <wingo@pobox.com>
2347
2348         * gst/gstevent.h (gst_event_new_new_segment)
2349         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2350         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2351         Renamed from *_newsegment, *_buffersize, *_notarget.
2352
2353         * scripts/update-funcnames: New script, performs the changes
2354         listed above.
2355
2356 2005-11-22  Wim Taymans  <wim@fluendo.com>
2357
2358         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2359         Make sure the GstFlowReturn is returned.
2360
2361         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2362         (gst_bus_add_signal_watch):
2363         * gst/gstbus.h:
2364         add gst_bus_add_signal_watch_full.
2365
2366         * gst/gstplugin.c: (gst_plugin_load_file):
2367         Small style cleanup.
2368
2369 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2370
2371         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2372           Block the fakesrc srcpad when we send an event, to avoid
2373           contention on the stream_lock causing random test failures.
2374
2375 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2376
2377         * check/gst/gstvalue.c: (GST_START_TEST):
2378         * gst/gstvalue.c: (gst_value_fraction_subtract):
2379           Fix subtraction.
2380
2381 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2382
2383         * gst/gst.h:
2384           include "gstchildproxy.h"
2385         * gst/gstchildproxy.h:
2386         * libs/gst/controller/gstcontroller.h:
2387           use G_GNUC_NULL_TERMINATED
2388
2389 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2390
2391         * check/gst/capslist.h:
2392         * check/gst/gstcaps.c: (GST_START_TEST):
2393         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2394         * gst/gststructure.c: (gst_structure_parse_range),
2395         (gst_structure_fixate_field_nearest_fraction):
2396         * gst/gststructure.h:
2397         * gst/gstvalue.c: (gst_value_init_fraction_range),
2398         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2399         (gst_value_collect_fraction_range),
2400         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2401         (gst_value_set_fraction_range_full),
2402         (gst_value_get_fraction_range_min),
2403         (gst_value_get_fraction_range_max),
2404         (gst_value_serialize_fraction_range),
2405         (gst_value_transform_fraction_range_string),
2406         (gst_value_compare_fraction_range),
2407         (gst_value_deserialize_fraction_range),
2408         (gst_value_intersect_fraction_fraction_range),
2409         (gst_value_intersect_fraction_range_fraction_range),
2410         (gst_value_subtract_fraction_fraction_range),
2411         (gst_value_subtract_fraction_range_fraction),
2412         (gst_value_subtract_fraction_range_fraction_range),
2413         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2414         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2415         (gst_value_transform_string_fraction), (_gst_value_initialize):
2416         * gst/gstvalue.h:
2417           Implement fraction ranges and extend GstFraction to support
2418           arithmetic subtraction, as well as deserialization from integer
2419           strings such as "100"
2420           Add a testsuite as for int and double range set operations
2421
2422 2005-11-21  Andy Wingo  <wingo@pobox.com>
2423
2424         * gst/gsttaglist.h: 
2425         * gst/gstcaps.h: 
2426         * gst/gststructure.h: Add glib-compat.h.
2427
2428 2005-11-21  Wim Taymans  <wim@fluendo.com>
2429
2430         * gst/gstbin.c: (gst_bin_change_state_func):
2431         Fix for #321595
2432
2433 2005-11-21  Wim Taymans  <wim@fluendo.com>
2434
2435         * gst/gstsegment.h:
2436         And add a nice define too.
2437
2438 2005-11-21  Wim Taymans  <wim@fluendo.com>
2439
2440         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2441         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2442         (gst_segment_set_duration), (gst_segment_set_last_stop),
2443         (gst_segment_set_seek), (gst_segment_set_newsegment),
2444         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2445         (gst_segment_clip):
2446         * gst/gstsegment.h:
2447         Make binding friendly.
2448
2449 2005-11-21  Andy Wingo  <wingo@pobox.com>
2450
2451         * gst/gsttagsetter.h: 
2452         * gst/gsttaglist.h: 
2453         * gst/gststructure.h: 
2454         * gst/gstcaps.h: 
2455         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2456         #319940.
2457
2458         * gst/gsterror.c (_gst_core_errors_init):
2459         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2460         category.
2461
2462         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2463         (noinst_HEADERS): noinst the -private.
2464
2465 2005-11-21  Michael Smith <msmith@fluendo.com>
2466
2467         * gst/gstplugin.h:
2468         * gst/gstregistry.h:
2469           Remove unimplemented declarations for which we can see no sensible
2470           use.
2471
2472 2005-11-21  Andy Wingo  <wingo@pobox.com>
2473
2474         * gst/gst.h: Include glib-compat.h.
2475
2476         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2477
2478         * gst/glib-compat.c: Include the public and the private header.
2479
2480         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2481
2482         * gst/gstvalue.c: 
2483         * gst/gstpad.c: 
2484         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2485
2486         * check/gst/gstevent.c (create_custom_events): Check that
2487         FLUSH_STOP is serialized.
2488
2489         * check/elements/identity.c (event_func): 
2490         * check/elements/fakesrc.c (event_func): No stream lock, the core
2491         takes it.
2492
2493         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2494         stream lock taking, yay.
2495
2496         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2497         ensure that core takes the stream lock.
2498
2499         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2500         lock name change.
2501
2502         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2503         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2504         it already. For the flush start we do take it though so we get the
2505         right preroll state change messages.
2506
2507         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2508         the stream lock here, the core does it for us.
2509
2510         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2511         GST_STREAM_GET_LOCK.
2512         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2513         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2514         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2515         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2516         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2517         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2518
2519         * gst/gstpad.c: Update for stream lock name change.
2520
2521         * gst/base/gstbasesink.c: Update for preroll lock name change.
2522
2523 2005-11-21  Wim Taymans  <wim@fluendo.com>
2524
2525         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2526         (gst_clock_get_master):
2527         * gst/gstclock.h:
2528         * gst/gstsystemclock.c: (gst_system_clock_init):
2529         Convert Clock flags to object flags.
2530         Added methods to manage master/slave clocks.
2531
2532 2005-11-21  Wim Taymans  <wim@fluendo.com>
2533
2534         * check/gst/gstsegment.c: (GST_START_TEST):
2535         * docs/design/part-TODO.txt:
2536         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2537         (gst_base_sink_event), (gst_base_sink_do_sync),
2538         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2539         (gst_base_sink_query), (gst_base_sink_change_state):
2540         * gst/base/gstbasesink.h:
2541         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2542         (gst_base_src_default_newsegment),
2543         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2544         (gst_base_src_get_range), (gst_base_src_loop),
2545         (gst_base_src_change_state):
2546         * gst/base/gstbasesrc.h:
2547         * gst/base/gstbasetransform.c:
2548         (gst_base_transform_prepare_output_buf),
2549         (gst_base_transform_event), (gst_base_transform_change_state):
2550         * gst/base/gstbasetransform.h:
2551         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2552         (gst_collect_pads_event):
2553         * gst/base/gstcollectpads.h:
2554         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2555         (gst_fake_src_create):
2556         * gst/elements/gstfakesrc.h:
2557         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2558         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2559         (gst_segment_set_last_stop), (gst_segment_set_seek),
2560         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2561         (gst_segment_to_running_time), (gst_segment_clip):
2562         * gst/gstsegment.h:
2563         More segment updates, replace code in plugins with segment
2564         helper functions.
2565
2566 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2567
2568         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2569         Don't ignore sscanf results
2570
2571 2005-11-21  Andy Wingo  <wingo@pobox.com>
2572
2573         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2574
2575         * *.h:
2576         * *.c: Ran scripts/update-macros. Oh yes.
2577
2578         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2579         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2580         GST_GET_LOCK, etc.
2581
2582         * scripts/update-macros: New script. Run it on your files to
2583         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2584         well.
2585
2586 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2587
2588         * docs/gst/Makefile.am:
2589         * docs/gst/gstreamer-docs.sgml:
2590         * docs/gst/gstreamer-sections.txt:
2591         * docs/gst/gstreamer.types:
2592         * gst/gstinfo.h:
2593           more docs fixes, add new api to the docs
2594
2595 2005-11-21  Andy Wingo  <wingo@pobox.com>
2596
2597         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2598         state_broadcast call.
2599
2600         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2601
2602 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2603
2604         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2605         function calls for arrays.
2606
2607 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2608
2609         * docs/random/ensonic/media-device-daemon.txt:
2610           wild idea, can this be done?
2611         * docs/gst/gstreamer-sections.txt:
2612         * gst/gsterror.h:
2613         * gst/gstfilter.c:
2614         * gst/gstfilter.h:
2615         * gst/gstplugin.h:
2616         * gst/gstpluginfeature.c:
2617         * gst/gsttrace.c:
2618         * gst/gstvalue.c:
2619         * gst/gstvalue.h:
2620           doc fixes and additions
2621
2622 2005-11-21  Andy Wingo  <wingo@pobox.com>
2623
2624         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2625         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2626         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2627         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2628         private to the basesrc implementation.
2629
2630         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2631         behalf of event function if necessary. It should no longer be
2632         necessary to take the stream lock in pad's event functions. Fixes
2633         #320299.
2634
2635 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2636         * docs/gst/gstreamer-sections.txt:
2637         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2638         (gst_structure_fixate_field_nearest_double),
2639         (gst_structure_fixate_field_boolean):
2640         * gst/gststructure.h:
2641         * win32/common/libgstreamer.def:
2642         * win32/gstreamer.def:
2643
2644         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2645         (#322027)
2646
2647 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2648
2649         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2650         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2651         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2652         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2653         (gst_fdsrc_uri_handler_init):
2654         * gst/elements/gstfdsrc.h:
2655           Port fd:// URI handler from 0.8 to fdsrc
2656
2657 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2658
2659         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2660         (gst_value_serialize_fourcc):
2661         * gst/gstvalue.h:
2662           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2663           consistent with our other format defines (#320324).
2664
2665 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2666
2667         * gst/gstvalue.c: (gst_value_is_fixed):
2668           Revert previous commit. Value lists are by definition
2669           not fixed, as they are a list of possible values.
2670
2671 2005-11-21  Andy Wingo  <wingo@pobox.com>
2672
2673         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2674         during the stable series if we need it. Fixes #319178.
2675
2676         * gst/gstevent.c (gst_event_new_filler): Removed.
2677
2678         * check/gst/gstevent.c: Update comment about filler events.
2679
2680 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2681
2682         * gst/gstvalue.c: (gst_value_is_fixed):
2683           Should handle both value arrays and value lists.
2684
2685 2005-11-21  Andy Wingo  <wingo@pobox.com>
2686
2687         patch by: Alessandro Dessina <alessandro nnva org>
2688
2689         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2690         functions to access arrays. Fixes #321962.
2691
2692 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2693
2694         * docs/gst/gstreamer.types:
2695           gst_collectpads_get_type => gst_collect_pads_get_type.
2696           
2697         * gst/base/gstbasetransform.c:
2698           Remove unused SIGNAL_HANDOFF enum.
2699
2700 2005-11-21  Andy Wingo  <wingo@pobox.com>
2701
2702         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2703         the event type (upstream, downstream, serialized). Renamed
2704         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2705         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2706         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2707
2708         * gst/gstevent.c: Update for new CUSTOM event names.
2709
2710         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2711
2712         * gst/gstevent.h:
2713         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2714         bug #319392.
2715
2716 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2717
2718         * docs/gst/gstreamer-sections.txt:
2719         * win32/common/libgstbase.def:
2720         * win32/libgstbase.def:
2721         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2722         (gst_collect_pads_class_init), (gst_collect_pads_init),
2723         (gst_collect_pads_finalize), (gst_collect_pads_new),
2724         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2725         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2726         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2727         (gst_collect_pads_start), (gst_collect_pads_stop),
2728         (gst_collect_pads_peek), (gst_collect_pads_pop),
2729         (gst_collect_pads_available), (gst_collect_pads_read),
2730         (gst_collect_pads_flush), (gst_collect_pads_event),
2731         (gst_collect_pads_chain):
2732         * gst/base/gstcollectpads.h:
2733           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2734           unimplemented functions as unimplemented. Add padding to
2735           GstCollectData. (#320766, #320423)
2736
2737 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2738
2739         * gst/gstmessage.c:
2740           Improve docs for DURATION message (usage of duration parameter)
2741           (#320113)
2742
2743 2005-11-20  Wim Taymans  <wim@fluendo.com>
2744
2745         * check/Makefile.am:
2746         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2747         (main):
2748         * gst/Makefile.am:
2749         * gst/gst.h:
2750         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2751         (gst_segment_set_seek), (gst_segment_set_newsegment),
2752         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2753         (gst_segment_clip):
2754         * gst/gstsegment.h:
2755         Added segment helper structure and methods. Not fully implemented
2756         yet.
2757         Added segment check.
2758
2759 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2760
2761         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2762           Add a deserialisation test for fractions
2763         * examples/metadata/read-metadata.c: (message_loop),
2764         (make_pipeline), (main):
2765           Fix up metadata reading sample.
2766         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2767           Debug format fix
2768         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2769           Don't try and fixate empty caps
2770         * gst/gst_private.h:
2771           Wrap in G_BEGIN_DECLS/G_END_DECLS
2772         * gst/gstvalue.c: (gst_value_collect_fraction),
2773         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2774         (gst_value_transform_string_fraction),
2775         (gst_value_compare_fraction):
2776           Add some extra guards to ensure that we don't end up 
2777           with an invalid denominator of 0 in a gstfraction and
2778           that fractions always get reduced.
2779
2780 2005-11-20  Wim Taymans  <wim@fluendo.com>
2781
2782         * docs/gst/gstreamer-sections.txt:
2783         * gst/gstbuffer.h:
2784         * gst/gstelement.c:
2785         * gst/gstformat.c:
2786         * gst/gstformat.h:
2787         * gst/gstindex.h:
2788         * gst/gstquery.c:
2789         * gst/gstquery.h:
2790         * gst/gstvalue.c:
2791         Doc fixes.
2792
2793 2005-11-20  Wim Taymans  <wim@fluendo.com>
2794
2795         * docs/design/part-TODO.txt:
2796         * gst/gstcaps.h:
2797         Make a proper enum of the flag.
2798
2799 2005-11-19  Wim Taymans  <wim@fluendo.com>
2800
2801         * docs/design/part-TODO.txt:
2802         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2803         (gst_format_to_quark), (gst_format_register):
2804         * gst/gstformat.h:
2805         * gst/gstquery.c: (_gst_query_initialize),
2806         (gst_query_type_get_name), (gst_query_type_to_quark),
2807         (gst_query_type_register):
2808         * gst/gstquery.h:
2809         Add type to quark and type to string conversions.
2810
2811 2005-11-19  Andy Wingo  <wingo@pobox.com>
2812
2813         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2814         #320097.
2815
2816 2005-11-19  Wim Taymans  <wim@fluendo.com>
2817
2818         * docs/design/part-TODO.txt:
2819         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2820         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2821         (gst_bin_handle_message_func):
2822         * gst/gstbin.h:
2823         Make message handling overridable.
2824
2825 2005-11-19  Andy Wingo  <wingo@pobox.com>
2826
2827         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2828
2829         * gst/gstclock.h:
2830         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2831         be a GstClockTime.
2832         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2833         is a GstClockTime. Fixes #321710.
2834
2835         * gst/gstclock.h (GstClock): Remove offset property. Add
2836         internal_calibration and external_calibration. Fix padding. Pad
2837         also by GstClockTime so we don't run into problems.
2838
2839         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2840         (gst_clock_get_rate_offset): Remove.
2841         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2842
2843         * gst/gstutils.h:
2844         * gst/gstutils.c (g_static_rec_cond_wait)
2845         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2846
2847         * gst/gstbin.c: Remove terrible continue_state prototype.
2848
2849         * gst/gstelement.h (gst_element_continue_state): Make public.
2850
2851         * gst/gstelement.h:
2852         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2853         by continue_state. Fixes #319389.
2854
2855         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2856         Really fixes #168438. However I don't see anywhere where the
2857         filter function is called... stupid GStreamer...
2858         
2859         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2860         don't have a dispose function, so it won't get called when the
2861         object is unreffed, but oh well!
2862
2863         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2864         allows a destroy function to be set so user_data can be freed.
2865         Fixes #168438.
2866         (gst_index_set_filter): Call gst_index_set_filter_full.
2867
2868         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2869
2870         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2871         string should produce an error, given the lack of a way to
2872         represent NULL strings. Fixes #165650.
2873         
2874         * gst/gstvalue.h: 
2875         * gst/gstvalue.c (gst_value_array_append_value) 
2876         (gst_value_array_prepend_value, gst_value_array_get_size) 
2877         (gst_value_array_get_value): New API, copied from
2878         gst_value_list_*, only operates on arrays.
2879         (gst_value_list_append_value, gst_value_list_prepend_value) 
2880         (gst_value_list_concat, gst_value_list_get_size) 
2881         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2882
2883         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2884         init_list, because it works on both.
2885         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2886         (gst_value_copy_list_or_array): Renamed from copy_list.
2887         (gst_value_free_list_or_array): Renamed from free_list.
2888         (gst_value_collect_list_or_array): Renamed from collect_list.
2889         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2890         (gst_value_list_or_array_peek_pointer): Renamed from
2891         list_peek_pointer.
2892         (_gst_value_array_value_table, _gst_value_list_value_table):
2893         Update value table functions.
2894         (gst_value_compare_list_or_array): Renamed from compare_list.
2895
2896         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2897         some constness.
2898
2899         * gst/gsttaglist.c:
2900         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2901         GstTagList*. Fixes #143472.
2902
2903         * gst/gststructure.h: Clarify what the foreach/map functions can
2904         or can't do to their arguments.
2905
2906 2005-11-18  Wim Taymans  <wim@fluendo.com>
2907
2908         * gst/gstclock.c: (gst_clock_set_calibration),
2909         (gst_clock_get_calibration):
2910         Doc and API fixes.
2911         Calibration can be set with internal time equal to current
2912         internal time too.
2913
2914 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2915
2916         * gst/gsterror.c:
2917         * gst/gsterror.h:
2918           document
2919
2920 2005-11-18  Andy Wingo  <wingo@pobox.com>
2921
2922         * configure.ac: 
2923         * pkgconfig/gstreamer-net.pc.in:
2924         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2925         * pkgconfig/Makefile.am: Add net pkgconfig files.
2926
2927 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2928
2929         * gst/gstcaps.c:
2930         * gst/gstghostpad.c:
2931         * gst/gsttrace.c:
2932         * gst/gstvalue.c:
2933         * gst/gstvalue.h:
2934           docs fixes
2935
2936 2005-11-18  Andy Wingo  <wingo@pobox.com>
2937
2938         * gst/net/gstnetclientclock.c: Turn off debugging.
2939
2940         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2941         times connverge somewhat. Can't make a real test.
2942
2943         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2944         integer arithmetic. Return the minimum of the domain, which can be
2945         set as "internal" for gst_clock_set_calibration.
2946         (gst_net_client_clock_observe_times): Call _set_calibration.
2947         (gst_net_client_clock_new): Call _set_calibration instead of
2948         rate_offset.
2949
2950         * check/net/gstnetclientclock.c (test_functioning): Use the right
2951         adjustment api.
2952
2953         * gst/gstclock.h:
2954         * gst/gstclock.c (gst_clock_get_calibration) 
2955         (gst_clock_set_calibration): New functions, obsolete the ones I
2956         added yesterday. Doh. Precision issues mean we have to extrapolate
2957         from a point in the more recent past than 1970.
2958         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2959         obsolete.
2960         (gst_clock_adjust_unlocked): Use the right calibration data.
2961
2962 2005-11-18  Edward Hervey  <edward@fluendo.com>
2963
2964         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2965         Also reset the ->current_* values in READY->PAUSED
2966
2967 2005-11-18  Andy Wingo  <wingo@pobox.com>
2968
2969         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2970         Whoops, check the right fd. Also add some debugging.
2971         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2972         (do_linear_regression): Add a crapload of debugging. Subtract off
2973         the minimum values from the input series to discard unneeded bits.
2974         Use only int arithmetic. There is still double arithmetic when
2975         calculating the intercept that needs fixing. Return boolean to
2976         indicate success; FALSE would mean the domain or range is too
2977         great. Still needs fixes.
2978
2979 2005-11-18  Wim Taymans  <wim@fluendo.com>
2980
2981         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2982         For the current position in stream time, we need to subtract
2983         accumulated time.
2984         
2985         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2986         Release lock before calling the callback function of async
2987         entries.
2988
2989 2005-11-18  Andy Wingo  <wingo@pobox.com>
2990
2991         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2992         Port goes all the way to MAXUINT16.
2993
2994         * gst/net/gstnettimeprovider.c: Make the port range the same as
2995         for the kernel: 0 assigns, otherwise ports are less than
2996         MAXUINT16.
2997
2998         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2999         port change.
3000
3001         * check/net/gstnetclientclock.c (test_functioning): Add the start
3002         of another test. 
3003
3004 2005-11-18  Wim Taymans  <wim@fluendo.com>
3005
3006         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3007         (gst_bin_remove_func), (bin_bus_handler):
3008         * gst/gstbin.h:
3009         Removing a clock provider from a bin, triggers a clock lost message
3010         so that a new clock will be selected.
3011         Adding a clock to a bin triggers a clock provider message.
3012         Make sure we reselect a clock when we received a clock lost message.
3013         Keep a reference to the element that provided the clock.
3014
3015 2005-11-18  Andy Wingo  <wingo@pobox.com>
3016
3017         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3018         the clock initially so it produces values around the base time.
3019         (gst_net_client_clock_class_init): Typo fix.
3020         (gst_net_client_clock_thread): Add note on when the socket gets
3021         closed.
3022
3023 2005-11-17  Wim Taymans  <wim@fluendo.com>
3024
3025         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3026         Free remote and local time arrays.
3027
3028 2005-11-17  Wim Taymans  <wim@fluendo.com>
3029
3030         * gst/net/gstnetclientclock.c: (do_linear_regression),
3031         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3032         Fix compilation, uninitialized vars and a forgotten continue.
3033
3034 2005-11-17  Andy Wingo  <wingo@pobox.com>
3035
3036         * check/Makefile.am (check_PROGRAMS): 
3037         * check/net/gstnetclientclock.c: Add a most minimal test for the
3038         net client clock. More to come later.
3039
3040         * gst/net/gstnet.h: 
3041         * gst/net/Makefile.am: Add netclientclock.
3042
3043         * gst/net/gstnetclientclock.h:
3044         * gst/net/gstnetclientclock.c: New files, implement an untested
3045         GstClock that takes its time from a network time provider.
3046         Implements the algorithm in network-clock.scm.
3047
3048         * tests/network-clock.scm (*window-size*): Rename from
3049         *queue-length*.
3050         * tests/network-clock.scm (network-time): 
3051         * tests/network-clock-utils.scm (q-push): Update callers.
3052
3053 2005-11-17  Wim Taymans  <wim@fluendo.com>
3054
3055         * gst/gstbin.c: (gst_bin_provide_clock_func),
3056         (gst_bin_sort_iterator_new):
3057         And unref the child too..
3058
3059 2005-11-17  Wim Taymans  <wim@fluendo.com>
3060
3061         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3062         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3063         Refactor the sort iterator so it can be used while holding the
3064         LOCK too.
3065         Make clock selection select a clock closest to the source.
3066
3067 2005-11-17  Michael Smith <msmith@fluendo.com>
3068
3069         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3070         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3071         * gst/gstclock.h:
3072           Anonymous structs are a gcc (and some other compilers) extension, so
3073           don't use them. Since this is only for ABI-compatibility, and our
3074           API/ABI freeze is over in a few days, this whole thing will only
3075           last a few days, so don't bother trying to think up a meaningful
3076           name for the struct.
3077
3078 2005-11-17  Andy Wingo  <wingo@pobox.com>
3079
3080         * gst/gstclock.h (GstClock): Add rate and offset properties,
3081         preserving ABI stability. Add rate/offset accessors. Will file bug
3082         for the freeze break.
3083
3084         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3085         and offset, trying to keep precision and avoiding
3086         underflow/overflow.
3087         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3088         functions. Make gst_clock_set_time_adjust obsolete.
3089         (gst_clock_set_time_adjust): Note that this function is obsolete.
3090         Will file bug soon.
3091
3092         * gst/base/gstbasetransform.h: Make the ABI-stability hack
3093         greppable by using GST_PADDING-1+1.
3094
3095 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
3096
3097         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3098
3099         * gst/gstmessage.c: (gst_message_parse_clock_lost):
3100           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
3101
3102         * gst/gstpadtemplate.h:
3103         * gst/gstpluginfeature.h:
3104           Don't use c++ style comments in headers (#321638).
3105
3106 2005-11-16  Andy Wingo  <wingo@pobox.com>
3107
3108         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
3109         buffer.
3110
3111         * check/net/gstnettimeprovider.c: Check to see that the time
3112         provider actually provides times. Works, yo!
3113
3114 2005-11-16  Wim Taymans  <wim@fluendo.com>
3115
3116         * check/Makefile.am:
3117         Enable more tests.
3118
3119         * check/elements/fakesrc.c: (GST_START_TEST):
3120         Set element to NULL before disposing it.
3121
3122 2005-11-16  Andy Wingo  <wingo@pobox.com>
3123
3124         * gst/net/Makefile.am:
3125         * gst/net/gstnet.h:
3126         * gst/net/gstnettimeprovider.c: 
3127         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
3128         provider, include it from gstnet.h, and add it to the build.
3129
3130         * gst/net/gstnettimepacket.h: 
3131         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
3132         sending and receiving.
3133
3134 2005-11-16  Wim Taymans  <wim@fluendo.com>
3135
3136         * check/Makefile.am:
3137         Enable valgrind check.
3138
3139         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3140         (gst_fake_src_alloc_buffer):
3141         Fix memleak.
3142
3143 2005-11-16  Wim Taymans  <wim@fluendo.com>
3144
3145         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3146         Call parent finalize too.
3147
3148 2005-11-16  Wim Taymans  <wim@fluendo.com>
3149
3150         * check/Makefile.am:
3151         Enable valgrind check that should work fine now.
3152
3153         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3154         * gst/gstqueue.c: (gst_queue_init):
3155         Fix memleaks in pad allocation.
3156
3157 2005-11-16  Andy Wingo  <wingo@pobox.com>
3158
3159         * gst/net/Makefile.am:
3160         * gst/net/gstnet.h: New part of core to hold network elements and
3161         objects. Put in core because it exposes API that applications want
3162         to use. The library is named libgstnet-tempname right now because
3163         of the existing libgstnet in gst-plugins-base. Solution is
3164         probably to rename the one in plugins-base; will file a bug for
3165         the freeze break.
3166
3167         * gst/net/gstnettimeprovider.c: 
3168         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3169         get_time call over the network.
3170
3171         * configure.ac: 
3172         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3173
3174         * check/Makefile.am:
3175         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3176         get additions shortly.
3177
3178 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3179
3180         * gst/gstpad.c: (gst_pad_new_from_static_template):
3181         * gst/gstpad.h:
3182           add gst_pad_new_from_static_template functions
3183         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3184         (gst_check_setup_sink_pad):
3185         * gst/elements/gsttee.c: (gst_tee_init):
3186           and use them
3187
3188 2005-11-16  Wim Taymans  <wim@fluendo.com>
3189
3190         * gst/gstpad.c: (gst_pad_pause_task):
3191         Removed warning, it's not really an error either.
3192
3193 2005-11-16  Wim Taymans  <wim@fluendo.com>
3194
3195         * gst/base/gstbasetransform.c:
3196         (gst_base_transform_prepare_output_buf),
3197         (gst_base_transform_event):
3198         Check if the caps are NULL, this can happen if the element
3199         is shutting down and the pad caps are set to NULL.
3200
3201 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3202
3203         * gst/elements/gsttee.c: (gst_tee_init):
3204           fix pad template leak in tee
3205
3206 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3207
3208         * gst/glib-compat.c: (g_value_dup_gst_object):
3209         * gst/glib-compat.h:
3210         * gst/gstpad.c: (gst_pad_set_property):
3211           use gst_object_ref when setting the pad template; this will
3212           trigger the pad template leaks on GLib 2.6 and the slaves
3213
3214 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3215
3216         * gst/glib-compat.c: (gst_flags_get_first_value):
3217         * gst/glib-compat.h:
3218         * gst/gstregistryxml.c:
3219           remove functions copied from GLib 2.6
3220
3221 2005-11-16  Michael Smith <msmith@fluendo.com>
3222
3223         * gst/Makefile.am:
3224           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3225           do, but only breaks with newer valgrind versions. We're not a
3226           valgrind tool, we have no link-time dependencies on libcoregrind.
3227
3228 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3229
3230         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3231           some debug changes
3232         * gst/gstmessage.h:
3233           typo fixes
3234
3235 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3236
3237         * gst/base/gstbasesrc.c: (gst_base_src_init):
3238         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3239         * gst/gstqueue.c: (gst_queue_init):
3240         * gst/gstregistryxml.c: (load_feature):
3241           Revert all these unrefs, they don't even pass make check !
3242
3243 2005-11-15  Johan Dahlin  <johan@gnome.org>
3244
3245         * gst/base/gstbasesrc.c: (gst_base_src_init):
3246         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3247         * gst/gstqueue.c: (gst_queue_init): 
3248         Free pad templates, fixes a couple of leaks.
3249
3250 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3251
3252         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3253
3254         * gst/gstpad.c: (gst_pad_get_property):
3255           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3256           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3257           (#321452)
3258
3259 2005-11-15  Wim Taymans  <wim@fluendo.com>
3260
3261         * gst/gstevent.c:
3262         Small doc update.
3263
3264 2005-11-15  Andy Wingo  <wingo@pobox.com>
3265
3266         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3267
3268         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3269         using GST_CLOCK_TIME_NONE to disable base time management.
3270         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3271         time if it was NONE before.
3272         (gst_pipeline_change_state): Only munge the base time if
3273         stream_time != GST_CLOCK_TIME_NONE.
3274
3275         * check/gst/gstpipeline.c (test_base_time): Punt around the
3276         problem of the probe not being called, because that's not the
3277         issue I'm looking at. Add a check that setting stream_time to NONE
3278         disables base time management.
3279         
3280 2005-11-15  Wim Taymans  <wim@fluendo.com>
3281
3282         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3283         segment_stop == -1 at startup.
3284
3285         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3286         (gst_base_transform_change_state):
3287         Init segment values at start.
3288
3289 2005-11-15  Wim Taymans  <wim@fluendo.com>
3290
3291         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3292         0 segment values are 0 in any format.
3293
3294         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3295         * gst/base/gstbasetransform.h:
3296         Parse newsegment correctly in basetransform
3297
3298         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3299         Sync to clock using updated segment values.
3300
3301 2005-11-15  Andy Wingo  <wingo@pobox.com>
3302
3303         * check/gst/gstpipeline.c (test_base_time): Add check that the
3304         base time and stream time are reset correctly.
3305
3306 2005-11-15  Wim Taymans  <wim@fluendo.com>
3307
3308         * docs/design/part-TODO.txt:
3309         Some more TODO items.
3310
3311 2005-11-15  Andy Wingo  <wingo@pobox.com>
3312
3313         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3314         error if the user selected "no clock" as the clocking method.
3315
3316         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3317         timestamps with live capture.
3318
3319         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3320         is 0 but we are a live source, timestamp the buffers using the
3321         element's clock.
3322
3323 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3324
3325         * docs/gst/gstreamer-sections.txt:
3326         * gst/gsterror.c:
3327         * gst/gstghostpad.c:
3328         * gst/gstobject.h:
3329         * gst/gstxml.c:
3330           more section docs
3331
3332 2005-11-14  Wim Taymans  <wim@fluendo.com>
3333
3334         * common/gst.supp:
3335           add suppressions from Wim's Debian machine
3336
3337 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3338
3339         * common/gst.supp:
3340           add suppressions from Andy's AMD64 Ubuntu machine
3341
3342 2005-11-14  Andy Wingo  <wingo@pobox.com>
3343
3344         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3345         STATE_LOCK not necessary. Fixes #311489.
3346
3347         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3348         #305291.
3349
3350         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3351         this function is not implemented.
3352
3353 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3354
3355         * gst/base/gstbasetransform.c:
3356         (gst_base_transform_prepare_output_buf):
3357         Ref the source pad caps while we need them.
3358         Fixes (#321386)
3359
3360 2005-11-11  Wim Taymans  <wim@fluendo.com>
3361
3362         * docs/gst/gstreamer-sections.txt:
3363         Added some docs for GstCollectData.
3364
3365         * gst/base/gstadapter.c:
3366         Some small code example fix.
3367
3368         * gst/base/gstcollectpads.c:
3369         * gst/base/gstcollectpads.h:
3370         Document some more.
3371
3372 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3373
3374         * configure.ac: back to HEAD
3375
3376 === release 0.9.5 ===
3377
3378 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3379
3380         * configure.ac:
3381           releasing 0.9.5, "Bike Lunch Day"
3382
3383 2005-11-11  Wim Taymans  <wim@fluendo.com>
3384
3385         * gst/gstbuffer.c: (_gst_buffer_copy):
3386         Copy more flags.
3387
3388         * gst/gstcaps.c: (gst_caps_is_equal):
3389         Fix some docs.
3390         Make _is_equal fast in the trivial cases.
3391
3392         * gst/gstminiobject.c:
3393         * gst/gstminiobject.h:
3394         More docs. Spifify .h file.
3395
3396         * gst/gstutils.c:
3397         Small doc update.
3398
3399 2005-11-11  Wim Taymans  <wim@fluendo.com>
3400
3401         * gst/base/gstbasetransform.c:
3402         (gst_base_transform_prepare_output_buf),
3403         (gst_base_transform_handle_buffer):
3404         Small cleanups.
3405         If we're processing a buffer and need to allocate an output
3406         buffer, we cannot accept a format change. If we did get a 
3407         format change, we have to alloc a buffer ourselves of the 
3408         right size.
3409
3410 2005-11-11  Wim Taymans  <wim@fluendo.com>
3411
3412         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3413         While checking the flag for reentrancy in the gstcaps function
3414         is nice to detect recursive invocations, it also makes it 
3415         impossible to call getcaps from multiple threads, which must be
3416         possible. So, checking for recursive calls has to go.
3417
3418 2005-11-11  Michael Smith <msmith@fluendo.com>
3419
3420         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3421           Don't sync on buffers that fall partially outside our current
3422           segment. Prevents an assertion failure/abort playing some files.
3423
3424 2005-11-10  Andy Wingo  <wingo@pobox.com>
3425
3426         * check/gst/gstbin.c (test_message_state_changed_children): Style
3427         fix..
3428
3429         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3430         gst_bus_poll with the signal watch. Ensures that poll and a signal
3431         watch see the same messages.
3432
3433         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3434         a poll and a watch at the same time get the same messages.
3435
3436 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3437
3438         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3439         * gst/gstcaps.c: (gst_caps_intersect):
3440           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3441           and it's not needed.
3442
3443 2005-11-10  Wim Taymans  <wim@fluendo.com>
3444
3445         * docs/design/part-TODO.txt:
3446         Updated todo.
3447
3448 2005-11-10  Wim Taymans  <wim@fluendo.com>
3449
3450         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3451         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3452         (gst_base_src_do_sync), (gst_base_src_get_range):
3453         Implement clock sync in base class.
3454
3455 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3456
3457         patch by: Tim-Philipp Müller <tim at centricular dot net>
3458
3459         * gst/gststructure.c: (gst_structure_parse_field),
3460         (gst_structure_from_string):
3461           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3462           so that gst_parse_launch() can deal with spaces in filtered link
3463           caps (fixes #164479)
3464         * check/gst/capslist.h:
3465         * check/gst/gststructure.c: (GST_START_TEST):
3466           add unit tests for this change
3467
3468 2005-11-10  Wim Taymans  <wim@fluendo.com>
3469
3470         * docs/gst/gstreamer-sections.txt:
3471         * gst/gstelement.c:
3472         * gst/gstelement.h:
3473         Fix docs, move some STATE macros to private.
3474
3475 2005-11-10  Wim Taymans  <wim@fluendo.com>
3476
3477         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3478         Added check for bug #317341
3479
3480         * gst/gstbuffer.c:
3481         * gst/gstbuffer.h:
3482         Some more spiffifying.
3483
3484         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3485         Call peer linkfunction if we are a source pad. Totally fixes
3486         #317341
3487
3488         * gst/gstpad.c:
3489         Update docs, source pads should call the peer linkfunction
3490         so they can atomically perform the pad link.
3491
3492 2005-11-09  Wim Taymans  <wim@fluendo.com>
3493
3494         * gst/gstbuffer.c:
3495         * gst/gstbuffer.h:
3496         Uber-spiffy-spiffify some more.
3497
3498 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3499
3500         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3501         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3502         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3503         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3504         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3505         * gst/gstpad.c: (gst_pad_init):
3506           Use GST_DEBUG_FUNCPTR() more extensively.
3507
3508 2005-11-09  Wim Taymans  <wim@fluendo.com>
3509
3510         * gst/gstobject.c: (gst_object_class_init):
3511         * gst/gstobject.h:
3512         Documentation fixes.
3513
3514 2005-11-09  Edward Hervey  <edward@fluendo.com>
3515
3516         * gst/gsttypefindfactory.c:
3517         Fix docs.
3518         
3519 2005-11-09  Edward Hervey  <edward@fluendo.com>
3520
3521         * gst/base/gsttypefindhelper.c:
3522         * gst/gsttypefind.c:
3523         * gst/gsttypefind.h:
3524         Fix docs.
3525
3526 2005-11-09  Wim Taymans  <wim@fluendo.com>
3527
3528         * gst/gstiterator.c:
3529         Fix revision data.
3530
3531         * gst/gsttask.c:
3532         * gst/gsttask.h:
3533         Fix docs.
3534
3535 2005-11-09  Wim Taymans  <wim@fluendo.com>
3536
3537         * gst/gstevent.h:
3538         * gst/gsturi.h:
3539         Fix docs.
3540
3541 2005-11-09  Wim Taymans  <wim@fluendo.com>
3542
3543         * docs/gst/gstreamer-sections.txt:
3544         Moved the message async delivery private lock and cond
3545         to the private section.
3546
3547         * gst/gstmessage.c:
3548         * gst/gstmessage.h:
3549         Fixed docs.
3550
3551 2005-11-09  Edward Hervey  <edward@fluendo.com>
3552
3553         * docs/gst/gstreamer-sections.txt:
3554         * gst/gsturi.c:
3555         * gst/gsturi.h:
3556         Document GstURIHandler
3557
3558 2005-11-09  Wim Taymans  <wim@fluendo.com>
3559
3560         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3561         (gst_iterator_find_custom):
3562         * gst/gstiterator.h:
3563         Fix iterator docs.
3564
3565 2005-11-09  Wim Taymans  <wim@fluendo.com>
3566
3567         * gst/gstbin.h:
3568         Document another field.
3569
3570         * gst/gststructure.c:
3571         * gst/gststructure.h:
3572         Document.
3573
3574 2005-11-09  Wim Taymans  <wim@fluendo.com>
3575
3576         * gst/gstbin.h:
3577         Documented structs.
3578
3579 2005-11-09  Wim Taymans  <wim@fluendo.com>
3580
3581         * docs/gst/gstreamer-sections.txt:
3582         Added some new macros.
3583
3584         * gst/gstclock.c:
3585         * gst/gstclock.h:
3586         * gst/gstobject.h:
3587         Docs updates.
3588
3589 2005-11-09  Wim Taymans  <wim@fluendo.com>
3590
3591         * docs/design/part-TODO.txt:
3592         Some more items for the TODO
3593
3594         * gst/gstcaps.c:
3595         * gst/gstcaps.h:
3596         Document GstCaps.
3597
3598 2005-11-09  Andy Wingo  <wingo@pobox.com>
3599
3600         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3601         to work on something else now tho...
3602
3603         * gst/base/gstadapter.c: More adapter docs.
3604
3605         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3606         (gst_file_sink_stop): New functions, replace the state change
3607         handler.
3608         (gst_file_sink_class_init): Hook up the start and stop functions.
3609         (gst_file_sink_base_init): Don't set the state change handler any
3610         more. It was a bit ugly too, being set from here...
3611         (gst_file_sink_get_property, gst_file_sink_set_property):
3612         Cleanups...
3613         (gst_file_sink_set_location): More robust check that doesn't call
3614         GST_STATE. Ugggggg.
3615
3616 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3617
3618         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3619           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3620
3621 2005-11-08  Wim Taymans  <wim@fluendo.com>
3622
3623         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3624         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3625         (gst_base_sink_chain), (gst_base_sink_change_state):
3626         * gst/base/gstbasesink.h:
3627         * gst/base/gstbasesrc.h:
3628         * gst/gstelement.h:
3629         * gst/gstevent.h:
3630         Avoid excessive typechecking in macros.
3631
3632         * gst/gstminiobject.c: (gst_mini_object_get_type),
3633         (gst_mini_object_init), (gst_mini_object_new),
3634         (gst_mini_object_free):
3635         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3636         (gst_object_finalize):
3637         Remove cruft code, optimize alloc_trace.
3638
3639 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3640
3641         * docs/faq/gst-uninstalled:
3642           fix up PS1 for systems that try to reset it
3643
3644 2005-11-07  Wim Taymans  <wim@fluendo.com>
3645
3646         * gst/base/gstbasesrc.c: (gst_base_src_init),
3647         (gst_base_src_get_range):
3648         Set the segment_end to -1 initially. Fixed typefind.
3649
3650 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3651
3652         * gst/base/gstadapter.c:
3653           Debug category should be 'adapter', not 'GstAdapter'.
3654           
3655         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3656         (gst_collectpads_class_init), (gst_collectpads_init),
3657         (gst_collectpads_peek), (gst_collectpads_pop),
3658         (gst_collectpads_event), (gst_collectpads_chain):
3659           Add debug category and some debugging output. Use boilerplate
3660           macros. Remove some extraneous words from docs.
3661
3662 2005-11-05  Andy Wingo  <wingo@pobox.com>
3663
3664         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3665         macro.
3666
3667 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3668
3669         * docs/gst/gstreamer-sections.txt:
3670         * gst/gstcaps.h:
3671         * gst/gstinfo.c:
3672         * gst/gstminiobject.h:
3673         * gst/gstobject.h:
3674         * gst/gstutils.h:
3675           more docs added
3676
3677 2005-11-04  Wim Taymans  <wim@fluendo.com>
3678
3679         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3680         Small update to stop at the configured segment_end
3681         position.
3682
3683 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3684
3685         * gst/gstregistry.c:
3686         * gst/gstregistry.h:
3687           added missing docs
3688
3689 2005-11-04  Edward Hervey  <edward@fluendo.com>
3690
3691         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3692         Check if we are doing a segment seek and have arrived at the
3693         end of that segment.
3694
3695 2005-11-04  Wim Taymans  <wim@fluendo.com>
3696
3697         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3698         Don't leak a mutex unlock in case of an error.
3699
3700         * gst/gstbus.h:
3701         Doc fixes.
3702
3703 2005-11-04  Wim Taymans  <wim@fluendo.com>
3704
3705         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3706         (gst_bus_post):
3707         Get the context to wake up only once.
3708
3709 2005-11-03  Wim Taymans  <wim@fluendo.com>
3710
3711         * check/states/sinks.c: (GST_START_TEST):
3712         Uncomment fixed check.
3713
3714         * docs/design/part-TODO.txt:
3715         Updated TODO.
3716
3717         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3718         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3719         (gst_base_sink_get_position):
3720         If we are going to PLAYING, post the right pending state
3721         when we post the intermediate paused message.
3722
3723         * gst/gstelement.c: (gst_element_continue_state),
3724         (gst_element_set_state_func), (gst_element_change_state):
3725         Don't post state changes that were between the same state
3726         and were not ASYNC.
3727
3728 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3729
3730         * docs/gst/gstreamer-sections.txt:
3731         * gst/gstcaps.h:
3732         * gst/gstinfo.c:
3733         * gst/gstminiobject.h:
3734         * gst/gstobject.h:
3735         * gst/gstutils.h:
3736           more docs and doc style fixes
3737
3738 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3739
3740         * docs/gst/gstreamer-sections.txt:
3741         * gst/gstelement.c:
3742         * gst/gstminiobject.c:
3743         doc fixes
3744
3745 2005-11-03  Andy Wingo  <wingo@pobox.com>
3746
3747         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3748         state-changed messages actually have the right order and the right
3749         values.
3750
3751 2005-11-03  Wim Taymans  <wim@fluendo.com>
3752
3753         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3754         Added some more checks. Specifically the case where NO_PREROLL
3755         elements are in the pipeline.
3756
3757         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3758         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3759         (gst_base_sink_get_position):
3760         Post READY->PAUSED state change messages too.
3761         Fix bug where VOID was posted as pending state...
3762
3763         * gst/gstbin.c: (gst_bin_recalc_state):
3764         use _element_continue_state() to continue the state change.
3765
3766         * gst/gstelement.c: (gst_element_continue_state),
3767         (gst_element_commit_state), (gst_element_set_state_func),
3768         (gst_element_change_state), (gst_element_change_state_func):
3769         Lots of state change cleanups, assign the STATE_RETURN in
3770         a new continue_state() function that also propagates the
3771         last return value from a state change to the app.
3772         Update some debug statements with proper category.
3773
3774 2005-11-03  Wim Taymans  <wim@fluendo.com>
3775
3776         * docs/design/part-events.txt:
3777         * docs/design/part-gstpipeline.txt:
3778         * docs/design/part-messages.txt:
3779         * docs/design/part-overview.txt:
3780         * docs/design/part-seeking.txt:
3781         * docs/design/part-states.txt:
3782         * docs/design/part-trickmodes.txt:
3783         * docs/manual/advanced-position.xml:
3784         Small docs updates.
3785
3786         * gst/gstobject.h:
3787         People think !! is ugly, this looks better.
3788
3789         * gst/gstpad.c: (gst_pad_set_blocked_async):
3790         Remove !! since it's fixed elsewhere now.
3791
3792 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3793
3794         * gst/gstminiobject.h:
3795         * gst/gstobject.h:
3796           Add !! to _FLAG_IS_SET macros to make the result boolean.
3797
3798 2005-11-03  Edward Hervey  <edward@fluendo.com>
3799
3800         * gst/gstpad.c: (gst_pad_set_blocked_async):
3801         comparing a flag and a gboolean rarely returns coherent results...
3802         Added two characters (!!) to make that work correctly.
3803         
3804 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3805
3806         * gst/gstbus.c: (gst_bus_class_init):
3807           Fix some typos.
3808           
3809         * gst/gstqueue.c: (gst_queue_loop):
3810           Don't assume a miniobject that isn't a buffer is an
3811           event (it could be that there is a refcounting
3812           problem somewhere and the pointer is stale and
3813           refers to an already destroyed miniobject).
3814
3815 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3816
3817         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3818
3819 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3820
3821         * docs/manual/advanced-position.xml:
3822           Update seek example and explanations to current 0.9 API.
3823
3824         * gst/elements/gsttypefindelement.c:
3825         (gst_type_find_element_activate):
3826           Remove FIXME comment now that the found caps
3827           are unreffed.
3828
3829 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3830
3831         * gst/gstregistryxml.c: (load_feature):
3832           Add another GST_STR_NULL instance
3833
3834 2005-11-02  Edward Hervey  <edward@fluendo.com>
3835
3836         * gst/gstpad.c: (handle_pad_block):
3837         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3838         
3839 2005-11-02  Wim Taymans  <wim@fluendo.com>
3840
3841         * gst/gstbin.c:
3842         Fix typo in docs.
3843
3844         * gst/gstelement.c: (gst_element_commit_state):
3845         Remove unused value.
3846
3847         * gst/gstiterator.c:
3848         Mention that the returned element is reffed in the docs.
3849
3850 2005-11-02  Wim Taymans  <wim@fluendo.com>
3851
3852         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3853         (gst_pad_push), (gst_pad_push_event):
3854         Unlock blocked pads when they are flushed.
3855
3856 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3857
3858         * docs/README:
3859         * docs/gst/gstreamer-sections.txt:
3860         * gst/gstbin.c:
3861           doc updates
3862         * gst/gstregistry.c: (gst_registry_scan_path_level):
3863           fix for a nasty little missed situation where an installed plug-in
3864           which was in the cache did not get overridden by an uninstalled one
3865           which was earlier in the plugin path because the newly created plugin
3866           for the uninstalled one (not in the registry) didn't get its
3867           ->registered set to TRUE
3868
3869 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3870
3871         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3872         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3873         (gst_collectpads_is_active), (gst_collectpads_collect),
3874         (gst_collectpads_collect_range), (gst_collectpads_start),
3875         (gst_collectpads_stop), (gst_collectpads_peek),
3876         (gst_collectpads_pop), (gst_collectpads_available),
3877         (gst_collectpads_read), (gst_collectpads_flush):
3878           Guard public API with assertions.
3879         
3880         * gst/gstpad.c:
3881           Fix docs for gst_pad_set_link_function().
3882
3883 2005-11-02  Johan Dahlin  <johan@gnome.org>
3884
3885         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3886         Unref found_caps after we used it.
3887
3888 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3889
3890         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3891           Don't try to ref NULL.
3892
3893 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3894
3895         * win32/common/config.h.in:
3896           provide a GST_FUNCTION that just gives a string for now
3897
3898 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3899
3900         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3901         (gst_object_flags_get_type), (register_gst_bin_flags),
3902         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3903         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3904         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3905         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3906         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3907         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3908         (gst_clock_flags_get_type), (register_gst_state),
3909         (gst_state_get_type), (register_gst_state_change_return),
3910         (gst_state_change_return_get_type), (register_gst_state_change),
3911         (gst_state_change_get_type), (register_gst_element_flags),
3912         (gst_element_flags_get_type), (register_gst_core_error),
3913         (gst_core_error_get_type), (register_gst_library_error),
3914         (gst_library_error_get_type), (register_gst_resource_error),
3915         (gst_resource_error_get_type), (register_gst_stream_error),
3916         (gst_stream_error_get_type), (register_gst_event_type),
3917         (gst_event_type_get_type), (register_gst_seek_type),
3918         (gst_seek_type_get_type), (register_gst_seek_flags),
3919         (gst_seek_flags_get_type), (register_gst_format),
3920         (gst_format_get_type), (register_gst_index_certainty),
3921         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3922         (gst_index_entry_type_get_type),
3923         (register_gst_index_lookup_method),
3924         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3925         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3926         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3927         (gst_index_flags_get_type), (register_gst_debug_level),
3928         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3929         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3930         (gst_iterator_result_get_type), (register_gst_iterator_item),
3931         (gst_iterator_item_get_type), (register_gst_message_type),
3932         (gst_message_type_get_type), (register_gst_mini_object_flags),
3933         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3934         (gst_pad_link_return_get_type), (register_gst_flow_return),
3935         (gst_flow_return_get_type), (register_gst_activate_mode),
3936         (gst_activate_mode_get_type), (register_gst_pad_direction),
3937         (gst_pad_direction_get_type), (register_gst_pad_flags),
3938         (gst_pad_flags_get_type), (register_gst_pad_presence),
3939         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3940         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3941         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3942         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3943         (gst_plugin_flags_get_type), (register_gst_rank),
3944         (gst_rank_get_type), (register_gst_query_type),
3945         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3946         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3947         (gst_tag_flag_get_type), (register_gst_task_state),
3948         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3949         (gst_alloc_trace_flags_get_type),
3950         (register_gst_type_find_probability),
3951         (gst_type_find_probability_get_type), (register_gst_uri_type),
3952         (gst_uri_type_get_type), (register_gst_parse_error),
3953         (gst_parse_error_get_type):
3954         * win32/common/gstversion.h:
3955           update win32 copies
3956
3957 2005-11-01  Luca Ognibene  <luogni@tin.it>
3958
3959         * gst/gst.c:
3960           fix docs. popt is dead, long live GOption.
3961
3962 2005-10-31  Wim Taymans  <wim@fluendo.com>
3963
3964         * gst/gstbuffer.h:
3965         Small doc fix.
3966
3967 2005-10-31  Andy Wingo  <wingo@pobox.com>
3968
3969         * Boo!
3970
3971         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3972
3973         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3974         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3975         the possibility of deadlocks here if code calling notify() or
3976         set() has a lock that can be taken in another notify handler (ABBA
3977         with class lock and e.g. python GIL state lock).
3978
3979 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3980
3981         * gst/gstbus.c: Doc updates.
3982
3983 2005-10-28  Wim Taymans  <wim@fluendo.com>
3984
3985         * docs/design/part-TODO.txt:
3986         * gst/gstiterator.c:
3987         * gst/gstsystemclock.c:
3988         * gst/gstsystemclock.h:
3989         Doc updates.
3990
3991 2005-10-28  Edward Hervey  <edward@fluendo.com>
3992
3993         * docs/gst/gstreamer-docs.sgml:
3994         * docs/gst/gstreamer-sections.txt:
3995         the GstURIType documentation page is private, it only defines GstURIType
3996         which should be defined in the GstURIHandler page
3997         
3998 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3999
4000         * gst/gstbin.c: (gst_bin_class_init):
4001         * gst/gstbin.h:
4002         * gst/gstutils.c:
4003         Documentation updates.
4004
4005 2005-10-28  Wim Taymans  <wim@fluendo.com>
4006
4007         * docs/gst/gstreamer-sections.txt:
4008         * gst/gstclock.c:
4009         * gst/gstclock.h:
4010         Documented the clocks.
4011
4012 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
4013
4014         * docs/gst/gstreamer-sections.txt:
4015           move some macros to private sections
4016         * gst/gstminiobject.c:
4017         * gst/gstminiobject.h:
4018           add descriptions provided by ds and some more
4019         * gst/gstpad.h:
4020           mark macro as to be removed
4021
4022 2005-10-28  Wim Taymans  <wim@fluendo.com>
4023
4024         * docs/design/part-TODO.txt:
4025         Add an item to TODO.
4026
4027         * gst/gstiterator.c: (gst_iterator_fold),
4028         (gst_iterator_find_custom):
4029         * gst/gstiterator.h:
4030         Add iterator docs.
4031
4032 2005-10-28  Wim Taymans  <wim@fluendo.com>
4033
4034         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4035         (gst_base_transform_init):
4036         Don't leak class.
4037
4038         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4039         An EOS event marks the queue as completely filled.
4040
4041 2005-10-27  Wim Taymans  <wim@fluendo.com>
4042
4043         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4044         (gst_base_sink_do_sync), (gst_base_sink_get_position):
4045         Some more debugging.
4046
4047         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4048         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4049         (gst_base_transform_event), (gst_base_transform_getrange),
4050         (gst_base_transform_chain):
4051         * gst/base/gstbasetransform.h:
4052         Fix debugging,
4053         Protect transform and concurrent buffer alloc with a new lock.
4054         Try not to break ABI/API.
4055
4056 2005-10-27  Wim Taymans  <wim@fluendo.com>
4057
4058         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4059         (gst_base_src_init), (gst_base_src_query),
4060         (gst_base_src_default_newsegment),
4061         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4062         (gst_base_src_send_event), (gst_base_src_event_handler),
4063         (gst_base_src_pad_get_range), (gst_base_src_loop),
4064         (gst_base_src_unlock), (gst_base_src_default_negotiate),
4065         (gst_base_src_start), (gst_base_src_deactivate),
4066         (gst_base_src_activate_push), (gst_base_src_change_state):
4067         Move some stuff around and cleanup things.
4068
4069 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
4070
4071         * gst/base/gstbasesrc.c: (gst_base_src_query):
4072           Add missing break statements.
4073
4074 2005-10-27  Wim Taymans  <wim@fluendo.com>
4075
4076         * check/gst/gstbin.c: (GST_START_TEST):
4077         An extra refcount is taken in basesrc.
4078
4079         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4080         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4081         (gst_base_src_loop):
4082         Small cleanups, check for flushing after being unlocked from the 
4083         LIVE_LOCK. take refcounts correctly (not yet everywhere).
4084         Don't send out EOS when going to READY.
4085
4086 2005-10-27  Wim Taymans  <wim@fluendo.com>
4087
4088         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4089         (gst_base_sink_get_position):
4090         Some more debug.
4091
4092         * gst/gstbin.c: (message_check), (bin_replace_message),
4093         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4094         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4095         (bin_query_duration_init), (bin_query_duration_fold),
4096         (bin_query_duration_done), (bin_query_generic_fold),
4097         (gst_bin_query):
4098         * tools/gst-launch.c: (main):
4099         Remove old option.
4100
4101 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
4102
4103         * examples/controller/audio-example.c: (main):
4104         * examples/queue/queue.c: (event_loop):
4105         * gst/base/gstbasetransform.h:
4106         * gst/gstelement.c: (gst_element_send_event):
4107         * gst/gstevent.h:
4108         * gst/gstpad.c: (gst_pad_send_event):
4109           fixing examples
4110           fixing docs typos
4111           changing log priority in error situations
4112
4113 2005-10-25  Wim Taymans  <wim@fluendo.com>
4114
4115         * gst/gstbin.c: (message_check), (bin_replace_message),
4116         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4117         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4118         (bin_query_duration_init), (bin_query_duration_fold),
4119         (bin_query_duration_done), (bin_query_generic_fold),
4120         (gst_bin_query):
4121         Some doc and debug updates.
4122         Cache previously requested query DURATION for speed. invalidate
4123         cached duration if element posts a DURATION message.
4124
4125 2005-10-25  Wim Taymans  <wim@fluendo.com>
4126
4127         * docs/design/part-TODO.txt:
4128         Update TODO.
4129
4130         * gst/gstbin.c: (message_check), (bin_replace_message),
4131         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4132         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4133         (bin_query_duration_init), (bin_query_duration_fold),
4134         (bin_query_duration_done), (bin_query_generic_fold),
4135         (gst_bin_query):
4136         Handle SEGMENT_START/DONE messages correctly.
4137         More evolved query algorithm that handles duration queries
4138         correctly.
4139
4140         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4141         (gst_element_get_state_func), (gst_element_abort_state),
4142         (gst_element_commit_state), (gst_element_lost_state):
4143         Some more debugging.
4144
4145         * gst/gstmessage.h:
4146         Added doc.
4147
4148 2005-10-25  Wim Taymans  <wim@fluendo.com>
4149
4150         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4151         Don't use invalid stream_time.
4152
4153         * gst/gstevent.c: (gst_event_new_newsegment):
4154         stream_time in newsegment cannot be undefined.
4155
4156 2005-10-24  Wim Taymans  <wim@fluendo.com>
4157
4158         * gst/gstbus.c:
4159         Doc fix.
4160
4161         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4162         (gst_queue_loop):
4163         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4164
4165 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4166
4167         * docs/libs/tmpl/gstdparam.sgml:
4168         * docs/libs/tmpl/gstdplinint.sgml:
4169         * docs/libs/tmpl/gstdpman.sgml:
4170         * docs/libs/tmpl/gstdpsmooth.sgml:
4171         * docs/libs/tmpl/gstunitconvert.sgml:
4172           these are obsolete
4173
4174 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4175
4176         * configure.ac:
4177           back to HEAD
4178
4179 === release 0.9.4 ===
4180
4181 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4182
4183         * configure.ac:
4184           releasing 0.9.4, "Tyrannosaurus Rex"
4185
4186 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4187
4188         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4189         (gst_file_sink_get_current_offset):
4190           Use fseeko() and ftello() if available. When falling back on
4191           lseek() to get the current offset, fflush() first to make sure
4192           everything is up-to-date and we get the right offset.
4193
4194 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4195
4196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4197         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4198         * gst/gsterror.c: (_gst_stream_errors_init):
4199         * gst/gsterror.h:
4200         * gst/gstqueue.c: (gst_queue_loop):
4201         * po/POTFILES.in:
4202           remove prematurely added error category and clean up the instances
4203
4204 2005-10-21  Wim Taymans  <wim@fluendo.com>
4205
4206         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4207         (gst_base_sink_get_position), (gst_base_sink_query),
4208         (gst_base_sink_change_state):
4209         Simply set the right flag when going to playing, that's all
4210         we need to do instead of calling a function inside the object
4211         lock (that could take the lock as well and deadlock)
4212
4213 2005-10-21  Wim Taymans  <wim@fluendo.com>
4214
4215         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4216         (gst_base_src_loop):
4217         Don't warn, the peer element knows what to do best when
4218         the seek failed, it might try something else.
4219
4220 2005-10-21  Wim Taymans  <wim@fluendo.com>
4221
4222         * gst/base/gstbasesrc.c: (gst_base_src_init),
4223         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4224         Fix seeking.
4225
4226 2005-10-21  Wim Taymans  <wim@fluendo.com>
4227
4228         * docs/design/part-segments.txt:
4229         More docs.
4230
4231         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4232         Correctly set caps, even on the subbufer.
4233
4234 2005-10-21  Wim Taymans  <wim@fluendo.com>
4235
4236         * docs/gst/gstreamer-docs.sgml:
4237         * docs/gst/gstreamer-sections.txt:
4238         * gst/gstelement.h:
4239         * gst/gstevent.c:
4240         * gst/gstevent.h:
4241         * gst/gstmessage.h:
4242         * gst/gstpad.h:
4243         * gst/gstparse.h:
4244         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4245         * gst/gsttask.h:
4246         * gst/gstutils.c:
4247         * gst/gstutils.h:
4248         And 2% more doc coverage.
4249
4250 2005-10-21  Andy Wingo  <wingo@pobox.com>
4251
4252         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4253         position reporting.
4254
4255 2005-10-20  Wim Taymans  <wim@fluendo.com>
4256
4257         * gst/gsterror.c: (gst_error_get_message):
4258         * gst/gstparse.h:
4259         * gst/gstquery.h:
4260         * gst/gststructure.c:
4261         * gst/gsttrace.c:
4262         * gst/gstutils.c:
4263         More docs.
4264
4265 2005-10-20  Wim Taymans  <wim@fluendo.com>
4266
4267         * gst/gstbuffer.h:
4268         * gst/gstpad.c:
4269         * gst/gstparse.c:
4270         Another 1% more coverage.
4271
4272 2005-10-20  Wim Taymans  <wim@fluendo.com>
4273
4274         * docs/gst/gstreamer-sections.txt:
4275         * gst/gstelement.c: (gst_element_get_state_func),
4276         (gst_element_abort_state), (gst_element_commit_state),
4277         (gst_element_lost_state):
4278         * gst/gstevent.h:
4279         * gst/gstquery.c: (gst_query_set_position),
4280         (gst_query_parse_position), (gst_query_set_duration),
4281         (gst_query_parse_duration), (gst_query_new_convert):
4282         * gst/gstutils.c:
4283         Yay! 1% more docs coverage.
4284
4285 2005-10-20  Wim Taymans  <wim@fluendo.com>
4286
4287         * gst/gstpad.h:
4288         * gst/gstquery.c: (gst_query_set_position),
4289         (gst_query_parse_position), (gst_query_set_duration),
4290         (gst_query_parse_duration), (gst_query_new_convert):
4291         * gst/gstquery.h:
4292         * gst/gstutils.c: (gst_element_query_convert):
4293         * gst/gstutils.h:
4294         Docs and consistency fixes.
4295
4296 2005-10-20  Wim Taymans  <wim@fluendo.com>
4297
4298         * gst/gsttask.c:
4299         * gst/gsttask.h:
4300         More docs.
4301
4302 2005-10-20  Wim Taymans  <wim@fluendo.com>
4303
4304         * gst/gstbin.c: (message_check), (bin_replace_message),
4305         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4306         (update_degree), (gst_bin_sort_iterator_next),
4307         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4308         Reworked the message handling a bit, cache the messages instead of
4309         only the senders. alows us to do more in the future.
4310
4311 2005-10-20  Wim Taymans  <wim@fluendo.com>
4312
4313         * docs/design/part-TODO.txt:
4314         Update TODO
4315
4316         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4317         (gst_base_sink_query):
4318         Don't use clock time to report position when in EOS.
4319
4320 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4321
4322         * tools/gst-inspect.c: (print_interfaces),
4323         (print_element_properties_info), (print_element_info):
4324           Fix interface output with gst-inspect -a; don't print
4325           newlines after double/float properties.
4326
4327 2005-10-20  Wim Taymans  <wim@fluendo.com>
4328
4329         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4330         (gst_base_sink_query):
4331         Speed up current position calculation.
4332
4333         * gst/base/gstbasesrc.c: (gst_base_src_query),
4334         (gst_base_src_default_newsegment):
4335         Correctly set stream position in newsegment.
4336
4337         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4338         (update_degree), (gst_bin_sort_iterator_next),
4339         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4340         * gst/gstmessage.c: (gst_message_new_custom):
4341         Clean up debugging info
4342
4343         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4344         (gst_queue_loop), (gst_queue_handle_src_query):
4345         Pause task faster.
4346
4347 2005-10-19  Wim Taymans  <wim@fluendo.com>
4348
4349         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4350         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4351         Fix query handling again.
4352
4353 2005-10-19  Wim Taymans  <wim@fluendo.com>
4354
4355         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4356         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4357         * gst/base/gstbasesrc.c: (gst_base_src_query):
4358         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4359         * gst/elements/gsttypefindelement.c:
4360         (gst_type_find_handle_src_query), (find_element_get_length),
4361         (gst_type_find_element_activate):
4362         API change fix.
4363
4364         * gst/gstquery.c: (gst_query_new_position),
4365         (gst_query_set_position), (gst_query_parse_position),
4366         (gst_query_new_duration), (gst_query_set_duration),
4367         (gst_query_parse_duration), (gst_query_set_segment),
4368         (gst_query_parse_segment):
4369         * gst/gstquery.h:
4370         Bundling query position/duration is not a good idea since duration
4371         does not change much and we don't want to recalculate it for every
4372         position query, so they are separated again..
4373         Base value in segment query is not needed.
4374
4375         * gst/gstqueue.c: (gst_queue_handle_src_query):
4376         * gst/gstutils.c: (gst_element_query_position),
4377         (gst_element_query_duration), (gst_pad_query_position),
4378         (gst_pad_query_duration):
4379         * gst/gstutils.h:
4380         Updates for query API change.
4381         Added some docs here and there.
4382
4383 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4384
4385         * check/gst/gstbin.c: (GST_START_TEST):
4386         * check/gst/gstghostpad.c: (GST_START_TEST):
4387         * check/pipelines/cleanup.c: (GST_START_TEST):
4388           wait on thread to die so we can check refcount correctly
4389
4390 2005-10-18  Wim Taymans  <wim@fluendo.com>
4391
4392         * check/pipelines/stress.c: (GST_START_TEST):
4393         Make check a little more time consuming.
4394
4395 2005-10-18  Wim Taymans  <wim@fluendo.com>
4396
4397         * check/Makefile.am:
4398         * check/pipelines/stress.c: (GST_START_TEST),
4399         (simple_launch_lines_suite), (main):
4400         Small state change torture test.
4401
4402         * docs/design/part-states.txt:
4403         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4404         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4405         (gst_base_sink_change_state):
4406         Never take state lock from streaming thread, clean up ugly
4407         hacks. Unfortunatly core does not yet support nice ways to
4408         async commit state.
4409         
4410         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4411         (bin_bus_handler):
4412         Start state recalc if a STATE_DIRTY message is posted, but only
4413         on the toplevel bin.
4414
4415         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4416         (gst_element_get_state_func), (gst_element_abort_state),
4417         (gst_element_commit_state), (gst_element_lost_state),
4418         (gst_element_set_state_func), (gst_element_change_state):
4419         * gst/gstelement.h:
4420         State variables are now protected with the LOCK, the state
4421         lock is only used to serialize _set_state().
4422
4423 2005-10-18  Wim Taymans  <wim@fluendo.com>
4424
4425         * check/gst/gstbin.c: (GST_START_TEST):
4426         * check/gst/gstmessage.c: (GST_START_TEST):
4427         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4428         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4429         (bin_bus_handler):
4430         * gst/gstelement.c: (gst_element_abort_state),
4431         (gst_element_commit_state), (gst_element_lost_state):
4432         * gst/gstmessage.c: (gst_message_new_state_changed),
4433         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4434         (gst_message_new_segment_done), (gst_message_new_duration),
4435         (gst_message_parse_state_changed),
4436         (gst_message_parse_segment_start),
4437         (gst_message_parse_segment_done), (gst_message_parse_duration):
4438         * gst/gstmessage.h:
4439         * tools/gst-launch.c: (event_loop):
4440         Seriously, this is better than a previous commit as we only need
4441         to notify the fact that an element changed state in a streaming
4442         thread, marking the state of the parents dirty, hence the 
4443         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4444         message.
4445
4446 2005-10-18  Wim Taymans  <wim@fluendo.com>
4447
4448         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4449         (gst_bin_recalc_func):
4450         * gst/gstelement.c: (gst_element_set_clock),
4451         (gst_element_abort_state), (gst_element_lost_state):
4452         Cleanups, prepare for state change fixes.
4453
4454 2005-10-18  Wim Taymans  <wim@fluendo.com>
4455
4456         * gst/gstbin.h:
4457         * gst/gstelement.c: (gst_element_class_init),
4458         (gst_element_set_state), (gst_element_set_state_func):
4459         * gst/gstelement.h:
4460         Pending ABI changes.
4461         GThreadPool in GstBinClass to monitor async state changes.
4462         state_cookie in GstElement to detect concurrent gst/set state.
4463         set_state is now virtual too in case a very complicated element
4464         has to be constructed.
4465
4466 2005-10-18  Wim Taymans  <wim@fluendo.com>
4467
4468         * check/gst/gstbin.c: (GST_START_TEST):
4469         * check/gst/gstmessage.c: (GST_START_TEST):
4470         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4471         * gst/gstbin.c: (bin_bus_handler):
4472         * gst/gstelement.c: (gst_element_commit_state),
4473         (gst_element_lost_state):
4474         * gst/gstmessage.c: (gst_message_new_state_changed),
4475         (gst_message_new_segment_start), (gst_message_new_segment_done),
4476         (gst_message_new_duration), (gst_message_parse_state_changed),
4477         (gst_message_parse_segment_start),
4478         (gst_message_parse_segment_done), (gst_message_parse_duration):
4479         * gst/gstmessage.h:
4480         * tools/gst-launch.c: (event_loop):
4481         Make messages future proof.
4482         state-change gets a flag if it was a message comming from the
4483         streaming thread.
4484         segment-start/stop can also be specified in other formats.
4485         A message to notify an app that a pipeline changed playback 
4486         duration.
4487         Also fix a GstMessage leak in -launch
4488
4489 2005-10-18  Andy Wingo  <wingo@pobox.com>
4490
4491         * gst/gstelement.c (gst_element_dispose): More helpful message.
4492
4493 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4494
4495         reviewed by: <delete if not using a buddy>
4496
4497         * common/gtk-doc.mak:
4498
4499 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4500
4501         * gst/gstregistry.c: (gst_registry_scan_path_level):
4502           unref a plug-in we get that was already initialized
4503
4504 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4505
4506         * docs/gst/gstreamer-sections.txt:
4507         * docs/libs/gstreamer-libs-sections.txt:
4508         * gst/gstelement.h:
4509           add new api entries
4510           hide internal macro
4511
4512 2005-10-17  Andy Wingo  <wingo@pobox.com>
4513
4514         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4515         cleanup.
4516
4517         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4518
4519         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4520
4521         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4522         (gst_element_get_state_func): Better debug message.
4523         (gst_element_commit_state): s/INFO/DEBUG/.
4524         (gst_element_lost_state, gst_element_change_state): 
4525
4526         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4527         (gst_message_new_custom): s/INFO/LOG/.
4528
4529 2005-10-17  Michael Smith <msmith@fluendo.com>
4530
4531         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4532           Check if end time is valid using end time, not start time.
4533
4534 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4535
4536         * check/gst-libs/controller.c: (GST_START_TEST),
4537         (gst_controller_suite):
4538         * libs/gst/controller/gstcontroller.c:
4539         (gst_controlled_property_set_interpolation_mode):
4540         * libs/gst/controller/gstcontroller.h:
4541         * libs/gst/controller/gstinterpolation.c:
4542         * testsuite/controller/.cvsignore:
4543         * testsuite/controller/Makefile.am:
4544         * testsuite/controller/interpolator.c:
4545           merge controller testsuites
4546           fix broken tests
4547           remove mem-chunk from docs
4548
4549 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4550
4551         * gst/gstmemchunk.c:
4552         * gst/gstmemchunk.h:
4553         * gst/gsttrashstack.c:
4554         * gst/gsttrashstack.h:
4555           out.  get out.  you're fired.  to the Attic !
4556
4557 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4558
4559         * gst/gstcaps.c: (gst_caps_intersect):
4560           fix signedness issues in a (hopefully) correct way
4561         * gst/gstelement.c: (gst_element_pads_activate):
4562           some debugging
4563         * gst/gstobject.c: (gst_object_set_parent):
4564           some debugging
4565
4566 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4567
4568         * gst/gstvalue.h: Fix prototypes.
4569
4570 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4571
4572         * docs/gst/gstreamer-sections.txt:
4573         * gst/gst.c: (gst_version_string):
4574         * gst/gst.h:
4575         * gst/gstversion.h.in:
4576         * win32/common/libgstreamer.def:
4577           add gst_version_string ()
4578
4579 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4580
4581         * configure.ac:
4582           clean up further
4583         * gst/gst.c: (init_post):
4584         * win32/common/config.h.in:
4585           it's PLUGINDIR now
4586         * gst/gstcaps.c: (gst_caps_intersect):
4587           use gint64, the range could be bigger than a guint
4588
4589 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4590
4591         * gst/gstclock.h:
4592           document potential problem in 2038
4593
4594 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4595
4596         * gst/gstcaps.c: (gst_caps_intersect):
4597           Fix guint j diving under 0
4598
4599 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4600
4601         * configure.ac:
4602         * win32/common/config.h:
4603         * win32/common/config.h.in:
4604           check for process.h, declares getpid() on Windows
4605         * gst/gstinfo.c:
4606           include process.h if we have it
4607         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4608         * gst/gstmemchunk.h:
4609           fix signedness issues
4610         * win32/common/libgstreamer.def:
4611           fix get_type's
4612
4613 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4614
4615         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4616         fix. Because of unsigned ints, caps intersection was going nuts and
4617         trying to access structures with G_MAXUINT index. That fixes
4618         videotestsrc ! ffmpegcolorspace ! fakesink
4619         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4620         consistency.
4621
4622 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4623
4624         * configure.ac:
4625           use the gettext macro
4626         * gst/elements/gstelements.c:
4627         * gst/gst.c:
4628         * gst/indexers/gstindexers.c:
4629           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4630         * win32/common/config.h:
4631           updated config.h
4632         * win32/common/config.h.in:
4633           add the template to generate config.h
4634         * win32/common/gstenumtypes.c:
4635         * win32/common/gstversion.h:
4636           updated copies
4637
4638 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4639
4640         * gst/gst.c: (gst_version):
4641         * gst/gstversion.h.in:
4642           add the nano
4643
4644 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4645
4646         * gst/gstevent.h:
4647           Oops, add missing closing bracket.
4648
4649 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4650
4651         * configure.ac:
4652           use common m4's for argument checking
4653
4654 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4655
4656         * docs/gst/gstreamer-sections.txt:
4657         * gst/gstevent.h:
4658           Add GST_EVENT_TYPE_NAME() macro.
4659
4660 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4661
4662         * gst/gstinfo.c:
4663         * gst/gstpluginfeature.c:
4664         * gst/gsttask.c:
4665           privatize more symbols
4666
4667 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4668
4669         * configure.ac:
4670           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4671           everything that uses GStreamer API should have the includes
4672
4673 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4674
4675         * docs/gst/gstreamer-sections.txt:
4676         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4677         * gst/gstvalue.h:
4678           give each value a _get_type, removes the DATA exports
4679
4680 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4681
4682         * gst/gst.c:
4683         * gst/gst.h:
4684           remove _gst_registry_auto_load, not used anymore
4685         * gst/gstbin.c: (gst_bin_get_type):
4686         * gst/gstbin.h:
4687         * gst/gstelement.c: (gst_element_get_type):
4688         * gst/gstelement.h:
4689         * gst/gstobject.c: (gst_object_get_type):
4690         * gst/gstobject.h:
4691         * gst/gstpad.c: (gst_pad_get_type):
4692         * gst/gstpad.h:
4693           make _get_type functions similar, fixes data export from library
4694
4695 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4696
4697         * configure.ac:
4698           correctly make conditionals
4699         * gst/elements/Makefile.am:
4700         * gst/elements/gstelements.c:
4701           fix typo causing fdsrc not to build
4702
4703 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4704
4705         * testsuite/Makefile.am:
4706         * testsuite/bytestream/.cvsignore:
4707         * testsuite/bytestream/Makefile.am:
4708         * testsuite/bytestream/filepadsink.c:
4709         * testsuite/bytestream/gstbstest.c:
4710         * testsuite/bytestream/test1.c:
4711         * testsuite/bytestream/testfile1:
4712         * testsuite/caps/normalisation.c:
4713         * testsuite/caps/random.c: (main):
4714         * testsuite/cleanup/.cvsignore:
4715         * testsuite/cleanup/Makefile.am:
4716         * testsuite/cleanup/cleanup1.c:
4717         * testsuite/cleanup/cleanup2.c:
4718         * testsuite/cleanup/cleanup3.c:
4719         * testsuite/cleanup/cleanup4.c:
4720         * testsuite/cleanup/cleanup5.c:
4721         * testsuite/controller/interpolator.c:
4722         * testsuite/debug/printf_extension.c: (main):
4723         * testsuite/elements/tee.c:
4724         * testsuite/negotiation/.cvsignore:
4725         * testsuite/negotiation/Makefile.am:
4726         * testsuite/negotiation/pad_link.c:
4727         * testsuite/pad/Makefile.am:
4728         * testsuite/pad/chainnopull.c:
4729         * testsuite/pad/getnopush.c:
4730         * testsuite/pad/link.c:
4731         * testsuite/refcounting/sched.c: (create_pipeline):
4732         * testsuite/registry/Makefile.am:
4733         * testsuite/registry/gst-print-formats.c:
4734         * testsuite/schedulers/.cvsignore:
4735         * testsuite/schedulers/142183-2.c:
4736         * testsuite/schedulers/142183.c:
4737         * testsuite/schedulers/143777-2.c:
4738         * testsuite/schedulers/143777.c:
4739         * testsuite/schedulers/147713.c:
4740         * testsuite/schedulers/147819.c:
4741         * testsuite/schedulers/147894-2.c:
4742         * testsuite/schedulers/147894.c:
4743         * testsuite/schedulers/Makefile.am:
4744         * testsuite/schedulers/group_link.c:
4745         * testsuite/schedulers/queue_link.c:
4746         * testsuite/schedulers/relink.c:
4747         * testsuite/schedulers/unlink.c:
4748         * testsuite/schedulers/unref.c:
4749         * testsuite/schedulers/useless_iteration.c:
4750         * testsuite/states/bin.c:
4751           clean out/remove some stuff from the testsuite directories
4752
4753 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4754
4755         * configure.ac:
4756           check for some headers
4757         * gst/elements/Makefile.am:
4758         * gst/elements/gstelements.c:
4759           don't compile fdsrc without sys/socket.h
4760         * gst/indexers/Makefile.am:
4761         * gst/indexers/gstindexers.c: (plugin_init):
4762           don't compile fileindex without mmap
4763
4764 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4765
4766         * configure.ac:
4767           reorganize
4768           clean up
4769           document more
4770           remove cruft
4771         * check/Makefile.am:
4772         * docs/gst/Makefile.am:
4773         * examples/helloworld/Makefile.am:
4774         * gst/Makefile.am:
4775         * gst/base/Makefile.am:
4776         * gst/check/Makefile.am:
4777         * gst/elements/Makefile.am:
4778         * gst/indexers/Makefile.am:
4779         * gst/parse/Makefile.am:
4780         * libs/gst/controller/Makefile.am:
4781         * libs/gst/dataprotocol/Makefile.am:
4782         * examples/helloworld/helloworld.c: (event_loop):
4783           compile fixes, though it's not being compiled currently
4784
4785 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4786
4787         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4788           Add some simple tests for the new taglist date API.
4789
4790 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4791
4792         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4793         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4794           Beautify 'last-message' output: print 'none' for buffer timestamps
4795           and durations if none is set; improve alignment with next messages.
4796
4797 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4798
4799         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4800         * gst/gstpluginfeature.h:
4801         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4802         * gst/gstregistry.h:
4803         * docs/gst/gstreamer-sections.txt:
4804           Add new API to check plugin feature version requirements.
4805
4806         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4807           Some basic tests for the above.         
4808
4809 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4810
4811         * gst/gststructure.c: (gst_structure_to_string):
4812           guard against NULL printf - happens when for example
4813           a message structure with GstClock gets serialized
4814
4815 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4816
4817         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4818           Fix presumable copy'n'pasto.
4819
4820 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4821
4822         * gst/elements/gstfakesrc.h:
4823         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4824         * gst/elements/gsttypefindelement.c:
4825           fix some signedness
4826         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4827           I wonder if this could actually write +2GB files before
4828
4829 2005-10-13  Andy Wingo  <wingo@pobox.com>
4830
4831         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4832         Fix Timmeke Waymans bug.
4833         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4834         string of the proper length to gst_caps_from_string. There's a
4835         potential for, before this fix, that this could cause someone
4836         connecting over the network to cause a segfault if the payload is
4837         not NUL-terminated.
4838
4839 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4840
4841         * docs/design/draft-push-pull.txt:
4842         * docs/design/part-overview.txt:
4843         * docs/random/TODO-pre-0.9:
4844         * docs/random/old/ChangeLog.gstreamer:
4845         * gst/base/gstpushsrc.c:
4846         * gst/gstclock.c:
4847           fixed typos
4848
4849 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4850
4851         * gst/glib-compat.c: (gst_flags_get_first_value):
4852         * gst/glib-compat.h:
4853         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4854         (gst_value_compare_double), (gst_value_serialize_flags):
4855           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4856           infinite loop
4857
4858 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4859
4860         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4861         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4862           fix up debugging
4863         * tools/gst-launch.c: (event_loop):
4864           print out clock nicely
4865
4866 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4867
4868         * docs/gst/gstreamer-sections.txt:
4869         * gst/gsttaglist.h:
4870         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4871         (gst_tag_list_get_date_index):
4872           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4873           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4874
4875 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4876
4877         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4878         (gst_collectpads_chain):
4879         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4880         in CollectData.
4881
4882 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4883
4884         * docs/gst/gstreamer-sections.txt:
4885         * gst/gst.c:
4886         * gst/gsterror.h:
4887         * tools/gst-inspect.c: (main):
4888         * tools/gst-launch.c: (main):
4889         * tools/gst-run.c: (main):
4890         * tools/gst-xmlinspect.c: (main):
4891           fix GOption context leaks
4892           doc fixes
4893
4894 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4895
4896         * gst/gstbus.c:
4897           use HAVE_UNISTD_H
4898         * win32/common/config.h:
4899           update config
4900         * win32/vs6/grammar.dsp:
4901         * win32/vs6/libgstelements.dsp:
4902         * win32/vs6/libgstreamer.dsp:
4903           update vs6 files
4904
4905 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4906
4907         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4908         * gst/base/gstbasesrc.c: (gst_base_src_query):
4909           fix more guint64<->gdouble conversions
4910
4911 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4912
4913         * Makefile.am:
4914           add win32-update target
4915         * win32/common/gstconfig.h:
4916         * win32/common/gstenumtypes.c:
4917         * win32/common/gstenumtypes.h:
4918         * win32/common/gstversion.h:
4919           add files that visual studio can't generate
4920
4921 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4922
4923         * Makefile.am:
4924           add a win32-update target
4925         * configure.ac:
4926
4927 2005-10-12  Wim Taymans  <wim@fluendo.com>
4928
4929         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4930         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4931         * gst/gstelement.c: (gst_element_commit_state),
4932         (gst_element_set_state):
4933         Protect flags with proper lock.
4934         unref provided cached clock in dispose.
4935
4936 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4937
4938         * gst/gst.c:
4939         * gst/gstminiobject.h:
4940         * gst/gstpad.h:
4941         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4942           removed unused flags from miniobject
4943           doc fixes
4944
4945 2005-10-12  Wim Taymans  <wim@fluendo.com>
4946
4947         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4948         (gst_file_sink_event), (gst_file_sink_render):
4949         Flush before seeking.
4950
4951 2005-10-12  Andy Wingo  <wingo@pobox.com>
4952
4953         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4954         always been the case.
4955
4956 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4957
4958         * check/gst/gstbin.c: (GST_START_TEST):
4959         * docs/gst/gstreamer-sections.txt:
4960         * gst/base/gstbasesink.c: (gst_base_sink_init):
4961         * gst/base/gstbasesrc.c: (gst_base_src_init),
4962         (gst_base_src_get_range), (gst_base_src_check_get_range),
4963         (gst_base_src_start), (gst_base_src_stop):
4964         * gst/base/gstbasesrc.h:
4965         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4966         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4967         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4968         (bin_bus_handler):
4969         * gst/gstbin.h:
4970         * gst/gstbuffer.h:
4971         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4972         * gst/gstbus.h:
4973         * gst/gstelement.c: (gst_element_is_locked_state),
4974         (gst_element_set_locked_state), (gst_element_commit_state),
4975         (gst_element_set_state):
4976         * gst/gstelement.h:
4977         * gst/gstindex.c: (gst_index_init):
4978         * gst/gstindex.h:
4979         * gst/gstminiobject.h:
4980         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4981         (gst_object_set_parent):
4982         * gst/gstobject.h:
4983         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4984         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4985         * gst/gstpad.h:
4986         * gst/gstpadtemplate.h:
4987         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4988         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4989         * gst/gstpipeline.h:
4990         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4991         (gst_file_index_commit):
4992         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4993         * testsuite/pad/link.c: (gst_test_src_init),
4994         (gst_test_filter_init), (gst_test_sink_init):
4995         * testsuite/states/locked.c: (main):
4996           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4997           moved bitshift from macro to enum definition
4998
4999 2005-10-12  Wim Taymans  <wim@fluendo.com>
5000
5001         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5002         * gst/elements/gstfilesink.c: (gst_file_sink_event),
5003         (gst_file_sink_render):
5004         Some more debugging info.
5005
5006 2005-10-12  Wim Taymans  <wim@fluendo.com>
5007
5008         * docs/design/part-states.txt:
5009         * tools/gst-launch.c: (main):
5010         Some doc updates.
5011         Revert non-intentional change.
5012
5013 2005-10-12  Wim Taymans  <wim@fluendo.com>
5014
5015         * check/gst/gstbin.c: (GST_START_TEST):
5016         * check/gst/gstelement.c: (GST_START_TEST):
5017         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5018         * check/gst/gstghostpad.c: (GST_START_TEST):
5019         * check/gst/gstpipeline.c: (GST_START_TEST):
5020         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5021         * check/states/sinks.c: (GST_START_TEST):
5022         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5023         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5024         (gst_bin_remove_func), (gst_bin_get_state_func),
5025         (gst_bin_recalc_state), (gst_bin_change_state_func),
5026         (bin_bus_handler):
5027         * gst/gstelement.c: (gst_element_get_state_func),
5028         (gst_element_get_state), (gst_element_abort_state),
5029         (gst_element_commit_state), (gst_element_set_state),
5030         (gst_element_change_state), (gst_element_change_state_func):
5031         * gst/gstelement.h:
5032         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5033         (gst_pipeline_provide_clock_func):
5034         * gst/gstutils.c: (gst_element_link_pads_filtered):
5035         * tools/gst-launch.c: (main):
5036         * tools/gst-typefind.c: (main):
5037         Use GstClockTime in _get_state() instead of GTimeVal.
5038         Remove old code in gstutils.c
5039
5040 2005-10-12  Andy Wingo  <wingo@pobox.com>
5041
5042         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5043         removed.
5044
5045         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5046         there is no task. Shouldn't affect any code, as nothing in our
5047         plugins checks this return value.
5048         (gst_pad_stop_task): Also take the stream lock if the pad has no
5049         task. Docs updated.
5050
5051 2005-10-12  Wim Taymans  <wim@fluendo.com>
5052
5053         * gst/gstpad.c: (pre_activate), (post_activate),
5054         (gst_pad_activate_pull), (gst_pad_activate_push):
5055         Cleanup activation code. Reset old state if
5056         activation failed.
5057
5058 2005-10-12  Wim Taymans  <wim@fluendo.com>
5059
5060         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5061         (gst_base_sink_change_state):
5062         No need to prerol after receiving EOS.
5063
5064         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5065         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5066         * gst/elements/gstidentity.c: (gst_identity_event):
5067         Print events more verbosely.
5068
5069 2005-10-12  Wim Taymans  <wim@fluendo.com>
5070
5071         * check/Makefile.am:
5072         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5073         * check/states/sinks2.c:
5074         Moved sinks2 testcode in sinks check.
5075
5076         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5077         (gst_bin_remove_func), (gst_bin_recalc_state),
5078         (gst_bin_change_state_func), (bin_bus_handler):
5079         Fix potential race condition when _get_state() iterated over an
5080         ASYNC element right before it posted a state completion.
5081
5082         * gst/gstclock.h:
5083         Do proper cast here.
5084
5085         * gst/gstevent.c: (gst_event_new_newsegment),
5086         (gst_event_parse_newsegment):
5087         A playback rate of 0.0 is not allowed.
5088
5089 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5090
5091         * win32/common/config.h:
5092         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5093         (_trewinddir), (_ttelldir), (_tseekdir):
5094         * win32/common/dirent.h:
5095         * win32/common/gtchar.h:
5096         * win32/common/libgstbase.def:
5097         * win32/common/libgstreamer.def:
5098         * win32/vs6/grammar.dsp:
5099         * win32/vs6/gst_inspect.dsp:
5100         * win32/vs6/gst_launch.dsp:
5101         * win32/vs6/gstreamer.dsw:
5102         * win32/vs6/libgstbase.dsp:
5103         * win32/vs6/libgstelements.dsp:
5104         * win32/vs6/libgstreamer.dsp:
5105           Visual Studio 6 project files, and a new common directory.
5106           Phear.
5107
5108 2005-10-11  Wim Taymans  <wim@fluendo.com>
5109
5110         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5111         (gst_base_sink_do_sync), (gst_base_sink_query),
5112         (gst_base_sink_change_state):
5113         * gst/base/gstbasesink.h:
5114         Correctly parse newsegment info.
5115
5116 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5117
5118         * gst/gst.c: (init_post):
5119           split plugin paths correctly
5120
5121 2005-10-11  Wim Taymans  <wim@fluendo.com>
5122
5123         * check/gst/gstevent.c: (GST_START_TEST):
5124         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5125         (gst_base_sink_change_state):
5126         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
5127         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5128         * gst/elements/gstfilesink.c: (gst_file_sink_event):
5129         * gst/gstevent.c: (gst_event_new_newsegment),
5130         (gst_event_parse_newsegment):
5131         * gst/gstevent.h:
5132         Added extra flag to newsegment for future API freeze.
5133         Updated check and base elements.
5134
5135 2005-10-11  Julien MOUTTE  <julien@moutte.net>
5136
5137         * gst/base/gstcollectpads.c: (gst_collectpads_init),
5138         (gst_collectpads_add_pad), (gst_collectpads_pop),
5139         (gst_collectpads_event), (gst_collectpads_chain):
5140         * gst/base/gstcollectpads.h: Handle EOS correctly.
5141
5142 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5143
5144         * tools/gst-launch.c: (main):
5145           more null protecting
5146
5147 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5148
5149         * gst/gst-i18n-lib.h:
5150           check for ENABLE_NLS, not GETTEXT_PACKAGE
5151         * gst/gstregistry.c: (gst_registry_add_plugin),
5152         (gst_registry_scan_path_level),
5153         (_gst_registry_remove_cache_plugins):
5154           protect possibly NULL strings
5155         * gst/parse/types.h:
5156           config.h already included before
5157         * tools/gst-inspect.c: (main):
5158           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5159           check for ENABLE_NLS, not GETTEXT_PACKAGE
5160         * tools/gst-launch.c: (main):
5161           check for ENABLE_NLS, not GETTEXT_PACKAGE
5162
5163 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5164
5165         * configure.ac:
5166           if we don't have glib, fail before testing 2.8
5167         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5168           fix a leak, should fix plugins-base testsuite
5169
5170 2005-10-11  Andy Wingo  <wingo@pobox.com>
5171
5172         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5173         take the mode we're going to as an arg. Go head and set the mode
5174         and flushing flags now, so that if the activate function starts a
5175         thread all the flags will be in the right state.
5176         (post_activate): Renamed also. Just handle making sure streaming
5177         finishes for the deactivation case, and setting the deactivated
5178         mode.
5179         (gst_pad_set_active): Complain loudly if deactivation fails.
5180         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5181         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5182         remove the terrible hack.
5183
5184 2005-10-11  Wim Taymans  <wim@fluendo.com>
5185
5186         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5187         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5188         (gst_bin_recalc_state), (gst_bin_change_state_func),
5189         (gst_bin_dispose), (bin_bus_handler):
5190         * gst/gstbin.h:
5191         Prepare to make current EOS message queue more generic.
5192         Fix some typos.
5193
5194         * gst/gstevent.c: (gst_event_new_newsegment),
5195         (gst_event_parse_newsegment):
5196         * gst/gstevent.h:
5197         Rename base to stream_time.
5198
5199         * gst/gstmessage.h:
5200         Fix typo in docs.
5201
5202 2005-10-11  Wim Taymans  <wim@fluendo.com>
5203
5204         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5205         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5206         (gst_bin_change_state_func), (bin_bus_handler):
5207         * gst/gstbin.h:
5208         Work on proper clock selection.
5209
5210 2005-10-11  Edward Hervey  <edward@fluendo.com>
5211
5212         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5213         * libs/gst/controller/gstcontroller.h:
5214         Added GList* version of _remove_properties() in order to be able to wrap
5215         it in bindings.
5216
5217 2005-10-11  Wim Taymans  <wim@fluendo.com>
5218
5219         * docs/design/part-states.txt:
5220         Some more docs.
5221
5222         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5223         (gst_bin_change_state_func), (bin_bus_handler):
5224         Doc updates. Don't distribute the same clock over and over again.
5225
5226         * gst/gstclock.c:
5227         * gst/gstclock.h:
5228         Doc updates.
5229
5230         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5231         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5232         (gst_pad_send_event):
5233         * gst/gstpad.h:
5234         Make probe emission threadsafe again.
5235         Register quarks and move _get_name() from utils.
5236         Doc updates.
5237
5238         * gst/gstpipeline.c: (gst_pipeline_class_init),
5239         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5240         Only redistribute the clock of it changed.
5241
5242         * gst/gstsystemclock.h:
5243         Doc updates. 
5244
5245         * gst/gstutils.c:
5246         * gst/gstutils.h:
5247         Moved the _flow_get_name() to GstPad.
5248
5249 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5250
5251         * check/gst-libs/gdp.c: (GST_START_TEST):
5252         * check/gst/gstcaps.c: (GST_START_TEST):
5253         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5254         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5255         (gst_dp_packet_from_caps):
5256           fix more valgrind warnings before turning up the heat
5257
5258 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5259
5260         * gst/parse/grammar.y:
5261           some cleanup before the hacking
5262
5263 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5264
5265         * gst/base/gstbasesrc.c: (gst_base_src_query):
5266           use conversions
5267         * gst/gstutils.c: (gst_guint64_to_gdouble),
5268         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5269         * gst/gstutils.h:
5270           externalize, basesrc uses it
5271           obviously the implementation needs testing
5272
5273 2005-10-10  Wim Taymans  <wim@fluendo.com>
5274
5275         * tests/sched/Makefile.am:
5276         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5277         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5278
5279 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5280
5281         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5282           apparently converting from guint64 to double is not implemented
5283           on MSVC
5284
5285 2005-10-10  Wim Taymans  <wim@fluendo.com>
5286
5287         * check/Makefile.am:
5288         * check/generic/states.c: (GST_START_TEST):
5289         * check/gst/gstbin.c: (GST_START_TEST):
5290         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5291         * check/states/sinks.c: (GST_START_TEST):
5292         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5293         (main):
5294         Check fixes, use API as stated in design docs, remove hacks.
5295
5296         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5297         (gst_base_sink_change_state):
5298         Catch stopping our task while we're shutting down.
5299
5300         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5301         (gst_bin_remove_func), (gst_bin_get_state_func),
5302         (gst_bin_recalc_state), (gst_bin_change_state_func),
5303         (bin_bus_handler):
5304         * gst/gstbin.h:
5305         * gst/gstelement.c: (gst_element_init),
5306         (gst_element_get_state_func), (gst_element_abort_state),
5307         (gst_element_commit_state), (gst_element_lost_state),
5308         (gst_element_set_state), (gst_element_change_state),
5309         (gst_element_change_state_func):
5310         * gst/gstelement.h:
5311         New state change algorithm (see #318116)
5312
5313         * gst/gstpipeline.c: (gst_pipeline_class_init),
5314         (gst_pipeline_init), (gst_pipeline_set_property),
5315         (gst_pipeline_get_property), (do_pipeline_seek),
5316         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5317         * gst/gstpipeline.h:
5318         Remove crude state change hacks.
5319
5320         * gst/gstutils.h:
5321         Remove crude hacks.
5322
5323         * tools/gst-launch.c: (main):
5324         Fixes for state change. Needs some more work to fully use the
5325         new stuff.
5326
5327 2005-10-10  Andy Wingo  <wingo@pobox.com>
5328
5329         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5330
5331         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5332         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5333         issue.
5334
5335 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5336
5337         * gst/gstiterator.c: (gst_iterator_new):
5338           Fix my previous commit: GTypes passed to gst_iterator_new()
5339           can be fundamental types.
5340
5341 2005-10-10  Wim Taymans  <wim@fluendo.com>
5342
5343         * gst/gstelement.c: (gst_element_iterate_pad_list),
5344         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5345         (gst_element_iterate_sink_pads):
5346         Use src/sink pads lists for the respective iterators instead
5347         of filtering.
5348
5349 2005-10-10  Andy Wingo  <wingo@pobox.com>
5350
5351         Merged in popt removal + GOption addition patch from Ronald, bug
5352         #169772.
5353
5354         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5355         GstElement macros around, remove popt-related symbols, add goption
5356         stuff.
5357
5358         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5359         
5360         * docs/gst/Makefile.am:
5361         * docs/libs/Makefile.am: No POPT_CFLAGS.
5362         
5363         * examples/manual/Makefile.am:
5364         * docs/manual/basics-init.xml: Doc updates with an example.
5365         
5366         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5367         (gst_init), (parse_one_option), (parse_goption_arg):
5368         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5369         bit of hand merging and debugging to get the GOption stuff working
5370         tho.
5371         
5372         * tests/Makefile.am:
5373         * tools/Makefile.am:
5374         * tools/gst-inspect.c: (main):
5375         * tools/gst-launch.c: (main):
5376         * tools/gst-run.c: (main):
5377         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5378
5379 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5380
5381         * gst/gstiterator.c: (gst_iterator_new):
5382           Add assertions to make sure passed GType is likely to really
5383           be a GType (as the compiler won't catch it if the size and
5384           GType arguments get mixed up, see #318447).
5385
5386 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5387
5388         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5389
5390         * gst/gstbin.c: (gst_bin_iterate_sorted):
5391           Pass GType and size arguments to gst_iterator_new() in the right
5392           order (maybe we should make _new() take the GType as first argument
5393           just like _new_list()?) (#318447).
5394           
5395
5396 2005-10-10  Wim Taymans  <wim@fluendo.com>
5397
5398         * gst/gstelement.c: (gst_element_finalize):
5399         And free the GStaticRecMutex too
5400
5401 2005-10-10  Andy Wingo  <wingo@pobox.com>
5402
5403         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5404         Allocate and free the mutex properly.
5405
5406         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5407         New macros.
5408         (GstElement): The state_lock is now recursive. Rebuild your
5409         plugins, suckers. Old macros adapted.
5410
5411         * docs/gst/gstreamer-sections.txt: Doc updates.
5412
5413         * gst/gstutils.h:
5414         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5415         (g_static_rec_cond_wait): Ported from state changes patch, while
5416         we wait on bug #317802 to be solved in a well-distributed GLib.
5417
5418         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5419         gst_element_change_state, variable name changes.
5420         (gst_element_change_state): Split out of gst_element_set_state in
5421         preparation for the state change merge. Doesn't pay attention to
5422         the 'transition' argument.
5423         (gst_element_set_state): Updates, hopefully purely cosmetic.
5424         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5425         state change patch.
5426         (gst_element_get_state_func): Renamed from get_state, cosmetic
5427         changes.
5428
5429 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5430
5431         * gst/elements/gstelements.c:
5432         * win32/GStreamer.vcproj:
5433         * win32/config.h:
5434         * win32/dirent.c: (_tseekdir):
5435         * win32/gst-inspect.vcproj:
5436         * win32/gst-launch.vcproj:
5437         * win32/gstconfig.h:
5438         * win32/gstelements.vcproj:
5439         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5440         * win32/gstreamer.def:
5441         * win32/msvc71.sln:
5442           updates for the win32 build (patch from Sebastien Moutte)
5443
5444 2005-10-10  Andy Wingo  <wingo@pobox.com>
5445
5446         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5447         gst_bin_get_state, cleaned up (but no logic changes).
5448         (bin_element_is_sink): Comment updates.
5449         (sink_iterator_filter): Remove needless cast.
5450         (gst_bin_iterate_sinks): Doc update.
5451         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5452         cleaned up (but no logic changes).
5453
5454         * check/states/sinks.c (test_src_sink): Cleanups from the state
5455         change patch.
5456         (test_livesrc_sink): Sync on the state.
5457
5458         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5459         the state change patch.
5460
5461         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5462         change patch.
5463
5464         * check/gst/gstbin.c: Merge in some style fixes and additional
5465         checks from Wim's state change patch.
5466
5467 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5468
5469         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5470         (gst_type_find_helper):
5471           Check whether we have the requested data already in our list of
5472           cached buffers before pulling a new buffer; also make the buffer
5473           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5474
5475 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5476
5477         * gst/gstcaps.c:
5478         * gst/gstevent.c:
5479           doc updates
5480         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5481           don't use long long, it's not portable.  Replacing with
5482           gint64 seems to work; let's hope no skeletons fall out of the closet.
5483
5484 2005-10-10  Andy Wingo  <wingo@pobox.com>
5485
5486         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5487
5488 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5489
5490         * docs/gst/gstreamer-sections.txt:
5491         * gst/gstevent.c:
5492         * gst/gstevent.h:
5493         * gst/gstinfo.c:
5494         * gst/gstinfo.h:
5495         * gst/gstmessage.c: (gst_message_parse_state_changed):
5496         * gst/gstpad.c:
5497         * gst/gstpad.h:
5498           more docs, fix compilation
5499
5500 2005-10-09  Philippe Khalaf <burger@speedy.org>
5501         * gst/gstmessage.c:
5502           Fixed a few forgotten variables on previous commit
5503
5504 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5505
5506         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5507           Fix evil typefind crasher: getrange() might return a short
5508           buffer at the end of a file, but gst_type_find_peek() must
5509           either return the full data as requested or NULL, but
5510           never a short buffer.
5511
5512 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5513
5514         * gst/gstmessage.c: (gst_message_new_state_changed),
5515         (gst_message_parse_state_changed):
5516         * gst/gstmessage.h:
5517           don't use "new", it's a C++ keyword
5518
5519 2005-10-08  Wim Taymans  <wim@fluendo.com>
5520
5521         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5522         * gst/gstelement.c: (gst_element_post_message):
5523         * gst/gstpipeline.c: (gst_pipeline_change_state):
5524         Small docs and debug updates.
5525
5526 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5527
5528         * docs/gst/gstreamer-sections.txt:
5529         * gst/gstelementfactory.c:
5530         * gst/gstevent.c:
5531         * gst/gsttaglist.c:
5532           more docs
5533
5534 2005-10-08  Wim Taymans  <wim@fluendo.com>
5535
5536         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5537         (gst_bin_dispose), (bin_bus_handler):
5538         Fix typos, add comments.
5539         Clear EOS list when going to PAUSED from any direction and do it
5540         in a threadsafe way.
5541         Get base time in a threadsafe way too.
5542         Fix confusing debug in the change_state function.
5543         Various other small cleanups.
5544         
5545         * gst/gstelement.c: (gst_element_post_message):
5546         Fix very verbose bus posting code.
5547
5548         * gst/gstpipeline.c: (gst_pipeline_class_init),
5549         (gst_pipeline_set_property), (gst_pipeline_get_property),
5550         (gst_pipeline_change_state):
5551         Small ARG_ -> PROP_ cleanup
5552
5553 2005-10-08  Wim Taymans  <wim@fluendo.com>
5554
5555         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5556         Do a less CPU demanding EOS check because we can.
5557
5558 2005-10-08  Wim Taymans  <wim@fluendo.com>
5559
5560         * libs/gst/dataprotocol/dataprotocol.c:
5561         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5562         (gst_dp_packet_from_event):
5563         * libs/gst/dataprotocol/dataprotocol.h:
5564         * libs/gst/dataprotocol/dp-private.h:
5565         It's about time we bump the version number.
5566         Since event types don't fit in the guint8 anymore describing
5567         the payload type, make payload type 16 bits wide.
5568
5569 2005-10-08  Wim Taymans  <wim@fluendo.com>
5570
5571         * docs/design/part-TODO.txt:
5572         * docs/design/part-clocks.txt:
5573         * docs/design/part-events.txt:
5574         * docs/design/part-gstbin.txt:
5575         * docs/design/part-gstelement.txt:
5576         * docs/design/part-gstpipeline.txt:
5577         * docs/design/part-live-source.txt:
5578         * docs/design/part-messages.txt:
5579         * docs/design/part-overview.txt:
5580         * docs/design/part-states.txt:
5581         Many doc updates.
5582
5583 2005-10-08  Wim Taymans  <wim@fluendo.com>
5584
5585         * gst/gstevent.c:
5586         * gst/gstevent.h:
5587         Fix event quark registration.
5588         Add some space between events so we can insert them in the
5589         right groups.
5590
5591 2005-10-08  Wim Taymans  <wim@fluendo.com>
5592
5593         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5594         (gst_base_sink_handle_buffer):
5595         Better log message.
5596
5597         * gst/gstbus.h:
5598         * gst/gstelement.h:
5599         More docs.
5600
5601         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5602         (gst_queue_set_property), (gst_queue_get_property):
5603         * gst/gstqueue.h:
5604         Remove old unused properties.
5605
5606 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5607         * docs/gst/gstreamer-sections.txt:
5608         * gst/gstmessage.c:
5609         * gst/gstmessage.h:
5610         * gst/gstminiobject.c:
5611         * gst/gstminiobject.h:
5612         * gst/gstobject.h:
5613         * gst/gstpad.h:
5614         * gst/gstutils.h:
5615           lots of new docs and doc fixes
5616
5617 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5618
5619         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5620         * gst/gstplugin.h:
5621         * gst/gstregistry.c: (gst_registry_lookup_locked),
5622         (gst_registry_scan_path_level):
5623         * gst/gstregistryxml.c: (load_plugin):
5624           Only ever load one plugin for a given plugin basename.
5625           This ensures correct overriding of GST_PLUGIN_PATH over
5626           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5627           system installed plugins.
5628
5629 2005-10-08  Wim Taymans  <wim@fluendo.com>
5630
5631         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5632         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5633         Prepare for doing QOS.
5634
5635 2005-10-08  Wim Taymans  <wim@fluendo.com>
5636
5637         * check/gst/gstbin.c: (GST_START_TEST):
5638         * check/pipelines/cleanup.c: (GST_START_TEST):
5639         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5640         Allow new clock message too.
5641
5642 2005-10-08  Wim Taymans  <wim@fluendo.com>
5643
5644         * gst/gstmessage.c: (gst_message_new_error),
5645         (gst_message_new_warning), (gst_message_new_tag),
5646         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5647         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5648         (gst_message_new_segment_start), (gst_message_new_segment_done),
5649         (gst_message_parse_state_changed),
5650         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5651         (gst_message_parse_new_clock):
5652         * gst/gstmessage.h:
5653         Also carry the clock in question.
5654
5655 2005-10-08  Wim Taymans  <wim@fluendo.com>
5656
5657         * gst/gstmessage.c: (gst_message_new_custom),
5658         (gst_message_new_eos), (gst_message_new_error),
5659         (gst_message_new_warning), (gst_message_new_tag),
5660         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5661         (gst_message_new_new_clock), (gst_message_new_segment_start),
5662         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5663         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5664         * gst/gstmessage.h:
5665         Clean up.
5666         Added clock related messages.
5667
5668         * gst/gstpipeline.c: (gst_pipeline_change_state):
5669         Post message when the clock changed.
5670
5671         * tools/gst-launch.c: (event_loop):
5672         Print new clock.
5673
5674 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5675
5676         * tools/gst-inspect.c: (print_element_properties_info):
5677           Can't pass NULL strings to g_print() on windows.
5678
5679 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5680
5681         * docs/Makefile.am:
5682         * docs/gst/Makefile.am:
5683         * docs/gst/gstreamer-docs.sgml:
5684         * docs/gst/running.xml:
5685         * docs/version.entities.in:
5686           add a chapter on running GStreamer.
5687           document GST_DEBUG and GST_PLUGIN* env vars
5688
5689 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5690
5691         * Makefile.am:
5692           remove include dir
5693         * configure.ac:
5694           remove PLUGINS_BUILDDIR stuff
5695         * gst/gst.c: (init_post):
5696           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5697         * idiottest.mak:
5698           remove, it was condescending and not needed
5699
5700 2005-10-08  Wim Taymans  <wim@fluendo.com>
5701
5702         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5703         (gst_base_sink_handle_object), (gst_base_sink_event),
5704         (gst_base_sink_wait), (gst_base_sink_handle_event),
5705         (gst_base_sink_change_state):
5706         * gst/base/gstbasesink.h:
5707         Repost EOS message while going to PLAYING if still EOS.
5708         Make sure that when receiving a FLUSH_START we don't attempt
5709         to sync on the clock anymore.
5710
5711 2005-10-08  Wim Taymans  <wim@fluendo.com>
5712
5713         * tools/gst-launch.c: (event_loop):
5714         Better message printout.
5715
5716 2005-10-08  Wim Taymans  <wim@fluendo.com>
5717
5718         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5719         (gst_bin_child_proxy_get_children_count):
5720         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5721         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5722         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5723         (gst_child_proxy_set_valist):
5724         * gst/parse/grammar.y:
5725         Make ChildProxy threadsafe and fix mem leaks.
5726
5727 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5728
5729         * gst/gst.c: (init_post):
5730           debug the GST_PLUGIN_ env vars
5731
5732 2005-10-08  Wim Taymans  <wim@fluendo.com>
5733
5734         * check/gst/gstbin.c: (GST_START_TEST):
5735         * check/gst/gstmessage.c: (GST_START_TEST):
5736         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5737         * gst/gstelement.c: (gst_element_commit_state),
5738         (gst_element_lost_state):
5739         * gst/gstmessage.c: (gst_message_new_state_changed),
5740         (gst_message_parse_state_changed):
5741         * gst/gstmessage.h:
5742         * tools/gst-launch.c: (event_loop):
5743         Added extra field to STATE_CHANGE message with the pending
5744         state, which will be different from the new state soon.
5745
5746 2005-10-08  Wim Taymans  <wim@fluendo.com>
5747
5748         * gst/gstbus.c: (gst_bus_pop):
5749         * gst/gstclock.c:
5750         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5751         Small cleanups and doc updates.
5752
5753 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5754
5755         * gst/gst.c: (init_pre):
5756         * gst/gstbin.c: (gst_bin_add_func):
5757           log distributing clocks and base time
5758         * gst/gstregistry.c: (gst_registry_add_plugin),
5759         (gst_registry_scan_path_level), (gst_registry_scan_path):
5760           clean up the debugging output a little
5761         * gst/gstutils.c: (gst_element_state_get_name):
5762           warn about a memleak (I've actually seen this be used, though
5763           it was probably a bug)
5764
5765 2005-10-07  Wim Taymans  <wim@fluendo.com>
5766
5767         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5768         (gst_base_src_init), (gst_base_src_default_newsegment),
5769         (gst_base_src_newsegment), (gst_base_src_do_seek),
5770         (gst_base_src_loop), (gst_base_src_start):
5771         * gst/base/gstbasesrc.h:
5772         Make the newsegment event customizable by subclasses.
5773
5774 2005-10-07  Wim Taymans  <wim@fluendo.com>
5775
5776         * gst/gstevent.c: (gst_event_new_buffersize),
5777         (gst_event_parse_buffersize):
5778         * gst/gstevent.h:
5779         New event for future idea.
5780
5781 2005-10-07  Andy Wingo  <wingo@pobox.com>
5782
5783         * gst/gstelement.c (gst_element_post_message): Doc update.
5784
5785         * docs/gst/gstreamer-sections.txt: Update.
5786
5787         * gst/gstmessage.c (gst_message_new_application): Made into a
5788         function like honest API calls.
5789         (gst_message_new_element): New message type.
5790
5791         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5792
5793         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5794         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5795         times.
5796
5797         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5798         NO_PREROLL from gst_element_change_state to fall through.
5799
5800 2005-10-07  Wim Taymans  <wim@fluendo.com>
5801
5802         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5803         (gst_ghost_pad_do_activate_push):
5804         Activating a ghostpad with no internal pad in push mode
5805         is ok.
5806
5807 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5808
5809         * gst/gstobject.h:
5810           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5811           Fixes compilation on Windows.
5812
5813 2005-10-07  Michael Smith <msmith@fluendo.com>
5814
5815         * tools/gst-inspect.c:
5816           Print out feature and plugin count at the end when printing out
5817           all features.
5818
5819 2005-10-04  Michael Smith <msmith@fluendo.com>
5820
5821         * gst/gsterror.c: (_gst_stream_errors_init):
5822           Add another error string used in a few existing plugins.
5823
5824         * gst/gstplugin.c:
5825         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5826         * tools/gst-inspect.c: (print_element_info):
5827           When a feature disappears from a plugin (and the feature exists in
5828           the cached registry file), things went horribly wrong. This isn't a
5829           complete fix, we should actually be removing the 'missing' features
5830           from the features list when we load the actual plugin. That's not
5831           yet implemented. 
5832
5833 2005-10-04  Johan Dahlin  <johan@gnome.org>
5834
5835         * check/gst/gstiterator.c: (GST_START_TEST):
5836         * gst/gstbin.c: (gst_bin_iterate_elements),
5837         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5838         * gst/gstelement.c: (gst_element_iterate_pads):
5839         * gst/gstformat.c: (gst_format_iterate_definitions):
5840         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5841         (gst_iterator_new_list), (gst_iterator_filter):
5842         * gst/gstiterator.h:
5843         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5844         Add a GType to GstIterator, update callsites and tests.
5845
5846 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5847
5848         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5849           give events a chance to be handled by event probes when the pad
5850           is not linked
5851
5852 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5853
5854         * gst/gstevent.c: (gst_event_type_get_name),
5855         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5856         * gst/gstevent.h:
5857           add string representations for event types
5858
5859 2005-10-06  Wim Taymans  <wim@fluendo.com>
5860
5861         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5862         Don't use NULL pointers.
5863
5864 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5865
5866         * gst/gst_private.h:
5867         * gst/gstbus.c:
5868         * gst/gstelement.c:
5869         * gst/gstinfo.c:
5870         * gst/gstpluginfeature.c:
5871           widen the debug category in output to fit the biggest one we have
5872           add a bus category and use it
5873           play with the colors
5874           fix up some categories
5875
5876 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5877
5878         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5879           add push activation of sink ghost pads.
5880           Andye, please verify
5881
5882 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5883
5884         * gst/gstutils.c: (gst_element_link_pads):
5885           fix a bug in the case where neither element has a pad
5886         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5887           add a test for that case
5888
5889 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5890
5891         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5892           emit have-data before checking for peers.  This allows
5893           for probe handlers to connect elements.  This helps autopluggers.
5894         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5895         (gst_pad_suite):
5896           add six checks, linked/unlinked with no/true/false probe
5897
5898 2005-10-04  Wim Taymans  <wim@fluendo.com>
5899
5900         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5901         (gst_fake_sink_event), (gst_fake_sink_preroll),
5902         (gst_fake_sink_render), (gst_fake_sink_change_state):
5903         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5904         (gst_fake_src_get_property), (gst_fake_src_create),
5905         (gst_fake_src_stop):
5906         * gst/elements/gstidentity.c: (gst_identity_stop):
5907         Protect last_message with lock.
5908
5909 2005-10-04  Edward Hervey  <edward@fluendo.com>
5910
5911         * gst/gstformat.h: 
5912         Added precision in the comments for GST_FORMAT_DEFAULT
5913
5914 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5915
5916         * tools/gst-launch.c: (main):
5917           Don't try to run erroneous pipelines.
5918
5919 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5920
5921         * gst/gstbus.c: We don't need this header.
5922
5923 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5924
5925         * configure.ac:
5926           back to development
5927
5928 === release 0.9.3 ===
5929
5930 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5931
5932         * README:
5933         * configure.ac:
5934           Releasing 0.9.3, "Unregistered"
5935
5936 2005-10-03  Andy Wingo  <wingo@pobox.com>
5937
5938         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5939         whereby calling a pad's activatepush() function can start a thread
5940         that starts to push or pull before the pad gets the FLUSHING flag
5941         unset. Hack around it by holding the stream lock until the flag is
5942         set. Need to replace this with a proper solution. Together with
5943         the ghost pad fixes, this fixes mp3 playing/tagreading.
5944
5945         * docs/design/part-gstghostpad.txt: Add a note about activation of
5946         proxy pads outside of ghost pads.
5947
5948         * gst/gstghostpad.c: Implement the ghost pad activation design.
5949
5950 2005-10-02  Andy Wingo  <wingo@pobox.com>
5951
5952         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5953         It is volatile, after all.
5954
5955         * docs/design/part-gstghostpad.txt: Flesh out activation with
5956         ghost pads.
5957
5958         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5959         GST_DEBUG_FUNCPTR.
5960
5961 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5962
5963         * configure.ac:
5964           Fix (unused) AM_CONDITIONAL tests.
5965
5966 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5967
5968         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5969
5970         * gst/gstutils.c: (gst_pad_query_convert):
5971           Add assertion that makes sure src_val is >=0, just like
5972           gst_query_new_convert() has. (#315895)
5973
5974 2005-09-30  Edward Hervey  <edward@fluendo.com>
5975
5976         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5977         Let's not iterate pads we're not interested in, it avoids getting 
5978         sky-high refcounts on sinkpad.
5979
5980 2005-09-30  Wim Taymans  <wim@fluendo.com>
5981
5982         * gst/gstelement.c: (gst_element_set_state),
5983         (gst_element_change_state):
5984         Small tweak, element in ASYNC remains ASYNC.
5985
5986 2005-09-30  Wim Taymans  <wim@fluendo.com>
5987
5988         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5989         Only error is an error.
5990
5991         * gst/gstbin.c: (gst_bin_change_state):
5992         Better debugging.
5993
5994         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5995         Also call pad_block in pad alloc.
5996
5997         * gst/gstutils.c: (gst_flow_get_name):
5998         Better debugging.
5999
6000 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6001
6002         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6003         (gst_base_src_get_range):
6004           Fix documentation typos. Add some more debug info.
6005
6006 2005-09-29  David Schleef  <ds@schleef.org>
6007
6008         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6009           more end-user friendly.
6010         * tools/gst-inspect.c: (main): Check if command-line argument is
6011           a file and attempt to load that file as a plugin.
6012
6013 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6014
6015         * check/gst/gstbin.c:
6016         * check/states/sinks.c:
6017           fix tests for the new warning
6018         * check/gst/gstpipeline.c:
6019           add a test for pipeline and bus interaction
6020         * gst/gstelement.c:
6021           elements should be NULL if they get disposed; add a warning if not
6022
6023 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6024
6025         * gst/gstobject.c:
6026           for 2.6 refcounting, make debug log more correct by printing
6027           the actual refcounts at the time of swap (Wim)
6028
6029 2005-09-29  Andy Wingo  <wingo@pobox.com>
6030
6031         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6032         removes signal watches previously added via
6033         gst_bus_add_signal_watch.
6034         (gst_bus_add_signal_watch): Don't return the source id, just store
6035         it on the bus if there wasn't an id already.
6036
6037         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6038         add_signal_watch and remove_signal_watch.
6039
6040 2005-09-29  Edward Hervey  <edward@fluendo.com>
6041
6042         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
6043         Better if we actually iterate the list :)
6044
6045 2005-09-29  Wim Taymans  <wim@fluendo.com>
6046
6047         * check/gst/gstbin.c: (GST_START_TEST):
6048         Change for new bus API.
6049
6050         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6051         (send_messages), (GST_START_TEST), (gstbus_suite):
6052         Change for new bus signal API.
6053
6054         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6055         (gst_bus_source_prepare), (gst_bus_source_check),
6056         (gst_bus_create_watch), (gst_bus_add_watch_full),
6057         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6058         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6059         * gst/gstbus.h:
6060         Remove support for multiple GSources operating on different
6061         message types as it is too complex and unneeded when using
6062         signals.
6063         Added support for receiving signals from the bus.
6064
6065 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6066
6067         * docs/libs/tmpl/gstdataprotocol.sgml:
6068         * docs/manual/advanced-dataaccess.xml:
6069         * gst/elements/gstcapsfilter.c:
6070         * gst/gstutils.c:
6071           rename filter-caps to caps property
6072
6073 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6074
6075         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6076           More robust fraction string parsing.
6077
6078         * docs/pwg/appendix-porting.xml:
6079           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6080
6081 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6082
6083         * gst/gstcaps.c: (gst_caps_do_simplify):
6084           Thou shalt not free a structure and then continue using it
6085           in the next loop iteration.
6086
6087         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6088         (gst_caps_suite):
6089           Add test case for caps simplification.
6090
6091 2005-09-29  Wim Taymans  <wim@fluendo.com>
6092
6093         * check/gst/gstbin.c: (GST_START_TEST):
6094         Oops.
6095
6096 2005-09-29  Wim Taymans  <wim@fluendo.com>
6097
6098         * check/gst/gstbin.c: (GST_START_TEST):
6099         Add bus to bin.
6100
6101         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6102         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6103         (find_element), (gst_bin_sort_iterator_next),
6104         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6105         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6106         (gst_bin_change_state), (gst_bin_dispose):
6107         A bin does not have a bus, it gets the bus from the parent.
6108
6109         * gst/gstelement.c: (gst_element_requires_clock),
6110         (gst_element_provides_clock), (gst_element_is_indexable),
6111         (gst_element_is_locked_state), (gst_element_change_state),
6112         (gst_element_set_bus_func):
6113         Small cleanups.
6114
6115         * gst/gstpipeline.c: (gst_pipeline_class_init),
6116         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
6117         The pipeline provides a bus.
6118
6119 2005-09-28  Johan Dahlin  <johan@gnome.org>
6120
6121         * gst/gstmessage.c (gst_message_parse_state_changed): Use
6122         gst_structure_get_enum instead of gst_structure_get_int
6123
6124         * gst/gststructure.c (gst_structure_get_enum): Impl.
6125
6126         * gst/gststructure.h (gst_structure_get_enum): Add
6127
6128         * docs/gst/gstreamer-sections.txt: Ditto
6129
6130         * gst/gstmessage.c (gst_message_new_state_changed): Use
6131         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
6132         which does introspection.
6133         Reviewed by Christian Schaller
6134
6135 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6136
6137         * gst/gstinfo.c: (gst_debug_log_default):
6138           don't do dummy g_strdup()s
6139         * libs/gst/controller/gstcontroller.c:
6140         (on_object_controlled_property_changed),
6141         (gst_controlled_property_new), (gst_controller_new_valist),
6142         (gst_controller_new_list),
6143         (gst_controller_remove_properties_valist), (gst_controller_set),
6144         (gst_controller_get), (gst_controller_sync_values),
6145         (gst_controller_get_value_array), (_gst_controller_class_init),
6146         (gst_controller_get_type):
6147         * libs/gst/controller/gstcontroller.h:
6148         * libs/gst/controller/gstinterpolation.c:
6149         (gst_controlled_property_find_timed_value_node):
6150           convert // to /**/ comments
6151
6152 2005-09-28  Wim Taymans  <wim@fluendo.com>
6153
6154         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6155         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6156         (gst_bus_sync_signal_handler):
6157         * gst/gstbus.h:
6158         Added async-message and sync-message signals to the bus.
6159         Added helper BusFunc to emit signals for all posted messages.
6160
6161         * gst/gstmessage.c: (gst_message_type_get_name),
6162         (gst_message_type_to_quark), (gst_message_get_type):
6163         * gst/gstmessage.h:
6164         Register quarks for message names.
6165
6166 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6167
6168         * docs/libs/gstreamer-libs-sections.txt:
6169         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6170         (gst_controller_new_list):
6171         * libs/gst/controller/gstcontroller.h:
6172           added another constructor for language bindings
6173
6174 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6175
6176         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6177           add another check
6178         * gst/gstbus.c:
6179           add some doc
6180         * gst/gstinfo.c: (_gst_debug_init):
6181           slightly more readable color for refcount debugging
6182
6183 2005-09-28  Wim Taymans  <wim@fluendo.com>
6184
6185         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6186         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6187         (find_element), (gst_bin_sort_iterator_next),
6188         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6189         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6190         (gst_bin_change_state), (gst_bin_dispose):
6191         Small doc fixes. get_clock -> provide_clock.
6192
6193         * gst/gstelement.c: (gst_element_class_init),
6194         (gst_element_provides_clock), (gst_element_provide_clock),
6195         (gst_element_get_clock), (gst_element_commit_state),
6196         (gst_element_lost_state):
6197         * gst/gstelement.h:
6198         Make get/set_clock() symetric. Add provide_clock vmethod since
6199         that is actually what this function does.
6200
6201         * gst/gstpipeline.c: (gst_pipeline_class_init),
6202         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6203         (gst_pipeline_get_clock):
6204         get_clock -> provide_clock.
6205
6206 2005-09-28  Andy Wingo  <wingo@pobox.com>
6207
6208         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6209         lieu of real docs...
6210
6211         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6212
6213 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6214
6215         * gst/elements/gstcapsfilter.c:
6216         * gst/elements/gstfakesink.c:
6217         * gst/elements/gstfakesrc.c:
6218         * gst/elements/gstfdsink.c:
6219         * gst/elements/gstfdsrc.c:
6220         * gst/elements/gstfilesink.c:
6221         * gst/elements/gstfilesrc.c:
6222         * gst/elements/gstidentity.c:
6223         * gst/elements/gsttee.c:
6224         * gst/elements/gsttypefindelement.c:
6225           Make element details static.
6226
6227 2005-09-28  Wim Taymans  <wim@fluendo.com>
6228
6229         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6230         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6231         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6232         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6233         (gst_bin_change_state), (gst_bin_dispose):
6234         Some documentation updates.
6235         Clean up dispose handlers.
6236
6237         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6238         * gst/gstpad.c: (gst_pad_dispose):
6239         Clean up dispose handler.
6240
6241         * gst/gstpipeline.c: (gst_pipeline_change_state):
6242         Removed spurious UNLOCK.
6243
6244 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6245
6246         * docs/gst/gstreamer-sections.txt:
6247         * gst/base/gstbasesrc.h:
6248         * gst/gstelement.h:
6249         * gst/gstevent.h:
6250         * gst/gstobject.h:
6251         * gst/gstpad.h:
6252         * gst/gstpipeline.c:
6253         * gst/gstpipeline.h:
6254         * gst/gstutils.h:
6255         * gst/gstxml.h:
6256           added two new functions to the docs
6257                 documents all undocumented GstXXXFlags
6258                 completed some incomplete docs 
6259
6260 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6261
6262         * gst/gstbin.c: (gst_bin_dispose):
6263         * gst/gstelement.c: (gst_element_dispose):
6264           remove now useless and leaky resurrection code in dispose
6265         * gst/base/gstbasesrc.c: (gst_base_src_init):
6266         * gst/gstelementfactory.c: (gst_element_factory_create):
6267         * gst/gstobject.c: (gst_object_set_parent):
6268           add some debugging
6269
6270 2005-09-27  Wim Taymans  <wim@fluendo.com>
6271
6272         * docs/design/part-TODO.txt:
6273         Update TODO.
6274
6275         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6276         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6277         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6278         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6279         (gst_bin_change_state):
6280         * gst/gstelement.h:
6281         Remove element variable, we keep element info in the iterator now.
6282
6283 2005-09-27  Andy Wingo  <wingo@pobox.com>
6284
6285         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6286         values.
6287
6288 2005-09-27  Wim Taymans  <wim@fluendo.com>
6289
6290         * check/gst/gstbin.c: (GST_START_TEST):
6291         Enable check that works now.
6292
6293         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6294         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6295         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6296         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6297         (gst_bin_change_state):
6298         * gst/gstbin.h:
6299         Redid the state change algorithm using a topological sort algo.
6300         Handles all cases correctly.
6301         Exposed iterator for state change order.
6302
6303         * gst/gstelement.h:
6304         Temp storage for state changes. Need to get rid of this soon.
6305
6306 2005-09-27  Wim Taymans  <wim@fluendo.com>
6307
6308         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6309         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6310         (link_fold_func), (gst_pad_proxy_setcaps):
6311         Leak fixes, the fold functions need to unref the passed object and
6312         _get_parent_*() returns ref to parent.
6313
6314 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6315
6316         * check/gst/gstbuffer.c: (test_make_writable):
6317           Plug leak in test case and fix 'make check-valgrind'
6318
6319 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6320
6321         * gst/gstbuffer.c: (gst_subbuffer_init):
6322           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6323           works correctly in all circumstances (we could have just copied
6324           the parent buffer's readonly flag, but conceptually it seems
6325           cleaner to mark all subbuffers as read-only). (based on patch
6326           by Alessandro Decina, #314710).
6327         
6328         * check/gst/gstbuffer.c: (create_read_only_buffer),
6329         (test_make_writable), (test_subbuffer_make_writable),
6330         (gst_test_suite):
6331           Add some tests for gst_buffer_make_writable().
6332
6333 2005-09-27  Wim Taymans  <wim@fluendo.com>
6334
6335         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6336         use gst_object_has_ancestor().
6337
6338         * gst/gstobject.c: (gst_object_has_ancestor):
6339         * gst/gstobject.h:
6340         gst_object_has_ancestor() copied from gstbin.c as it is a
6341         usefull function.
6342
6343         * tests/instantiate/create.c: (create_all_elements):
6344         * tests/lat.c: (handoff_src), (handoff_sink):
6345         * tests/sched/runxml.c: (main):
6346         * tests/seeking/seeking1.c: (main):
6347         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6348         (main):
6349         Fix compilation of some tests.
6350
6351 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6352
6353         * gst/gsterror.h:
6354           Remove comment. GST_TYPE_G_ERROR is here to stay,
6355           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6356           (#316961, #300610).
6357
6358 2005-09-26  Wim Taymans  <wim@fluendo.com>
6359
6360         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6361         Added check that shows error in state change order.
6362
6363 2005-09-26  Wim Taymans  <wim@fluendo.com>
6364
6365         * gst/gstbin.c: (gst_bin_change_state):
6366         Make state change function use 3 queues again, we were
6367         adding elements in the wrong order.
6368
6369         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6370         Some debug info,
6371
6372         * gst/gstpad.c: (gst_pad_dispose):
6373         Added some debug info first.
6374
6375 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6376
6377         * docs/design/draft-push-pull.txt:
6378         * docs/design/part-events.txt:
6379         * docs/design/part-overview.txt:
6380         * docs/design/part-scheduling.txt:
6381           Replace all _pull_region() with _pull_range()
6382           
6383 2005-09-26  Andy Wingo  <wingo@pobox.com>
6384
6385         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6386
6387         * check/gst-libs/controller.c: Update for controller api change.
6388
6389         * configure.ac: 
6390         * tests/Makefile.am:
6391         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6392         over by GLib bug 118439.
6393         
6394         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6395         routines to a function.
6396
6397         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6398
6399         * libs/gst/controller/gsthelper.c:
6400         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6401         (gst_object_sync_values): Renamed from sink_values. Ugh.
6402
6403         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6404
6405         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6406         Renamed from controller_key, as it is exported.
6407
6408         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6409
6410 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6411
6412         * gst/Makefile.am:
6413         * gst/gst.h:
6414         * gst/gstpad.h:
6415         * gst/gstpadtemplate.h:
6416         * gst/gstquery.c:
6417         * gst/gstquery.h:
6418         * gst/gstqueryutils.c:
6419         * gst/gstqueryutils.h:
6420           remove queryutils headers after moving the two used functions
6421           to gstquery.  also fixes build problem for gstsiddec
6422
6423 2005-09-26  Michael Smith <msmith@fluendo.com>
6424
6425         * tools/gst-launch.1.in:
6426         Correct documentation in manpage of debug syntax
6427
6428 2005-09-26  Wim Taymans  <wim@fluendo.com>
6429
6430         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6431         (gst_base_src_is_seekable), (gst_base_src_change_state):
6432         Some more debugging info.
6433
6434 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6435
6436         * docs/gst/gstreamer-sections.txt:
6437         * gst/base/gstbasetransform.h:
6438         * gst/gstindex.h:
6439           added more docs
6440
6441 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6442
6443         * docs/gst/.cvsignore:
6444         * docs/gst/tmpl/.cvsignore:
6445         * docs/gst/tmpl/gstpipeline.sgml:
6446         * docs/gst/tmpl/gstplugin.sgml:
6447         * gst/gstpipeline.c:
6448         * gst/gstplugin.c:
6449         * gst/gstplugin.h:
6450           inlined the last two docs files
6451           removed the tmpl directory from cvs (no more conflicts here!)
6452
6453 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6454
6455         * docs/gst/gstreamer-sections.txt:
6456         * docs/gst/tmpl/.cvsignore:
6457         * docs/gst/tmpl/gstpad.sgml:
6458         * docs/gst/tmpl/gstpadtemplate.sgml:
6459         * gst/Makefile.am:
6460         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6461         (gst_pad_finalize), (gst_pad_set_pad_template):
6462         * gst/gstpad.h:
6463         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6464         (gst_pad_template_class_init), (gst_pad_template_init),
6465         (gst_pad_template_dispose), (name_is_valid),
6466         (gst_static_pad_template_get), (gst_pad_template_new),
6467         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6468         (gst_pad_template_pad_created):
6469         * gst/gstpadtemplate.h:
6470           inlined two more docs
6471           factored gstpadtemplate out of gstpad
6472
6473 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6474
6475         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6476         (test_children_state_change_order_semi_sink):
6477           Fix test case: we can't rely on a fixed state change order when
6478           going from READY => PAUSED because the sink might commit its 
6479           new state first when the first buffer created by the source 
6480           reaches the sink before the source has finished its change state.
6481           (Test case still fails at times, see #316856, comment 5 onwards)
6482
6483 2005-09-24  Wim Taymans  <wim@fluendo.com>
6484
6485         * docs/design/part-events.txt:
6486         * docs/design/part-gstbus.txt:
6487         * docs/design/part-gstpipeline.txt:
6488         * docs/design/part-messages.txt:
6489         * docs/design/part-overview.txt:
6490         * docs/design/part-segments.txt:
6491         * gst/gstbin.c:
6492         * gst/gstbuffer.c:
6493         * gst/gstclock.c:
6494         * gst/gstelement.c:
6495         * gst/gstevent.c:
6496         * gst/gstfilter.c:
6497         * gst/gstiterator.c:
6498         Various documentation updates.
6499
6500 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6501
6502         * gst/gstclock.h:
6503           Well, that's embarassing.  Luckily we weren't using
6504           GST_CLOCK_DIFF anywhere.
6505
6506 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6507
6508         * common/gtk-doc.mak:
6509           don't fail on building XML, FC4 slave shows a bunch of doc
6510           missing bits that I don't get
6511         * gst/gstpad.c:
6512         * gst/gstpipeline.c:
6513         * gst/gststructure.c:
6514           some doc updates
6515
6516 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6517
6518         * docs/design/part-gstbin.txt:
6519         * docs/design/part-gstbus.txt:
6520         * gst/gstbus.c:
6521           Add blurb about how the bus goes into flushing mode and
6522           drops all messages when its bin goes from READY into NULL 
6523           state.
6524
6525 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6526
6527         * docs/gst/gstreamer-sections.txt:
6528         * gst/gststructure.c: (gst_structure_get_clock_time):
6529         * gst/gststructure.h:
6530           add a method to get a GstClockTime out of a structure
6531
6532 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6533
6534         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6535         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6536           Added test to check state change order in bins (can still be made
6537           to fail here under heavy disk load; bails out with 'Push on pad
6538           fakesink:sink0, but it was not activated in push mode').
6539
6540         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6541           Fix state change order when there is only a semi sink (#316856)
6542
6543         * gst/gstbus.c: (gst_bus_class_init):
6544           Use _class_peek_parent(), not _class_ref(); fix docs to say
6545           'default main context' instead of 'mainloop' where that is
6546           what's meant.
6547
6548         * gst/gstelement.c: (gst_element_commit_state),
6549         (gst_element_set_state):
6550           Fix typos in debug messages
6551
6552 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6553
6554         * docs/README:
6555         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6556         * gst/gstpluginfeature.c:
6557         * gst/gstutils.c:
6558           various doc updates
6559         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6560           change an assert into an error until it gets fixed properly
6561
6562 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6563
6564         * docs/gst/gstreamer-sections.txt:
6565         * docs/gst/tmpl/.cvsignore:
6566         * docs/gst/tmpl/gstelement.sgml:
6567         * docs/gst/tmpl/gstinfo.sgml:
6568         * docs/gst/tmpl/gstobject.sgml:
6569         * gst/gstelement.c:
6570         * gst/gstelement.h:
6571         * gst/gstinfo.c:
6572         * gst/gstinfo.h:
6573         * gst/gstobject.c: (gst_object_class_init):
6574         * gst/gstobject.h:
6575           inlined 3 more biiiig doc files and added some missing docs on the fly
6576
6577 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6578
6579         * check/gst/.cvsignore:
6580         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6581         * gst/gstregistryxml.c: (load_plugin),
6582         (gst_registry_xml_save_plugin):
6583           put back source in registry.  add checks for find_plugin.
6584         * testsuite/states/bin.c: (assert_state), (empty_bin),
6585         (test_adding_one_element), (main):
6586         * testsuite/states/locked.c: (main):
6587           some compile/run fixes
6588
6589 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6590
6591         * check/gst/gstvalue.c: (GST_START_TEST):
6592           fix leaks in the test itself
6593
6594 2005-09-22  Wim Taymans  <wim@fluendo.com>
6595
6596         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6597         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6598         (gst_base_sink_query):
6599         Prepare for more accurate position reporting and query
6600         handling.
6601
6602         * gst/gstelement.c: (gst_element_send_event),
6603         (gst_element_set_state):
6604         Add some comment.
6605
6606 2005-09-22  Wim Taymans  <wim@fluendo.com>
6607
6608         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6609         (gst_query_parse_segment):
6610         * gst/gstquery.h:
6611         More documentation.
6612         Add segment query for future use.
6613
6614 2005-09-22  Wim Taymans  <wim@fluendo.com>
6615
6616         * gst/gstbin.c: (gst_bin_add_func):
6617         Some more debug info.
6618
6619         * gst/gstelement.c: (gst_element_send_event):
6620         Simplify send_event
6621
6622         * gst/gstelement.h:
6623         Don't know how flags got broken.
6624
6625         * gst/gstquery.h:
6626         Added new query.
6627
6628 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6629
6630         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6631           Add simplistic test suite for GST_TYPE_DATE serialisation and
6632           deserialisation.
6633
6634 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6635
6636         * docs/gst/gstreamer-sections.txt:
6637         * gst/gststructure.c: (gst_structure_set_valist),
6638         (gst_structure_get_date):
6639         * gst/gststructure.h:
6640         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6641         (gst_date_copy), (gst_value_compare_date),
6642         (gst_value_serialize_date), (gst_value_deserialize_date),
6643         (gst_value_transform_date_string),
6644         (gst_value_transform_string_date), (_gst_value_initialize):
6645         * gst/gstvalue.h:
6646           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6647           bunch of utility functions along with a hack that checks that
6648           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6649           is required. Part of the grand scheme in #170777.
6650
6651 2005-09-22  Andy Wingo  <wingo@pobox.com>
6652
6653         * gst/gstconfig.h.in: Psych out gtk-doc.
6654
6655         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6656
6657         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6658
6659         * tools/gst-inspect.c (print_element_list): Plug some
6660         inconsequential leaks.
6661
6662         * gst/gstregistry.c (gst_registry_get_default): Doc.
6663
6664         * check/gst/gstplugin.c: 
6665         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6666         * gst/gstelementfactory.c (gst_element_factory_create): 
6667         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6668         refcount changes.
6669
6670         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6671         (gst_plugin_feature_load): Doc, don't eat refs.
6672
6673         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6674         (gst_plugin_list_free): Doc.
6675         (gst_plugin_load_file): Doc updates.
6676
6677         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6678         accessors returning refcounted objects, return a ref.
6679
6680         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6681         accessor for caps. IDEMPOTENCE. Oh yes.
6682
6683 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6684
6685         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6686
6687         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6688         (_gst_debug_register_funcptr):
6689           Add mutex to serialise access to the hash table with
6690           the function pointer => function name string mapping;
6691           make that hash table static scope (#316809).
6692
6693         * gst/registries/.cvsignore:
6694           Remove left-over file.
6695
6696 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6697
6698         * docs/pwg/appendix-porting.xml:
6699           And something about newsegment events and caps-on-buffers to
6700           the porting guide (feel free to improve).
6701
6702 2005-09-21  Andy Wingo  <wingo@pobox.com>
6703
6704         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6705         data and event probes on the same pad.
6706         (test_buffer_probe_once): Test that removing probes from within
6707         the probe functions works.
6708
6709 2005-09-21  Andy Wingo  <wingo@pobox.com>
6710
6711         * check/gst/gstutils.c: New file.
6712         (test_buffer_probe_n_times): A simple buffer probe test. More to
6713         come, foolios.
6714
6715         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6716         have-data::buffer, not have-data.
6717         (gst_pad_add_event_probe): Likewise for have-data::event.
6718         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6719         peer' isn't quite right yet though.
6720         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6721         (gst_pad_remove_data_probe): Change to take the guint handler_id
6722         as their arg, not the function+data, which is more glib-like.
6723
6724         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6725         the signal emission to indicate if the data is a buffer or an
6726         event.
6727         (gst_pad_get_type): Initialize buffer and event quarks.
6728         (gst_pad_class_init): have-data is now a detailed signal, yes it
6729         is.
6730
6731 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6732
6733         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6734         * gst/gstutils.c: (gst_util_set_value_from_string),
6735         (gst_util_set_object_arg):
6736           Don't put functional code in g_return_if_fail() or
6737           g_return_val_if_fail() statements, otherwise things will 
6738           break when G_DISABLE_CHECKS is defined during compilation.
6739
6740 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6741
6742         * docs/gst/tmpl/.cvsignore:
6743         * docs/gst/tmpl/gstvalue.sgml:
6744         * gst/gstvalue.c:
6745         * gst/gstvalue.h:
6746           inlied another one and added  some obvious docs
6747
6748 2005-09-21  Wim Taymans  <wim@fluendo.com>
6749
6750         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6751         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6752         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6753         (gst_fdsrc_get_property), (gst_fdsrc_create):
6754         * gst/elements/gstfdsrc.h:
6755         Properly implement fdsrc. Removed signal and timeout,
6756         better implemented somewhere else.
6757
6758 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6759
6760         * docs/gst/tmpl/.cvsignore:
6761         * docs/gst/tmpl/gstimplementsinterface.sgml:
6762         * gst/gstinterface.c:
6763           inlined more docs
6764
6765 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6766
6767         * docs/gst/gstreamer-sections.txt:
6768         * docs/gst/tmpl/.cvsignore:
6769         * docs/gst/tmpl/gstenumtypes.sgml:
6770           remove obsolete doc file
6771
6772 2005-09-21  David Schleef  <ds@schleef.org>
6773
6774         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6775         little beer, fix a little leak.
6776
6777 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6778
6779         * docs/gst/gstreamer-docs.sgml:
6780         * docs/gst/gstreamer-sections.txt:
6781         * docs/gst/tmpl/.cvsignore:
6782         * gst/Makefile.am:
6783         * gst/gst.h:
6784         * gst/gstbin.c:
6785         * gst/gstelement.h:
6786         * gst/gstindex.c: (gst_index_class_init):
6787         * gst/gstindex.h:
6788         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6789         (gst_index_factory_class_init), (gst_index_factory_init),
6790         (gst_index_factory_finalize), (gst_index_factory_new),
6791         (gst_index_factory_destroy), (gst_index_factory_find),
6792         (gst_index_factory_create), (gst_index_factory_make):
6793         * gst/gstindexfactory.h:
6794         * gst/gstpluginfeature.c:
6795         * gst/gstpluginfeature.h:
6796         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6797           more docs inlined, splitted gstindex.{c,h}
6798
6799 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6800
6801         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6802           fix a leak
6803
6804 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6805
6806         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6807           Set sync to FALSE by default.
6808
6809 2005-09-20  Wim Taymans  <wim@fluendo.com>
6810
6811         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6812         (gst_base_sink_init):
6813         Make sync property settable from subclass.
6814
6815         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6816         (gst_fake_sink_change_state):
6817         Set sync to FALSE by default.
6818
6819 2005-09-20  Wim Taymans  <wim@fluendo.com>
6820
6821         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6822         * tools/gst-launch.c: (main):
6823         The timeout handler should have lower priority than the source
6824         so we don't timeout before popping a message with 0 timeout.
6825         Dump error messages after failed state change.
6826
6827 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6828
6829         * tools/gst-inspect.c: (print_element_properties_info):
6830           Fix two typos.
6831
6832 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6833
6834         * check/gst/gstevent.c:
6835         * gst/elements/gstfakesink.c:
6836         * gst/elements/gstfakesink.h:
6837           remove the sync property from fakesink.
6838           has the side effect of setting sync TRUE
6839           for fakesink, which is a change.  Anyone who knows how
6840           to fix this nicely in a GObject-y way, feel free.
6841
6842 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6843
6844         * docs/gst/gstreamer-docs.sgml:
6845           remove probe refsection
6846
6847 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6848
6849         * check/Makefile.am:
6850           disable valgrinding the controller test again
6851         * docs/gst/gstreamer-sections.txt:
6852           update for api-changes
6853
6854 2005-09-20  Wim Taymans  <wim@fluendo.com>
6855
6856         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6857         (gst_base_sink_set_property), (gst_base_sink_get_property),
6858         (gst_base_sink_do_sync):
6859         * gst/base/gstbasesink.h:
6860         Added sync property to basesink to disable clock sync.
6861
6862 2005-09-20  Andy Wingo  <wingo@pobox.com>
6863
6864         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6865         eating the caller's refcount.
6866
6867         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6868         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6869         refcount.
6870
6871         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6872         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6873         of GLib 2.8 public, so we can know which refcount to check in
6874         tests.
6875
6876         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6877         (gst_object_init): Only set the gst refcount if we're going ahead
6878         with the refcount hack.
6879
6880 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6881
6882         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6883         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6884           more leaks plumbed, added more debug-logging
6885         * gst/gstmacros.h:
6886           whitespace fix
6887
6888 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6889
6890         * gst/gstmessage.c:
6891           remove include of gstmemchunk.h
6892
6893 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6894
6895         * gst/gstclock.c: (_gst_clock_id_free):
6896           Commit from the Political Party For More Atomic CVS Commits,
6897           so that people don't waste too much of their day fishing
6898           out obvious leaks out of massive commits.
6899           Oh, and fix a pretty damn obvious leak in the memchunk
6900           removal code.
6901
6902 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6903
6904         * check/Makefile.am:
6905         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6906           plug mem-leak, re-add to valgrindable tests
6907
6908 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6909
6910         * gst/gstplugin.h:
6911           unbreak the build for those who have chronic arthritis
6912           and typing "make check" is just too taxing on the hands
6913
6914 2005-09-20  Andy Wingo  <wingo@pobox.com>
6915
6916         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6917         really want it out, you should fix plugins at the same time.
6918
6919 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6920
6921         * configure.ac:
6922         * docs/gst/gstreamer-sections.txt:
6923         * gst/gstobject.c:
6924           added missing symbols to api docs
6925           disable ref-count hack if we have glib >= 2.8
6926
6927 2005-09-19  David Schleef  <ds@schleef.org>
6928
6929         * docs/gst/Makefile.am: Ignore a few more internal headers
6930         * docs/gst/gstreamer-docs.sgml: Remove old sections
6931         * docs/gst/gstreamer-sections.txt: Remove old sections
6932         * docs/gst/tmpl/gstobject.sgml: update
6933         * docs/gst/tmpl/gstplugin.sgml: update
6934         * docs/gst/tmpl/gstpluginfeature.sgml: update
6935         * docs/random/ds/0.9-suggested-changes: update.
6936         * gst/Makefile.am: remove memchunk and trashstack, since they're
6937           not used.
6938         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6939         * gst/gst.h: don't include some headers
6940         * gst/gstchildproxy.c: add gstmarshal.h
6941         * gst/gstclock.c: Don't use memchunks
6942         * gst/gstminiobject.c: Add some docs
6943         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6944         * gst/gstobject.h: same
6945         * gst/gstplugin.c: include gstmacros.h
6946         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6947         * gst/gstquery.c: don't use memchunks
6948         * gst/gstregistry.c: rename gst_registry_deinit()
6949         * gst/gstregistry.h: same
6950
6951 2005-09-19  David Schleef  <ds@schleef.org>
6952
6953         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6954         * docs/libs/gstreamer-libs-sections.txt:
6955         * docs/libs/tmpl/gstgetbits.sgml:
6956         * docs/libs/tmpl/gstputbits.sgml:
6957
6958 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6959
6960         * win32/gstenumtypes.c:
6961         * win32/gstenumtypes.h:
6962           Update.
6963
6964 2005-09-19  Wim Taymans  <wim@fluendo.com>
6965
6966         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6967         Automatically PAUSE and RESUME a pipeline when a flushing seek
6968         is performed.
6969
6970 2005-09-19  Andy Wingo  <wingo@pobox.com>
6971
6972         * gst/gstregistry.h: Spacing fixen.
6973
6974 2005-09-19  Wim Taymans  <wim@fluendo.com>
6975
6976         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6977         Handle state change failure more correctly.
6978
6979 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6980
6981         * check/Makefile.am:
6982         * check/pipelines/cleanup.c: (run_pipeline):
6983         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6984         (GST_START_TEST):
6985           enable cleanup again after fixing the leak
6986         * docs/README:
6987           some more info on docs
6988
6989 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6990
6991         * check/Makefile.am:
6992           re-enable tests now that leaks are plugged
6993         * check/gst/gst.c:
6994         * check/gst/gstbin.c:
6995         * check/gst/gstpipeline.c:
6996           add some more tests while fixing leaks
6997         * common/check.mak:
6998           make sure binaries are uptodate when valgrinding/gdbing
6999         * gst/gst.c:
7000         * gst/gstelementfactory.c:
7001           remove a ref too many, and add a FIXME for when we get
7002           round to disposing of classes
7003         * gst/gstplugin.c:
7004           fix the refcounting when loading a plugin from a file and
7005           the code pretends that the pointer is the same even though
7006           of course it can change
7007         * gst/gstpluginfeature.c:
7008           unref plugins marked cached (a bit confusing as a name)
7009           as the docs state should be done
7010           various doc additions to explain refcounting
7011         * gst/gstregistry.c:
7012         * gst/gstregistryxml.c:
7013           debugging
7014
7015 2005-09-19  Wim Taymans  <wim@fluendo.com>
7016
7017         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7018         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7019         (send_messages), (GST_START_TEST), (gstbus_suite):
7020         * check/gst/gstpipeline.c: (GST_START_TEST):
7021         * check/pipelines/cleanup.c: (run_pipeline):
7022         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7023         (GST_START_TEST):
7024         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7025         (gst_bus_source_check), (gst_bus_source_dispatch),
7026         (gst_bus_create_watch), (gst_bus_add_watch_full),
7027         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7028         * gst/gstbus.h:
7029         * tools/gst-launch.c: (event_loop):
7030         * tools/gst-md5sum.c: (event_loop):
7031         GstBusHandler -> GstBusFunc, return value has the same meaning as
7032         any other GSource (FALSE == remove source).
7033         _add_watch() and _add_watch_full() now take a MessageType mask to
7034         only handle specific types of messages.
7035         _poll() returns the GstMessage instead of the message type to avoid
7036         race conditions.
7037         _have_pending() takes a MessageType mask now too.
7038         Added testsuite for multiple bus watches.
7039         Fix testsuites and applications for new bus API.
7040
7041 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7042
7043         * check/Makefile.am:
7044           mark a bunch of the tests as to fix until we fix them
7045
7046 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7047
7048         * common/check.mak:
7049           use GST_PLUGIN settings for valgrind tests as well, so we're
7050           valgrinding the correct thing
7051         * gst/gst.c: (init_post):
7052           plug another leak
7053
7054 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7055
7056         * gst/gst.c: (init_post), (gst_deinit):
7057         * gst/gstelementfactory.c: (gst_element_factory_class_init),
7058         (gst_element_factory_finalize), (gst_element_factory_cleanup):
7059         * gst/gstindex.c: (gst_index_factory_class_init),
7060         (gst_index_factory_finalize):
7061         * gst/gstobject.c: (gst_object_dispose):
7062         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7063         (gst_plugin_load_file), (gst_plugin_desc_free):
7064         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7065         (gst_plugin_feature_finalize):
7066         * gst/gstregistry.c: (gst_registry_class_init),
7067         (gst_registry_init), (gst_registry_finalize),
7068         (gst_registry_get_default), (gst_registry_deinit):
7069         * gst/gstregistry.h:
7070         * gst/gstregistryxml.c: (load_feature), (load_plugin):
7071           various cleanups and memleak plugging.  make valgrind is happy now.
7072
7073 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7074
7075         * common/check.mak:
7076           add a check-valgrind target
7077
7078 2005-09-18  David Schleef  <ds@schleef.org>
7079
7080         * tools/gst-inspect.c: Revert the GOption code.
7081
7082 2005-09-17  David Schleef  <ds@schleef.org>
7083
7084         * check/Makefile.am: Fix environment variables.
7085         * check/gst/gstplugin.c: Fix for API changes.
7086         * tools/gst-inspect.c: Fix for API changes.
7087         * tools/gst-xmlinspect.c: Fix for API changes.
7088         * gst/gstelementfactory.c:
7089         * gst/gstplugin.c:
7090         * gst/gstplugin.h:
7091         * gst/gstpluginfeature.c:
7092         * gst/gstpluginfeature.h:
7093         * gst/gstregistry.c:
7094         * gst/gstregistry.h:
7095         * gst/gstregistryxml.c:
7096         * gst/gsttypefind.c:
7097         * gst/gsttypefindfactory.c:
7098         * gst/indexers/gstfileindex.c:
7099         * gst/indexers/gstmemindex.c:
7100         * gst/schedulers/Makefile.am:
7101           Change registry to keep track of both plugins and features,
7102           removing the feature tracking from plugins themselves.
7103
7104 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7105
7106         * check/Makefile.am:
7107         * tools/gst-register.1.in:
7108           remove gst-register
7109
7110 2005-09-15  David Schleef  <ds@schleef.org>
7111
7112         * check/gst/gstplugin.c:
7113         * gst/gstelementfactory.c:
7114         * gst/gstplugin.c:
7115         * gst/gstpluginfeature.c:
7116         * gst/gstregistry.c:
7117           Getting tired of debugging.  Disabled all the unreffing of
7118           plugins and features, which fixes the segfaults, but of
7119           course leaks like crazy.  At least playbin works.
7120
7121 2005-09-15  David Schleef  <ds@schleef.org>
7122
7123         * check/gst/gstplugin.c: (register_check_elements),
7124         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
7125         More testing
7126         * gst/elements/gsttypefindelement.c: Fix refcounting.
7127         * gst/gsttypefind.c:
7128         * gst/gsttypefindfactory.c:
7129         * gst/gsttypefindfactory.h:
7130
7131 2005-09-15  David Schleef  <ds@schleef.org>
7132
7133         * gst/gstindex.c: get refcounting correct.
7134         * gst/gstregistry.c: Handle the case where a feature/plugin is
7135           not found.
7136
7137 2005-09-15  David Schleef  <ds@schleef.org>
7138
7139         * check/Makefile.am:
7140         * check/gst/gstplugin.c: Add test
7141         * gst/gstplugin.c: Fix problems noticed by testsuite
7142         * gst/gstplugin.h:
7143         * gst/gstregistry.c: 
7144         * gst/gstregistry.h:
7145
7146 2005-09-15  David Schleef  <ds@schleef.org>
7147
7148         * gst/gstplugin.c: Implement semi-decent recounting and locking
7149           in plugins and plugin features.
7150         * gst/gstplugin.h:
7151         * gst/gstpluginfeature.c:
7152         * gst/gstpluginfeature.h:
7153         * gst/gstregistry.c:
7154
7155 2005-09-15  Michael Smith <msmith@fluendo.com>
7156
7157         * gst/gstregistry.c: (gst_registry_get_feature_list):
7158           Implement this. Makes oggdemux work; decodebin still broken.
7159
7160 2005-09-14  David Schleef  <ds@schleef.org>
7161
7162         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7163           #316076)
7164         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7165         * gst/check/Makefile.am:
7166         * libs/gst/controller/Makefile.am:
7167         * libs/gst/dataprotocol/Makefile.am:
7168
7169 2005-09-14  David Schleef  <ds@schleef.org>
7170
7171         * configure.ac: Remove getbits library.  Nothing uses it, and
7172           it should be in something like liboil if someone did want
7173           to use it.
7174         * libs/gst/Makefile.am:
7175         * libs/gst/getbits/Makefile.am:
7176         * libs/gst/getbits/gbtest.c:
7177         * libs/gst/getbits/getbits.c:
7178         * libs/gst/getbits/getbits.h:
7179         * libs/gst/getbits/gstgetbits_generic.c:
7180         * libs/gst/getbits/gstgetbits_i386.s:
7181         * libs/gst/getbits/gstgetbits_inl.h:
7182
7183 2005-09-14  David Schleef  <ds@schleef.org>
7184
7185         * gst/Makefile.am: Dist glib-compat.h
7186
7187 2005-09-14  David Schleef  <ds@schleef.org>
7188
7189         * configure.ac: Remove gst/registries, since it's no longer used.
7190         * gst/registries/Makefile.am:
7191         * gst/registries/gstlibxmlregistry.c:
7192         * gst/registries/gstlibxmlregistry.h:
7193         * gst/registries/gstxmlregistry.c:
7194         * gst/registries/gstxmlregistry.h:
7195         * gst/registries/registrytest.c:
7196
7197 2005-09-14  David Schleef  <ds@schleef.org>
7198
7199         * gst/glib-compat.h:
7200         * gst/gstregistryxml.c:
7201           Convergence is near.  Seriously.
7202
7203 2005-09-14  David Schleef  <ds@schleef.org>
7204
7205         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7206         * gst/glib-compat.h:
7207           Attempt #4 to appease the buildbots.
7208
7209 2005-09-14  David Schleef  <ds@schleef.org>
7210
7211         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7212           Attempt #3.
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         Attempt #2.
7218
7219 2005-09-14  David Schleef  <ds@schleef.org>
7220
7221         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7222           the new functions.
7223
7224 2005-09-14  David Schleef  <ds@schleef.org>
7225
7226         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7227         * gst/glib-compat.h: Add some functions that are in newer versions
7228           of glib than we care to require.
7229         * gst/gstregistryxml.c: Use them.
7230
7231 2005-09-14  David Schleef  <ds@schleef.org>
7232
7233         * po/POTFILES.in: remove gst-register.c
7234
7235 2005-09-14  David Schleef  <ds@schleef.org>
7236
7237         * docs/gst/gstreamer-docs.sgml:
7238         * docs/gst/gstreamer-sections.txt:
7239         * docs/gst/gstreamer.types:
7240         * docs/gst/tmpl/gstelement.sgml:
7241         * docs/gst/tmpl/gstplugin.sgml:
7242         * docs/gst/tmpl/gstpluginfeature.sgml:
7243           Documentation updates for registry changes.
7244
7245 2005-09-14  David Schleef  <ds@schleef.org>
7246
7247         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7248           because we don't require glib-2.8.
7249
7250 2005-09-14  David Schleef  <ds@schleef.org>
7251
7252         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7253           registries directory.
7254
7255 2005-09-14  David Schleef  <ds@schleef.org>
7256
7257         * check/Makefile.am:
7258         * check/generic/states.c:
7259         * gst/Makefile.am:
7260         * gst/gst.c:
7261         * gst/gst.h:
7262         * gst/gst_private.h:
7263         * gst/gstelementfactory.c:
7264         * gst/gstindex.c:
7265         * gst/gstinfo.c:
7266         * gst/gstplugin.c:
7267         * gst/gstplugin.h:
7268         * gst/gstpluginfeature.c:
7269         * gst/gstpluginfeature.h:
7270         * gst/gstregistry.c:
7271         * gst/gstregistry.h:
7272         * gst/gstregistrypool.c: remove
7273         * gst/gstregistrypool.h: remove
7274         * gst/gsttypefind.c:
7275         * gst/gsttypefindfactory.c:
7276         * gst/gsturi.c:
7277         * tools/Makefile.am:
7278         * tools/gst-compprep.c:
7279         * tools/gst-inspect.c:
7280         * tools/gst-register.c: remove
7281         * tools/gst-xmlinspect.c:
7282           Registry rewrite.  Changes registry from being a file created
7283           by a tool into a simple cache file created automatically by 
7284           libgstreamer.  Removed gst-register (because it's no longer
7285           needed).  Remove registry pools, because we only have one
7286           registry implementation (XML).  Fix up other subsystems as
7287           necessary.
7288
7289 2005-09-13  Michael Smith <msmith@fluendo.com>
7290
7291         * gst/gstconfig.h.in:
7292           Don't Use windows linking attributes for MinGW. Fixes #316157
7293
7294 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7295
7296         * gst/gstutils.c: (set_state_async_thread_func),
7297         (gst_element_set_state_async):
7298           Apparently people think it's better if this function doesn't
7299           try to set the state to whatever state was asked for on the first
7300           call to this function for any object.  Seriously.
7301
7302 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7303
7304         * check/gst/gstpipeline.c: (GST_START_TEST):
7305         * docs/gst/gstreamer-sections.txt:
7306         * gst/gstutils.c: (set_state_async_thread_func),
7307         (gst_element_set_state_async):
7308         * gst/gstutils.h:
7309           add a "gst_element_set_state_async" method that
7310           sets the state and starts a thread to make sure the state
7311           change completes as best as it can
7312
7313 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7314
7315         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7316           codify design+behaviour in testsuite after discussion
7317
7318 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7319
7320         * docs/gst/tmpl/gstelement.sgml:
7321         * docs/manual/appendix-quotes.xml:
7322           add a quote
7323         * gst/gstelement.c: (gst_element_set_state):
7324           add some debug
7325
7326 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7327
7328         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7329         (gst_base_transform_prepare_output_buf),
7330         (gst_base_transform_handle_buffer):
7331         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7332         (gst_capsfilter_prepare_buf):
7333           Remove the requirement for sub-classes to call the parent
7334           implementation of prepare_output_buffer with a wrapper function.
7335           
7336         * gst/gsttaglist.h:
7337         * gst/gsttagsetter.h:
7338           Fix #define wrapper
7339
7340 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7341
7342         * docs/gst/gstreamer-sections.txt:
7343           more doc cleanups
7344
7345 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7346
7347         * docs/gst/gstreamer-sections.txt:
7348         * docs/gst/tmpl/gstelement.sgml:
7349         * docs/gst/tmpl/gstplugin.sgml:
7350         * gst/gstminiobject.c:
7351         * gst/gstvalue.h:
7352           docs now stop throwing warnings
7353
7354 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7355
7356         * docs/gst/gstreamer-sections.txt:
7357         * docs/gst/gstreamer.types:
7358         * docs/gst/tmpl/gstpad.sgml:
7359         * docs/gst/tmpl/gsttypes.sgml:
7360         * gst/base/gstadapter.h:
7361         * gst/base/gstbasesink.h:
7362         * gst/base/gstbasesrc.h:
7363         * gst/gstbin.h:
7364         * gst/gstbuffer.h:
7365         * gst/gstbus.h:
7366         * gst/gstcaps.h:
7367         * gst/gstclock.h:
7368         * gst/gstelement.h:
7369         * gst/gstevent.h:
7370         * gst/gstmessage.h:
7371         * gst/gstpad.h:
7372         * gst/gststructure.c:
7373         * gst/registries/gstlibxmlregistry.h:
7374           various documentation fixes
7375
7376 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7377
7378         * docs/gst/gstreamer-sections.txt:
7379         * docs/gst/tmpl/gstvalue.sgml:
7380           rearrange gstvalue section
7381         * gst/gstutils.c: (gst_element_state_get_name):
7382           NONE -> VOID
7383         * gst/gstvalue.c: (_gst_value_initialize):
7384         * gst/gstvalue.h:
7385           doc updates
7386
7387 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7388
7389         * check/gst-libs/controller.c:
7390           Header include fix.
7391         * gst/base/gstbasetransform.c:
7392         (gst_base_transform_default_prepare_buf),
7393         (gst_base_transform_handle_buffer):
7394         * gst/base/gstbasetransform.h:
7395           Some more basetransform changes and fixes to enable sub-classes
7396           that modify buffer metadata only.
7397         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7398         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7399         (gst_capsfilter_prepare_buf):
7400           If the output pad has fixed allowed caps and input buffers 
7401           don't have any, set the fixed caps on outgoing buffers.
7402
7403 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7404         * check/elements/identity.c: (GST_START_TEST):
7405           Make the error a little clearer when the test fails because
7406           identity made a copy of the buffer.
7407         * docs/gst/gstreamer-sections.txt:
7408           New symbols in gstbasetransform.h
7409         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7410         (gst_base_transform_init), (gst_base_transform_transform_size),
7411         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7412         (gst_base_transform_default_prepare_buf),
7413         (gst_base_transform_get_unit_size),
7414         (gst_base_transform_buffer_alloc),
7415         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7416         (gst_base_transform_change_state),
7417         (gst_base_transform_set_passthrough),
7418         (gst_base_transform_set_in_place),
7419         (gst_base_transform_is_in_place):
7420         * gst/base/gstbasetransform.h:
7421           Change BaseTransform to separate in_place operate from same_caps
7422           output. in_place implies that the element can perform the transform
7423           on incoming buffers in-place, even if the caps on the output are
7424           different.
7425           Sub-class elements can now implement special buffer allocation
7426           methods for outgoing buffers if they wish to.
7427           Big documentation addition.
7428         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7429         * gst/elements/gstelements.c:
7430           Changes for basetransform modifications.
7431         * gst/elements/Makefile.am:
7432         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7433           Compile fix. Extra debug output.
7434
7435 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7436
7437         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7438         (gst_pad_suite):
7439           add tests for valid pad naming
7440         * gst/check/gstcheck.c: (gst_check_log_message_func),
7441         (gst_check_log_critical_func):
7442           add ASSERT_WARNING
7443           remove printing of code, it is fragile when the code contains
7444           % and the line number is enough info
7445         * gst/check/gstcheck.h:
7446         * gst/gstpad.c: (gst_pad_template_new):
7447           fix memleaks
7448
7449 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7450
7451         * configure.ac:
7452           say what CHECK flags we use
7453         * docs/libs/gstreamer-libs.types:
7454         * libs/gst/controller/Makefile.am:
7455         * libs/gst/controller/gst-controller.c:
7456         * libs/gst/controller/gst-controller.h:
7457         * libs/gst/controller/gst-helper.c:
7458         * libs/gst/controller/gst-interpolation.c:
7459         * libs/gst/controller/gstcontroller.c:
7460         * libs/gst/controller/gsthelper.c:
7461         * libs/gst/controller/gstinterpolation.c:
7462         * tools/gst-inspect.c: (print_plugin_info):
7463           we don't use dashes in header names
7464
7465 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7466
7467         * check/Makefile.am:
7468         * check/gst/.cvsignore:
7469         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7470         (gst_pipeline_suite), (main):
7471           adding a test for pipelines and state changes
7472         * gst/gstutils.c: (get_state_func):
7473           add some debugging
7474         * gstreamer.spec.in:
7475           fix up spec file
7476
7477 2005-09-08  Michael Smith <msmith@fluendo.com>
7478
7479         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7480         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7481         (gst_file_src_is_seekable), (gst_file_src_get_size),
7482         (gst_file_src_start):
7483         * gst/elements/gstfilesrc.h:
7484           Various fixes for unseekable, unmmapable, and non-normal files, so
7485           that fallback to read() rather than mmap() works.
7486         * gst/gstevent.c: (gst_event_new_newsegment):
7487           Allow newsegment events with segment_start == segment_end, as will
7488           correctly happen if you use filesrc on a zero-size file, for
7489           example.
7490
7491 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7492
7493         * gst/gstplugin.c: (gst_plugin_load_file):
7494           Call g_module_close when we don't load the module
7495
7496         * gst/registries/gstlibxmlregistry.c:
7497         (gst_xml_registry_get_property):
7498           Port leak fix from 0.8
7499
7500 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7501
7502         * docs/gst/gstreamer-docs.sgml:
7503         * docs/gst/tmpl/.cvsignore:
7504         * docs/gst/tmpl/gsttrace.sgml:
7505         * docs/gst/tmpl/gsttrashstack.sgml:
7506         * gst/Makefile.am:
7507         * gst/gst.h:
7508         * gst/gstelement.h:
7509         * gst/gstevent.h:
7510         * gst/gstmessage.c:
7511         * gst/gstmessage.h:
7512         * gst/gsttag.c:
7513         * gst/gsttag.h:
7514         * gst/gsttaginterface.c:
7515         * gst/gsttaginterface.h:
7516         * gst/gsttaglist.c:
7517         * gst/gsttaglist.h:
7518         * gst/gsttagsetter.c:
7519         * gst/gsttagsetter.h:
7520         * gst/gsttrace.c:
7521         * gst/gsttrace.h:
7522         * gst/gsttrashstack.c:
7523           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7524           inlined docs for gsttrace, gsttrashstack
7525
7526 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7527
7528         * gst/Makefile.am:
7529         * gst/elements/gstbufferstore.h:
7530         * gst/elements/gsttypefindelement.c:
7531         * gst/elements/gsttypefindelement.h:
7532         * gst/gst.h:
7533         * gst/gsttypefind.c:
7534         * gst/gsttypefind.h:
7535         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7536         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7537         (gst_type_find_factory_dispose),
7538         (gst_type_find_factory_unload_thyself),
7539         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7540         (gst_type_find_factory_get_caps),
7541         (gst_type_find_factory_get_extensions),
7542         (gst_type_find_factory_call_function):
7543         * gst/gsttypefindfactory.h:
7544         * gst/registries/gstlibxmlregistry.c:
7545         * gst/registries/gstxmlregistry.c:
7546           splitted gsttypefind into gsttypefind, gsttypefindfactory
7547
7548 2005-09-07  Andy Wingo  <wingo@pobox.com>
7549
7550         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7551         condition whereby the pad's task function is entered before the
7552         pad_mode variable was set.
7553
7554 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7555
7556         * gst/gstpad.c: (gst_pad_alloc_buffer):
7557           Catch misbehaving pad_alloc functions that don't
7558           set up caps and do it for them.
7559
7560 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7561
7562         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7563           test for pipe!=NULL
7564         * docs/gst/tmpl/.cvsignore:
7565         * docs/gst/tmpl/gstmemchunk.sgml:
7566         * docs/gst/tmpl/gstparse.sgml:
7567         * docs/gst/tmpl/gsttaglist.sgml:
7568         * docs/gst/tmpl/gsttagsetter.sgml:
7569         * docs/gst/tmpl/gsttypefind.sgml:
7570         * docs/gst/tmpl/gsttypefindfactory.sgml:
7571         * gst/gstmemchunk.c:
7572         * gst/gstparse.c:
7573         * gst/gsttag.c:
7574         * gst/gsttaginterface.c:
7575         * gst/gsttypefind.c:
7576         * gst/gsttypefind.h:
7577           inlined more docs
7578
7579 === release 0.9.2 ===
7580
7581 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7582
7583         * NEWS:
7584         * RELEASE:
7585         * configure.ac:
7586           releasing 0.9.2, "South"
7587
7588 2005-09-05  Andy Wingo  <wingo@pobox.com>
7589
7590         * gst/registries/gstxmlregistry.h:
7591         * gst/registries/gstxmlregistry.c: Um... resurrect...
7592         
7593         * gst/registries/gstxmlregistry.h:
7594         * gst/registries/gstxmlregistry.c: and update to newer API.
7595         Incidentally they should be a bit faster now that they don't have
7596         to parse the caps.
7597         
7598 2005-09-05  Andy Wingo  <wingo@pobox.com>
7599
7600         * gst/registries/gstxmlregistry.h:
7601         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7602         replaced by the libxml registry a while back
7603
7604 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7605
7606         * docs/gst/tmpl/gstplugin.sgml:
7607         * gst/elements/gstelements.c:
7608         * gst/gst.c:
7609         * gst/gstplugin.c: (gst_plugin_register_func),
7610         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7611         (gst_plugin_get_source):
7612         * gst/gstplugin.h:
7613         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7614         (gst_xml_registry_save_plugin):
7615         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7616         (gst_xml_registry_save_plugin):
7617         * tools/gst-inspect.c: (print_plugin_info):
7618           add a "source" plugin description field, to represent the source
7619           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7620           will set it to PACKAGE, which is automake's idea of the name of
7621           the source project.
7622
7623 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7624
7625         * Makefile.am:
7626         * autogen.sh:
7627         * configure.ac:
7628         * docs/Makefile.am:
7629         * docs/faq/Makefile.am:
7630         * docs/gst/tmpl/gstelement.sgml:
7631         * docs/gst/tmpl/gsttypes.sgml:
7632         * docs/htmlinstall.mak:
7633         * docs/manual/Makefile.am:
7634         * docs/pwg/Makefile.am:
7635           reorganize doc build a little
7636           split out docbook and gtk-doc stuff
7637           have two separate --enable's and enable them through autogen
7638           but disable by default in configure (to be similar to other
7639           projects)
7640         * gstreamer.spec.in:
7641           clean up docs install
7642         * po/af.po:
7643         * po/az.po:
7644         * po/ca.po:
7645         * po/cs.po:
7646         * po/de.po:
7647         * po/en_GB.po:
7648         * po/fr.po:
7649         * po/it.po:
7650         * po/nb.po:
7651         * po/nl.po:
7652         * po/ru.po:
7653         * po/sq.po:
7654         * po/sr.po:
7655         * po/sv.po:
7656         * po/tr.po:
7657         * po/uk.po:
7658         * po/vi.po:
7659           translation updates
7660
7661 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7662
7663         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7664           Add comment.
7665           
7666         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7667         (gst_fake_sink_change_state):
7668           Make state change function thread-safe.
7669           
7670         * gst/gstpad.c: (gst_pad_alloc_buffer):
7671           Set offset on generic buffer allocated by fallback.
7672
7673 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7674
7675         * docs/gst/gstreamer-sections.txt:
7676         * docs/gst/tmpl/gstelement.sgml:
7677         * gst/gstpad.c:
7678         * libs/gst/controller/gst-controller.c:
7679         (gst_controlled_property_set_interpolation_mode),
7680         (gst_controlled_property_new),
7681         (gst_controller_find_controlled_property):
7682          run the wingo-magic script against the docs
7683
7684 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7685
7686         * docs/gst/gstreamer-docs.sgml:
7687         * docs/gst/gstreamer-sections.txt:
7688         * docs/gst/tmpl/.cvsignore:
7689         * docs/gst/tmpl/gstelementdetails.sgml:
7690         * docs/gst/tmpl/gstelementfactory.sgml:
7691         * gst/gst.c:
7692         * gst/gstbus.c:
7693         * gst/gstelementfactory.c:
7694         * gst/gstelementfactory.h:
7695           merged elementdetails docs into elementfactory docs
7696           inlined both
7697
7698 2005-09-02  Andy Wingo  <wingo@pobox.com>
7699
7700         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7701         consider this enum an enum and not a flags.
7702
7703 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7704
7705         * docs/gst/gstreamer-docs.sgml:
7706         * docs/gst/tmpl/.cvsignore:
7707         * docs/gst/tmpl/gstghostpad.sgml:
7708         * docs/gst/tmpl/gstiterator.sgml:
7709         * docs/gst/tmpl/gstmacros.sgml:
7710         * docs/gst/tmpl/gstrealpad.sgml:
7711         * docs/gst/tmpl/gstregistry.sgml:
7712         * docs/gst/tmpl/gstregistrypool.sgml:
7713         * docs/gst/tmpl/gststructure.sgml:
7714         * docs/gst/tmpl/gstsystemclock.sgml:
7715         * docs/gst/tmpl/gsttrace.sgml:
7716         * gst/gstghostpad.c:
7717         * gst/gstmacros.h:
7718         * gst/gstmemchunk.c:
7719         * gst/gstmemchunk.h:
7720         * gst/gstqueue.c:
7721         * gst/gstregistry.c:
7722         * gst/gstregistrypool.c:
7723         * gst/gststructure.c:
7724         * gst/gstsystemclock.c:
7725           more docs inlined
7726
7727 2005-09-02  Andy Wingo  <wingo@pobox.com>
7728
7729         * gst/gstelement.h (GstState): Renamed from GstElementState,
7730         changed to be a normal enum instead of flags.
7731         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7732         munged to be GST_STATE_CHANGE_*.
7733         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7734         work with the new state representation.
7735         (GstStateChange): New enumeration of possible state transitions.
7736         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7737         (GstElementClass::change_state): Pass the GstStateChange along as
7738         an argument. Helps language bindings, so they don't have to use
7739         tricky lock-needing macros like GST_STATE_CHANGE ().
7740
7741         * scripts/update-states (file): New script. Run it on a file to
7742         update it for state naming and API changes. Updates files in
7743         place.
7744
7745         * All files updated for the new API.
7746
7747 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7748
7749         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7750         * gst/gstutils.c: (gst_util_set_value_from_string),
7751         (gst_util_set_object_arg):
7752           fix a bunch of unchecked return values
7753         * tools/gst-complete.c: (main):
7754         * gstreamer.spec.in:
7755           clean up a little
7756
7757 2005-09-01  Wim Taymans  <wim@fluendo.com>
7758
7759         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7760         (gst_base_sink_event), (gst_base_sink_do_sync),
7761         (gst_base_sink_handle_event):
7762         * gst/base/gstbasesink.h:
7763         Handle newsegments more correctly.
7764
7765         * gst/gstbus.c:
7766         Fix docs.
7767
7768         * gst/gstevent.c: (gst_event_new_newsegment):
7769         A newsegment cannot have a start_time of -1
7770
7771 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7772
7773         * win32/gstenumtypes.c:
7774         * win32/gstenumtypes.h:
7775           Update
7776
7777 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7778
7779         * libs/gst/controller/gst-controller.c:
7780         (gst_controlled_property_set_interpolation_mode),
7781         (gst_controlled_property_new):
7782          fixed boolean again
7783
7784 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7785
7786         * docs/faq/gst-uninstalled:
7787           add -good
7788         * gst/gstevent.c:
7789         * gst/gstevent.h:
7790           remove wrong docs
7791         * gst/gstutils.c: (gst_element_link_filtered):
7792         * gst/gstutils.h:
7793           add gst_element_link_filtered
7794
7795 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7796
7797         * docs/gst/gstreamer-docs.sgml:
7798         * docs/gst/gstreamer-sections.txt:
7799         * docs/gst/tmpl/.cvsignore:
7800         * docs/gst/tmpl/gsterror.sgml:
7801         * docs/gst/tmpl/gstfilter.sgml:
7802         * docs/gst/tmpl/gsturihandler.sgml:
7803         * docs/gst/tmpl/gsturitype.sgml:
7804         * docs/gst/tmpl/gstutils.sgml:
7805         * docs/gst/tmpl/gstxml.sgml:
7806         * gst/gsterror.c:
7807         * gst/gsterror.h:
7808         * gst/gstfilter.c:
7809         * gst/gsturi.c:
7810         * gst/gsturitype.c:
7811         * gst/gstutils.c:
7812         * gst/gstxml.c:
7813           inlined more docs, fixed double id-ref
7814
7815 2005-08-31  Wim Taymans  <wim@fluendo.com>
7816
7817         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7818         (gst_base_transform_handle_buffer):
7819         Passthrough elements don't need the caps as they don't care.
7820
7821 2005-08-31  Wim Taymans  <wim@fluendo.com>
7822
7823         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7824         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7825         Don't leak refcounts on buffers.
7826
7827 2005-08-31  Wim Taymans  <wim@fluendo.com>
7828
7829         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7830         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7831         (gst_base_transform_chain), (gst_base_transform_change_state):
7832         * gst/base/gstbasetransform.h:
7833         Handle the case where we are not negotiated more gracefully.
7834
7835 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7836
7837         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7838         (gst_file_src_map_region):
7839           Set READONLY flag on mmap'ed buffers, otherwise
7840           gst_buffer_make_writable() won't work properly (#314708).
7841
7842 2005-08-31  Wim Taymans  <wim@fluendo.com>
7843
7844         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7845         passthrough elements can even do inplace on non writable
7846         buffers (as they don't touch them).
7847
7848 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7849
7850         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7851         (gst_test_mono_source_set_property),
7852         (gst_test_mono_source_class_init), (GST_START_TEST),
7853         (gst_controller_suite):
7854           more tests (hehe I have the most)
7855         * gst/gstbus.c:
7856           describe popping messages whenusing mulltiple sources
7857         * libs/gst/controller/gst-controller.c:
7858         (gst_controlled_property_set_interpolation_mode),
7859         (gst_controlled_property_new):
7860         * libs/gst/controller/gst-controller.h:
7861         * libs/gst/controller/gst-interpolation.c:
7862           implement boolean properties
7863
7864 2005-08-31  Wim Taymans  <wim@fluendo.com>
7865
7866         * gst/gstminiobject.c: (gst_mini_object_ref):
7867         Cannot assert that the refcount has to be positive
7868         since a disposed object can be resurrected.
7869
7870 2005-08-31  Wim Taymans  <wim@fluendo.com>
7871
7872         * gst/gstpad.c: (gst_pad_init):
7873         Revert change, need to first fix badly behaving 
7874         apps.
7875
7876 2005-08-30  Wim Taymans  <wim@fluendo.com>
7877
7878         * check/elements/fakesrc.c: (setup_fakesrc):
7879         * check/elements/identity.c: (setup_identity):
7880         Activate pads before using them.
7881
7882 2005-08-30  Wim Taymans  <wim@fluendo.com>
7883
7884         * gst/base/gstadapter.c: (gst_adapter_flush):
7885         Flushing out 0 bytes is ok for this function.
7886
7887         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7888         no newsegment gives a warning and sets the start/stop to 
7889         invalid.
7890
7891         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7892         (gst_base_transform_set_passthrough):
7893         Some debug info.
7894
7895         * gst/gstminiobject.c: (gst_mini_object_ref):
7896         Check refcount here too.
7897
7898         * gst/gstpad.c: (gst_pad_init):
7899         Pads are initially flushing and refusing data.
7900
7901         * gst/gstutils.c: (gst_element_link_pads_filtered):
7902         When adding a capsfilter element make sure it has the
7903         same state as the parent bin.
7904
7905 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7906
7907         * docs/gst/tmpl/.cvsignore:
7908         * docs/gst/tmpl/gstformat.sgml:
7909         * docs/gst/tmpl/gstversion.sgml:
7910         * gst/gstbus.h:
7911         * gst/gstformat.c:
7912         * gst/gstformat.h:
7913         * gst/gstversion.h.in:
7914           more docs and two more inlined
7915
7916 2005-08-30  Wim Taymans  <wim@fluendo.com>
7917
7918         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7919         Don't sync to clock.
7920
7921 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7922
7923         * docs/gst/gstreamer-sections.txt:
7924           ultral33t func10ns deserve to appear in the docs actually
7925         * docs/gst/tmpl/.cvsignore:
7926         * docs/gst/tmpl/gstcompat.sgml:
7927         * docs/gst/tmpl/gstconfig.sgml:
7928         * gst/check/gstcheck.c:
7929         * gst/gstcompat.h:
7930         * gst/gstconfig.h.in:
7931           inlined more docs
7932
7933 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7934
7935         * docs/gst/tmpl/.cvsignore:
7936         * docs/gst/tmpl/gstquery.sgml:
7937         * docs/gst/tmpl/gstutils.sgml:
7938         * gst/gstquery.c:
7939         * gst/gstquery.h:
7940           inlined and extended docs
7941
7942 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7943
7944         * check/gst-libs/controller.c: (GST_START_TEST),
7945         (gst_controller_suite):
7946           more tests
7947         * docs/gst/tmpl/gstutils.sgml:
7948         * docs/libs/gstreamer-libs-sections.txt:
7949         * docs/libs/tmpl/gstdataprotocol.sgml:
7950           include path fixes
7951         * examples/controller/audio-example.c: (main):
7952           controller example works now
7953         * gst/gstclock.h:
7954           doc fixes
7955         * tools/gst-inspect.c: (print_element_properties_info):
7956           show param spec flags
7957
7958 2005-08-29  Andy Wingo  <wingo@pobox.com>
7959
7960         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7961
7962 2005-08-28  Andy Wingo  <wingo@pobox.com>
7963
7964         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7965         as having two arguments instead of just one. Allows superclasses
7966         to access information on subclasses -- see the terrible for() loop
7967         in gtype.c:g_type_create_instance for the reason why. All callers
7968         changed.
7969
7970 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7971
7972         * docs/design/part-messages.txt:
7973           update info
7974         * docs/gst/tmpl/.cvsignore:
7975         * docs/gst/tmpl/gstcaps.sgml:
7976         * docs/gst/tmpl/gstclock.sgml:
7977         * gst/gstbus.c:
7978         * gst/gstcaps.c:
7979         * gst/gstcaps.h:
7980         * gst/gstclock.c:
7981         * gst/gstclock.h:
7982         * gst/gstmessage.c:
7983           added descriptions for bus and message
7984           inline caps and clock docs
7985
7986 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7987
7988         * gst/gstmessage.c:
7989         * gst/gstmessage.h:
7990           doc fixes
7991
7992 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7993
7994         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7995           fix div-by-zero
7996
7997 2005-08-26  Andy Wingo  <wingo@pobox.com>
7998
7999         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8000         element_set_state's return val.
8001         (test_2_elements): Add test that's been disabled for months.
8002
8003         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8004         can-activate-pull properties.
8005
8006         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8007         can-activate-pull properties. Implement is_seekable so fakesrc can
8008         operate in pull mode.
8009
8010         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8011         properties.
8012         (gst_base_sink_activate, gst_base_sink_activate_pull)
8013         (gst_base_sink_activate_push): Make activation mode choosing work.
8014         Cleanups.
8015         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8016         is right. Make pull mode work. Post an eos before pausing in pull
8017         mode.
8018         (gst_base_sink_change_state): Pay attention to the core's
8019         change_state() return val.
8020         
8021         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8022         has-getrange properties. Cleanups.
8023         
8024         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8025         has_getrange and replace with can_activate_pull and
8026         can_activate_push.
8027
8028         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8029         locking comments. Remove has_loop, has_chain and replace with
8030         can_activate_pull and can_activate_push.
8031
8032 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
8033
8034         * configure.ac:
8035         * examples/Makefile.am:
8036         * examples/metadata/Makefile.am:
8037         * examples/metadata/read-metadata.c: (message_loop),
8038         (have_pad_handler), (make_pipeline), (print_tag), (main):
8039           Add metadata reading example that loops over a list of filenames,
8040           dumping any tags found.
8041
8042         * gst/gstbus.c: (gst_bus_dispose):
8043         * gst/gstelement.c: (gst_element_dispose):
8044           Release a few potentially-held references in dispose.
8045
8046 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8047
8048         * docs/gst/tmpl/gstminiobject.sgml:
8049           do *not* add tmpl/*.sgml files to CVS!
8050
8051 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8052
8053         * libs/gst/bytestream/.cvsignore:
8054         * libs/gst/bytestream/Makefile.am:
8055         * libs/gst/bytestream/adapter.c:
8056         * libs/gst/bytestream/adapter.h:
8057         * libs/gst/bytestream/bytestream.c:
8058         * libs/gst/bytestream/bytestream.h:
8059         * libs/gst/bytestream/filepad.c:
8060         * libs/gst/bytestream/filepad.h:
8061           removing obsolete files
8062
8063 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8064
8065         * docs/gst/gstreamer-docs.sgml:
8066         * docs/libs/gstreamer-libs-docs.sgml:
8067           disabed additional index entries again, as this makes docs-gen just
8068           slow and they aren't useful yet
8069         * docs/libs/gstreamer-libs-sections.txt:
8070           little -section.txt cleanup for libs
8071
8072 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8073
8074         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8075         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8076           fix up some debugging
8077         (gst_base_transform_get_unit_size),
8078         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8079         (gst_base_transform_handle_buffer):
8080         * gst/base/gstbasetransform.h:
8081           handle and store timed NEWSEGMENT events so that subclasses that
8082           calculate time by counting samples have a segment_start time they
8083           need to add to their timestamps - see audioresample
8084
8085 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8086
8087         * gst/gstbin.h:
8088           removed ';' from the end of macro defs
8089         * docs/gst/gstreamer-docs.sgml:
8090         * docs/gst/gstreamer-sections.txt:
8091         * docs/gst/tmpl/.cvsignore:
8092         * gst/gstbus.h:
8093         * gst/gstelement.c: (gst_element_class_init),
8094         (gst_element_set_state), (activate_pads),
8095         (gst_element_save_thyself):
8096         * gst/gstevent.c: (gst_event_new_newsegment):
8097         * gst/gstevent.h:
8098         * gst/gstiterator.c:
8099         * gst/gstiterator.h:
8100         * gst/gstpad.c:
8101         * gst/gstprobe.h:
8102         * gst/gstutils.c: (gst_pad_query_convert):
8103         * gst/gstutils.h:
8104           fixed parameter name mismatches between source, header and docs
8105           added some more docs, resolved the last batch of unused elements in
8106           docs (now someone needs to doc them)
8107
8108 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8109
8110         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
8111         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
8112           don't walk through the plugins backwards.  Where is all this
8113           reversed logic coming from ?
8114
8115 2005-08-25  Wim Taymans  <wim@fluendo.com>
8116
8117         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8118         (gst_base_transform_transform_size),
8119         (gst_base_transform_configure_caps),
8120         (gst_base_transform_get_unit_size),
8121         (gst_base_transform_buffer_alloc),
8122         (gst_base_transform_change_state):
8123         * gst/base/gstbasetransform.h:
8124         Cache caps unit_size.
8125         Make sure we cannot negotiate up and downstream at the
8126         same time.
8127
8128 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8129
8130         * gst/gst.c: (init_pre), (init_post):
8131           register the installed plugin path after the env var
8132         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8133         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8134           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8135           directories, so the tests can prefer uninstalled over installed
8136
8137 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8138
8139         * gst/base/gstbasetransform.h:
8140           comment
8141         * gst/gstpad.c:
8142           add to docs
8143
8144 2005-08-25  Wim Taymans  <wim@fluendo.com>
8145
8146         * gst/gstbin.c: (bin_bus_handler):
8147         Be a bit more conservative about the posted message.
8148         
8149         * gst/gstbus.c: (gst_bus_post):
8150         Some cleanups, warn wrong return values.
8151
8152 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8153
8154         * check/gst/gstbin.c: (GST_START_TEST):
8155         * gst/gstbin.c: (bin_bus_handler):
8156         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8157         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8158         (gst_message_new_warning), (gst_message_new_tag),
8159         (gst_message_new_state_changed), (gst_message_new_segment_start),
8160         (gst_message_new_segment_done), (gst_message_new_custom):
8161         * gst/gstmessage.h:
8162         * tools/gst-launch.c: (event_loop):
8163         * tools/gst-md5sum.c: (event_loop):
8164           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8165
8166 2005-08-25  Wim Taymans  <wim@fluendo.com>
8167
8168         * check/generic/states.c: (GST_START_TEST):
8169         Cleanup can be done at the end.
8170
8171         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8172         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8173         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8174         Oh boy.. Thanks for finding this, Thomas. 
8175
8176 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8177
8178         * docs/gst/gstreamer.types:
8179           added missing types
8180
8181 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8182
8183         * docs/gst/gstreamer-docs.sgml:
8184         * docs/gst/gstreamer-sections.txt:
8185         * docs/gst/tmpl/.cvsignore:
8186         * gst/gstbin.c:
8187         * gst/gstiterator.c:
8188         * gst/gstutils.c:
8189         * gst/registries/gstxmlregistry.h:
8190           added missing classes and symbols (123 more to go)
8191           removed removed symbols from section file
8192           fixed many doc-comments
8193
8194 2005-08-24  Wim Taymans  <wim@fluendo.com>
8195
8196         * check/generic/states.c: (GST_START_TEST):
8197         Make sure all tasks are stopped.
8198
8199         * check/gst/gstbin.c: (GST_START_TEST):
8200         Unref after usage for proper valgrinding.
8201
8202         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8203         Really wait for the task to stop before destroying the
8204         mutex.
8205
8206         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8207         (gst_queue_src_activate_push):
8208         Small cleanups. Don't stop the task when we did not start
8209         it.
8210
8211         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8212         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8213         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8214         (gst_task_join):
8215         * gst/gsttask.h:
8216         Protect the stream lock with the object lock.
8217         Disallow setting the stream lock when running.
8218         Add cleanup_all to wait for the threadpool to finish.
8219         Remove code to autoallocate a mutex if none was provided.
8220         Add _join() to wait for a task to stop.
8221         Protect the thread pool with a global lock.
8222
8223 2005-08-24  Wim Taymans  <wim@fluendo.com>
8224
8225         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8226         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8227         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8228         * gst/base/gstbasesink.h:
8229         Handle newsegment events correctly.
8230         Drop buffers out of the segment range.
8231
8232 2005-08-22  Andy Wingo  <wingo@pobox.com>
8233
8234         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8235         macro, implements an interface and gstimplementsinterface for a
8236         new type.
8237
8238 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8239
8240         * check/Makefile.am:
8241         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8242           add a test that does a bunch of state changes on elements
8243           needs some fixing for valgrind
8244         * check/states/sinks.c: (gst_object_suite):
8245           whitespace
8246         * gst/gstcaps.h:
8247           add prototype for gst_caps_is_equal_fixed
8248         * gst/gstplugin.c:
8249         * gst/gstregistrypool.c:
8250           doc fixes
8251
8252 2005-08-24  Andy Wingo  <wingo@pobox.com>
8253
8254         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8255         convert a negative value. Doesn't make much sense. Mostly this is
8256         here to force callers to ensure -1 maps to -1.
8257
8258 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8259
8260         * docs/pwg/advanced-types.xml:
8261           Well done to Michael for catching my deliberate introduction
8262           of this spelling mistake. 
8263         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8264         * gst/gstelement.h:
8265           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8266           unlink pads before removing the element from the bin.
8267
8268 2005-08-24  Andy Wingo  <wingo@pobox.com>
8269
8270         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8271         the same thing as GST_DEBUG=*:4.
8272         (parse_debug_level, parse_debug_category): New helper parsers.
8273
8274 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8275
8276         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8277         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8278         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8279         (gst_base_transform_buffer_alloc),
8280         (gst_base_transform_handle_buffer):
8281           use gboolean return values and pointers to size so we can use the
8282           full GST_BUFFER_SIZE range (guint) for buffer sizes
8283           use GstPadDirection for transform_caps
8284         * gst/base/gstbasetransform.h:
8285           rename get_size to get_unit_size since that's what it is
8286         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8287           use GstPadDirection for transform_caps
8288         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8289         * gst/gstutils.h:
8290           cleanup and debugging
8291
8292 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8293
8294         * gst/gstelement.c: (gst_element_class_init),
8295         (gst_element_set_state), (activate_pads),
8296         (gst_element_save_thyself):
8297         * tools/gst-compprep.c: (main):
8298         * tools/gst-inspect.c: (print_element_properties_info):
8299         * tools/gst-xmlinspect.c: (print_element_properties):
8300           Fixed long standing mem-leak
8301
8302 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8303
8304         * check/gst/gstbin.c: (GST_START_TEST):
8305         * gst/gstbin.c: (bin_bus_handler):
8306         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8307         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8308         (gst_message_new_warning), (gst_message_new_tag),
8309         (gst_message_new_state_changed), (gst_message_new_segment_start),
8310         (gst_message_new_segment_done), (gst_message_new_custom):
8311         * gst/gstmessage.h:
8312         * tools/gst-launch.c: (event_loop):
8313         * tools/gst-md5sum.c: (event_loop):
8314           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8315           that applications can sensibly post custom messages with references
8316           to their own objects.
8317
8318 2005-08-24  Andy Wingo  <wingo@pobox.com>
8319
8320         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8321         already.
8322
8323 2005-08-24  Wim Taymans  <wim@fluendo.com>
8324
8325         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8326         (gst_base_transform_transform_caps),
8327         (gst_base_transform_transform_size),
8328         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8329         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8330         (gst_base_transform_handle_buffer):
8331         * gst/base/gstbasetransform.h:
8332         Many fixes and new features added by Thomas. Can now also do
8333         transforms with variable sizes and a custom fixate_caps function.
8334
8335 2005-08-24  Wim Taymans  <wim@fluendo.com>
8336
8337         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8338         Some debugging.
8339
8340         * gst/gstclock.h:
8341         Cast to ClockTime before formatting to time.
8342
8343         * gst/gstutils.h:
8344         Cleanups.
8345
8346 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8347
8348         * check/gst-libs/controller.c: (GST_START_TEST),
8349         (gst_controller_suite):
8350         * docs/gst/tmpl/gstcaps.sgml:
8351         * docs/gst/tmpl/gstghostpad.sgml:
8352         * docs/gst/tmpl/gstquery.sgml:
8353         * docs/gst/tmpl/gstutils.sgml:
8354         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8355         (gst_object_sink_values), (gst_object_get_value_arrays),
8356         (gst_object_get_value_array):
8357           gracefully handle helper method calls to objects that are not beeing
8358           controlled, added test case for that          
8359
8360 2005-08-23  Wim Taymans  <wim@fluendo.com>
8361
8362         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8363         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8364         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8365         (gst_event_parse_qos), (gst_event_new_seek),
8366         (gst_event_parse_seek):
8367         * gst/gstevent.h:
8368         Some more debugging output and doc cleanups.
8369
8370         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8371         Fix possible deadlock.
8372
8373 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8374
8375         * docs/gst/gstreamer-docs.sgml:
8376         * docs/gst/gstreamer-sections.txt:
8377         * docs/gst/gstreamer.types:
8378         * docs/gst/tmpl/.cvsignore:
8379         * gst/gstbin.h:
8380         * gst/gstbus.c:
8381         * gst/gstelement.c:
8382         * gst/gstevent.h:
8383           added 100 symbols from gstreamer-unused.txt to the right sections
8384           fixed more broken comments
8385           added GstBus to docs
8386
8387 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8388
8389         * docs/gst/gstreamer-sections.txt:
8390         * docs/gst/tmpl/.cvsignore:
8391         * docs/gst/tmpl/gstbin.sgml:
8392         * docs/gst/tmpl/gstbuffer.sgml:
8393         * gst/base/gstbasesrc.c:
8394         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8395         * gst/gstbuffer.c:
8396         * gst/gstbuffer.h:
8397         * tools/gst-launch.1.in:
8398           inlined more doc comments, added missing comments and fixed comments
8399           fixed typos
8400
8401 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8402
8403         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8404           some debugging
8405         * gst/gstcaps.h:
8406           whitespace fixes
8407         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8408           more debugging
8409         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8410         * gst/gststructure.h:
8411           add a fixate function for booleans; add a FIXME that these func
8412           names should probably be gst_structure_fixate_*
8413
8414 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8415
8416         * docs/gst/gstreamer-docs.sgml:
8417         * docs/gst/gstreamer-sections.txt:
8418         * gst/Makefile.am:
8419         * gst/gstbin.c: (gst_bin_get_type),
8420         (gst_bin_child_proxy_get_child_by_index),
8421         (gst_bin_child_proxy_get_children_count),
8422         (gst_bin_child_proxy_init):
8423         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8424         (gst_child_proxy_get_child_by_index),
8425         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8426         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8427         (gst_child_proxy_get), (gst_child_proxy_set_property),
8428         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8429         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8430         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8431         * gst/gstchildproxy.h:
8432         * gst/parse/grammar.y:
8433         * tools/gst-inspect.c: (print_interfaces),
8434         (print_element_properties_info), (print_element_info):
8435           ported gstchildproxy over from 0.8
8436           ported gst-inspect fixes and enhancements over from 0.8
8437
8438 2005-08-22  Wim Taymans  <wim@fluendo.com>
8439
8440         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8441         (gst_base_transform_handle_buffer):
8442         Also call the transform function if we have ANY caps.
8443
8444         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8445         Fix debug info.
8446
8447 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8448
8449         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8450           Don't pretend to handle seek events if the source is not seekable
8451
8452 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8453
8454         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8455           Remove extra parameter to debug output
8456
8457         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8458         (gst_base_src_do_seek), (gst_base_src_activate_push):
8459           Fix seek event handling.
8460
8461         * gst/gstpipeline.c: (gst_pipeline_change_state):
8462         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8463         (gst_queue_src_activate_push):
8464           Don't start the src pad task on FLUSH_STOP if the pad
8465           isn't linked.
8466           Debug changes.
8467
8468 2005-08-22  Wim Taymans  <wim@fluendo.com>
8469
8470         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8471         Added check for gst_static_caps_get() refcounting.
8472
8473 2005-08-22  Wim Taymans  <wim@fluendo.com>
8474
8475         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8476         Make _static_caps_get() refcounting sane.
8477         
8478         * gst/gstelement.c: (gst_element_set_state):
8479         Add g_return_val_if_fail() to protect against segfaults.
8480
8481 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8482
8483         * docs/gst/tmpl/gstevent.sgml:
8484         * gst/gstevent.c:
8485         * gst/gstevent.h:
8486           inlined remaining docs, added missing doc comments
8487
8488 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8489
8490         * check/gst/gstbin.c: (GST_START_TEST):
8491           since we don't know when preroll is done, use refcount range
8492           check for the sink
8493         * gst/check/gstcheck.h:
8494           add macro for checking refcount range
8495
8496 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8497
8498         * check/Makefile.am:
8499           clean up environment for when registry gets built versus
8500           when actual tests are run; valgrind seems to not report
8501           leaks if GST_PLUGIN_PATH is set to some specific values
8502         * check/gst/gstbin.c: (GST_START_TEST):
8503           add more refcounting checks; maybe this exposes a
8504           preroll lock bug ?
8505         * common/check.mak:
8506         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8507         * gst/check/gstcheck.h:
8508         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8509         (gst_bin_change_state):
8510         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8511           add/fix debugging/whitespace
8512
8513 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8514
8515         * check/gst/gstevent.c: (event_probe), (test_event),
8516         (GST_START_TEST):
8517          Er, don't call gst_bin_watch_for_state_change you idiot.
8518
8519 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8520
8521         * check/Makefile.am:
8522           Use CHECK_CFLAGS and CHECK_LIBS
8523         * check/gst/gstevent.c: (event_probe), (test_event),
8524         (GST_START_TEST):
8525           Don't leak events.
8526         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8527         (gst_base_src_start), (gst_base_src_stop),
8528         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8529         (gst_base_src_change_state):
8530           Sprinkle gst_base_src_stop liberally around error paths to fix
8531           problems reusing a source after failed state changes.
8532         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8533         (helper_find_suggest), (gst_type_find_helper):
8534           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8535         * gst/gstevent.h:
8536         * docs/gst/tmpl/gstevent.sgml:
8537           Migrate part of the docs from the SGML file. Wait for ensonic to
8538           tell me how I did it wrong ;)
8539         * tools/gst-typefind.c: (main):
8540           Extra robustness to state changes between files.
8541
8542 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8543
8544         * check/Makefile.am:
8545           don't valgrind the controller test - it's leaking - Stefan, HELP
8546         * gst/check/gstcheck.c: (gst_check_message_error),
8547         (gst_check_chain_func), (gst_check_setup_element),
8548         (gst_check_teardown_element), (gst_check_setup_src_pad),
8549         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8550         (gst_check_teardown_sink_pad):
8551         * gst/check/gstcheck.h:
8552           add a bunch of methods to set up elements, and src and sink pads
8553         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8554         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8555         (GST_START_TEST):
8556           use them
8557         * gst/gstmessage.c:
8558         * gst/gsttag.h:
8559           whitespace/doc fixes
8560
8561 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8562
8563         * gst/gstelement.h:
8564           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8565           be handled by the application and not always printed as well
8566
8567 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8568
8569         * check/Makefile.am:
8570           set GST_TOOLS_DIR
8571         * gst/check/gstcheck.c: (gst_check_message_error):
8572         * gst/check/gstcheck.h:
8573           add a fail_unless_equals_int
8574           add fail_unless for error messages
8575
8576 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8577
8578         * check/Makefile.am:
8579         * check/gst.supp:
8580         * common/Makefile.am:
8581         * common/check.mak:
8582         * common/gst.supp:
8583           factor out some of the common stuff so we can use it
8584
8585 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8586
8587         * check/Makefile.am:
8588         * check/gst/gstiterator.c: (GST_START_TEST):
8589         * check/gst/gstsystemclock.c: (GST_START_TEST),
8590         (gst_systemclock_suite):
8591         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8592         * gst/gstclock.c:
8593           valgrind more tests
8594
8595 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8596
8597         * check/elements/.cvsignore:
8598         * check/elements/gstfakesrc.c:
8599           rename to name of element
8600         * check/elements/identity.c: (chain_func), (event_func),
8601         (setup_identity), (cleanup_identity), (GST_START_TEST),
8602         (identity_suite), (main):
8603           add a test for identity
8604         * check/Makefile.am:
8605         * pkgconfig/Makefile.am:
8606         * pkgconfig/gstreamer-check.pc.in:
8607         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8608         * gst/check:
8609         * gst/Makefile.am:
8610         * configure.ac:
8611           move the check stuff to a library that gets installed
8612         * check/gst-libs/controller.c: (GST_START_TEST):
8613         * check/gst-libs/gdp.c:
8614         * check/gst/gst.c: (GST_START_TEST):
8615         * check/gst/gstbin.c:
8616         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8617         * check/gst/gstbus.c:
8618         * check/gst/gstcaps.c: (GST_START_TEST):
8619         * check/gst/gstelement.c:
8620         * check/gst/gstghostpad.c:
8621         * check/gst/gstiterator.c:
8622         * check/gst/gstmessage.c:
8623         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8624         * check/gst/gstobject.c:
8625         * check/gst/gstpad.c: (GST_START_TEST):
8626         * check/gst/gststructure.c: (GST_START_TEST):
8627         * check/gst/gstsystemclock.c: (GST_START_TEST),
8628         (gst_systemclock_suite):
8629         * check/gst/gsttag.c: (gst_tag_suite):
8630         * check/gst/gstvalue.c:
8631         * check/pipelines/cleanup.c:
8632         * check/pipelines/simple_launch_lines.c:
8633         * check/states/sinks.c:
8634           change include statement
8635
8636         * docs/gst/gstreamer-sections.txt:
8637         * docs/gst/tmpl/gstpad.sgml:
8638           document more pad stuff
8639         * gst/gstminiobject.c: (gst_mini_object_ref),
8640         (gst_mini_object_unref):
8641           debug refcounting
8642
8643 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8644
8645         * docs/gst/tmpl/gst.sgml:
8646         * gst/gst.c:
8647           eliminate another tmpl file, fix spelling in the long-description
8648
8649 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8650
8651         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8652         (test_event), (timediff), (gstevents_suite):
8653           Should fix build on 64-bit arch's
8654
8655 2005-08-18  Andy Wingo  <wingo@pobox.com>
8656
8657         Make sure that when a pipeline goes to PLAYING, that data has
8658         actually hit the sink.
8659
8660         * check/states/sinks.c (test_sink): A sink that doesn't get any
8661         data shouldn't return SUCCESS for going to either PLAYING or
8662         PAUSED. Test also the return values on the way back down.
8663
8664         * gst/gstelement.c (gst_element_set_state): When changing the
8665         state of an element currently changing state asynchronously, go to
8666         lost-state after commiting the pending state. Makes future calls
8667         to get_state continue to return ASYNC.
8668
8669         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8670         ASYNC when going to PLAYING if we still don't have preroll, as can
8671         happen with live sources.
8672
8673 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8674
8675         * docs/pwg/advanced-types.xml:
8676           Hack long paragraph into 2 chunks as a workaround for buggy
8677           jadetex version in sid and breezy that loops infinitely and
8678           eats all RAM.
8679
8680 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8681
8682         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8683         (test_event), (timediff), (gstevents_suite):
8684           Provide more error margin in clock measurements to allow for 
8685           g_get_current_time inaccuracies.
8686
8687 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8688
8689         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8690         (test_event), (timediff), (gstevents_suite):
8691            Fix error message output so I might be able to tell why the
8692            test works here but fails on the build farm.
8693
8694 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8695
8696         * check/Makefile.am:
8697         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8698         (test_event), (timediff), (gstevents_suite), (main):
8699           I wrote a test!
8700
8701         * docs/design/part-seeking.txt:
8702           Spelling correction
8703
8704         * docs/gst/tmpl/gstevent.sgml:
8705         * docs/gst/tmpl/gstfakesrc.sgml:
8706           Docs updates.
8707
8708         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8709           Treat a buffer-without-newsegment the same as a receiving 
8710           a newsegment not in time format, and disable syncing to the clock
8711           with a warning.
8712
8713         * gst/gstbus.c: (gst_bus_set_sync_handler):
8714           Assert if anyone tries to replace the existing sync_handler for bus, 
8715           as only the owner should be setting it.
8716
8717         * gst/gstevent.h:
8718           Have a fixed set of custom event enums with events identified by
8719           their structure name (as in 0.8), rather than a free-for-all
8720           allowing collisions between enum values from different plugins.
8721
8722         * gst/gstpad.c: (gst_pad_class_init):
8723           Docs change.
8724           
8725         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8726           Handle out-of-band downstream events from the sending thread.
8727
8728 2005-08-17  Andy Wingo  <wingo@pobox.com>
8729
8730         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8731         play-timeout==0 to mean no timeout at all. In that case, don't
8732         bother with a get_state or a warning, just return directly, even
8733         if it's ASYNC.
8734
8735         * gst/base/gstbasetransform.c: Debug changes.
8736
8737         * gst/gstutils.h:
8738         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8739         ensure bins post state change messages. A bit of a hack but I can't
8740         think of a way to avoid it.
8741
8742         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8743
8744 2005-08-16  Andy Wingo  <wingo@pobox.com>
8745
8746         * gst/base/gstadapter.h:
8747         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8748         peek() but you own the data. Not terribly efficient atm.
8749
8750 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8751
8752         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8753         (gst_element_found_tags):
8754         * gst/gstutils.h:
8755           Add two utility functions for tag handling.
8756
8757 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8758
8759         * docs/manual/advanced-dataaccess.xml:
8760         * docs/manual/basics-helloworld.xml:
8761           Fix docs to use _bin_add() before _link(), which fixes the examples
8762           with recent core versions (reported by Madhan Raj M
8763           <raj_madan@rediffmail.com>, #313199).
8764
8765 2005-08-16  Wim Taymans  <wim@fluendo.com>
8766
8767         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8768         Added subtract checks.
8769
8770         * docs/design/part-events.txt:
8771         Some more docs about newsegment
8772
8773         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8774         Fix FIXME
8775
8776         * gst/gstcaps.c: (gst_caps_to_string):
8777         Add comments, cleanups.
8778         
8779         * gst/gstelement.c: (gst_element_save_thyself):
8780         cleanups
8781         
8782         * gst/gstvalue.c: (gst_value_collect_int_range),
8783         (gst_string_unwrap), (gst_value_union_int_int_range),
8784         (gst_value_union_int_range_int_range),
8785         (gst_value_intersect_int_int_range),
8786         (gst_value_intersect_int_range_int_range),
8787         (gst_value_intersect_double_double_range),
8788         (gst_value_intersect_double_range_double_range),
8789         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8790         (gst_value_subtract_int_range_int),
8791         (gst_value_subtract_double_range_double),
8792         (gst_value_subtract_double_range_double_range),
8793         (gst_value_subtract_from_list), (gst_value_subtract_list),
8794         (gst_value_can_compare), (gst_value_compare_fraction):
8795         Cleanups, add comments, remove unneeded asserts.
8796
8797 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8798
8799         * tools/gst-launch.c: (event_loop):
8800           don't convert NULL structures to strings
8801
8802 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8803
8804         * docs/gst/gstreamer-sections.txt:
8805           made some defines private
8806         * docs/gst/tmpl/gstconfig.sgml:
8807         * docs/gst/tmpl/gstqueue.sgml:
8808         * docs/gst/tmpl/gsttaglist.sgml:
8809         * docs/gst/tmpl/gsttypes.sgml:
8810         * docs/gst/tmpl/gstutils.sgml:
8811         * docs/pwg/appendix-porting.xml:
8812         * gst/base/gstbasesink.h:
8813         * gst/base/gstbasesrc.c:
8814         * gst/base/gstbasesrc.h:
8815         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8816         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8817         * gst/gstelement.c: (gst_element_class_init):
8818         * gst/gstpad.c: (gst_pad_class_init):
8819         * gst/gstqueue.c: (gst_queue_class_init):
8820         * gst/gstxml.c: (gst_xml_class_init):
8821           documented all undocumented signal inline
8822         * libs/gst/controller/gst-controller.h:
8823           added padding
8824
8825 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8826
8827         * docs/pwg/appendix-porting.xml:
8828           Document _set_link_function -> _set_setcaps_function.
8829
8830 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8831
8832         * check/Makefile.am:
8833           add a .check target for running the check
8834         * check/gst-libs/controller.c: (GST_START_TEST):
8835           cosmetic fixups
8836         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8837           complete checks for gstbuffer; would be nice if I could get the
8838           gcov stuff to work so I can see if I actually completed gstbuffer.c
8839         * check/gstcheck.h:
8840           add ASSERT_BUFFER_REFCOUNT
8841
8842 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8843
8844         * docs/gst/gstreamer-sections.txt:
8845         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8846         * gst/gsttag.h:
8847           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8848           spew out a warning if a tag that is already registered
8849           is re-registered, unless it is re-registered with a 
8850           different type (#308438).
8851
8852 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8853
8854         * docs/pwg/appendix-porting.xml:
8855         * docs/pwg/building-state.xml:
8856           Add some paragraphs about state changes in 0.9 to the PWG
8857           and the porting guide, in particular about the new meaning
8858           of GST_STATE_PAUSED and how to write state change functions
8859           with concurrent access by multiple threads in mind.
8860
8861 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8862
8863         * docs/gst/gstreamer-docs.sgml:
8864         * docs/libs/gstreamer-libs-docs.sgml:
8865           added deprecation and since indexes
8866         * libs/gst/controller/gst-controller.c:
8867         * libs/gst/controller/gst-helper.c:
8868           added since tags
8869
8870
8871 2005-08-11  Wim Taymans  <wim@fluendo.com>
8872
8873         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8874         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8875         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8876         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8877         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8878         (gst_ghost_pad_set_target):
8879         Actually implement (re)setting the target on a ghostpad
8880         as described in the docs.
8881
8882 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8883
8884         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8885           Check whether GST_DEBUG_NO_COLOR environment variable is
8886           set and disable coloured debug output if that is the case.
8887
8888 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8889
8890         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8891         (gst_type_find_helper):
8892           The memory returned by gst_type_find_peek() needs to
8893           stay valid until the end of a typefind function, and
8894           typefind functions may keep results from different 
8895           offsets around, so we can't just unref the buffer from
8896           the previous _peek(), but have to save all buffers 
8897           returned by _peek() until typefinding is done and only
8898           free them then.
8899
8900 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8901
8902         * docs/gst/gstreamer-sections.txt:
8903         * gst/gstutils.h:
8904           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8905
8906 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8907
8908         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8909           Fix a pretty good memleak.
8910
8911 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8912
8913         * gst/gstiterator.h:
8914           Fix wrong include and 'make distcheck'.
8915
8916 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8917
8918         * gst/gstbin.c: (bin_bus_handler):
8919           Use gst_element_post_message() instead.
8920
8921 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8922
8923         * gst/base/gstadapter.h:
8924         * gst/base/gstbasesink.h:
8925         * gst/base/gstbasesrc.h:
8926         * gst/base/gstbasetransform.h:
8927         * gst/base/gstcollectpads.h:
8928         * gst/base/gstpushsrc.h:
8929         * gst/gstiterator.h:
8930           Add padding to our base elements' class and instance structs and
8931           to GstIterator (you will need to rebuild all plugins and apps!)
8932
8933 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8934
8935         * gst/gstbin.c: (bin_bus_handler):
8936           Make default message forwarding from child->bus to bin->bus
8937           threadsafe and make it not emit warnings if the parent has no bus.
8938
8939 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8940
8941         * gst/gstelement.c: (activate_pads):
8942           On paused->ready, set pad->caps to NULL, as is the documented
8943           behaviour in this state change. Fixes playback of series of
8944           media files when visualization is enabled in Totem.
8945
8946 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8947
8948         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8949           Allow NULL as filter-caps (which means "any").
8950
8951 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8952
8953         * docs/libs/gstreamer-libs-sections.txt:
8954         * libs/gst/controller/gst-controller.c:
8955         * libs/gst/controller/gst-controller.h:
8956         * libs/gst/controller/gst-helper.c:
8957           adding more entries to the docs and fix small doc-bugs
8958
8959 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8960
8961         * docs/gst/gstreamer-docs.sgml:
8962         * docs/gst/gstreamer-sections.txt:
8963         * docs/gst/gstreamer.types:
8964         * docs/gst/tmpl/gstbasesink.sgml:
8965         * docs/gst/tmpl/gstbasesrc.sgml:
8966         * docs/gst/tmpl/gstbasetransform.sgml:
8967         * docs/gst/tmpl/gstfakesrc.sgml:
8968         * gst/base/gstcollectpads.c:
8969         * gst/base/gstcollectpads.h:
8970         * libs/gst/controller/gst-controller.c:
8971         * libs/gst/controller/gst-controller.h:
8972         * libs/gst/controller/gst-helper.c:
8973         * libs/gst/controller/gst-interpolation.c:
8974         * libs/gst/controller/lib.c:
8975           added long/short desc for controller docs
8976           added collectpads base class docs
8977           added correct includes to base-class docs
8978
8979 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8980
8981         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8982         (gst_test_mono_source_set_property),
8983         (gst_test_mono_source_class_init), (GST_START_TEST),
8984         (gst_controller_suite):
8985         * docs/gst/gstreamer-docs.sgml:
8986         * docs/gst/gstreamer-sections.txt:
8987         * docs/gst/gstreamer.types:
8988         * docs/libs/gstreamer-libs-docs.sgml:
8989         * docs/libs/gstreamer-libs-sections.txt:
8990         * gst/base/gstadapter.c:
8991         * libs/gst/controller/gst-controller.c:
8992         (gst_controlled_property_new), (gst_controlled_property_free),
8993         (gst_controller_new_valist),
8994         (gst_controller_remove_properties_valist),
8995         (gst_controller_sink_values), (_gst_controller_finalize):
8996         * libs/gst/controller/gst-controller.h:
8997         * libs/gst/controller/gst-helper.c:
8998         (gst_object_control_properties), (gst_object_uncontrol_properties),
8999         (gst_object_get_controller), (gst_object_set_controller),
9000         (gst_object_sink_values), (gst_object_get_value_arrays),
9001         (gst_object_get_value_array):
9002           more tests (and fixes) for the controller
9003           more docs for the controller
9004           integrated companies docs for the adapter 
9005
9006 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9007
9008         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9009         (GST_START_TEST), (fakesrc_suite):
9010           add tests for sizetype
9011
9012 2005-08-04  Andy Wingo  <wingo@pobox.com>
9013
9014         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9015         fixes buffer_alloc proxying among other things.
9016
9017         * gst/base/gstbasetransform.c:
9018         * gst/base/gstbasetransform.h:
9019         Revert patch to gstbasetransform from 7-28 removing
9020         delay_configure.
9021
9022         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9023         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9024         Semantics changed, should return not the size of the output buffer
9025         but the byte size of a buffer with a given caps.
9026
9027         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9028         debug object.
9029         (gst_base_transform_configure_caps): Don't set out_size here: (in,
9030         out) are not the pad caps until setcaps finishes.
9031         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9032         not-in-place case as well. Deal with changing from in-place to
9033         not-in-place within calling pad_alloc_buffer. Still a bit
9034         concerned about the overhead here...
9035
9036 2005-08-03  Andy Wingo  <wingo@pobox.com>
9037
9038         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9039         fixating is an error.
9040
9041 2005-08-04  Edward Hervey  <edward@fluendo.com>
9042
9043         * gst/base/gstadapter.h: 
9044         Added gst_adapter_get_type() to the header
9045
9046 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9047
9048         * check/Makefile.am:
9049         * check/gst-libs/controller.c:
9050         * libs/gst/controller/gst-controller.c:
9051         (gst_controller_new_valist):
9052           added check test suite for the controller
9053         * gst/base/gstpushsrc.c:
9054           fixed a doc typo
9055
9056 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9057
9058         * docs/gst/Makefile.am:
9059         * docs/gst/gstreamer-docs.sgml:
9060         * docs/gst/gstreamer-sections.txt:
9061         * docs/gst/gstreamer.types:
9062         * docs/gst/tmpl/gstfakesrc.sgml:
9063         * gst/base/README:
9064         * gst/base/gstbasesink.c:
9065         * gst/base/gstbasesink.h:
9066         * gst/base/gstbasesrc.c:
9067         * gst/base/gstbasesrc.h:
9068         * gst/base/gstbasetransform.c:
9069         * gst/base/gstpushsrc.c:
9070         * gst/base/gstpushsrc.h:
9071           add short/long description docs to base classes
9072           add pushsrc to the docs
9073           remove consolidated doc fragments
9074
9075 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9076
9077         * configure.ac:
9078         * docs/libs/Makefile.am:
9079         * docs/libs/gstreamer-libs-docs.sgml:
9080         * docs/libs/gstreamer-libs-sections.txt:
9081         * docs/libs/gstreamer-libs.types:
9082         * examples/Makefile.am:
9083         * examples/controller/.cvsignore:
9084         * examples/controller/Makefile.am:
9085         * examples/controller/audio-example.c: (main):
9086         * libs/gst/Makefile.am:
9087         * libs/gst/controller/.cvsignore:
9088         * libs/gst/controller/Makefile.am:
9089         * libs/gst/controller/gst-controller.c:
9090         (on_object_controlled_property_changed), (gst_timed_value_compare),
9091         (gst_timed_value_find),
9092         (gst_controlled_property_set_interpolation_mode),
9093         (gst_controlled_property_new), (gst_controlled_property_free),
9094         (gst_controller_find_controlled_property),
9095         (gst_controller_new_valist), (gst_controller_new),
9096         (gst_controller_remove_properties_valist),
9097         (gst_controller_remove_properties), (gst_controller_set),
9098         (gst_controller_set_from_list), (gst_controller_unset),
9099         (gst_controller_get), (gst_controller_get_all),
9100         (gst_controller_sink_values), (gst_controller_get_value_arrays),
9101         (gst_controller_get_value_array),
9102         (gst_controller_set_interpolation_mode),
9103         (_gst_controller_finalize), (_gst_controller_init),
9104         (_gst_controller_class_init), (gst_controller_get_type):
9105         * libs/gst/controller/gst-controller.h:
9106         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
9107         (g_object_uncontrol_properties), (g_object_get_controller),
9108         (g_object_set_controller), (g_object_sink_values),
9109         (g_object_get_value_arrays), (g_object_get_value_array):
9110         * libs/gst/controller/gst-interpolation.c:
9111         (gst_controlled_property_find_timed_value_node),
9112         (interpolate_none_get), (interpolate_trigger_get),
9113         (interpolate_trigger_get_value_array):
9114         * libs/gst/controller/lib.c: (gst_controller_init):
9115         * pkgconfig/Makefile.am:
9116         * pkgconfig/gstreamer-control-uninstalled.pc.in:
9117         * pkgconfig/gstreamer-control.pc.in:
9118         * testsuite/Makefile.am:
9119         * testsuite/controller/.cvsignore:
9120         * testsuite/controller/Makefile.am:
9121         * testsuite/controller/interpolator.c: (main):
9122           added controller code
9123           removed dparam pc files
9124
9125 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9126         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
9127         (gst_collectpads_stop):
9128           Broadcast the condition when shutting down, to make sure we wake all
9129           threads up. Shut down pads on finalize, for safety.
9130
9131 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9132         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9133         (gst_base_transform_handle_buffer),
9134         (gst_base_transform_change_state):
9135           Handle PAUSED->READY->PAUSED transition after negotiation
9136           occurred already.
9137         * gst/gstmessage.c: (gst_message_init):
9138           Extra piece of debug for new messages.
9139
9140 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
9141
9142         * configure.ac:
9143         * docs/gst/tmpl/gstbasesrc.sgml:
9144         * docs/gst/tmpl/gstelement.sgml:
9145         * docs/gst/tmpl/gstevent.sgml:
9146         * docs/gst/tmpl/gstfakesrc.sgml:
9147         * docs/gst/tmpl/gstformat.sgml:
9148         * docs/gst/tmpl/gstghostpad.sgml:
9149         * docs/gst/tmpl/gstpad.sgml:
9150         * docs/gst/tmpl/gstquery.sgml:
9151         * docs/gst/tmpl/gststructure.sgml:
9152         * docs/gst/tmpl/gsttaglist.sgml:
9153         * docs/gst/tmpl/gstvalue.sgml:
9154         * docs/libs/gstreamer-libs-docs.sgml:
9155         * docs/libs/gstreamer-libs-sections.txt:
9156         * docs/libs/gstreamer-libs.types:
9157         * libs/gst/Makefile.am:
9158         * libs/gst/control/.cvsignore:
9159         * libs/gst/control/Makefile.am:
9160         * libs/gst/control/control.c:
9161         * libs/gst/control/control.h:
9162         * libs/gst/control/dparam.c:
9163         * libs/gst/control/dparam.h:
9164         * libs/gst/control/dparam_smooth.c:
9165         * libs/gst/control/dparam_smooth.h:
9166         * libs/gst/control/dparamcommon.h:
9167         * libs/gst/control/dparammanager.c:
9168         * libs/gst/control/dparammanager.h:
9169         * libs/gst/control/dplinearinterp.c:
9170         * libs/gst/control/dplinearinterp.h:
9171         * libs/gst/control/unitconvert.c:
9172         * libs/gst/control/unitconvert.h:
9173         * testsuite/Makefile.am:
9174         * testsuite/dynparams/.cvsignore:
9175         * testsuite/dynparams/Makefile.am:
9176         * testsuite/dynparams/dparamstest.c:
9177         * tools/Makefile.am:
9178         * tools/gst-inspect.c: (print_element_info), (main):
9179         * tools/gst-xmlinspect.c: (print_element_info), (main):
9180           deactivate and remove dparams (libgstcontrol)
9181
9182 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9183
9184         * gst/elements/gsttypefindelement.c:
9185         (gst_type_find_element_have_type), (gst_type_find_element_init),
9186         (stop_typefinding), (gst_type_find_element_handle_event),
9187         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9188         * gst/elements/gsttypefindelement.h:
9189           Set caps on all outgoing buffers, not just the first one.
9190
9191 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9192
9193         * gst/elements/gsttypefindelement.c:
9194         (gst_type_find_element_have_type),
9195         (gst_type_find_element_check_set_buffer_caps),
9196         (gst_type_find_element_init), (stop_typefinding),
9197         (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 first outgoing buffer when we've found the type.
9201
9202 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9203
9204         * docs/gst/gstreamer-docs.sgml:
9205         * docs/gst/gstreamer-sections.txt:
9206         * docs/gst/tmpl/gstscheduler.sgml:
9207         * docs/gst/tmpl/gstschedulerfactory.sgml:
9208           Remove some old cruft from docs.
9209
9210 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9211
9212         * gst/gstpad.h:
9213           Fix inline docs for GstPadLinkReturn.
9214           
9215         * gst/gststructure.c: (gst_structure_has_name):
9216         * gst/gststructure.h:
9217         * docs/gst/gstreamer-sections.txt:
9218           New API: gst_structure_has_name().
9219
9220 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9221
9222         * configure.ac:
9223           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9224           and _LARGEFILE_SOURCE in config.h as required. Do not 
9225           export those flags in our .pc files any longer (#142209).
9226
9227           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9228
9229         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9230         (gst_file_sink_do_seek), (gst_file_sink_event),
9231         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9232           Redo seek/tell calls with large file support in mind; add some
9233           debugging messages; add log message that tells us when large
9234           file support is unavailable or not enabled for some reason.
9235
9236         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9237           Add log message that tells us when large file support 
9238           is unavailable or not enabled for some reason.
9239
9240 2005-07-29  Wim Taymans  <wim@fluendo.com>
9241
9242         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9243         Added test for removing an element with ghostpad from a bin.
9244         Fixed test as current implementation does the right thing.
9245
9246         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9247         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9248         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9249         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9250         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9251         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9252         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9253         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9254         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9255         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9256         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9257         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9258         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9259         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9260         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9261         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9262         * gst/gstghostpad.h:
9263         Clean up ghostpads, remove properties for internal stuff.
9264         Make threadsafe.
9265         Fix refcounting.
9266         Prepare for switching targets, not all use cases work yet.
9267
9268 2005-07-29  Wim Taymans  <wim@fluendo.com>
9269
9270         * docs/design/part-gstghostpad.txt:
9271         Small update.
9272
9273         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9274         (gst_bin_remove_func):
9275         Unlinking pads while holding the bin LOCK is not a good
9276         idea.
9277
9278         * gst/gstpad.c: (gst_pad_class_init),
9279         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9280         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9281         No prob setting template after creating the pad.
9282
9283 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9284
9285         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9286         (gst_bus_peek), (gst_bus_source_dispatch),
9287         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9288         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9289           gst_bus_poll may be called from other threads. Handle
9290           this nicely by not making poll_data disappear off the
9291           stack once gst_bus_poll returns.
9292           gst_bus_peek now increments the refcount on the returned
9293           message.
9294
9295 2005-07-29  Wim Taymans  <wim@fluendo.com>
9296
9297         * docs/design/part-gstghostpad.txt:
9298         Overview of current GhostPad datastructures and use
9299         cases for changing the target.
9300
9301 2005-07-28  Wim Taymans  <wim@fluendo.com>
9302
9303         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9304         Added checks for hierarchy consistency whan adding linked
9305         elements to bins.
9306
9307         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9308         Added check to test element scheduling without bin/pipeline.
9309
9310         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9311         First add elements to bin, then link.
9312         
9313         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9314         (gst_bin_remove_func):
9315         Unlink pads from elements added/removed from bin to maintain
9316         hierarchy consistency.
9317
9318 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9319
9320         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9321         (gst_base_transform_handle_buffer):
9322         * gst/base/gstbasetransform.h:
9323           Remove broken delay_configure (fixes renegotiation of software
9324           scaling pipelines); remove some leftover printf()s.
9325
9326 2005-07-28  Wim Taymans  <wim@fluendo.com>
9327
9328         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9329         Added some more tests for wrong hierarchy
9330
9331         * docs/design/part-overview.txt:
9332         Some updates.
9333
9334         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9335         Cleanups.
9336
9337         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9338         (gst_element_dispose):
9339         Some more cleanups.
9340
9341         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9342         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9343         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9344         (gst_pad_set_caps), (gst_pad_send_event):
9345         Check for correct hierarchy when linking pads. Moving to
9346         strict requirement for ghostpads when linking elements in
9347         different bins.
9348
9349         * gst/gstpad.h:
9350         Clean ups. Added WRONG_HIERARCHY return value.
9351
9352 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9353
9354         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9355           Better debug if no transform is possible.
9356
9357 2005-07-27  Wim Taymans  <wim@fluendo.com>
9358
9359         * docs/random/wtay/network-transp:
9360         Some old doc I had.
9361
9362 2005-07-27  Wim Taymans  <wim@fluendo.com>
9363
9364         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9365         (gst_dp_event_from_packet):
9366         Fix serialization of seek events.
9367
9368 2005-07-27  Wim Taymans  <wim@fluendo.com>
9369
9370         * check/gst-libs/gdp.c: (GST_START_TEST):
9371         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9372         Fix compilation and fix event serialization.
9373
9374 2005-07-27  Wim Taymans  <wim@fluendo.com>
9375
9376         * CHANGES-0.9:
9377         * docs/design/part-TODO.txt:
9378         * docs/design/part-events.txt:
9379         Some docs updates
9380
9381         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9382         (gst_base_sink_event), (gst_base_sink_do_sync),
9383         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9384         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9385         (gst_base_src_do_seek), (gst_base_src_event_handler),
9386         (gst_base_src_loop):
9387         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9388         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9389         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9390         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9391         (gst_base_transform_set_passthrough),
9392         (gst_base_transform_is_passthrough):
9393         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9394         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9395         Event updates.
9396
9397         * gst/gstbuffer.h:
9398         Use faster casts.
9399
9400         * gst/gstelement.c: (gst_element_seek):
9401         * gst/gstelement.h:
9402         Update gst_element_seek.
9403
9404         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9405         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9406         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9407         (gst_event_new_eos), (gst_event_new_newsegment),
9408         (gst_event_parse_newsegment), (gst_event_new_tag),
9409         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9410         (gst_event_parse_qos), (gst_event_new_seek),
9411         (gst_event_parse_seek), (gst_event_new_navigation):
9412         * gst/gstevent.h:
9413         Make GstEvent use GstStructure. Add parsing code, make sure the
9414         API is sufficiently generic.
9415         Mark possible directions of events and serialization.
9416
9417         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9418         (_gst_message_copy), (gst_message_new_segment_start),
9419         (gst_message_new_segment_done), (gst_message_new_custom),
9420         (gst_message_parse_segment_start),
9421         (gst_message_parse_segment_done):
9422         Small cleanups.
9423
9424         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9425         (gst_pad_set_caps), (gst_pad_send_event):
9426         Update for new events. 
9427         Catch events sent in wrong directions.
9428
9429         * gst/gstqueue.c: (gst_queue_link_src),
9430         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9431         (gst_queue_handle_src_query):
9432         Event updates.
9433
9434         * gst/gsttag.c:
9435         * gst/gsttag.h:
9436         Remove event code from this file.
9437
9438         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9439         (gst_dp_event_from_packet):
9440         Event updates.
9441
9442 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9443
9444         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9445         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9446         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9447           Make debugging actually useful.
9448
9449 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9450
9451         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9452         (gst_pad_fixate_caps):
9453           Implement default fixation once again, so that gst_pad_fixate()
9454           actually does anything at all. This probably needs to be some
9455           sort of a last resort, and use profile-based fixation first, but
9456           since that doesn't exist yet, this is the best we have. Fixes
9457           visualization in Totem.
9458
9459 2005-07-22  Wim Taymans  <wim@fluendo.com>
9460
9461         * docs/design/part-events.txt:
9462         Small update.
9463
9464         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9465         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9466         (gst_base_sink_activate_pull):
9467         Some more comments.
9468
9469         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9470         (gst_fake_src_create):
9471         Fix handoff marshall.
9472
9473         * gst/elements/gstidentity.c: (gst_identity_class_init),
9474         (gst_identity_transform_ip):
9475         We're a real inplace element.
9476
9477         * gst/gstbus.c: (gst_bus_post):
9478         Added some comments.
9479
9480         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9481         * tests/muxing/case1.c: (main):
9482         * tests/sched/dynamic-pipeline.c: (main):
9483         * tests/sched/interrupt1.c: (main):
9484         * tests/sched/interrupt2.c: (main):
9485         * tests/sched/interrupt3.c: (main):
9486         * tests/sched/runxml.c: (main):
9487         * tests/sched/sched-stress.c: (main):
9488         * tests/seeking/seeking1.c: (event_received), (main):
9489         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9490         (main):
9491         * tests/threadstate/threadstate3.c: (main):
9492         * tests/threadstate/threadstate4.c: (main):
9493         * tests/threadstate/threadstate5.c: (main):
9494         Fix the tests.
9495
9496 2005-07-21  Wim Taymans  <wim@fluendo.com>
9497
9498         * docs/design/part-seeking.txt:
9499         Some small additions.
9500
9501         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9502         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9503         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9504         * gst/base/gstbasesink.h:
9505         discont values are gint64, handle the math correctly.
9506
9507         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9508         Make the basesrc report error if the source pad is not linked.
9509
9510         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9511         (gst_queue_loop), (gst_queue_handle_src_query),
9512         (gst_queue_src_activate_push):
9513         Make queue collect data even if the srcpad is not linked.
9514         Start pushing out data as soon as it is linked.
9515
9516         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9517         * gst/gstutils.h:
9518         Added gst_flow_get_name() to ease error reporting.
9519
9520 2005-07-20  Wim Taymans  <wim@fluendo.com>
9521
9522         * gst/gstmessage.c: (gst_message_new_segment_start),
9523         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9524         (gst_message_parse_segment_done):
9525         * gst/gstmessage.h:
9526         Added a bunch of messages for advanced seeking.
9527
9528         * gst/parse/grammar.y:
9529         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9530         (gst_dpman_state_changed):
9531         Fix some new-pad -> pad-added signals
9532
9533 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9534
9535         * docs/manual/appendix-porting.xml:
9536         * docs/pwg/appendix-porting.xml:
9537           Document new-pad/state-change signal renames and the FixedList
9538           type rename.
9539
9540 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9541
9542         * docs/manual/advanced-autoplugging.xml:
9543         * docs/manual/basics-helloworld.xml:
9544         * docs/manual/basics-pads.xml:
9545         * docs/random/ds/0.9-suggested-changes:
9546         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9547         * gst/gstelement.h:
9548         * gst/gstevent.h:
9549         * gst/gstformat.h:
9550         * gst/gstquery.h:
9551         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9552         (gst_structure_parse_array), (gst_structure_parse_value):
9553         * gst/gstvalue.c: (gst_type_is_fixed),
9554         (gst_value_list_prepend_value), (gst_value_list_append_value),
9555         (gst_value_list_get_size), (gst_value_list_get_value),
9556         (gst_value_transform_array_string), (gst_value_serialize_array),
9557         (gst_value_deserialize_array), (gst_value_intersect_array),
9558         (gst_value_is_fixed), (_gst_value_initialize):
9559         * gst/gstvalue.h:
9560           GstElement::new-pad -> pad-added, GstElement::state-change ->
9561           state-changed, GstValueFixedList -> GstValueArray, add format and
9562           flags as their own arguments in gst_element_seek() (should improve
9563           "bindeability"), remove function generators since they don't work
9564           under a whole bunch of compilers (they were deprecated already
9565           anyway).
9566
9567 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9568
9569         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9570         (_gst_debug_register_funcptr):
9571         * gst/gstinfo.h:
9572           Fix illegal cast on some platforms (#309253).
9573
9574 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9575
9576         * gst/gstmessage.c: (gst_message_new_custom):
9577         * gst/gstmessage.h:
9578           Add _new_custom, make _new_application a macro to _new_custom.
9579
9580 2005-07-20  Wim Taymans  <wim@fluendo.com>
9581
9582         * gst/base/gstbasesrc.c: (gst_base_src_init),
9583         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9584         * gst/base/gstbasesrc.h:
9585         Add a gboolean to decide when to push out a discont.
9586
9587         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9588         (gst_queue_loop), (gst_queue_handle_src_query),
9589         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9590         (gst_queue_set_property), (gst_queue_get_property):
9591         Some cleanups.
9592
9593         * tests/threadstate/threadstate1.c: (main):
9594         Make a thread test compile and run... very silly..
9595
9596
9597 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9598
9599         * docs/manual/appendix-porting.xml:
9600           Mention removal of libgstgconf-0.9.la and existence of gconf
9601           elements.
9602
9603 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9604
9605         * docs/pwg/advanced-clock.xml:
9606         * docs/pwg/appendix-porting.xml:
9607         * docs/pwg/intro-preface.xml:
9608         * docs/pwg/other-base.xml:
9609         * docs/pwg/other-manager.xml:
9610         * docs/pwg/other-nton.xml:
9611         * docs/pwg/other-ntoone.xml:
9612         * docs/pwg/other-oneton.xml:
9613         * docs/pwg/pwg.xml:
9614           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9615           demuxer), remove n-to-n (was never written), fix some code examples
9616           and links and update the porting section to include all this.
9617
9618 2005-07-19  Wim Taymans  <wim@fluendo.com>
9619
9620         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9621         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9622         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9623         (gst_queue_src_activate_push), (gst_queue_change_state),
9624         (gst_queue_get_property):
9625         * gst/gstqueue.h:
9626         Propagate GstFlowReturn more intelligently upstream and output
9627         an ERROR/EOS when streaming stopped due to fatal error.
9628
9629 2005-07-19  Wim Taymans  <wim@fluendo.com>
9630
9631         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9632         Don't block forever for the state change to complete, the
9633         pipeline already did with a sensible timeout.
9634
9635 2005-07-19  Wim Taymans  <wim@fluendo.com>
9636
9637         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9638         Make sure we never call the create function is we
9639         got deactivated.
9640
9641 2005-07-19  Andy Wingo  <wingo@pobox.com>
9642
9643         * gst/parse/parse.l: Attempt to solve bug #172815.
9644
9645 2005-07-19  Wim Taymans  <wim@fluendo.com>
9646
9647         * docs/design/part-clocks.txt:
9648         * docs/design/part-events.txt:
9649         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9650         Small docs updates.
9651         Only update the seeking values when we are not
9652         busy streaming.
9653
9654 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9655
9656         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9657           Oops, ignore the result of gst_pad_push_event here.
9658
9659 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9660
9661         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9662         (gst_base_src_activate_push):
9663           Send discont event from the loop function, as pads
9664           aren't activated yet in the activate_push handler.
9665
9666         * gst/gstbin.c: (bin_bus_handler):
9667           Don't leak element name.
9668
9669 2005-07-18  Andy Wingo  <wingo@pobox.com>
9670
9671         * configure.ac: Use AS_LIBTOOL_TAGS.
9672
9673 2005-07-18  Wim Taymans  <wim@fluendo.com>
9674
9675         * docs/gst/gstreamer.types:
9676         Remove deleted types.
9677
9678 2005-07-18  Wim Taymans  <wim@fluendo.com>
9679
9680         * check/elements/gstfakesrc.c: (GST_START_TEST):
9681         * configure.ac:
9682         * gst/Makefile.am:
9683         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9684         (init_popt_callback):
9685         * gst/gst.h:
9686         * gst/gst_private.h:
9687         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9688         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9689         * gst/gstbin.h:
9690         * gst/gstbus.h:
9691         * gst/gstconfig.h.in:
9692         * gst/gstelement.c: (gst_element_class_init),
9693         (gst_element_set_base_time), (gst_element_get_base_time),
9694         (iterator_fold_with_resync), (gst_element_change_state),
9695         (gst_element_dispose), (gst_element_get_bus):
9696         * gst/gstelement.h:
9697         * gst/gstelementfactory.h:
9698         * gst/gsterror.c: (_gst_core_errors_init):
9699         * gst/gsterror.h:
9700         * gst/gstevent.h:
9701         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9702         * gst/gstindex.c:
9703         * gst/gstinfo.c: (_gst_debug_init):
9704         * gst/gstmessage.c: (_gst_message_copy):
9705         * gst/gstmessage.h:
9706         * gst/gstminiobject.h:
9707         * gst/gstobject.c:
9708         * gst/gstobject.h:
9709         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9710         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9711         * gst/gstpad.h:
9712         * gst/gstparse.h:
9713         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9714         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9715         (gst_pipeline_get_last_stream_time):
9716         * gst/gstpipeline.h:
9717         * gst/gstpluginfeature.h:
9718         * gst/gstquery.h:
9719         * gst/gstscheduler.c:
9720         * gst/gstscheduler.h:
9721         * gst/gststructure.h:
9722         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9723         (gst_task_finalize), (gst_task_func), (gst_task_create),
9724         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9725         (gst_task_stop), (gst_task_pause):
9726         * gst/gsttask.h:
9727         * gst/gsttypefind.h:
9728         * gst/gsttypes.h:
9729         * gst/registries/gstlibxmlregistry.c: (load_feature),
9730         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9731         * gst/registries/gstxmlregistry.c:
9732         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9733         * gst/schedulers/threadscheduler.c:
9734         * libs/gst/control/dparammanager.h:
9735         * tools/gst-inspect.c: (print_element_list),
9736         (print_plugin_features), (print_element_features):
9737         * tools/gst-xmlinspect.c: (print_element_list),
9738         (print_plugin_info), (main):
9739         Removed plugable schedulers.
9740         Removed Scheduler/Manager from elements.
9741         Removed gsttypes.h, rearranged includes.
9742         Removed dependency pad<->element, element<>pipeline, and
9743         various others,  fix includes.
9744         implement gst_pad_get_parent() with gst_object_get_parent()
9745         Make GstTask sefcontained.
9746         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9747         timeout.
9748         Fix endless loop in iterator_fold_with_resync.
9749
9750
9751 2005-07-18  Wim Taymans  <wim@fluendo.com>
9752
9753         * gst/Makefile.am:
9754         * gst/gstarch.h:
9755         Remove old file.
9756
9757 2005-07-18  Wim Taymans  <wim@fluendo.com>
9758
9759         * gst/Makefile.am:
9760         No more cothreads.h
9761
9762 2005-07-18  Wim Taymans  <wim@fluendo.com>
9763
9764         * gst/cothreads.c:
9765         * gst/cothreads.h:
9766         Let's remove these.
9767
9768 2005-07-18  Wim Taymans  <wim@fluendo.com>
9769
9770         * docs/design/part-dynamic.txt:
9771         * docs/design/part-events.txt:
9772         * docs/design/part-seeking.txt:
9773         Some more docs in the works.
9774
9775         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9776         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9777         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9778         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9779         (gst_base_transform_handle_buffer),
9780         (gst_base_transform_sink_activate_push),
9781         (gst_base_transform_src_activate_pull),
9782         (gst_base_transform_set_passthrough),
9783         (gst_base_transform_is_passthrough):
9784         Refcounting fixes.
9785
9786         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9787         Cleanups.
9788
9789         * gst/gstevent.c: (gst_event_finalize):
9790         Set SRC to NULL.
9791
9792         * gst/gstutils.c: (gst_element_unlink),
9793         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9794         (gst_pad_proxy_setcaps):
9795         * gst/gstutils.h:
9796         Add _get_parent_element() to get a pads parent as an element.
9797
9798 2005-07-18  Wim Taymans  <wim@fluendo.com>
9799
9800         * check/gst/gstbin.c: (GST_START_TEST):
9801         Remove bogus test.
9802
9803 2005-07-18  Wim Taymans  <wim@fluendo.com>
9804
9805         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9806         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9807         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9808         (gst_base_sink_event), (gst_base_sink_do_sync),
9809         (gst_base_sink_chain), (gst_base_sink_loop),
9810         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9811         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9812         Refcounting fixes.
9813         Fix logic for returning ASYNC when not prerolled.
9814
9815 2005-07-18  Wim Taymans  <wim@fluendo.com>
9816
9817         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9818         Fix nasty refcount bug.
9819
9820 2005-07-16 Philippe Khalaf <burger@speedy.org>
9821
9822         * gst/elements/gstfdsrc.c:
9823         * gst/elements/gstfdsrc.h:
9824         * gst/elements/gstelements.c:
9825         * gst/elements/Makefile.am:
9826         Ported fdsrc to 0.9.
9827
9828 2005-07-16  Wim Taymans  <wim@fluendo.com>
9829
9830         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9831         (gst_base_sink_do_sync):
9832         Fix compile error.
9833
9834 2005-07-16  Wim Taymans  <wim@fluendo.com>
9835
9836         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9837         (gst_base_sink_event), (gst_base_sink_get_times),
9838         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9839         * gst/base/gstbasesink.h:
9840         Store and use discont values when syncing buffers as described
9841         in design docs.
9842         
9843         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9844         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9845         (gst_base_src_activate_push):
9846         Push discont event when starting.
9847
9848         * gst/elements/gstidentity.c: (gst_identity_transform):
9849         Small cleanups.
9850
9851         * gst/gstbin.c: (gst_bin_change_state):
9852         Small cleanups in base_time  distribution.
9853
9854         * gst/gstelement.c: (gst_element_set_base_time),
9855         (gst_element_get_base_time), (gst_element_change_state):
9856         * gst/gstelement.h:
9857         Added methods for the base_time of the element.
9858         Some MT fixes.
9859
9860         * gst/gstpipeline.c: (gst_pipeline_send_event),
9861         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9862         (gst_pipeline_get_last_stream_time):
9863         * gst/gstpipeline.h:
9864         MT fixes.
9865         Handle seeking as described in design doc, remove stream_time
9866         hack.
9867         Cleanups clock and stream_time selection code. Added accessors
9868         for the stream_time.
9869         
9870
9871 2005-07-16  Andy Wingo  <wingo@pobox.com>
9872
9873         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9874         (#305291).
9875
9876 2005-07-16  Wim Taymans  <wim@fluendo.com>
9877
9878         * check/gst/gstbin.c: (GST_START_TEST):
9879         Make elements silent as the deep_notify refs the
9880         parent, which might make the test fail.
9881
9882         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9883         Don't hold the lock for too long.
9884
9885 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9886
9887         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9888           Don't unref the caps we passed to gst_caps_make_writable() after
9889           passing them. gst_caps_make_writable() will do that for us.
9890
9891 2005-07-15  Andy Wingo  <wingo@pobox.com>
9892
9893         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9894         (#157311).
9895
9896         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9897         own marshalling function for the handoff signal. Properly type the
9898         buffer as a buffer. Fixes some warnings. Should do a more general
9899         solution.
9900         (gst_identity_class_init): Plug into the right marshaller.
9901
9902 2005-07-15  Wim Taymans  <wim@fluendo.com>
9903
9904         * docs/design/part-TODO.txt:
9905         * docs/design/part-clocks.txt:
9906         * docs/design/part-element-sink.txt:
9907         * docs/design/part-events.txt:
9908         * docs/design/part-gstpipeline.txt:
9909         Updated docs, mostly DISCONT related.
9910
9911 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9912
9913         * docs/pwg/building-pads.xml:
9914           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9915
9916 2005-07-15  Andy Wingo  <wingo@pobox.com>
9917
9918         * tools/gst-typefind.c: Update, add copyright block.
9919
9920         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9921         Normalize and truncate caps before fixation.
9922
9923         * gst/gstcaps.h:
9924         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9925         discards all but the first structure from its argument.
9926
9927 2005-07-15  Wim Taymans  <wim@fluendo.com>
9928
9929         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9930         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9931         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9932         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9933         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9934         (gst_base_transform_chain), (gst_base_transform_change_state),
9935         (gst_base_transform_set_passthrough),
9936         (gst_base_transform_is_passthrough):
9937         * gst/base/gstbasetransform.h:
9938         Make passthrough work using the bufferpools.
9939         Changed API a bit, subclasses have to write into a buffer
9940         provided by the base class.
9941         More debug info in nego functions.
9942         
9943         * gst/elements/gstidentity.c: (gst_identity_init),
9944         (gst_identity_transform):
9945         Port to new base class.
9946
9947 2005-07-15  Wim Taymans  <wim@fluendo.com>
9948
9949         * gst/gstmessage.c: (gst_message_new_state_changed):
9950         * tools/gst-launch.c: (event_loop), (main):
9951         Totally dump messages in -launch with the -m option.
9952         Fix message name for State messages,
9953
9954 2005-07-14  Wim Taymans  <wim@fluendo.com>
9955
9956         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9957         Post error messages on errors.
9958
9959 2005-07-14  Wim Taymans  <wim@fluendo.com>
9960
9961         * gst/gstcaps.c: (gst_caps_do_simplify):
9962         Remove debug info.
9963
9964         * gst/gsterror.h:
9965         Define error for stream stopped.
9966
9967         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9968         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9969         Do proper return values.
9970
9971         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9972         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9973         (gst_pad_get_range):
9974         Better return values.
9975
9976         * gst/gstpad.h:
9977         Reorganise return values, add macro to check for fatal errors.
9978
9979         * gst/gstqueue.c: (gst_queue_chain):
9980         Return proper GstFlowReturn values,
9981
9982 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9983
9984         * docs/gst/gstreamer-sections.txt:
9985         * docs/gst/gstreamer.types:
9986         * docs/gst/tmpl/gst.sgml:
9987         * docs/gst/tmpl/gstbasesink.sgml:
9988         * docs/gst/tmpl/gstbasesrc.sgml:
9989         * docs/gst/tmpl/gstbasetransform.sgml:
9990         * docs/gst/tmpl/gstbin.sgml:
9991         * docs/gst/tmpl/gstbuffer.sgml:
9992         * docs/gst/tmpl/gstcaps.sgml:
9993         * docs/gst/tmpl/gstclock.sgml:
9994         * docs/gst/tmpl/gstcompat.sgml:
9995         * docs/gst/tmpl/gstconfig.sgml:
9996         * docs/gst/tmpl/gstelement.sgml:
9997         * docs/gst/tmpl/gstelementdetails.sgml:
9998         * docs/gst/tmpl/gstelementfactory.sgml:
9999         * docs/gst/tmpl/gstenumtypes.sgml:
10000         * docs/gst/tmpl/gsterror.sgml:
10001         * docs/gst/tmpl/gstevent.sgml:
10002         * docs/gst/tmpl/gstfakesink.sgml:
10003         * docs/gst/tmpl/gstfakesrc.sgml:
10004         * docs/gst/tmpl/gstfilesink.sgml:
10005         * docs/gst/tmpl/gstfilesrc.sgml:
10006         * docs/gst/tmpl/gstfilter.sgml:
10007         * docs/gst/tmpl/gstformat.sgml:
10008         * docs/gst/tmpl/gstghostpad.sgml:
10009         * docs/gst/tmpl/gstimplementsinterface.sgml:
10010         * docs/gst/tmpl/gstindex.sgml:
10011         * docs/gst/tmpl/gstindexfactory.sgml:
10012         * docs/gst/tmpl/gstinfo.sgml:
10013         * docs/gst/tmpl/gstiterator.sgml:
10014         * docs/gst/tmpl/gstmacros.sgml:
10015         * docs/gst/tmpl/gstmemchunk.sgml:
10016         * docs/gst/tmpl/gstminiobject.sgml:
10017         * docs/gst/tmpl/gstobject.sgml:
10018         * docs/gst/tmpl/gstpad.sgml:
10019         * docs/gst/tmpl/gstpadtemplate.sgml:
10020         * docs/gst/tmpl/gstparse.sgml:
10021         * docs/gst/tmpl/gstpipeline.sgml:
10022         * docs/gst/tmpl/gstplugin.sgml:
10023         * docs/gst/tmpl/gstpluginfeature.sgml:
10024         * docs/gst/tmpl/gstquery.sgml:
10025         * docs/gst/tmpl/gstqueue.sgml:
10026         * docs/gst/tmpl/gstregistry.sgml:
10027         * docs/gst/tmpl/gstregistrypool.sgml:
10028         * docs/gst/tmpl/gstscheduler.sgml:
10029         * docs/gst/tmpl/gstschedulerfactory.sgml:
10030         * docs/gst/tmpl/gststructure.sgml:
10031         * docs/gst/tmpl/gstsystemclock.sgml:
10032         * docs/gst/tmpl/gsttaglist.sgml:
10033         * docs/gst/tmpl/gsttagsetter.sgml:
10034         * docs/gst/tmpl/gsttrace.sgml:
10035         * docs/gst/tmpl/gsttrashstack.sgml:
10036         * docs/gst/tmpl/gsttypefind.sgml:
10037         * docs/gst/tmpl/gsttypefindfactory.sgml:
10038         * docs/gst/tmpl/gsttypes.sgml:
10039         * docs/gst/tmpl/gsturihandler.sgml:
10040         * docs/gst/tmpl/gsturitype.sgml:
10041         * docs/gst/tmpl/gstutils.sgml:
10042         * docs/gst/tmpl/gstvalue.sgml:
10043         * docs/gst/tmpl/gstversion.sgml:
10044         * docs/gst/tmpl/gstxml.sgml:
10045         * docs/libs/tmpl/gstcontrol.sgml:
10046         * docs/libs/tmpl/gstdataprotocol.sgml:
10047         * docs/libs/tmpl/gstdparam.sgml:
10048         * docs/libs/tmpl/gstdplinint.sgml:
10049         * docs/libs/tmpl/gstdpman.sgml:
10050         * docs/libs/tmpl/gstdpsmooth.sgml:
10051         * docs/libs/tmpl/gstgetbits.sgml:
10052         * docs/libs/tmpl/gstunitconvert.sgml:
10053         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10054         (gst_push_src_base_init), (gst_push_src_class_init),
10055         (gst_push_src_init), (gst_push_src_create):
10056         * gst/base/gstpushsrc.h:
10057         * gst/elements/gstelements.c:
10058         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10059         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10060         (gst_fake_sink_init), (gst_fake_sink_set_property),
10061         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10062         (gst_fake_sink_event), (gst_fake_sink_preroll),
10063         (gst_fake_sink_render), (gst_fake_sink_change_state):
10064         * gst/elements/gstfakesink.h:
10065         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10066         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10067         (gst_fake_src_base_init), (gst_fake_src_class_init),
10068         (gst_fake_src_init), (gst_fake_src_event_handler),
10069         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10070         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10071         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10072         (gst_fake_src_create_buffer), (gst_fake_src_create),
10073         (gst_fake_src_start), (gst_fake_src_stop):
10074         * gst/elements/gstfakesrc.h:
10075         * gst/elements/gstfilesink.c: (_do_init),
10076         (gst_file_sink_base_init), (gst_file_sink_class_init),
10077         (gst_file_sink_init), (gst_file_sink_dispose),
10078         (gst_file_sink_set_location), (gst_file_sink_set_property),
10079         (gst_file_sink_get_property), (gst_file_sink_open_file),
10080         (gst_file_sink_close_file), (gst_file_sink_query),
10081         (gst_file_sink_event), (gst_file_sink_render),
10082         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10083         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10084         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10085         * gst/elements/gstfilesink.h:
10086         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10087         (gst_file_src_class_init), (gst_file_src_init),
10088         (gst_file_src_finalize), (gst_file_src_set_location),
10089         (gst_file_src_set_property), (gst_file_src_get_property),
10090         (gst_file_src_map_region), (gst_file_src_map_small_region),
10091         (gst_file_src_create_mmap), (gst_file_src_create_read),
10092         (gst_file_src_create), (gst_file_src_is_seekable),
10093         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10094         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10095         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10096         (gst_file_src_uri_handler_init):
10097         * gst/elements/gstfilesrc.h:
10098           more autistic cleanliness in functions/names/defines
10099
10100 2005-07-13  Andy Wingo  <wingo@pobox.com>
10101
10102         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
10103         source couldn't negotiate.
10104
10105         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
10106         connections again.
10107
10108         * gst/gstutils.h:
10109         * gst/gstutils.c (gst_element_link_pads_filtered): New old
10110         function. I am channeling Hades. Put your boots on suckers!!!
10111
10112 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10113
10114         * testsuite/caps/Makefile.am:
10115         * testsuite/caps/value_compare.c:
10116         * testsuite/caps/value_intersect.c:
10117         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10118           move two testsuite apps over to the check dir
10119
10120 2005-07-12  Wim Taymans  <wim@fluendo.com>
10121
10122         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10123         Added more debug info in the negotiate process.
10124
10125         * gst/gstmessage.h:
10126         Prepare for segment playback.
10127
10128         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
10129         Better debugging.
10130
10131         * gst/gstutils.c:
10132         Some more docs.
10133
10134         * tools/gst-launch.c: (main):
10135         NULL pipeline on errors.
10136
10137 2005-07-12  Andy Wingo  <wingo@pobox.com>
10138
10139         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10140         not it comes from a malloc region. Make sure our copy gets freed.
10141
10142 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10143
10144         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10145         * check/gst/gstmessage.c: (GST_START_TEST):
10146         * check/gst/gststructure.c: (GST_START_TEST),
10147         (gst_structure_suite), (main):
10148           more testing
10149         * gst/gstelement.c: (gst_element_message_full):
10150           clean up GError and debug string now that they get copied
10151         * gst/gstmessage.c: (gst_message_new_error),
10152         (gst_message_new_warning), (gst_message_parse_error),
10153         (gst_message_parse_warning):
10154           use GST_TYPE_G_ERROR for structure_new, and take copies of
10155           arguments, so that we don't mess up refcounting
10156
10157 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10158
10159         * check/Makefile.am:
10160           add per-test valgrind targets
10161         * check/gst-libs/gdp.c: (GST_START_TEST),
10162         (gst_data_protocol_suite), (main):
10163           clean up
10164
10165 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10166
10167         * check/Makefile.am:
10168           instate more valgrindable tests
10169         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10170         (GST_START_TEST), (fakesrc_suite):
10171         * check/gst/gstpad.c: (GST_START_TEST):
10172         * check/gst/gststructure.c: (GST_START_TEST):
10173           fix test leaks
10174         * docs/gst/tmpl/gstminiobject.sgml:
10175         * gst/gstpad.c: (gst_pad_finalize):
10176           fix the static mutex leak
10177
10178 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10179
10180         * check/Makefile.am:
10181           add two more tests for valgrinding
10182         * check/gst/gstvalue.c: (GST_START_TEST):
10183           test refcount of deserialized buffer, found a leak
10184         * docs/gst/gstreamer-docs.sgml:
10185         * docs/gst/gstreamer-sections.txt:
10186         * docs/gst/gstreamer.types:
10187         * docs/gst/tmpl/gstminiobject.sgml:
10188           add miniobject to docs
10189         * gst/gstminiobject.c:
10190           add some docs
10191         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10192         (gst_string_unwrap):
10193           fix a hard-to-find invalid write for one of the tests
10194           fix a leak for deserialized buffers
10195
10196 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10197
10198         * docs/pwg/advanced-events.xml:
10199         * docs/pwg/advanced-request.xml:
10200         * docs/pwg/advanced-scheduling.xml:
10201         * docs/pwg/appendix-porting.xml:
10202         * docs/pwg/building-boiler.xml:
10203         * docs/pwg/intro-preface.xml:
10204         * docs/pwg/other-ntoone.xml:
10205           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10206           of example code and explanation for pad activation, loop() and
10207           getrange() functions and a bit more. Remove old comments pointing
10208           to loop-functions.
10209         * examples/pwg/Makefile.am:
10210           Add loop/getrange examples.
10211
10212 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10213
10214         * configure.ac:
10215           check for valgrind binary + some fixes
10216         * check/gst.supp:
10217           valgrind suppressions for the tests
10218         * check/Makefile.am:
10219           add a valgrind: target that valgrinds the unit tests
10220         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10221         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10222         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10223         * check/gst/gstghostpad.c:
10224           added some cleanup
10225         * check/gst/gstdata.c:
10226           removed
10227         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10228         (thread_unref), (gst_mini_object_suite), (main):
10229           added
10230         * gst/gst.c: (gst_deinit):
10231         * gst/gst.h:
10232           add a method to clean up.
10233         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10234         (gst_system_clock_obtain):
10235           allow for disposing the system clock.
10236         * tools/gst-launch.c: (main):
10237           deinit
10238
10239 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10240
10241         * docs/gst/tmpl/gstbasesrc.sgml:
10242         * docs/gst/tmpl/gstfakesrc.sgml:
10243         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10244         (gst_base_src_init), (gst_base_src_set_property),
10245         (gst_base_src_get_property), (gst_base_src_get_range),
10246         (gst_base_src_start):
10247         * gst/base/gstbasesrc.h:
10248           add num-buffers property
10249         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10250         (gst_fakesrc_init), (gst_fakesrc_set_property),
10251         (gst_fakesrc_get_property), (gst_fakesrc_create),
10252         (gst_fakesrc_start):
10253           remove num-buffers property
10254
10255 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10256
10257         * docs/gst/gstreamer-sections.txt:
10258         * docs/gst/tmpl/gstbasesink.sgml:
10259         * docs/gst/tmpl/gstbasesrc.sgml:
10260         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10261         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10262         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10263         (gst_base_sink_set_property), (gst_base_sink_get_property),
10264         (gst_base_sink_handle_object), (gst_base_sink_event),
10265         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10266         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10267         (gst_base_sink_loop), (gst_base_sink_deactivate),
10268         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10269         (gst_base_sink_change_state):
10270         * gst/base/gstbasesink.h:
10271         * gst/base/gstbasesrc.h:
10272         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10273         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10274         (gst_filesink_init):
10275           more macro splitting
10276
10277 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10278
10279         * gst/gstelement.c: (gst_element_get_bus):
10280           add debug
10281         * tools/gst-launch.c: (check_intr), (event_loop):
10282           fix bus leaks
10283
10284 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10285
10286         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10287           fix a caps leak
10288
10289 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10290
10291         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10292         (gst_base_src_finalize):
10293           add finalize method and clean up properly
10294         * gst/gstpipeline.c: (gst_pipeline_dispose):
10295           add debug
10296
10297 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10298
10299         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10300         (gst_bin_suite):
10301           add more things to check
10302         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10303         * gst/gstelement.c:
10304           more debug
10305
10306 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10307
10308         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10309         (GST_START_TEST), (fakesrc_suite):
10310         * check/gst-libs/gdp.c: (GST_START_TEST):
10311         * check/gst/gst.c: (GST_START_TEST):
10312         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10313         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10314         * check/gst/gstbus.c: (GST_START_TEST):
10315         * check/gst/gstcaps.c: (GST_START_TEST):
10316         * check/gst/gstdata.c: (GST_START_TEST):
10317         * check/gst/gstelement.c: (GST_START_TEST):
10318         * check/gst/gstghostpad.c: (GST_START_TEST):
10319         * check/gst/gstiterator.c: (GST_START_TEST):
10320         * check/gst/gstmessage.c: (GST_START_TEST):
10321         * check/gst/gstobject.c: (GST_START_TEST):
10322         * check/gst/gstpad.c: (GST_START_TEST):
10323         * check/gst/gststructure.c: (GST_START_TEST):
10324         * check/gst/gstsystemclock.c: (GST_START_TEST),
10325         (gst_systemclock_suite):
10326         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10327         * check/gst/gstvalue.c: (GST_START_TEST):
10328         * check/pipelines/cleanup.c: (GST_START_TEST):
10329         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10330         * check/states/sinks.c: (GST_START_TEST):
10331         * check/gstcheck.c: (gst_check_init):
10332         * check/gstcheck.h:
10333           add debugging category
10334           use GST_START_TEST now, so we add a debug line
10335
10336 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10337
10338         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10339           add test for state change message on a bin
10340         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10341           add another test
10342         * gst/gstbin.c: (gst_bin_init):
10343         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10344         * gst/gstelement.c: (gst_element_post_message),
10345         (gst_element_set_state):
10346         * gst/gstelementfactory.c: (gst_element_factory_create):
10347         * gst/gstmessage.c: (gst_message_new):
10348         * gst/gstscheduler.c:
10349           various debugging additions and cleanups
10350
10351 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10352
10353         * check/Makefile.am:
10354         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10355         (main):
10356           adding tests for elements
10357         * gst/gstelement.c: (gst_element_dispose):
10358
10359 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10360
10361         * gst/registries/gstlibxmlregistry.c: (load_feature):
10362           plug more leaks.  A simple gst_init() now is leakfree, yay.
10363
10364 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10365
10366         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10367         (gst_xml_registry_load):
10368           plug another memleak
10369
10370 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10371
10372         * configure.ac:
10373           use GST_SET_ERROR_CFLAGS
10374         * docs/faq/cvs.xml:
10375           change to ERROR_CFLAGS
10376
10377 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10378
10379         * configure.ac:
10380           make GST_ERROR_CFLAGS overridable and re-enable Werror
10381         * docs/faq/cvs.xml:
10382           add a note about error CFLAGS
10383         * docs/gst/tmpl/gstfakesrc.sgml:
10384         * gst/elements/gstfakesrc.c:
10385           comment out some unused code
10386         * gst/gst.c: (split_and_iterate):
10387         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10388         (load_feature):
10389           plug some memleaks
10390
10391 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10392
10393         * common/Makefile.am:
10394         * common/gtk-doc.mak:
10395         * docs/gst/Makefile.am:
10396           factor out gtk-doc.mak
10397
10398 2005-07-07  Wim Taymans  <wim@fluendo.com>
10399
10400         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10401         (gst_thread_scheduler_dispose):
10402         Unlock the STREAM_LOCK completely.
10403
10404 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10405
10406         * check/Makefile.am:
10407         * check/elements/.cvsignore:
10408         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10409         (START_TEST), (fakesrc_suite), (main):
10410         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10411         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10412         (gst_fakesrc_create), (gst_fakesrc_start):
10413         * gst/elements/gstfakesrc.h:
10414           adding a first element test
10415
10416 2005-07-07  Andy Wingo  <wingo@pobox.com>
10417
10418         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10419         debug message.
10420
10421 2005-07-07  Wim Taymans  <wim@fluendo.com>
10422
10423         * gst/gstquery.c:
10424         * gst/gstquery.h:
10425         Remove old types
10426
10427 2005-07-07  Wim Taymans  <wim@fluendo.com>
10428
10429         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10430         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10431         Allow subclasses to implement their own negotiation.
10432
10433 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10434
10435         * docs/design/part-gstbin.txt:
10436         * docs/design/part-gstpipeline.txt:
10437           Update design notes to reflect the movement of
10438           responsibility for bus handling from GstPipeline to
10439           GstBin
10440
10441 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10442
10443         * configure.ac:
10444           Remove unnecessary queue2/3/4 examples.
10445
10446 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10447
10448         * examples/Makefile.am:
10449         * examples/helloworld/helloworld.c: (event_loop), (main):
10450         * examples/queue/queue.c: (event_loop), (main):
10451         * examples/queue2/queue2.c: (main):
10452           Update a couple of the examples to work again.
10453
10454         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10455         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10456          Spelling corrections and extra debug.
10457         
10458         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10459         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10460         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10461         * gst/gstbin.h:
10462         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10463         (gst_pipeline_change_state):
10464         * gst/gstpipeline.h:
10465           Move the bus handler for children to the GstBin, and create a
10466           separate bus for receiving messages from children to the one the
10467           bus sends 'upwards' on.
10468
10469 2005-07-06  Wim Taymans  <wim@fluendo.com>
10470
10471         * gst/base/README:
10472         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10473         (gst_base_sink_handle_object), (gst_base_sink_loop),
10474         (gst_base_sink_change_state):
10475         * gst/base/gstbasesink.h:
10476         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10477         (gst_base_src_init), (gst_base_src_setcaps),
10478         (gst_base_src_getcaps), (gst_base_src_loop),
10479         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10480         (gst_base_src_start), (gst_base_src_change_state):
10481         * gst/base/gstbasesrc.h:
10482         Make basesrc negotiate.
10483         Handle the case where preroll fails in basesink.
10484         Update README.
10485
10486 2005-07-06  Wim Taymans  <wim@fluendo.com>
10487
10488         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10489         Implement the fixate function.
10490         Clean up acceptcaps.
10491
10492 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10493
10494         * docs/pwg/building-filterfactory.xml:
10495         * docs/pwg/pwg.xml:
10496           Remove never-written filter-factory chapter; I'll add the various
10497           base classes to part 4 ("other element types") later on.
10498
10499 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10500
10501         * docs/pwg/advanced-negotiation.xml:
10502         * docs/pwg/building-boiler.xml:
10503         * docs/pwg/building-pads.xml:
10504         * docs/pwg/pwg.xml:
10505         * examples/pwg/Makefile.am:
10506           Add a chapter on caps negotiation, simplify the original code
10507           samples a bit w.r.t. caps negotiation, add link to the advanced
10508           section. Add a bunch of examples showing different use cases of
10509           different types of caps negotiation. Upstream renegotiation isn't
10510           fully documented yet since nobody knows how that works.
10511
10512 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10513
10514         * check/gst/gstpad.c:
10515         * check/gstcheck.c:
10516         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10517           if pad has no parent, return NULL as list of internal links
10518
10519 2005-07-05  Andy Wingo  <wingo@pobox.com>
10520
10521         * gst/elements/gstfilesrc.c:
10522         * gst/elements/gstfakesrc.c: 
10523         * gst/base/gstpushsrc.c:
10524         * gst/base/gstbasesrc.h: 
10525         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10526         
10527 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10528
10529         * Makefile.am:
10530           better report generation target (lcov needs a patch)
10531
10532 2005-07-05  Andy Wingo  <wingo@pobox.com>
10533
10534         * gst/elements, testsuite: Null if we got it...
10535
10536 2005-07-05  Wim Taymans  <wim@fluendo.com>
10537
10538         * configure.ac:
10539         * libs/gst/dataprotocol/Makefile.am:
10540         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10541         * libs/gst/dataprotocol/dataprotocol.h:
10542         * pkgconfig/Makefile.am:
10543         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10544         * pkgconfig/gstreamer-dataprotocol.pc.in:
10545         Ported dataprotol to 0.9. 
10546         Added pkgconfig files.
10547
10548 2005-07-05  Andy Wingo  <wingo@pobox.com>
10549
10550         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10551         Default to returning TRUE for the case when tranform_caps returns
10552         a fixed caps, like for identity or volume.
10553
10554         * check/gst/gstbus.c (pound_bus_with_messages): 
10555         * check/gst/gstmessage.c (START_TEST): 
10556         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10557         message API change.
10558
10559         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10560         logic weaks here: always run transform_caps, trying passthrough
10561         operation only if the original caps intersects with the transform.
10562
10563         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10564         source and sink caps.
10565
10566         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10567         Intersect the peer caps with the pad template before going into
10568         transform_caps.
10569         (gst_base_transform_transform_caps): More debugging.
10570
10571         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10572         src argument.
10573
10574 2005-07-04  Edward Hervey  <edward@fluendo.com>
10575
10576         * gst/gstutils.c:
10577         * gst/gstutils.h:
10578         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10579         in bindings.
10580
10581 2005-07-04  Andy Wingo  <wingo@pobox.com>
10582
10583         * check/gst/gstpad.c: Only set explicit caps on pads.
10584
10585 2005-07-01  Andy Wingo  <wingo@pobox.com>
10586
10587         * tests/network-clock.scm: Commentary update.
10588
10589         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10590         Didn't really make sense, not implementable with basetransform,
10591         etc.
10592         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10593         attempt at implementing the sync property, needs an unlock method.
10594
10595         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10596         New func, by default returns the same caps (the identity
10597         transformation).
10598         (gst_base_transform_getcaps): Uses transform_caps to return
10599         something sensible.
10600         (gst_base_transform_setcaps): Complicated logic to get caps on
10601         both pads, even if they are different, and to call set_caps once
10602         for every time both pads get their caps set.
10603         (gst_base_transform_handle_buffer): Give the ref to the transform
10604         function. Allows in-place modification of the buffer.
10605
10606         * gst/base/gstbasetransform.h (transform_caps): New class method.
10607         Given caps on one side, what can I do on the other.
10608         (set_caps): Take two caps, one for each side of the element.
10609
10610         * gst/gstpad.h:
10611         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10612         caps in place. This is safe because we can check the mutability of
10613         the caps, and a good idea because fixate functions are just called
10614         as a matter of last resort. (Not actually implemented.)
10615         (gst_pad_set_caps): If the caps we're setting is actually the same
10616         as the existing pad caps, just update the pointer without calling
10617         setcaps. Assert that caps is either NULL or fixed, as per the
10618         docs.
10619
10620         * gst/gstghostpad.c: Update for fixate changes.
10621
10622 2005-07-02  Andy Wingo  <wingo@pobox.com>
10623
10624         * gst/gstcaps.c:
10625         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10626         two refcounts makes it immutable, which is enough. Doc more.
10627
10628 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10629
10630         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10631           Put the mini_object into GValue as a mini_object,
10632           not a gpointer, since that's how we declared
10633           the signal.
10634
10635 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10636
10637         * examples/pwg/Makefile.am:
10638           Fix buildbot again.
10639
10640 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10641
10642         * docs/pwg/building-testapp.xml:
10643           Add extra check.
10644         * examples/pwg/Makefile.am:
10645           Fix buildbot.
10646
10647 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10648
10649         * configure.ac:
10650         * examples/Makefile.am:
10651         * examples/pwg/Makefile.am:
10652         * examples/pwg/extract.pl:
10653           Enable building the PWG examples.
10654         * docs/pwg/advanced-interfaces.xml:
10655           Add URI interface stub.
10656         * docs/pwg/advanced-types.xml:
10657         * docs/pwg/other-autoplugger.xml:
10658         * docs/pwg/appendix-porting.xml:
10659         * docs/pwg/pwg.xml:
10660           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10661         * docs/pwg/building-boiler.xml:
10662         * docs/pwg/building-chainfn.xml:
10663         * docs/pwg/building-pads.xml:
10664         * docs/pwg/building-props.xml:
10665         * docs/pwg/building-state.xml:
10666         * docs/pwg/building-testapp.xml:
10667           Update the building-*.xml parts for 0.9 changes. All examples
10668           code blocks compile in examples/pwg/*.
10669
10670 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10671
10672         * docs/manual/advanced-autoplugging.xml:
10673         * docs/manual/appendix-checklist.xml:
10674         * docs/manual/appendix-integration.xml:
10675         * docs/manual/highlevel-components.xml:
10676           Fix playbin/decodebin examples, update docs a bit, mention bus
10677           instead of signals in various places, mention kmplayer and
10678           kaffeine since they have a working GStreamer backend in the KDE
10679           section.
10680
10681 2005-06-30  Wim Taymans  <wim@fluendo.com>
10682
10683         * CHANGES-0.9:
10684         * docs/design/draft-ghostpads.txt:
10685         * docs/design/draft-push-pull.txt:
10686         * docs/design/draft-query.txt:
10687         * docs/design/part-TODO.txt:
10688         * docs/design/part-query.txt:
10689         Added CHANGES-0.9 doc, updated status of other docs.
10690         
10691         * gst/gstquery.h:
10692         Remove "hmm" macro
10693
10694 2005-06-30  Wim Taymans  <wim@fluendo.com>
10695
10696         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10697         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10698         (gst_base_sink_change_state):
10699         * gst/base/gstbasesink.h:
10700         Some tweaks, only EOS and a buffer complete a preroll.
10701
10702 2005-06-30  Andy Wingo  <wingo@pobox.com>
10703
10704         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10705         activate_push down to the internal pad as well.
10706
10707 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10708
10709         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10710
10711         * gst/gsttaginterface.c:
10712           Some documentation fixes (#307394 and #307397).
10713
10714 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10715
10716         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10717
10718         * gst/gstvalue.c: (gst_value_intersect_list):
10719           Fix memleak (#309125).
10720
10721 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10722
10723         * docs/manual/advanced-dataaccess.xml:
10724           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10725         * docs/manual/basics-pads.xml:
10726           Add reference for filtered caps to above chapter.
10727
10728 2005-06-30  Wim Taymans  <wim@fluendo.com>
10729
10730         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10731         (gst_bin_change_state):
10732         Probes are gone.
10733         Lame attempt at making the state change function a bit
10734         more readable.
10735
10736 2005-06-30  Wim Taymans  <wim@fluendo.com>
10737
10738         * docs/design/part-clocks.txt:
10739         * docs/design/part-element-sink.txt:
10740         * docs/design/part-events.txt:
10741         * docs/design/part-preroll.txt:
10742         * docs/design/part-states.txt:
10743         Some more tweeks and additions to the docs.
10744
10745 2005-06-30  Wim Taymans  <wim@fluendo.com>
10746
10747         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10748         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10749         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10750         (gst_pad_check_pull_range), (gst_pad_get_range),
10751         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10752         * gst/gstpad.h:
10753         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10754         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10755         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10756         (gst_pad_remove_buffer_probe):
10757         Removed atomic operations, use existing LOCK.
10758         Move exception handling out of main code path.
10759
10760 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10761
10762         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10763         (silly_return_true_function), (gst_pad_class_init),
10764         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10765         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10766         (gst_pad_send_event):
10767           Fix accumulator, add default value by using _emitv() instead
10768           of _emit() for signal emission.
10769
10770 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10771
10772         * docs/manual/advanced-dataaccess.xml:
10773         * examples/manual/Makefile.am:
10774           Add probe example.
10775         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10776           Make work (??).
10777
10778 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10779
10780         * gst/elements/gstfilesink.c: (gst_filesink_render):
10781           Simplify code so that we don't have to handle short
10782           writes and return GST_FLOW_ERROR if an error occured.
10783
10784 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10785
10786         * docs/gst/gstreamer-docs.sgml:
10787           Remove probes more.
10788
10789 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10790
10791         * docs/gst/gstreamer-sections.txt:
10792         * docs/gst/tmpl/gstpad.sgml:
10793         * docs/gst/tmpl/gstprobe.sgml:
10794         * gst/Makefile.am:
10795         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10796         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10797         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10798         (gst_pad_push_event), (gst_pad_send_event):
10799         * gst/gstpad.h:
10800         * gst/gstutils.c: (gst_pad_add_data_probe),
10801         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10802         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10803         (gst_pad_remove_buffer_probe):
10804         * gst/gstutils.h:
10805           Remove old probes, add new g-signal-based probes and some utility
10806           functions.
10807
10808 2005-06-29  Edward Hervey  <edward@fluendo.com>
10809
10810         * gst/gstelementfactory.c:
10811         * gst/gstutils.h:
10812         * gst/gstutils.c:
10813         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10814         the definition to the header file.
10815
10816 2005-06-29  Andy Wingo  <wingo@pobox.com>
10817
10818         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10819         plugins from the source directory.
10820
10821 2005-06-29  Wim Taymans  <wim@fluendo.com>
10822
10823         * docs/gst/tmpl/gstbuffer.sgml:
10824         * docs/gst/tmpl/gstclock.sgml:
10825         Some fixings for blantently wrong text.
10826
10827 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10828
10829         * check/Makefile.am:
10830         * gst/gst.c: (add_path_func), (init_pre):
10831         * gst/gstregistry.c: (gst_registry_add_path):
10832           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10833           only scan the GST_PLUGIN_PATH locations, and not add
10834           system locations
10835
10836 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10837
10838         * docs/gst/gstreamer-sections.txt:
10839         * docs/gst/tmpl/gstbasesrc.sgml:
10840         * gst/gstelement.c:
10841         * gst/gstelement.h:
10842         * gst/gstevent.c:
10843         * gst/gstutils.c:
10844           doc fixes
10845
10846 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10847
10848         * docs/manual/advanced-autoplugging.xml:
10849           Fix autoplugging example.
10850
10851 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10852
10853         * docs/manual/advanced-autoplugging.xml:
10854         * docs/manual/mime-world.fig:
10855           Try to get autoplugging working, fix type detection. Fix text
10856           in hello-world image.
10857
10858 2005-06-29  Wim Taymans  <wim@fluendo.com>
10859
10860         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10861         (gst_base_sink_change_state):
10862         Small debug line.
10863
10864         * gst/gstclock.h:
10865         map SIGNAL and BROADCAST to the right function.
10866
10867         * gst/gstobject.h:
10868         Remove redundant braces.
10869
10870         * gst/gstpad.c: (gst_pad_set_caps):
10871         Don't call setcaps function when reseting caps to NULL.
10872
10873         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10874         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10875         (gst_system_clock_id_unschedule):
10876         Use BROADCAST as this is what we do.
10877
10878 2005-06-29  Wim Taymans  <wim@fluendo.com>
10879
10880         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10881         We are actually prerolling before commiting the state
10882         change. 
10883
10884 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10885
10886         * docs/manual/advanced-clocks.xml:
10887         * docs/manual/advanced-interfaces.xml:
10888         * docs/manual/advanced-metadata.xml:
10889         * docs/manual/advanced-position.xml:
10890         * docs/manual/advanced-schedulers.xml:
10891         * docs/manual/advanced-threads.xml:
10892         * docs/manual/appendix-porting.xml:
10893         * docs/manual/basics-bins.xml:
10894         * docs/manual/basics-bus.xml:
10895         * docs/manual/basics-elements.xml:
10896         * docs/manual/basics-helloworld.xml:
10897         * docs/manual/basics-pads.xml:
10898         * docs/manual/highlevel-components.xml:
10899         * docs/manual/manual.xml:
10900         * docs/manual/thread.fig:
10901           Update (until threads/scheduling) Application Development Manual;
10902           remove GstThread, add GstBus, add simple porting checklist, add
10903           documentation for tag writing, clocks, make all examples until this
10904           part compile and run.
10905         * examples/manual/Makefile.am:
10906           Update from changes to Application Development Manual; add bus
10907           example, remove thread example.
10908
10909 2005-06-28  Wim Taymans  <wim@fluendo.com>
10910
10911         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10912         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10913         (gst_bus_source_dispatch):
10914         Add debugging messages.
10915         Make internal methods static.
10916         Handle the case where the bus is flushed in the handler.
10917         
10918         * gst/gstelement.c: (gst_element_get_bus):
10919         Fix refcount in _get_bus();
10920
10921         * gst/gstpipeline.c: (gst_pipeline_change_state),
10922         (gst_pipeline_get_clock_func):
10923         Clock refcounting fixes.
10924         Handle the case where preroll timed out more gracefully.
10925         
10926         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10927         Clean up the internal thread in dispose. This is needed
10928         for subclasses that actually get disposed.
10929         
10930         * gst/schedulers/threadscheduler.c:
10931         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10932         (gst_thread_scheduler_dispose):
10933         Free thread pool in dispose.
10934
10935 2005-06-28  Andy Wingo  <wingo@pobox.com>
10936
10937         * tests/network-clock-utils.scm (debug, print-event): New utils.
10938
10939         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10940         (*packet-loss*): Unified loss probability.
10941         (network-time): Report out-of-band events.
10942
10943         * tests/plot-data: Add support for out-of-band events. Hack it
10944         into this script instead of passing it down the pipe; should fix
10945         this later.
10946
10947 2005-06-28  Wim Taymans  <wim@fluendo.com>
10948
10949         * docs/gst/gstreamer.types:
10950         * docs/gst/tmpl/gstbasesrc.sgml:
10951         * docs/gst/tmpl/gstpad.sgml:
10952         Docs fixes.
10953
10954 2005-06-28  Wim Taymans  <wim@fluendo.com>
10955
10956         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10957         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10958         (gst_proxy_pad_do_fixatecaps):
10959         Correctly proxy the check_pull_range function.
10960
10961 2005-06-28  Andy Wingo  <wingo@pobox.com>
10962
10963         * tests/network-clock.scm: Removed need for slib.
10964         
10965 2005-06-28  Wim Taymans  <wim@fluendo.com>
10966
10967         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10968         (gst_basesink_preroll_queue_flush):
10969         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10970         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10971         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10972         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10973         (gst_proxy_pad_set_property):
10974         * gst/gstpad.c:
10975         * gst/gstpad.h:
10976         * gst/gstqueue.c: (gst_queue_init):
10977         The deprecated pad loop function is removed now.
10978
10979 2005-06-28  Andy Wingo  <wingo@pobox.com>
10980
10981         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10982         New parameters, simulate network packet loss.
10983
10984         * tests/network-clock-utils.scm: Initialize the RNG.
10985
10986 2005-06-28  Wim Taymans  <wim@fluendo.com>
10987
10988         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10989         (gst_basesink_event), (gst_basesink_deactivate):
10990         Flushing the preroll queue always needs to unlock the waiters.
10991
10992 2005-06-28  Edward Hervey  <edward@fluendo.com>
10993
10994         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10995         Wheen a seek was successful on a pipeline, set the stream_time to the
10996         seek offset in order to have a synchronized stream_time.
10997
10998 2005-06-28  Wim Taymans  <wim@fluendo.com>
10999
11000         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11001         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11002         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11003         (gst_proxy_pad_do_fixatecaps):
11004         Call wrapper function instead of just calling the function
11005         pointers. This takes care of any locking and whatmore.
11006
11007 2005-06-28  Wim Taymans  <wim@fluendo.com>
11008
11009         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11010         (gst_pad_pull_range):
11011         * gst/gstpad.h:
11012         CONNECTED -> LINKED.
11013
11014 2005-06-28  Andy Wingo  <wingo@pobox.com>
11015
11016         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11017         source-munging commit!!!
11018
11019         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
11020         (gst_object_sink): Take gpointer arguments, not GstObject --
11021         avoids casts. Like GLib.
11022
11023         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11024         activate.
11025
11026 2005-06-27  Andy Wingo  <wingo@pobox.com>
11027
11028         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11029         remaining buffer.
11030
11031         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11032         returns a sorted copy of the trace list.
11033         (gst_alloc_trace_print_live): New API, only prints traces with
11034         live objects. Sort the list.
11035         (gst_alloc_trace_print_all): Sort the list.
11036         (gst_alloc_trace_print): Align columns.
11037
11038         * gst/elements/gstttypefindelement.c:
11039         * gst/elements/gsttee.c:
11040         * gst/base/gstbasesrc.c:
11041         * gst/base/gstbasesink.c:
11042         * gst/base/gstbasetransform.c:
11043         * gst/gstqueue.c: Adapt for pad activation changes.
11044
11045         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11046         sched.
11047         (gst_pipeline_dispose): Drop ref on sched.
11048
11049         * gst/gstpad.c (gst_pad_init): Set the default activate func.
11050         (gst_pad_activate_default): Push mode by default.
11051         (pre_activate_switch, post_activate_switch): New stubs, things to
11052         do before and after switching activation modes on pads.
11053         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11054         the pad's activate function to choose which mode to activate.
11055         Shortcut on deactivation and call the right function directly.
11056         (gst_pad_activate_pull): New API, (de)activates a pad in pull
11057         mode.
11058         (gst_pad_activate_push): New API, same for push mode.
11059         (gst_pad_set_activate_function) 
11060         (gst_pad_set_activatepull_function) 
11061         (gst_pad_set_activatepush_function): Setters for new API.
11062
11063         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11064         Trace all miniobjects.
11065         (gst_mini_object_make_writable): Unref the arg if we copy, like
11066         gst_caps_make_writable.
11067
11068         * gst/gstmessage.c (_gst_message_initialize): No trace init.
11069
11070         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
11071         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11072         Adapt for new pad API.
11073
11074         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11075
11076         * gst/gstelement.h:
11077         * gst/gstelement.c (gst_element_iterate_src_pads) 
11078         (gst_element_iterate_sink_pads): New API functions.
11079         
11080         * gst/gstelement.c (iterator_fold_with_resync): New utility,
11081         should fold into gstiterator.c in some form.
11082         (gst_element_pads_activate): Simplified via use of fold and
11083         delegation of decisions to gstpad->activate.
11084
11085         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11086         help in debugging.
11087
11088         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11089         class once in init, like gstmessage. Didn't run into this issue
11090         but it seems correct. Don't initialize a trace, gstminiobject does
11091         that.
11092
11093         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11094         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11095         to the bus.
11096         (assert_live_count): New util function, uses alloc traces to check
11097         cleanup.
11098
11099         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
11100         To be modified when unlink drops the internal pad.
11101
11102 2005-06-27  Wim Taymans  <wim@fluendo.com>
11103
11104         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
11105         (gst_bin_change_state):
11106         Cleanup the get_state() function a little, make sure it
11107         iterates the same set of elements.
11108         Added stub iterate_state_order().
11109
11110 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11111
11112         * docs/gst/gstreamer-docs.sgml:
11113         * docs/gst/gstreamer-sections.txt:
11114         * docs/gst/gstreamer.types:
11115         * docs/gst/tmpl/gstbasesink.sgml:
11116         * docs/gst/tmpl/gstbasesrc.sgml:
11117         * docs/gst/tmpl/gstbasetransform.sgml:
11118         * docs/gst/tmpl/gstelement.sgml:
11119         * docs/gst/tmpl/gstiterator.sgml:
11120         * gst/base/gstbasesrc.c:
11121         * gst/base/gstbasesrc.h:
11122         * gst/base/gstbasetransform.h:
11123         * gst/gstelement.c:
11124         * gst/gstiterator.h:
11125           adding basetransform and iterator docs
11126
11127 2005-06-27  Andy Wingo  <wingo@pobox.com>
11128
11129         * docs/design/part-activation.txt: Notes on how activation should
11130         work -- not quite implemented yet.
11131
11132 2005-06-25  Wim Taymans  <wim@fluendo.com>
11133
11134         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11135         At least get the chain function correct, needs more
11136         fixing.
11137
11138 2005-06-25  Wim Taymans  <wim@fluendo.com>
11139
11140         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11141         (gst_basesink_handle_object), (gst_basesink_event),
11142         (gst_basesink_do_sync), (gst_basesink_handle_event),
11143         (gst_basesink_change_state):
11144         * gst/gsttask.h:
11145         Right, two problems here: ghostpads don't take locks and
11146         glib _rec_mutex_lock_full() with depth==0 still locks.
11147         Catch illegal locking and g_warn them.
11148
11149 2005-06-25  Wim Taymans  <wim@fluendo.com>
11150
11151         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11152         Have to check for completion now...
11153
11154 2005-06-25  Wim Taymans  <wim@fluendo.com>
11155
11156         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11157         (gst_basesink_handle_object), (gst_basesink_event),
11158         (gst_basesink_do_sync), (gst_basesink_handle_event),
11159         (gst_basesink_change_state):
11160         * gst/gstpad.h:
11161         Unlock STREAM_LOCK whatever the recursion was.
11162
11163 2005-06-25  Wim Taymans  <wim@fluendo.com>
11164
11165         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11166         (gst_basesink_preroll_queue_empty),
11167         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11168         (gst_basesink_event), (gst_basesink_do_sync),
11169         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11170         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11171         (gst_basesink_change_state):
11172         Reworked the base sink, handle event and buffer serialisation
11173         correctly and removed possible deadlock.
11174         Handle EOS correctly.
11175
11176 2005-06-25  Wim Taymans  <wim@fluendo.com>
11177
11178         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11179         (gst_pipeline_change_state):
11180         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11181         Allow elements to post EOS in the state change function.
11182         Fix up -launch, make it exit the poll loop when the
11183         pipeline actually changed state.
11184         Fix up warning parsing in -launch.
11185
11186 2005-06-25  Wim Taymans  <wim@fluendo.com>
11187
11188         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11189         (gst_tee_sink_activate):
11190         Core takes STREAM_LOCK for us now.
11191
11192 2005-06-25  Wim Taymans  <wim@fluendo.com>
11193
11194         * gst/gstelement.c: (gst_element_get_state_func),
11195         (gst_element_set_state):
11196         * gst/gstelement.h:
11197         * gst/gstmessage.c: (gst_message_parse_error),
11198         (gst_message_parse_warning):
11199         Keep track of current target state while performing a state
11200         change so that subclasses can do something interesting.
11201         Fix parsing of warning/error messages when GError is NULL.
11202
11203 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11204
11205         * docs/gst/Makefile.am:
11206         * docs/gst/gstreamer-docs.sgml:
11207         * docs/gst/gstreamer-sections.txt:
11208         * docs/gst/gstreamer.types:
11209         * docs/gst/tmpl/gstbasesink.sgml:
11210         * docs/gst/tmpl/gstbasesrc.sgml:
11211         * docs/gst/tmpl/gstbin.sgml:
11212         * docs/gst/tmpl/gstcompat.sgml:
11213         * docs/gst/tmpl/gstfakesink.sgml:
11214         * docs/gst/tmpl/gstfakesrc.sgml:
11215         * docs/gst/tmpl/gstfilesink.sgml:
11216         * docs/gst/tmpl/gstfilesrc.sgml:
11217         * docs/gst/tmpl/gstindex.sgml:
11218         * docs/manual/appendix-quotes.xml:
11219         * gst/base/gstbasesrc.h:
11220         * gst/elements/gstfakesrc.h:
11221         * gst/gstmessage.h:
11222           start pulling in base classes and elements in our docs
11223
11224 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11225
11226         * docs/gst/Makefile.am:
11227         * docs/libs/Makefile.am:
11228           fixed make distcheck with gtk-doc 1.3
11229
11230 2005-06-23  Wim Taymans  <wim@fluendo.com>
11231
11232         * gst/gstelement.c: (gst_element_get_state_func),
11233         (gst_element_set_state), (gst_element_change_state):
11234         When the state did not change, also report NO_PREROLL
11235         when it matters.
11236
11237 2005-06-23  Wim Taymans  <wim@fluendo.com>
11238
11239         * gst/gstpad.c: (gst_pad_event_default):
11240         * gst/gstqueue.c: (gst_queue_loop):
11241         No unsafe task pausing please.
11242
11243 2005-06-23  Wim Taymans  <wim@fluendo.com>
11244
11245         * gst/schedulers/threadscheduler.c:
11246         (gst_thread_scheduler_task_start),
11247         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11248         Ref the task before pushing it on the threadpool. This
11249         makes sure that we have a ref when the threadfunction is
11250         actually called.
11251
11252 2005-06-23  Andy Wingo  <wingo@pobox.com>
11253
11254         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11255         offset is greater than the file's size.
11256
11257         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11258         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11259         * gst/gstobject.c (gst_object_class_init): Make the class lock
11260         recursive. Wim won't let me drop deep_notify. Decodebin works
11261         again, whoopdy doo.
11262
11263         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11264         internal pad, and hacks accordingly. Doesn't do it on the target
11265         pad because we change its caps. Probably catches all cases of
11266         interest tho.
11267         (gst_ghost_pad_set_property): Connect to notify::caps as
11268         appropritate.
11269
11270         * tests/network-clock.scm (plot-simulation): Pipe data to the
11271         elite python skript.
11272
11273         * tests/network-clock-utils.scm (define-parameter): New macro,
11274         defines a parameter that can be set via the command line.
11275         (set-parameter!, parse-parameter-arguments): Command line args
11276         parser.
11277
11278         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11279         stdin.
11280
11281 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11282
11283         * gst/elements/gsttypefindelement.c:
11284         (gst_type_find_element_handle_event):
11285           Don't restart typefinding on a discont.
11286         * gst/gstelement.c: (gst_element_set_state):
11287           Debug spelling fix.
11288         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11289           Allow changing mode of an active pad.
11290           Debug output fixes.
11291         * gst/registries/gstlibxmlregistry.c: (load_feature):
11292           Don't cast a static pad template to a normal pad template.
11293
11294 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11295
11296         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11297         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11298           remove gst_strtoll completely, since it didn't actually do
11299           anything more than what g_ascii_strtoull already does.
11300           check for range errors when deserializing
11301           do a cast for the unsigned cases; but further fixing needs
11302           a decision on what the interpretation of "(int)" and
11303           deserialization should be for values that fall outside the
11304           type's boundaries (ie, refuse, or interpret as casting)
11305
11306 2005-06-23  Wim Taymans  <wim@fluendo.com>
11307
11308         * check/Makefile.am:
11309         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11310         * docs/design/part-live-source.txt:
11311         * docs/design/part-states.txt:
11312         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11313         (gst_basesrc_set_live), (gst_basesrc_is_live),
11314         (gst_basesrc_get_range), (gst_basesrc_activate),
11315         (gst_basesrc_change_state):
11316         * gst/base/gstbasesrc.h:
11317         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11318         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11319         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11320         * gst/gstelement.c: (gst_element_get_state_func),
11321         (gst_element_set_state):
11322         * gst/gstelement.h:
11323         * gst/gsttypes.h:
11324         * tools/gst-launch.c: (event_loop), (main):
11325         Added support for live sources and other elements that
11326         cannot do preroll.
11327         Updated design docs, added live-source design doc.
11328         Implemented live source functionality in basesrc
11329         Fix error condition in _bin_get_state()
11330         Implement live source handling in -launch.
11331         Added check for live sources.
11332         Fixed case in GstBin where elements were changed state
11333         multiple times.
11334
11335
11336 2005-06-23  Andy Wingo  <wingo@pobox.com>
11337
11338         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11339         borken refcounting.
11340
11341         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11342         gst_caps_replace takes care of this for us.
11343
11344         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11345         gst_pad_set_caps on the target, not just its setcaps() function.
11346
11347         * tests/network-clock.scm: 
11348         * tests/network-clock-utils.scm: A network clock simulator.
11349         Something of an algorithmic testbed before doing something in C.
11350
11351 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11352
11353         * check/Makefile.am:
11354         * check/gst/capslist.h:
11355           copy over from 0.8, and add two with bitmasks specified with
11356           (int) 0xFF...
11357         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11358           add test to parse everything from capslist.h
11359         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11360         (main):
11361           add test for structure deserialization
11362         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11363           add tests for deserialization of strings to int types
11364         * gst/gststructure.c: (gst_structure_nth_field_name):
11365         * gst/gststructure.h:
11366           add a way to get the name of a field referenced by index
11367         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11368           instead of checking if the resulting long long lies between
11369           min and max, we check if the long long would fit into
11370           a number of bytes for the final type.
11371           This fixes cases where a string represents 2^32 - 1, which
11372           when cast to int would be the (valid) -1, but is bigger than
11373           G_MAXINT
11374
11375 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11376
11377         * gst/parse/grammar.y:
11378           add a log line for type deserialization
11379
11380 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11381
11382         * check/gst/gstvalue.c: (START_TEST):
11383         * gst/gstvalue.c: (gst_value_deserialize):
11384           return long long, not int, so gint64 deserialization actually
11385           works.  Is there any flag that makes the compiler check this ?
11386           Fixes #308559
11387
11388 2005-06-22  Wim Taymans  <wim@fluendo.com>
11389
11390         * gst/gstbuffer.h:
11391         Added convenience macros for setting buffers in GValue.
11392
11393 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11394
11395         * check/gst/.cvsignore:
11396         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11397           add a test deserializing int64, and comment part out because
11398           it fails, yay !
11399
11400 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11401
11402         * check/Makefile.am:
11403         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11404         * testsuite/Makefile.am:
11405         * testsuite/caps/Makefile.am:
11406         * testsuite/caps/value_serialize.c:
11407         * testsuite/test_gst_init.c:
11408           move a value_serialize test over
11409
11410 2005-06-20  Wim Taymans  <wim@fluendo.com>
11411
11412         * gst/gstpad.c:
11413         Small doc updates.
11414         
11415         * gst/gstvalue.c: (gst_value_compare_buffer),
11416         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11417         (gst_value_compare_flags), (gst_value_serialize_flags),
11418         (gst_value_deserialize_flags), (_gst_value_initialize):
11419         Fix serialisation of buffers, they are not boxed types anymore
11420
11421 2005-06-20  Wim Taymans  <wim@fluendo.com>
11422
11423         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11424         Testcase to show error in buffer-on-caps serialisation.
11425
11426 2005-06-20  Andy Wingo  <wingo@pobox.com>
11427
11428         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11429         will be adding to later.
11430
11431         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11432         if its socks fill with rocks.
11433         (gst_system_clock_obtain): Set the name on object construction.
11434         Avoid double-checked locking.
11435
11436 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11437
11438         * gst/gsturi.c: (gst_element_make_from_uri):
11439           Fix potential endless loop.
11440
11441 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11442
11443         * check/Makefile.am:
11444           add gsttag
11445         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11446         (main):
11447           move over from testsuite dir and clean up
11448         * configure.ac:
11449         * gst/gsttag.c:
11450         * testsuite/Makefile.am:
11451         * testsuite/tags/.cvsignore:
11452         * testsuite/tags/Makefile.am:
11453         * testsuite/tags/merge.c:
11454           remove testsuite/tags
11455
11456 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11457
11458         * docs/gst/gstreamer-sections.txt:
11459         * docs/gst/tmpl/gstenumtypes.sgml:
11460         * win32/gstenumtypes.c:
11461           clean up documentation build a little
11462
11463 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11464
11465         * check/gstcheck.h:
11466           add macros for checking refcounts on objects and caps
11467         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11468           add some more unit tests
11469         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11470         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11471           fix leaked refcounts (I hope :)) so unittest works
11472         * gst/gstpad.h:
11473           whitespace removal
11474
11475 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11476
11477         * configure.ac: back to HEAD
11478
11479 === release 0.9.1 ===
11480
11481 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11482
11483         * NEWS:
11484         * RELEASE:
11485           updated
11486
11487 2005-06-17  Andy Wingo  <wingo@pobox.com>
11488
11489         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11490         assert; it's always possible that the pad gets deactivated in
11491         between the checks in gstpad.c and the implementation. Rely on
11492         finish_preroll() to return a FLUSHING or similar instead of on the
11493         assert.
11494         
11495         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11496         clock and post an EOS message if we come out of finish_preroll in
11497         the playing state.
11498
11499 2005-06-16  David Schleef  <ds@schleef.org>
11500
11501         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11502         (gst_capsfilter_set_property): Allow NULL as possible value
11503         for filter_caps property, indicating GST_CAPS_ANY.
11504
11505 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11506
11507         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11508           fix debug output
11509         * gst/schedulers/Makefile.am:
11510           use libgst prefix
11511         * gstreamer.spec.in:
11512           fix spec for it
11513
11514 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11515
11516         * gstreamer.spec.in:
11517           clean up
11518
11519 2005-06-08  Andy Wingo  <wingo@pobox.com>
11520
11521         * gst/gstutils.c: RPAD fixes all around.
11522         (gst_element_link_pads): Refcounting fixes.
11523
11524         * tools/gst-inspect.c:
11525         * tools/gst-xmlinspect.c:
11526         * parse/grammar.y:
11527         * gst/base/gsttypefindhelper.c:
11528         * gst/base/gstbasesink.c:
11529         * gst/gstqueue.c: RPAD fixes.
11530
11531         * gst/gstghostpad.h:
11532         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11533         pads. The tricky thing is they provide both source and sink
11534         interfaces, since they proxy the internal pad for the external
11535         pad, and vice versa. Implement with lower-level ProxyPad objects,
11536         with the interior proxy pad as a child of the exterior ghost pad.
11537         Should write a doc on this.
11538         
11539         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11540         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11541         gst_object API.
11542         
11543         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11544         pads are real pads. No ghost pads in this file. Not documenting
11545         the myriad s/RPAD/PAD/ and REALIZE fixes.
11546         (gst_pad_class_init): Add properties for "direction" and
11547         "template". Both are construct-only, so they can't change during
11548         the life of the pad. Fixes properly deriving from GstPad.
11549         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11550         derived objects, just set properties when creating the objects via
11551         g_object_new.
11552         (gst_pad_get_parent): Implement as a function, return NULL if the
11553         parent is not an element.
11554         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11555         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11556         
11557         * gst/gstobject.c (gst_object_class_init): Make name a construct
11558         property. Don't set it in the object init.
11559
11560         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11561         with UNKNOWN direction.
11562         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11563         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11564         (gst_element_remove_pad): Remove ghost-pad special cases.
11565         (gst_element_pads_activate): Remove rpad cruft.
11566
11567         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11568         catch the pad's-parent-not-an-element case.
11569
11570         * gst/gst.h: Include gstghostpad.h.
11571
11572         * gst/gst.c (init_post): No more real, ghost pads.
11573
11574         * gst/Makefile.am: Add gstghostpad.[ch].
11575
11576         * check/Makefile.am:
11577         * check/gst/gstbin.c:
11578         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11579         into a bin creates ghost pads, and that the refcounts are right.
11580         Partly moved from gstbin.c.
11581
11582 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11583
11584         * check/gst-libs/.cvsignore:
11585         * check/gst/.cvsignore:
11586         * check/pipelines/.cvsignore:
11587           ignore more
11588         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11589         (START_TEST), (cleanup_suite), (main):
11590           add some tests related to cleanup after running pipelines
11591
11592 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11593
11594         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11595           add a testsuite for GstBuffer
11596
11597 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11598
11599         * gst/gstminiobject.h:
11600           add defines for accessing the refcount
11601
11602 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11603
11604         * Makefile.am: added support for html unit test coverage reports
11605
11606 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11607
11608         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11609           Free existing caps if the capsfilter changes. Add a FIXME about
11610           setting those caps on the pads.
11611
11612         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11613           Before adding a ghost pad to a parent bin, check that there isn't
11614           already one for the element on the bin. Prevents infinite recursion
11615           when using decodebin in parse pipelines. Andy says he'll rewrite the
11616           way this works anyway, so ignore the hack.
11617
11618 2005-06-02  Andy Wingo  <wingo@pobox.com>
11619
11620         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11621         file size, pass it on to the type find helper.
11622
11623         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11624         segment_start and segment_end properly according to the seek
11625         method. Segment_end is still a bit flaky because offset can be
11626         negative for CUR and END cases, but it takes -1 as an "unset"
11627         value.
11628
11629 2005-06-02  Wim Taymans  <wim@fluendo.com>
11630
11631         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11632         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11633         (gst_basesink_activate):
11634         * gst/base/gstbasesink.h:
11635         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11636         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11637         (gst_pad_query), (gst_pad_start_task):
11638         * gst/gstpad.h:
11639         * gst/gstqueue.c: (gst_queue_bufferalloc),
11640         (gst_queue_handle_sink_event), (gst_queue_chain):
11641         Bufferalloc: return GstFlowReturn to more accuratly report
11642         why allocation failed.
11643
11644 2005-06-02  Wim Taymans  <wim@fluendo.com>
11645
11646         * gst/gstpipeline.c: (gst_pipeline_send_event):
11647         Take snapshot of state without blocking.
11648
11649 2005-06-02  Wim Taymans  <wim@fluendo.com>
11650
11651         * docs/design/part-TODO.txt:
11652         * docs/design/part-caps.txt:
11653         * docs/design/part-clocks.txt:
11654         * docs/design/part-negotiation.txt:
11655         * docs/design/part-preroll.txt:
11656         Small doc updates 
11657
11658 2005-05-30  Wim Taymans  <wim@fluendo.com>
11659
11660         * gst/elements/gstidentity.c: (gst_identity_event),
11661         (gst_identity_transform), (gst_identity_get_property):
11662         Protect last_message property as it is accessed from
11663         multiple threads.
11664
11665 2005-05-30  Wim Taymans  <wim@fluendo.com>
11666
11667         * gst/gstelement.c: (gst_element_init),
11668         (gst_element_pads_activate), (gst_element_change_state):
11669         Slicker pad activation code.
11670
11671 2005-05-30  Wim Taymans  <wim@fluendo.com>
11672
11673         * gst/Makefile.am:
11674         * gst/gstelement.h:
11675         * gst/gstelementfactory.h:
11676         * gst/gsttypes.h:
11677         Move elementfactory methods to separate .h file.
11678
11679 2005-05-30  Wim Taymans  <wim@fluendo.com>
11680
11681         * docs/design/part-overview.txt:
11682         * gst/gstsystemclock.h:
11683         Small typo fixes, doc updates.
11684
11685 2005-05-30  Wim Taymans  <wim@fluendo.com>
11686
11687         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11688         (init_popt_callback):
11689         Remove cpu-opt flag.
11690
11691 2005-05-30  Wim Taymans  <wim@fluendo.com>
11692
11693         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11694         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11695         * gst/gstbuffer.h:
11696         Avoid typechecking in places where not needed.
11697         Added accessor for malloc_data.
11698
11699 2005-05-30  Wim Taymans  <wim@fluendo.com>
11700
11701         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11702         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11703         (gst_pad_configure_sink), (gst_pad_configure_src),
11704         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11705         (gst_pad_start_task):
11706         Propagate errors from _set_caps() in configure_src/sink
11707         functions instead of returning TRUE.
11708         FLUSH events can travel up and downstream
11709
11710
11711 2005-05-30  Wim Taymans  <wim@fluendo.com>
11712
11713         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11714         (gst_basesink_activate):
11715         Handle EOS in preroll.
11716
11717 2005-05-30  Wim Taymans  <wim@fluendo.com>
11718
11719         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11720         (gst_queue_loop), (gst_queue_handle_src_event):
11721         Remove old pieces of code
11722         Flushing the queue in an upstream event is a very bad idea.
11723
11724 2005-05-26  Andy Wingo  <wingo@pobox.com>
11725
11726         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11727         gst_value_set_mini_object so as to add a ref on the object (which
11728         will be removed when the value is unset).
11729
11730         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11731         arg type in ::handoff.
11732
11733         * gst/gstelement.c (gst_element_change_state): Also deactivate
11734         pads in READY->NULL, just in case the element didn't make it to
11735         PAUSED. Wingo tested, Wim approved.
11736
11737 2005-05-26  Wim Taymans  <wim@fluendo.com>
11738
11739         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11740         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11741         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11742         A flushing pad cannot be used to alloc_buffer from.
11743
11744 2005-05-26  Wim Taymans  <wim@fluendo.com>
11745
11746         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11747         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11748         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11749         (gst_bus_create_watch), (gst_bus_add_watch_full):
11750         * gst/gstbus.h:
11751         Implement a real GSource and use g_main_context_wakeup() to
11752         signal new messages instead of the socketpair.
11753
11754 2005-05-25  Wim Taymans  <wim@fluendo.com>
11755
11756         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11757         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11758         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11759         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11760         (gst_pad_send_event), (gst_pad_start_task):
11761         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11762         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11763         (gst_queue_sink_activate), (gst_queue_src_activate),
11764         (gst_queue_change_state):
11765         * gst/gstqueue.h:
11766         Fix state changes for non sinks. We now change sinks, then elements
11767         with unconnected srcpads, then the rest.
11768         More efficient queue unlocking in flush and state changes.
11769         Set the pad activate mode even if it does not have an activate
11770         function.
11771
11772 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11773
11774         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11775           Don't go in pull mode for non-seekable sources.
11776         * gst/elements/gsttypefindelement.h:
11777         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11778         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11779         (free_entry), (stop_typefinding),
11780         (gst_type_find_element_handle_event), (find_peek),
11781         (gst_type_find_element_chain), (do_pull_typefind),
11782         (gst_type_find_element_change_state):
11783           Allow typefinding (w/o seeking) in push-mode, simplified version
11784           of what was in 0.8.
11785         * gst/gstutils.c: (gst_buffer_join):
11786         * gst/gstutils.h:
11787           gst_buffer_join() from 0.8.
11788
11789 2005-05-25  Wim Taymans  <wim@fluendo.com>
11790
11791         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11792         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11793         (gst_pad_send_event), (gst_pad_start_task):
11794         Disable attempt at mode switching until it is figured out.
11795
11796 2005-05-25  Wim Taymans  <wim@fluendo.com>
11797
11798         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11799         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11800         (gst_basesink_finish_preroll), (gst_basesink_chain),
11801         (gst_basesink_loop), (gst_basesink_activate),
11802         (gst_basesink_change_state):
11803         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11804         (gst_basesrc_get_range), (gst_basesrc_loop),
11805         (gst_basesrc_activate):
11806         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11807         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11808         (gst_real_pad_init), (gst_real_pad_set_property),
11809         (gst_real_pad_get_property), (gst_pad_set_active),
11810         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11811         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11812         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11813         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11814         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11815         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11816         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11817         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11818         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11819         (gst_pad_stop_task):
11820         * gst/gstpad.h:
11821         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11822         (gst_queue_loop), (gst_queue_src_activate):
11823         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11824         (gst_task_get_state):
11825         * gst/gsttask.h:
11826         * gst/schedulers/threadscheduler.c:
11827         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11828         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11829         in task function.
11830         Remove ACTIVE pad flag, use FLUSHING everywhere
11831         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11832         functions.
11833         Add locks around IS_FLUSHING when reading.
11834         Take STREAM lock in chain(), get_range() functions so plugins
11835         don't need to take it anymore.
11836         
11837
11838
11839 2005-05-25  Wim Taymans  <wim@fluendo.com>
11840
11841         * tools/gst-launch.c: (event_loop):
11842         Unref message after using its contents instead of
11843         before.
11844
11845 2005-05-24  Wim Taymans  <wim@fluendo.com>
11846
11847         * docs/design/draft-ghostpads.txt:
11848         * docs/design/draft-push-pull.txt:
11849         * docs/design/draft-query.txt:
11850         * docs/design/part-overview.txt:
11851         Docs updates, added general overview doc.
11852
11853 2005-05-21  David Schleef  <ds@schleef.org>
11854
11855         * docs/gst/tmpl/old/GstBin.sgml:
11856         * docs/gst/tmpl/old/GstBuffer.sgml:
11857         * docs/gst/tmpl/old/GstCaps.sgml:
11858         * docs/gst/tmpl/old/GstClock.sgml:
11859         * docs/gst/tmpl/old/GstCompat.sgml:
11860         * docs/gst/tmpl/old/GstData.sgml:
11861         * docs/gst/tmpl/old/GstElement.sgml:
11862         * docs/gst/tmpl/old/GstEvent.sgml:
11863         * docs/gst/tmpl/old/GstIndex.sgml:
11864         * docs/gst/tmpl/old/GstStructure.sgml:
11865         * docs/gst/tmpl/old/GstTag.sgml:
11866         * docs/gst/tmpl/old/cothreads.sgml:
11867         * docs/gst/tmpl/old/cothreads_compat.sgml:
11868         * docs/gst/tmpl/old/gettext.sgml:
11869         * docs/gst/tmpl/old/gobject2gtk.sgml:
11870         * docs/gst/tmpl/old/grammar.tab.sgml:
11871         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11872         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11873         * docs/gst/tmpl/old/gst_private.sgml:
11874         * docs/gst/tmpl/old/gstaggregator.sgml:
11875         * docs/gst/tmpl/old/gstarch.sgml:
11876         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11877         * docs/gst/tmpl/old/gstbufferstore.sgml:
11878         * docs/gst/tmpl/old/gstdata_private.sgml:
11879         * docs/gst/tmpl/old/gstdisksink.sgml:
11880         * docs/gst/tmpl/old/gstdisksrc.sgml:
11881         * docs/gst/tmpl/old/gstelementfactory.sgml:
11882         * docs/gst/tmpl/old/gstextratypes.sgml:
11883         * docs/gst/tmpl/old/gstfakesink.sgml:
11884         * docs/gst/tmpl/old/gstfakesrc.sgml:
11885         * docs/gst/tmpl/old/gstfdsink.sgml:
11886         * docs/gst/tmpl/old/gstfdsrc.sgml:
11887         * docs/gst/tmpl/old/gstfilesink.sgml:
11888         * docs/gst/tmpl/old/gstfilesrc.sgml:
11889         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11890         * docs/gst/tmpl/old/gstidentity.sgml:
11891         * docs/gst/tmpl/old/gstindexfactory.sgml:
11892         * docs/gst/tmpl/old/gstmarshal.sgml:
11893         * docs/gst/tmpl/old/gstmd5sink.sgml:
11894         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11895         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11896         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11897         * docs/gst/tmpl/old/gstpipefilter.sgml:
11898         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11899         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11900         * docs/gst/tmpl/old/gstshaper.sgml:
11901         * docs/gst/tmpl/old/gstspider.sgml:
11902         * docs/gst/tmpl/old/gstspideridentity.sgml:
11903         * docs/gst/tmpl/old/gststatistics.sgml:
11904         * docs/gst/tmpl/old/gsttee.sgml:
11905         * docs/gst/tmpl/old/gsttimecache.sgml:
11906         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11907         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11908         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11909         * docs/gst/tmpl/old/types.sgml:
11910           I didn't intend to add these or check them in.
11911
11912 2005-05-19  David Schleef  <ds@schleef.org>
11913
11914         * configure.ac: Use -no-common everywhere.  In a sane world, it
11915           would be the default in libtool, because without it, you can't
11916           build DLLs on Windows.
11917         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11918         * docs/gst/gstreamer-sections.txt:
11919         * docs/gst/tmpl/gstcpu.sgml:
11920         * docs/gst/tmpl/gstdata.sgml:
11921         * docs/gst/tmpl/gstthread.sgml:
11922
11923 2005-05-19  David Schleef  <ds@schleef.org>
11924
11925         * gst/gstminiobject.c: (gst_value_set_mini_object),
11926         (gst_value_take_mini_object), (gst_value_get_mini_object):
11927         * gst/gstminiobject.h: Add GValue set/get functions.
11928
11929 2005-05-19  Wim Taymans  <wim@fluendo.com>
11930
11931         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11932         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11933         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11934         * gst/gstbuffer.h:
11935         * gst/gstbus.c: (gst_bus_post):
11936         * gst/gstelement.c: (gst_element_get_random_pad):
11937         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11938         Make subbufer unref the parent in finalize.
11939         some more debugging info.
11940
11941
11942 2005-05-19  Wim Taymans  <wim@fluendo.com>
11943
11944         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11945         (gst_basesink_init), (gst_basesink_finalize),
11946         (gst_basesink_activate), (gst_basesink_change_state):
11947         Don't free preroll queue too early.
11948
11949 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11950
11951         * gst/Makefile.am:
11952         * gst/ROADMAP:
11953           Hi, I'm outdated. Please shoot me.
11954
11955 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11956
11957         * gst/gstpipeline.c: (gst_pipeline_send_event):
11958           Do not access variables after they have been deleted.
11959
11960 2005-05-19  Wim Taymans  <wim@fluendo.com>
11961
11962         * tools/gst-inspect.c: (print_plugin_features):
11963         A plugin feature does unfortunatly not use the
11964         object name yet...
11965
11966 2005-05-18  Wim Taymans  <wim@fluendo.com>
11967
11968         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11969         Port _span() functions to new subbuffers.
11970
11971 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11972
11973         * gst/gstbin.c: (gst_bin_add_func):
11974           Fix clock settery in bins when adding kids after the clock has
11975           been selected.
11976
11977 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11978
11979         * gst/elements/gstidentity.c: (gst_identity_class_init):
11980           Workaround until signals support GstMiniObject.
11981
11982 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11983
11984         * gst/gstbuffer.c:
11985         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11986
11987 2005-05-18  Wim Taymans  <wim@fluendo.com>
11988
11989         * gst/base/Makefile.am:
11990         * gst/base/gstadapter.c: (gst_adapter_base_init),
11991         (gst_adapter_class_init), (gst_adapter_init),
11992         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11993         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11994         (gst_adapter_flush), (gst_adapter_available),
11995         (gst_adapter_available_fast):
11996         * gst/base/gstadapter.h:
11997         Ported and added adapter to the base classes.
11998
11999 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12000
12001         * gst/gst.c:
12002         * gst/gstmessage.c:
12003           Make sure the class is reffed/unreffed once before threads can be
12004           used.  Fixes #304551.
12005
12006 2005-05-17  Wim Taymans  <wim@fluendo.com>
12007
12008         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12009         (gst_basesink_chain_unlocked), (gst_basesink_activate):
12010         * gst/gstminiobject.c: (gst_mini_object_get_type),
12011         (gst_mini_object_free):
12012         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12013         (gst_pad_push), (gst_pad_push_event):
12014         * gst/gstqueue.c: (gst_queue_change_state):
12015         Don't queue buffers in basesink when we are flushing.
12016         Unref buffer when flushing in basesink.
12017         Flush queue when going to READY
12018         Unref buffer when _push() returns an error.
12019         Don't free MiniObject instance when refcount is incremented
12020         in _finalize() so that we can recover objects.
12021
12022 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12023
12024         * docs/manual/advanced-schedulers.xml:
12025         * docs/manual/appendix-checklist.xml:
12026         * docs/pwg/advanced-clock.xml:
12027         * docs/pwg/advanced-interfaces.xml:
12028         * docs/pwg/advanced-request.xml:
12029         * docs/pwg/advanced-types.xml:
12030         * docs/pwg/intro-preface.xml:
12031         * examples/plugins/example.c: (gst_example_get_type),
12032         (gst_example_class_init), (gst_example_chain),
12033         (gst_example_set_property), (gst_example_get_property),
12034         (gst_example_change_state), (plugin_init):
12035         * examples/plugins/example.h:
12036           small doc fixes
12037
12038 2005-05-17  Wim Taymans  <wim@fluendo.com>
12039
12040         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12041         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12042         * gst/gstqueue.c: (gst_queue_change_state):
12043         Clear queue when going to READY.
12044         Remove IN_SETCAPS flag too.
12045
12046 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
12047
12048         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12049           Remove implicit cast from gboolean to GstElementStateReturn;
12050           make sure we still return failure in paused => ready case if
12051           the parent class fails to change state and our own stop 
12052           vfunc succeeds.
12053
12054 2005-05-17  Wim Taymans  <wim@fluendo.com>
12055
12056         * tools/gst-launch.c: (event_loop):
12057         Message was unreffed too soon.
12058
12059 2005-05-16  Andy Wingo  <wingo@pobox.com>
12060
12061         * gst/gstbin.c (sink_iterator_filter): Err... um...
12062
12063         * check/gst/gstbin.c (test_ghost_pads): New test for the
12064         ghosting-if-elements-not-in-same-bin behavior.
12065
12066 2005-05-16  David Schleef  <ds@schleef.org>
12067
12068         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12069         accessing refcount directly.
12070
12071 2005-05-15  David Schleef  <ds@schleef.org>
12072
12073         * check/Makefile.am: remove GstData checks
12074         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12075         * gst/Makefile.am: add miniobject, remove data
12076         * gst/gst.h: add miniobject, remove data
12077         * gst/gstdata.c: remove
12078         * gst/gstdata.h: remove
12079         * gst/gstdata_private.h: remove
12080         * gst/gsttypes.h: remove GstEvent and GstMessage
12081         * gst/gstelement.c: (gst_element_post_message): fix for API changes
12082         * gst/gstmarshal.list: change BOXED -> OBJECT
12083
12084         Implement GstMiniObject.
12085         * gst/gstminiobject.c:
12086         * gst/gstminiobject.h:
12087
12088         Modify to be subclasses of GstMiniObject.
12089         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12090         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12091         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12092         (gst_subbuffer_get_type), (gst_subbuffer_init),
12093         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12094         (gst_buffer_span):
12095         * gst/gstbuffer.h:
12096         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12097         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12098         (_gst_event_copy), (gst_event_new):
12099         * gst/gstevent.h:
12100         * gst/gstmessage.c: (_gst_message_initialize),
12101         (gst_message_get_type), (gst_message_class_init),
12102         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
12103         (gst_message_new), (gst_message_new_error),
12104         (gst_message_new_warning), (gst_message_new_tag),
12105         (gst_message_new_state_changed), (gst_message_new_application):
12106         * gst/gstmessage.h:
12107         * gst/gstprobe.c: (gst_probe_perform),
12108         (gst_probe_dispatcher_dispatch):
12109         * gst/gstprobe.h:
12110         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
12111         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
12112         (_gst_query_copy), (gst_query_new):
12113
12114         Update elements for GstData -> GstMiniObject changes
12115         * gst/gstquery.h:
12116         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
12117         (gst_queue_chain), (gst_queue_loop):
12118         * gst/elements/gstbufferstore.c:
12119         (gst_buffer_store_add_buffer_func),
12120         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
12121         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12122         (gst_fakesink_render):
12123         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12124         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
12125         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
12126         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
12127         (gst_filesrc_create_read):
12128         * gst/elements/gstidentity.c: (gst_identity_class_init):
12129         * gst/elements/gsttypefindelement.c:
12130         (gst_type_find_element_src_event), (free_entry_buffers),
12131         (gst_type_find_element_handle_event):
12132         * libs/gst/dataprotocol/dataprotocol.c:
12133         (gst_dp_header_from_buffer):
12134         * libs/gst/dataprotocol/dataprotocol.h:
12135         * libs/gst/dataprotocol/dp-private.h:
12136
12137 2005-05-15  David Schleef  <ds@schleef.org>
12138
12139         * gst/elements/gstelements.c: Don't include headers that were
12140         just removed.
12141
12142 2005-05-15  David Schleef  <ds@schleef.org>
12143
12144         * gst/elements/Makefile.am: Remove some elements that don't
12145         need to be in the core (or even exist at all).
12146         * gst/elements/gstaggregator.c:
12147         * gst/elements/gstaggregator.h:
12148         * gst/elements/gstmd5sink.c:
12149         * gst/elements/gstmd5sink.h:
12150         * gst/elements/gstmultifilesrc.c:
12151         * gst/elements/gstmultifilesrc.h:
12152         * gst/elements/gstpipefilter.c:
12153         * gst/elements/gstpipefilter.h:
12154         * gst/elements/gstshaper.c:
12155         * gst/elements/gstshaper.h:
12156         * gst/elements/gststatistics.c:
12157         * gst/elements/gststatistics.h:
12158         * po/POTFILES.in: Remove above files.
12159
12160 2005-05-14  Andy Wingo  <wingo@pobox.com>
12161
12162         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12163         so as to get the refs right.
12164         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12165         unreffing objects that don't pass the filter.
12166
12167         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12168         gst_element_set_bus.
12169         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12170         normal cases, this will destroy the bus.
12171
12172         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12173         object.
12174
12175         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12176         has no sinks.
12177
12178 2005-05-13  Andy Wingo  <wingo@pobox.com>
12179
12180         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12181         gst_pad_link, call pad_link_maybe_ghosting,
12182         (pad_link_maybe_ghosting): Links pads, making sure that the
12183         elements being linked are in the same bin.
12184         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12185         Helpers for pad_link_maybe_ghosting.
12186
12187 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12188
12189         * configure.ac:
12190           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12191
12192 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12193
12194         * docs/design/part-element-source.txt:
12195           Mention GstPushSrc
12196
12197 2005-05-12  Wim Taymans  <wim@fluendo.com>
12198
12199         * gst/base/gstbasesink.c: (gst_basesink_init),
12200         (gst_basesink_activate):
12201         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12202         (gst_basesrc_is_seekable):
12203         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12204         (bin_element_is_sink), (gst_bin_change_state):
12205         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12206         * gst/gstelement.h:
12207         Identify sinks by their flag to avoid overly complicated
12208         checks (fow now).
12209         Do state changes even for elements not reachable from the
12210         sinks.
12211         BaseSink is a sink now :)
12212         Some more debugging info in the basesrc.
12213
12214
12215 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12216
12217         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12218           Implement _query on a bin, similar to _send_event.
12219
12220 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12221
12222         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12223           Discont event offset format should be GST_FORMAT_BYTES,
12224           not GST_FORMAT_TIME.
12225
12226 2005-05-12  Wim Taymans  <wim@fluendo.com>
12227
12228         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12229         Same fix as Ronald's but without the signal. 
12230
12231 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12232
12233         * gst/gstutils.c: (gst_element_query_position):
12234           No, an element is not a pad.
12235
12236 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12237
12238         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12239         (gst_bin_get_state):
12240           If a child is removed from a bin while we remove the child from
12241           the bin and while we're retrieving its state, signal this to the
12242           get_state function so we abort the wait (instead of waiting for
12243           a timeout) and can immediately re-iterate over all other elements.
12244
12245 2005-05-12  Wim Taymans  <wim@fluendo.com>
12246
12247         * gst/base/Makefile.am:
12248         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12249         (gst_basesrc_start):
12250         * gst/base/gstbasesrc.h:
12251         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12252         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12253         (gst_pushsrc_init), (gst_pushsrc_create):
12254         * gst/base/gstpushsrc.h:
12255         Added is_seekable to BaseSrc
12256         Added simple PushSrc.
12257
12258 2005-05-11  Wim Taymans  <wim@fluendo.com>
12259
12260         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12261         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12262         (gst_element_link_pads), (gst_element_query_position),
12263         (gst_element_query_convert), (intersect_caps_func),
12264         (gst_pad_query_position), (gst_pad_query_convert):
12265         Fix refcounting in utils function.
12266         No point in trying to activate a pad when it's added, it could
12267         be added from the state change function and then we deadlock, the
12268         element has to decide what to do.
12269
12270 2005-05-10  Andy Wingo  <wingo@pobox.com>
12271
12272         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12273         *all* the arguments.
12274
12275         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12276         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12277         lock (according to the docs -- if this is wrong change the docs).
12278
12279         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12280         flush messages in the NULL state.
12281
12282         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12283         message immediately and return.
12284         (gst_bus_set_flushing): New function. If a bus is flushing, it
12285         flushes out any queued messages and immediately unrefs new
12286         messages. This is so when an element goes to NULL, all of the
12287         unhandled messages coming from it can be freed, and their
12288         references to the element dropped. In other words: message source
12289         ref considered harmful :P
12290
12291         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12292         we're finished with it.
12293
12294         * gst/gstmessage.c (gst_message_new_state_changed): 
12295
12296 2005-05-10  Wim Taymans  <wim@fluendo.com>
12297
12298         * gst/gstvalue.c: (gst_value_compare_flags),
12299         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12300         (_gst_value_initialize):
12301         Added flags serialize/deserialize/compare code.
12302
12303 2005-05-09  Andy Wingo  <wingo@pobox.com>
12304
12305         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12306         Intersect the peer's caps with our caps.
12307
12308 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12309
12310         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12311         * gst/elements/gsttypefindelement.c: (find_peek):
12312           Handle negative offsets better. Fixes decodebin.
12313
12314 2005-05-09  Wim Taymans  <wim@fluendo.com>
12315
12316         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12317         (gst_base_transform_event):
12318         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12319         Implement accept_caps.
12320         Fix silly lock/unlock mismatch in base class.
12321
12322 2005-05-09  Wim Taymans  <wim@fluendo.com>
12323
12324         * docs/design/draft-push-pull.txt:
12325         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12326         * gst/elements/gstfilesink.c: (gst_filesink_init),
12327         (gst_filesink_query):
12328         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12329         (gst_type_find_handle_src_query), (find_element_get_length):
12330         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12331         * gst/gstelement.h:
12332         * gst/gstmessage.c:
12333         * gst/gstmessage.h:
12334         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12335         (gst_real_pad_get_caps_unlocked),
12336         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12337         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12338         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12339         (gst_real_pad_dispose), (gst_real_pad_finalize),
12340         (gst_pad_load_and_link), (gst_pad_save_thyself),
12341         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12342         (gst_pad_check_pull_range), (gst_pad_pull_range),
12343         (gst_pad_template_get_type), (gst_pad_template_class_init),
12344         (gst_pad_template_init), (gst_pad_template_dispose),
12345         (name_is_valid), (gst_static_pad_template_get),
12346         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12347         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12348         (gst_pad_get_element_private), (gst_pad_start_task),
12349         (gst_pad_pause_task), (gst_pad_stop_task),
12350         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12351         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12352         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12353         (gst_ghost_pad_new):
12354         * gst/gstpad.h:
12355         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12356         (gst_query_new_position), (gst_query_set_position),
12357         (gst_query_parse_position), (gst_query_new_convert),
12358         (gst_query_set_convert), (gst_query_parse_convert):
12359         * gst/gstquery.h:
12360         * gst/gstqueryutils.c:
12361         * gst/gstqueryutils.h:
12362         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12363         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12364         (gst_queue_handle_src_query):
12365         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12366         (gst_element_query_position), (gst_element_query_convert),
12367         (intersect_caps_func), (gst_pad_query_position),
12368         (gst_pad_query_convert):
12369         * gst/gstutils.h:
12370         * tools/gst-inspect.c: (print_pad_info):
12371         * tools/gst-xmlinspect.c: (print_element_info):
12372         Remove old query functions. Ported old code.
12373         Added position/convert helper functions to gstutils.
12374         Reordered gstpad.c code, grouping relevant things.
12375         Remove gst_message_new(), always need to speficy a specific
12376         message.
12377
12378
12379 2005-05-09  Andy Wingo  <wingo@pobox.com>
12380
12381         * gst/gstiterator.h: Add some includes.
12382
12383         * gst/gstqueryutils.h: Include more headers.
12384
12385         * gst/gstpad.h:
12386         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12387         some uses of gst_pad_query.
12388
12389         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12390         NULL out parameters.
12391         (gst_query_new_position): New proc, allocates a new position
12392         query.
12393
12394         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12395         gstqueryutils.c to the build.
12396
12397         * gst/gststructure.c (gst_structure_set_valist): Implement with
12398         the generic G_VALUE_COLLECT.
12399         
12400 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12401
12402         * gst/Makefile.am: (gst_headers):
12403         Added gstqueryutils.h to the list of headers to install, that was
12404         a 'nachty' move wingo :)
12405
12406 2005-05-06  Andy Wingo  <wingo@pobox.com>
12407
12408         * gst/gstquery.h
12409         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12410         GstData, init a memchunk.
12411         (standard_definitions): Add a few query types, deprecate a few.
12412         (gst_query_get_type): New proc.
12413         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12414         implementation.
12415         (gst_query_new_application, gst_query_get_structure): New public
12416         procs.
12417
12418         * docs/design/draft-query.txt: Removed LINKS from the query types,
12419         because all the rest can be dispatched to other pads -- seemed
12420         ugly to have a query that couldn't be dispatched. internal_links
12421         is fine as a pad method.
12422
12423         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12424         in gstpad.c, but maintain binary compatibility for the moment.
12425         Will fix before 0.9 is out.
12426
12427         * gst/gstqueryutils.c: 
12428         * gst/gstqueryutils.h: New files, implement 3 methods for each
12429         query type: parse_query, parse_response, and set. Probably need an
12430         allocator as well.
12431
12432         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12433
12434         * gst/elements/gstfilesink.c (gst_filesink_query2):
12435         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12436         query_types, and formats methods.
12437
12438         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12439         (gst_pad_set_query2_function): New functions.
12440         (gst_real_pad_init): Set query2_default as the default query2
12441         function. Basically just dispatches to internally linked pads.
12442
12443         Needs review!
12444         
12445         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12446         without using the atomic operations. Only one thread can possibly
12447         be accessing the data at this point. Changed so as to avoid
12448         gst_atomic operations.
12449
12450 2005-05-06  Wim Taymans  <wim@fluendo.com>
12451
12452         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12453         Also set caps if we use the fallback buffer alloc.
12454
12455 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12456
12457         * docs/gst/Makefile.am:
12458         * docs/gst/gstreamer-docs.sgml:
12459         * docs/gst/gstreamer-sections.txt:
12460         * docs/gst/tmpl/gstatomic.sgml:
12461         * docs/gst/tmpl/gstmemchunk.sgml:
12462         * testsuite/elements/struct_i386.h:
12463         * win32/GStreamer.vcproj:
12464         * win32/Makefile:
12465           Purge GstAtomic stuff from docs and win32 makefiles as well
12466
12467 2005-05-06  Wim Taymans  <wim@fluendo.com>
12468
12469         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12470         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12471         * gst/gstpad.c: (gst_pad_peer_get_caps):
12472         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12473         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12474         (gst_queue_src_activate), (gst_queue_change_state):
12475         * gst/gstqueue.h:
12476         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12477         (intersect_caps_func):
12478         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12479         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12480         Some fixes for the peer_get_caps() change.
12481
12482 2005-05-06  Wim Taymans  <wim@fluendo.com>
12483
12484         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12485         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12486         (gst_basesink_activate):
12487         Actually do something with error codes returned from the push
12488         functions.
12489
12490 2005-05-06  Wim Taymans  <wim@fluendo.com>
12491
12492         * docs/design/part-element-sink.txt:
12493         * docs/design/part-element-source.txt:
12494         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12495         (gst_basesink_event), (gst_basesink_activate):
12496         * gst/base/gstbasesink.h:
12497         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12498         (gst_basesrc_activate):
12499         * gst/base/gstbasesrc.h:
12500         * gst/gstelement.c: (gst_element_pads_activate):
12501         Some more documentation.
12502         Fixed scheduling decision in _pads_activate().
12503
12504 2005-05-05  Andy Wingo  <wingo@pobox.com>
12505
12506         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12507         the test suite.
12508
12509 2005-05-05  Wim Taymans  <wim@fluendo.com>
12510
12511         * gst/base/Makefile.am:
12512         * gst/base/gstbasesink.h:
12513         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12514         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12515         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12516         (gst_collectpads_class_init), (gst_collectpads_init),
12517         (gst_collectpads_finalize), (gst_collectpads_new),
12518         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12519         (find_pad), (gst_collectpads_remove_pad),
12520         (gst_collectpads_is_active), (gst_collectpads_collect),
12521         (gst_collectpads_collect_range), (gst_collectpads_start),
12522         (gst_collectpads_stop), (gst_collectpads_peek),
12523         (gst_collectpads_pop), (gst_collectpads_available),
12524         (gst_collectpads_read), (gst_collectpads_flush),
12525         (gst_collectpads_chain):
12526         * gst/base/gstcollectpads.h:
12527         * gst/elements/Makefile.am:
12528         * gst/elements/gstelements.c:
12529         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12530         (gst_fakesink_get_times), (gst_fakesink_event),
12531         (gst_fakesink_preroll), (gst_fakesink_render):
12532         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12533         (gst_filesink_init), (gst_filesink_set_location),
12534         (gst_filesink_open_file), (gst_filesink_close_file),
12535         (gst_filesink_pad_query), (gst_filesink_event),
12536         (gst_filesink_render), (gst_filesink_change_state):
12537         * gst/elements/gstfilesink.h:
12538         Added object to help in making collect pad based elements.
12539         Ported filesink.
12540         Make event function in sink baseclass return gboolean.
12541
12542 2005-05-05  Wim Taymans  <wim@fluendo.com>
12543
12544         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12545         (gst_bin_get_by_name):
12546         * gst/gstbuffer.h:
12547         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12548         (gst_clock_finalize):
12549         * gst/gstdata.c: (gst_data_replace):
12550         * gst/gstdata.h:
12551         * gst/gstelement.c: (gst_element_request_pad),
12552         (gst_element_pads_activate):
12553         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12554         (gst_object_unref):
12555         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12556         (gst_pad_set_checkgetrange_function),
12557         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12558         (gst_pad_check_pull_range), (gst_pad_pull_range),
12559         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12560         (gst_pad_pause_task), (gst_pad_stop_task):
12561         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12562         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12563         Fix name lookup in GstBin.
12564         Added _data_replace() function and _buffer_replace()
12565         Use finalize method to clean up clock.
12566         Fix refcounting on request pads.
12567         Fix pad schedule mode error.
12568         Some more object refcounting debug info,
12569
12570
12571 2005-05-04  Andy Wingo <wingo@pobox.com>
12572
12573         * check/Makefile.am:
12574         * docs/gst/tmpl/gstatomic.sgml:
12575         * docs/gst/tmpl/gstplugin.sgml:
12576         * gst/base/gstbasesink.c: (gst_basesink_activate):
12577         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12578         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12579         (gst_basesrc_query), (gst_basesrc_set_property),
12580         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12581         (gst_basesrc_activate):
12582         * gst/base/gstbasesrc.h:
12583         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12584         (gst_base_transform_src_activate):
12585         * gst/elements/gstelements.c:
12586         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12587         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12588         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12589         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12590         (gst_type_find_element_checkgetrange),
12591         (gst_type_find_element_activate):
12592         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12593         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12594         (gst_caps_load_thyself):
12595         * gst/gstelement.c: (gst_element_pads_activate),
12596         (gst_element_save_thyself), (gst_element_restore_thyself):
12597         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12598         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12599         * gst/gstpad.h:
12600         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12601         (gst_xml_parse_file), (gst_xml_parse_memory),
12602         (gst_xml_get_element), (gst_xml_make_element):
12603         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12604         (_file_index_id_save_xml), (gst_file_index_commit):
12605         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12606         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12607         (load_paths):
12608         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12609         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12610         * tools/gst-complete.c: (main):
12611         * tools/gst-compprep.c: (main):
12612         * tools/gst-inspect.c: (print_element_properties_info):
12613         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12614         * tools/gst-xmlinspect.c: (print_element_properties):
12615         GCC 4 fixen.
12616         
12617 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12618
12619         * gst/gstplugin.c: (gst_plugin_check_module),
12620         (gst_plugin_check_file), (gst_plugin_load_file):
12621             apply patch from #172526 to make register work on MacOSX
12622
12623 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12624
12625         * docs/gst/tmpl/gstconfig.sgml:
12626         * gst/gstconfig.h.in:
12627           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12628         * testsuite/debug/printf_extension.c: (main):
12629           Do not use GST_PTR_FORMAT on pointers to types with
12630           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12631         * testsuite/elements/property.h:
12632           use correct printf format
12633
12634 2005-05-02  Wim Taymans  <wim@fluendo.com>
12635
12636         * docs/design/draft-push-pull.txt:
12637         * docs/design/draft-query.txt:
12638         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12639         (gst_basesrc_start):
12640         Added draft for new query API.
12641         Added draft for better selecting scheduling methods.
12642         Make basesrc ignore length if the subclass does not support
12643         it.
12644
12645 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12646
12647         * gst/Makefile.am:
12648           possible fixes for automake-1.5 - _LIBADD is reserved
12649
12650 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12651
12652         * docs/faq/Makefile.am:
12653         * docs/manual/Makefile.am:
12654         * docs/manuals.mak:
12655         * docs/pwg/Makefile.am:
12656         * gst/Makefile.am:
12657           possible fixes for automake-1.5
12658
12659 2005-04-28  Wim Taymans  <wim@fluendo.com>
12660
12661         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12662         (gst_basesink_pad_getcaps), (gst_basesink_init),
12663         (gst_basesink_do_sync):
12664         * gst/gstclock.c: (gst_clock_entry_new):
12665         * gst/gstevent.c: (gst_event_discont_get_value):
12666         * gst/gstpipeline.c: (pipeline_bus_handler),
12667         (gst_pipeline_change_state):
12668         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12669         Better debugging of clocking info.
12670         Allow NULL values when getting discont values.
12671
12672 2005-04-27  Wim Taymans  <wim@fluendo.com>
12673
12674         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12675         * check/gst/gstpad.c: (gst_pad_suite):
12676         Increase timeout for checks.
12677
12678 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12679
12680         * check/Makefile.am:
12681           fix the broken rule for cleanup.  Apparently this rule is
12682           only needed on FC2, so maybe this warrants further autotool
12683           inspection.
12684
12685 2005-04-26  Wim Taymans  <wim@fluendo.com>
12686
12687         * gst/gsttrashstack.h:
12688         Ooohh. a nasty one! After having a failed pop() from the stack,
12689         it's possible that the stack is empty. In that case, don't
12690         follow the NULL pointer.
12691
12692 2005-04-25  Wim Taymans  <wim@fluendo.com>
12693
12694         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12695         (gst_pad_set_checkgetrange_function),
12696         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12697         (gst_pad_check_pull_range), (gst_pad_pull_range),
12698         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12699         (gst_pad_pause_task), (gst_pad_stop_task):
12700         * gst/gstplugin.c: (gst_plugin_load):
12701         * gst/gstplugin.h:
12702         Remove gst_library_load as it does more harm than good with
12703         the new g_module flags.
12704         Revert bogus caps template check in pad linking, pad caps
12705         are important when linking not the template, which is more
12706         general than the current caps.
12707
12708 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12709
12710         * gst/autoplug/.cvsignore:
12711         * gst/autoplug/Makefile.am:
12712         * gst/autoplug/gstsearchfuncs.c:
12713         * gst/autoplug/gstsearchfuncs.h:
12714         * gst/autoplug/gstspider.c:
12715         * gst/autoplug/gstspider.h:
12716         * gst/autoplug/gstspideridentity.c:
12717         * gst/autoplug/gstspideridentity.h:
12718         * gst/autoplug/spidertest.c:
12719           Die, spider, die.
12720
12721 2005-04-25  Wim Taymans  <wim@fluendo.com>
12722
12723         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12724         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12725         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12726         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12727         * gst/gstpad.h:
12728         Added stubs for unimplemented functions. 
12729
12730 2005-04-24  David Schleef  <ds@schleef.org>
12731
12732         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12733         please fix.
12734
12735 2005-04-24  David Schleef  <ds@schleef.org>
12736
12737         Convert everything from GstAtomicInt to g_atomic_int_*, and
12738         remove gstatomic.
12739         * gst/Makefile.am:
12740         * gst/gstatomic.c:
12741         * gst/gstatomic.h:
12742         * gst/gstatomic_impl.h:
12743         * gst/gstbuffer.c:
12744         * gst/gstcaps.c:
12745         * gst/gstcaps.h:
12746         * gst/gstclock.c:
12747         * gst/gstclock.h:
12748         * gst/gstdata.c:
12749         * gst/gstdata.h:
12750         * gst/gstdata_private.h:
12751         * gst/gstevent.c:
12752         * gst/gstinfo.c:
12753         * gst/gstinfo.h:
12754         * gst/gstmessage.c:
12755         * gst/gstobject.c:
12756         * gst/gstobject.h:
12757         * gst/gststructure.c:
12758         * gst/gststructure.h:
12759         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12760         * gst/gstutils.h:
12761
12762 2005-04-24  David Schleef  <ds@schleef.org>
12763
12764         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12765         make the regressions tests work.  Remove some code that is no
12766         longer true.
12767         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12768         Disable warning for pads without templates.
12769
12770 2005-04-24  David Schleef  <ds@schleef.org>
12771
12772         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12773         functions that handle filtered links.
12774         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12775         removed functions.
12776         * gst/gstutils.c: Fix/remove utility functions that handle
12777         filtered caps.
12778         * gst/gstutils.h:
12779         * gst/gstvalue.c: Add serialization/deserialization of caps
12780         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12781         requires fixing so that the filter caps notation creates
12782         a capsfilter element and sets the filter_caps property.  I
12783         think everyone probably wants to keep the shorthand notation.
12784         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12785         * docs/gst/tmpl/gstpad.sgml:
12786
12787         * gst/elements/gstelements.c: Register capsfilter element.
12788         * gst/Makefile.am: fix spacing
12789         * docs/random/ds/0.9-suggested-changes: random
12790
12791 2005-04-23  David Schleef  <ds@schleef.org>
12792
12793         * gst/elements/Makefile.am:
12794         * gst/elements/gstcapsfilter.c: New element that acts like an
12795         identity, but filters caps.  Will eventually replace filtered
12796         caps in pad linking.
12797         * gst/gstutils.c: (gst_element_create_all_pads): New function
12798         to create all the ALWAYS pads that are registered with an
12799         element class.  This functionality should eventually be
12800         merged in with GstElement initialization.
12801         * gst/gstutils.h:
12802         * testsuite/trigger/README: part of trigger test code that should
12803         have been checked in a long time ago.
12804
12805 2005-04-23  David Schleef  <ds@schleef.org>
12806
12807         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12808         needed with new versions of libtool (nobody will confirm this),
12809         and hard to carry around.
12810         * gst/autoplug/Makefile.am:
12811         * gst/base/Makefile.am:
12812         * gst/elements/Makefile.am:
12813         * gst/indexers/Makefile.am:
12814         * gst/schedulers/Makefile.am:
12815         * libs/gst/bytestream/Makefile.am:
12816         * libs/gst/control/Makefile.am:
12817         * libs/gst/dataprotocol/Makefile.am:
12818         * libs/gst/getbits/Makefile.am:
12819
12820 2005-04-21  Wim Taymans  <wim@fluendo.com>
12821
12822         * docs/design/draft-push-pull.txt:
12823         * docs/design/part-MT-refcounting.txt:
12824         * docs/design/part-TODO.txt:
12825         * docs/design/part-caps.txt:
12826         * docs/design/part-events.txt:
12827         * docs/design/part-gstbus.txt:
12828         * docs/design/part-gstpipeline.txt:
12829         * docs/design/part-messages.txt:
12830         * docs/design/part-push-pull.txt:
12831         * docs/design/part-query.txt:
12832         Some more docs.
12833
12834 2005-04-21  Wim Taymans  <wim@fluendo.com>
12835
12836         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12837         (gst_message_new), (gst_message_new_error),
12838         (gst_message_new_warning), (gst_message_new_tag),
12839         (gst_message_new_state_changed), (gst_message_new_application),
12840         (gst_message_get_structure):
12841         * gst/gstmessage.h:
12842         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12843         (gst_structure_copy_conditional):
12844         Use parent refcount in GstMessage to ensure GstStructure
12845         consistency.
12846         Cleaned up headers a bit.
12847         
12848
12849 2005-04-20  Wim Taymans  <wim@fluendo.com>
12850
12851         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12852         (gst_basesink_pad_getcaps), (gst_basesink_init),
12853         (gst_basesink_chain_unlocked):
12854         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12855         (gst_type_find_helper):
12856         * gst/elements/gsttypefindelement.c:
12857         (gst_type_find_element_have_type), (gst_type_find_element_init),
12858         (stop_typefinding), (gst_type_find_element_handle_event),
12859         (find_suggest), (gst_type_find_element_chain),
12860         (gst_type_find_element_checkgetrange),
12861         (gst_type_find_element_getrange), (do_typefind),
12862         (gst_type_find_element_activate):
12863         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12864         (gst_buffer_default_free), (gst_buffer_default_copy),
12865         (gst_buffer_set_caps):
12866         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12867         (gst_caps_replace):
12868         * gst/gstmessage.c: (gst_message_new),
12869         (gst_message_new_state_changed):
12870         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12871         (gst_pad_set_checkgetrange_function),
12872         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12873         (gst_pad_set_caps), (gst_pad_check_pull_range),
12874         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12875         * gst/gstpad.h:
12876         * gst/gsttypefind.c: (gst_type_find_register):
12877         Make gst_caps_replace() work like other _replace() functions.
12878         Use _caps_replace() where possible.
12879         Make sure _message_new() initialises its field.
12880         Add gst_static_pad_template_get_caps()
12881
12882
12883 2005-04-18  Andy Wingo  <wingo@pobox.com>
12884
12885         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12886         on the peer, not the pad. I think that was a typo. Pass an extra
12887         arg to see if random access is possible. Activate the pads as
12888         PULL_RANGE if possible.
12889
12890         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12891
12892         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12893         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12894         to PROP_....
12895
12896 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12897
12898         * docs/faq/using.xml:
12899           Add note on gstreamer-properties (#154996).
12900
12901 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12902
12903         * docs/random/bbb/optional-properties:
12904           Some analysis on optional properties.
12905
12906 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12907
12908         * docs/gst/tmpl/gstelementfactory.sgml:
12909         * gst/gstelement.h:
12910         * gst/gstelementfactory.c: (gst_element_factory_init),
12911         (gst_element_factory_cleanup), (gst_element_register),
12912         (__gst_element_factory_add_static_pad_template),
12913         (gst_element_factory_get_static_pad_templates),
12914         (gst_element_factory_can_src_caps),
12915         (gst_element_factory_can_sink_caps):
12916         * gst/registries/Makefile.am:
12917         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12918         (gst_xml_registry_class_init), (gst_xml_registry_init),
12919         (gst_xml_registry_new), (gst_xml_registry_set_property),
12920         (gst_xml_registry_get_property), (get_time), (make_dir),
12921         (gst_xml_registry_get_perms_func),
12922         (plugin_times_older_than_recurse), (plugin_times_older_than),
12923         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12924         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12925         (add_to_char_array), (read_string), (read_uint), (read_enum),
12926         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12927         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12928         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12929         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12930         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12931         (gst_xml_registry_rebuild):
12932         * gst/registries/gstlibxmlregistry.h:
12933         * tools/gst-compprep.c: (main):
12934         * tools/gst-inspect.c: (print_pad_templates_info):
12935         * tools/gst-xmlinspect.c: (print_element_info):
12936           Use libxml2 for registry parsing, use staticpadtemplates in
12937           elementfactories. Makes gst_init() +/- 10x faster.
12938
12939 2005-04-12  Wim Taymans  <wim@fluendo.com>
12940
12941         * gst/base/Makefile.am:
12942         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12943         (gst_basesink_pad_getcaps), (gst_basesink_init),
12944         (gst_basesink_event), (gst_basesink_change_state):
12945         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12946         (gst_basesrc_init), (gst_basesrc_query),
12947         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12948         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12949         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12950         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12951         (gst_basesrc_stop), (gst_basesrc_activate),
12952         (gst_basesrc_change_state):
12953         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12954         (helper_find_suggest), (gst_type_find_helper):
12955         * gst/base/gsttypefindhelper.h:
12956         * gst/elements/Makefile.am:
12957         * gst/elements/gstelements.c:
12958         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12959         (gst_fakesink_get_times), (gst_fakesink_event),
12960         (gst_fakesink_preroll), (gst_fakesink_render):
12961         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12962         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12963         (gst_fakesrc_get_property), (gst_fakesrc_create),
12964         (gst_fakesrc_start), (gst_fakesrc_stop):
12965         * gst/elements/gstfakesrc.h:
12966         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12967         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12968         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12969         (gst_filesrc_create_read), (gst_filesrc_create),
12970         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12971         (gst_filesrc_start):
12972         * gst/elements/gsttypefindelement.c:
12973         (gst_type_find_element_have_type), (gst_type_find_element_init),
12974         (start_typefinding), (stop_typefinding), (push_buffer_store),
12975         (gst_type_find_element_handle_event),
12976         (gst_type_find_element_chain),
12977         (gst_type_find_element_checkgetrange),
12978         (gst_type_find_element_getrange), (do_typefind),
12979         (gst_type_find_element_activate),
12980         (gst_type_find_element_change_state):
12981         * gst/elements/gsttypefindelement.h:
12982         * gst/gstpipeline.c: (pipeline_bus_handler):
12983         Added typefind helper.
12984         Small preroll fix in the base sink.
12985         Disable typefind code in basesrc.
12986         Crude port of typefindelement.
12987         Fakesrc cleanups.
12988
12989
12990 2005-04-11  Wim Taymans  <wim@fluendo.com>
12991
12992         * check/gst/gstbus.c: (gstbus_suite):
12993         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12994         * check/gstcheck.h:
12995           Fix up the timeout so that the test does not fail.
12996
12997 2005-04-06  Wim Taymans  <wim@fluendo.com>
12998
12999         * gst/base/README:
13000         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13001         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13002         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13003         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13004         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13005         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13006         (gst_basesrc_stop), (gst_basesrc_activate),
13007         (gst_basesrc_change_state), (basesrc_find_peek),
13008         (basesrc_find_suggest), (gst_basesrc_type_find):
13009         * gst/base/gstbasesrc.h:
13010         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13011         (gst_filesrc_class_init), (gst_filesrc_init),
13012         (gst_filesrc_finalize), (gst_filesrc_set_location),
13013         (gst_filesrc_set_property), (gst_filesrc_get_property),
13014         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13015         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13016         (gst_filesrc_create_read), (gst_filesrc_create),
13017         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13018         * gst/elements/gstfilesrc.h:
13019         * gst/gstelement.c: (gst_element_get_state_func),
13020         (gst_element_lost_state), (gst_element_pads_activate):
13021         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13022         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13023         (gst_pad_pull_range):
13024         * gst/gstpad.h:
13025         More work on the generic source base class, implement seeking,
13026         query.
13027         Make filesrc extend the base source class.
13028         Added gst_pad_set_checkgetrange_function to GstPad.
13029
13030 2005-04-06  Andy Wingo  <wingo@pobox.com>
13031
13032         * pkgconfig/gstreamer-base.pc.in:
13033         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13034
13035         * pkgconfig/Makefile.am:
13036         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13037
13038 2005-04-04  Wim Taymans  <wim@fluendo.com>
13039
13040         * gst/base/Makefile.am:
13041         * gst/base/README:
13042         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13043         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13044         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13045         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13046         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13047         (gst_basesrc_base_init), (gst_basesrc_class_init),
13048         (gst_basesrc_init), (gst_basesrc_get_formats),
13049         (gst_basesrc_get_query_types), (gst_basesrc_query),
13050         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13051         (gst_basesrc_set_property), (gst_basesrc_get_property),
13052         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13053         (gst_basesrc_loop), (gst_basesrc_activate),
13054         (gst_basesrc_change_state):
13055         * gst/base/gstbasesrc.h:
13056         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13057         (gst_fakesrc_class_init), (gst_fakesrc_init),
13058         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13059         (gst_fakesrc_get_property), (gst_fakesrc_create):
13060         * gst/elements/gstfakesrc.h:
13061         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13062         (gst_filesrc_open_file), (gst_filesrc_loop),
13063         (gst_filesrc_activate), (filesrc_find_peek),
13064         (gst_filesrc_type_find):
13065         Made base source class, make fakesrc extend it.
13066         Add comments to basesink class.
13067         Some filesrc cleanup.
13068
13069 2005-03-31  David Schleef  <ds@schleef.org>
13070
13071         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13072         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13073         expected to link against libgstreamer.
13074         * gst/base/Makefile.am: link against libgstreamer
13075         * gst/elements/Makefile.am: same
13076
13077 2005-03-31  Andy Wingo  <wingo@pobox.com>
13078
13079         * tests/instantiate/Makefile.am:
13080         * tests/instantiate/caps.c: Add test to test speed of caps copy
13081         and free.
13082
13083         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13084         GMemChunk to be fair.
13085
13086         * gst/gsttrashstack.h: Remove warning about using the fallback
13087         trash stack implementation, it's still faster than malloc.
13088
13089 2005-03-30  Andy Wingo  <wingo@pobox.com>
13090
13091         * tests/complexity.c: Add a copyright.
13092
13093 2005-03-31  Wim Taymans  <wim@fluendo.com>
13094
13095         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13096         (gst_base_transform_class_init), (gst_base_transform_init),
13097         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13098         (gst_base_transform_get_property),
13099         (gst_base_transform_sink_activate),
13100         (gst_base_transform_src_activate),
13101         (gst_base_transform_change_state):
13102         * gst/base/gstbasetransform.h:
13103         * gst/elements/gstidentity.c: (gst_identity_class_init),
13104         (gst_identity_event), (gst_identity_check_perfect),
13105         (gst_identity_transform), (gst_identity_start),
13106         (gst_identity_stop):
13107         Added start/stop methods to transform base class so subclasses 
13108         don't need to deal with state changes even.
13109
13110 2005-03-31  Wim Taymans  <wim@fluendo.com>
13111
13112         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
13113         (gst_event_new_discontinuous), (gst_event_discont_get_value):
13114         * gst/gstevent.h:
13115         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13116         (gst_pad_pull_range):
13117         Added rate to the discont event to prepare for variable speed
13118         and reverse playback.
13119
13120 2005-03-29  David Schleef  <ds@schleef.org>
13121
13122         * configure.ac:
13123         * testsuite/trigger/Makefile.am:
13124         * testsuite/trigger/trigger.c: A little example program to show
13125         how trigger-based elements can work.
13126
13127 2005-03-29  Wim Taymans  <wim@fluendo.com>
13128
13129         * gst/base/Makefile.am:
13130         * gst/base/README:
13131         * gst/base/gstbasesink.c: (gst_basesink_get_type),
13132         (gst_basesink_base_init), (gst_basesink_class_init),
13133         (gst_basesink_pad_getcaps), (gst_basesink_init),
13134         (gst_basesink_activate), (gst_basesink_change_state):
13135         * gst/base/gstbasesink.h:
13136         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13137         (gst_base_transform_base_init), (gst_base_transform_finalize),
13138         (gst_base_transform_class_init), (gst_base_transform_init),
13139         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13140         (gst_base_transform_event), (gst_base_transform_getrange),
13141         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13142         (gst_base_transform_set_property),
13143         (gst_base_transform_get_property),
13144         (gst_base_transform_sink_activate),
13145         (gst_base_transform_src_activate),
13146         (gst_base_transform_change_state):
13147         * gst/base/gstbasetransform.h:
13148         * gst/elements/gstidentity.c: (gst_identity_finalize),
13149         (gst_identity_class_init), (gst_identity_init),
13150         (gst_identity_event), (gst_identity_check_perfect),
13151         (gst_identity_transform), (gst_identity_set_property),
13152         (gst_identity_get_property), (gst_identity_change_state):
13153         * gst/elements/gstidentity.h:
13154         * gst/gstelement.c: (gst_element_get_state_func),
13155         (gst_element_lost_state), (gst_element_pads_activate):
13156         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13157         (gst_pad_check_pull_range), (gst_pad_pull_range):
13158         * gst/gstpad.h:
13159         Simplify pad activation.
13160         Added function to check if pull_range can be performed.
13161         Error out when pulling inactive or flushing pads.
13162         Removed const from refcounted types as it does not make sense.
13163         Simplify pad templates in basesink
13164         Added base class for simple 1-to-1 transforms.
13165         Make identity subclass the base transform.
13166
13167 2005-03-29  Andy Wingo  <wingo@pobox.com>
13168
13169         * docs/libs/gstreamer-libs-overrides.txt: 
13170         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13171         really don't understand what's going on, but like whatever. I want
13172         green buildbot!
13173
13174         * docs/gst/Makefile.am:
13175         * docs/libs/Makefile.am: Dist the overrides files.
13176
13177         * check/Makefile.am (clean-local): Remove .libs directories.
13178
13179         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13180         elements to EXTRA_DIST, so po/ files are happy.
13181
13182         * po/POTFILES.in: Er, remove it here.
13183
13184         * po/POTFILES: Remove gstspider.c.
13185
13186         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13187
13188         * docs/libs/gstreamer-libs-docs.sgml: 
13189         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13190         bytestream.
13191
13192         * tests/complexity.c (main): Set the length of the preroll queue
13193         on the sinks to prevent a lockup.
13194
13195         * libs/gst/dataprotocol/Makefile.am: 
13196         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13197         the same as the one in check/gst-libs/gdp.c.
13198
13199         * po/, docs/gst/: Commit automatic changes to docs and po files.
13200
13201         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13202         the versioned libgstbase.
13203
13204         * check/Makefile.am: Depend on an unversioned gst-register, seems
13205         to make autoconf happier.
13206
13207         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13208
13209 2005-03-28  Wim Taymans  <wim@fluendo.com>
13210
13211         * configure.ac:
13212         * docs/design/part-gstelement.txt:
13213         * docs/design/part-negotiation.txt:
13214         * docs/design/part-preroll.txt:
13215         * docs/design/part-scheduling.txt:
13216         * docs/design/part-states.txt:
13217         * gst/Makefile.am:
13218         * gst/base/Makefile.am:
13219         * gst/base/README:
13220         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13221         (gst_basesink_base_init), (gst_basesink_class_init),
13222         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13223         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13224         (gst_basesink_set_pad_functions),
13225         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13226         (gst_basesink_set_property), (gst_basesink_get_property),
13227         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13228         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13229         (gst_basesink_preroll_queue_push),
13230         (gst_basesink_preroll_queue_empty),
13231         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13232         (gst_basesink_event), (gst_basesink_get_times),
13233         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13234         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13235         (gst_basesink_loop), (gst_basesink_activate),
13236         (gst_basesink_change_state):
13237         * gst/base/gstbasesink.h:
13238         * gst/elements/Makefile.am:
13239         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13240         (gst_fakesink_class_init), (gst_fakesink_init),
13241         (gst_fakesink_set_property), (gst_fakesink_get_property),
13242         (gst_fakesink_get_times), (gst_fakesink_event),
13243         (gst_fakesink_preroll), (gst_fakesink_render),
13244         (gst_fakesink_change_state):
13245         * gst/elements/gstfakesink.h:
13246         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13247         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13248         * gst/gstelement.c: (gst_element_add_pad),
13249         (gst_element_get_state_func), (gst_element_abort_state),
13250         (gst_element_commit_state), (gst_element_lost_state),
13251         (gst_element_set_state), (gst_element_pads_activate):
13252         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13253         * gst/gstpipeline.c: (gst_pipeline_send_event),
13254         (gst_pipeline_change_state):
13255         Added state change code.
13256         Added/updated docs.
13257         Added sink base class, make fakesink extend the base class.
13258         Small cleanups in GstPipeline.
13259
13260 2005-03-26  David Schleef  <ds@schleef.org>
13261
13262         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13263         is broken and should be implemented in a different library.
13264         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13265         * gst/gst.h: remove gstcpu.h
13266         * gst/gstcpu.c: remove
13267         * gst/gstcpu.h: remove
13268         * gst/Makefile.am.future: Remove this file.  It's ancient.
13269
13270 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13271
13272         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13273         (gst_bin_send_event):
13274           Add default event/set_manager handlers. The set_manager handler
13275           takes care that the manager is distributed over kids that were
13276           already in the bin before the manager was set. The event handler
13277           is a utility virtual function that sends the event over all sinks,
13278           so that gst_element_send_event (bin, event); has the expected
13279           behaviour.
13280         * gst/gstpad.c: (gst_pad_event_default):
13281           Re-install default event handling for discontinuities, so that
13282           seeking works without requiring hacks in applications or extra
13283           code in sinks.
13284         * gst/gstpipeline.c: (gst_pipeline_class_init),
13285         (gst_pipeline_send_event):
13286           Half hack, half utility: set a pipeline to PAUSED for seek events,
13287           since that is the only way we can guarantee a/v sync. Means that
13288           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13289           and it "just works".
13290
13291 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13292
13293         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13294           Lock/unlock mismatch.
13295
13296 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13297
13298         * docs/faq/gst-uninstalled:
13299           add gst-plugins-base
13300         * docs/gst/Makefile.am:
13301           don't error out until docs are fixed
13302         * docs/gst/gstreamer.types:
13303           remove thread
13304
13305 2005-03-22  Wim Taymans  <wim@fluendo.com>
13306
13307         * check/Makefile.am:
13308         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13309         * gst/gststructure.c: (gst_structure_set_valist),
13310         (gst_structure_copy_conditional):
13311         Activated more tests.
13312         Added message test.
13313         Added G_TYPE_POINTER to GstStructure.
13314         
13315
13316 2005-03-22  Wim Taymans  <wim@fluendo.com>
13317
13318         * docs/design/part-TODO.txt:
13319         * docs/design/part-events.txt:
13320         * docs/design/part-gstbin.txt:
13321         * docs/design/part-gstbus.txt:
13322         * docs/design/part-gstpipeline.txt:
13323         * docs/design/part-messages.txt:
13324         * gst/gstbus.c:
13325         * gst/gstmessage.c:
13326         Docs updates
13327
13328 2005-03-21  Wim Taymans  <wim@fluendo.com>
13329
13330         * gst/gstbus.c: (gst_bus_post):
13331         Fix copy-and-paste error.
13332
13333 2005-03-21  Wim Taymans  <wim@fluendo.com>
13334
13335         * check/Makefile.am:
13336         * gst/Makefile.am:
13337         * gst/elements/Makefile.am:
13338         * gst/elements/gstelements.c:
13339         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13340         (gst_fakesink_event), (gst_fakesink_chain):
13341         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13342         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13343         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13344         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13345         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13346         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13347         (gst_fakesrc_loop), (gst_fakesrc_activate),
13348         (gst_fakesrc_change_state):
13349         * gst/elements/gstfakesrc.h:
13350         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13351         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13352         (gst_filesrc_open_file), (gst_filesrc_loop),
13353         (gst_filesrc_activate), (gst_filesrc_change_state),
13354         (filesrc_find_peek), (filesrc_find_suggest),
13355         (gst_filesrc_type_find):
13356         * gst/elements/gstidentity.c: (gst_identity_finalize),
13357         (gst_identity_class_init), (gst_identity_init),
13358         (gst_identity_proxy_getcaps), (identity_queue_push),
13359         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13360         (gst_identity_getrange), (gst_identity_chain),
13361         (gst_identity_sink_loop), (gst_identity_src_loop),
13362         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13363         (gst_identity_set_property), (gst_identity_get_property),
13364         (gst_identity_change_state):
13365         * gst/elements/gstidentity.h:
13366         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13367         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13368         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13369         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13370         (gst_tee_sink_activate):
13371         * gst/elements/gsttee.h:
13372         * gst/gst.c: (gst_register_core_elements), (init_post):
13373         * gst/gst.h:
13374         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13375         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13376         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13377         (gst_bin_change_state):
13378         * gst/gstbin.h:
13379         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13380         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13381         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13382         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13383         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13384         (bus_watch_callback), (bus_watch_destroy),
13385         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13386         (poll_timeout), (gst_bus_poll):
13387         * gst/gstbus.h:
13388         * gst/gstcaps.h:
13389         * gst/gstdata.h:
13390         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13391         (gst_element_post_message), (gst_element_message_full),
13392         (gst_element_get_state_func), (gst_element_get_state),
13393         (gst_element_abort_state), (gst_element_commit_state),
13394         (gst_element_lost_state), (gst_element_set_state),
13395         (gst_element_pads_activate), (gst_element_change_state),
13396         (gst_element_dispose), (gst_element_set_manager_func),
13397         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13398         (gst_element_set_manager), (gst_element_get_manager),
13399         (gst_element_set_bus), (gst_element_get_bus),
13400         (gst_element_set_scheduler), (gst_element_get_scheduler):
13401         * gst/gstelement.h:
13402         * gst/gstevent.c: (gst_event_new_segment_seek),
13403         (gst_event_new_flush):
13404         * gst/gstevent.h:
13405         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13406         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13407         (gst_message_new_eos), (gst_message_new_error),
13408         (gst_message_new_warning), (gst_message_new_tag),
13409         (gst_message_new_state_changed), (gst_message_new_application),
13410         (gst_message_get_structure), (gst_message_parse_tag),
13411         (gst_message_parse_state_changed), (gst_message_parse_error),
13412         (gst_message_parse_warning):
13413         * gst/gstmessage.h:
13414         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13415         (gst_real_pad_set_property), (gst_pad_set_active),
13416         (gst_pad_is_active), (gst_pad_set_blocked_async),
13417         (gst_pad_set_blocked), (gst_pad_is_blocked),
13418         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13419         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13420         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13421         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13422         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13423         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13424         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13425         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13426         (gst_pad_set_caps), (gst_pad_configure_sink),
13427         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13428         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13429         (gst_real_pad_dispose), (gst_real_pad_finalize),
13430         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13431         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13432         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13433         * gst/gstpad.h:
13434         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13435         (pipeline_bus_handler), (gst_pipeline_change_state),
13436         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13437         * gst/gstpipeline.h:
13438         * gst/gstprobe.h:
13439         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13440         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13441         (gst_queue_link_src), (gst_queue_bufferalloc),
13442         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13443         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13444         (gst_queue_loop), (gst_queue_handle_src_event),
13445         (gst_queue_handle_src_query), (gst_queue_src_activate),
13446         (gst_queue_change_state):
13447         * gst/gstqueue.h:
13448         * gst/gstscheduler.c: (gst_scheduler_init),
13449         (gst_scheduler_dispose), (gst_scheduler_create_task),
13450         (gst_scheduler_factory_create):
13451         * gst/gstscheduler.h:
13452         * gst/gststructure.c: (gst_structure_get_type),
13453         (gst_structure_copy_conditional):
13454         * gst/gststructure.h:
13455         * gst/gsttaginterface.h:
13456         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13457         (gst_task_init), (gst_task_dispose), (gst_task_create),
13458         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13459         (gst_task_pause):
13460         * gst/gsttask.h:
13461         * gst/gstthread.c:
13462         * gst/gstthread.h:
13463         * gst/gsttypes.h:
13464         * gst/schedulers/Makefile.am:
13465         * gst/schedulers/cothreads_compat.h:
13466         * gst/schedulers/entryscheduler.c:
13467         * gst/schedulers/faircothreads.c:
13468         * gst/schedulers/faircothreads.h:
13469         * gst/schedulers/fairscheduler.c:
13470         * gst/schedulers/gstbasicscheduler.c:
13471         * gst/schedulers/gstoptimalscheduler.c:
13472         * gst/schedulers/gthread-cothreads.h:
13473         * gst/schedulers/threadscheduler.c:
13474         (gst_thread_scheduler_task_get_type),
13475         (gst_thread_scheduler_task_class_init),
13476         (gst_thread_scheduler_task_init),
13477         (gst_thread_scheduler_task_start),
13478         (gst_thread_scheduler_task_stop),
13479         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13480         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13481         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13482         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13483         (plugin_init):
13484         * libs/gst/Makefile.am:
13485         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13486         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13487         (gst_file_pad_parent_set):
13488         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13489         (gst_dp_event_from_packet):
13490         * tests/complexity.c: (main):
13491         * tests/mass_elements.c: (main):
13492         * testsuite/states/locked.c: (message_received), (main):
13493         * testsuite/states/parent.c: (main):
13494         * tools/gst-inspect.c: (print_element_flag_info),
13495         (print_implementation_info), (print_pad_info):
13496         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13497         (main):
13498         * tools/gst-md5sum.c: (event_loop), (main):
13499         * tools/gst-typefind.c: (main):
13500         * tools/gst-xmlinspect.c: (print_element_info):
13501         Next big merge.
13502         Added GstBus for mainloop integration.
13503         Added GstMessage for sending notifications on the bus.
13504         Added GstTask as an abstraction for pipeline entry points.
13505         Removed GstThread.
13506         Removed Schedulers.
13507         Simplified GstQueue for multithreaded core.
13508         Made _link threadsafe, removed old capsnego.
13509         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13510         Added pad blocking functions.
13511         Reworked scheduling functions in GstPad to prepare for
13512         scheduling updates soon.
13513         Moved events out of data stream.
13514         Simplified GstEvent types.
13515         Added return values to push/pull.
13516         Removed clocking from GstElement.
13517         Added prototypes for state change function for next merge.
13518         Removed iterate from bins and state change management.
13519         Fixed some elements, disabled others for now.
13520         Fixed -inspect and -launch.
13521         Added check for GstBus.
13522
13523 2005-03-10  Wim Taymans  <wim@fluendo.com>
13524
13525         * docs/design/part-MT-refcounting.txt:
13526         * docs/design/part-clocks.txt:
13527         * docs/design/part-gstelement.txt:
13528         * docs/design/part-gstobject.txt:
13529         * docs/design/part-standards.txt:
13530         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13531         (gst_bin_remove_func), (gst_bin_remove):
13532         * gst/gstbin.h:
13533         * gst/gstbuffer.c:
13534         * gst/gstcaps.h:
13535         * testsuite/clock/clock1.c: (main):
13536         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13537         (main):
13538         * testsuite/dlopen/loadgst.c: (do_test):
13539         * testsuite/refcounting/bin.c: (add_remove_test1),
13540         (add_remove_test2), (main):
13541         * testsuite/refcounting/element.c: (main):
13542         * testsuite/refcounting/element_pad.c: (main):
13543         * testsuite/refcounting/pad.c: (main):
13544         * tools/gst-launch.c: (sigint_handler_sighandler):
13545         * tools/gst-typefind.c: (main):
13546         Doc updates.
13547         Added doc about clock.
13548         removed gst_bin_iterate_recurse_up(), marked methods
13549         for removal.
13550         Fix more testsuites.
13551
13552 2005-03-09  Wim Taymans  <wim@fluendo.com>
13553
13554         * gst/gstpad.c: (gst_pad_get_direction),
13555         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13556         (gst_pad_collect_valist):
13557         * testsuite/bins/interface.c: (main):
13558         * testsuite/caps/audioscale.c: (test_caps):
13559         * testsuite/caps/caps.c: (test1), (test2), (test3):
13560         * testsuite/caps/deserialize.c: (main):
13561         * testsuite/caps/enumcaps.c: (main):
13562         * testsuite/caps/filtercaps.c: (main):
13563         * testsuite/caps/intersect2.c: (main):
13564         * testsuite/caps/random.c: (main):
13565         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13566         * testsuite/caps/sets.c: (check_caps):
13567         * testsuite/caps/simplify.c: (check_caps), (main):
13568         * testsuite/caps/subtract.c: (check_caps):
13569         Fix _pad_get_direction wrt ghostpads.
13570         Fix caps testsuite.
13571
13572 2005-03-09  Wim Taymans  <wim@fluendo.com>
13573
13574         * check/Makefile.am:
13575         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13576         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13577         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13578         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13579         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13580         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13581         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13582         (bin_element_is_sink), (gst_bin_iterate_sinks),
13583         (gst_bin_iterate_all_by_interface):
13584         * gst/gstbin.h:
13585         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13586         (gst_element_change_state), (gst_element_dispose),
13587         (gst_element_finalize), (gst_element_set_loop_function):
13588         * gst/gstelement.h:
13589         * gst/gstiterator.c: (find_custom_fold_func):
13590         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13591         (gst_pad_collectv), (gst_pad_collect_valist),
13592         (gst_pad_template_new):
13593         * gst/gstpipeline.c: (gst_pipeline_class_init),
13594         (gst_pipeline_dispose), (gst_pipeline_set_property),
13595         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13596         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13597         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13598         * gst/gstutils.h:
13599         * gst/schedulers/entryscheduler.c:
13600         * gst/schedulers/gstbasicscheduler.c:
13601         (gst_basic_scheduler_cothreaded_chain),
13602         (gst_basic_scheduler_chain_add_element):
13603         * testsuite/bins/interface.c: (main):
13604         Added GstBin test.
13605         Added GstSystemClock test.
13606         Implemented clock distribution code in GstBin.
13607         Implemented iterate sinks method for future use.
13608         Rearranged gstelement.h
13609         Fix GstIterator comparison bug.
13610         Moved some code to GstPipeline, mostly clocking related.
13611
13612 2005-03-09  Wim Taymans  <wim@fluendo.com>
13613
13614         * configure.ac:
13615         * gst/gst_private.h:
13616         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13617         (gst_bin_remove_func), (gst_bin_remove),
13618         (gst_bin_get_by_name_recurse_up):
13619         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13620         (gst_clock_id_compare_func), (gst_clock_id_wait),
13621         (gst_clock_id_wait_async), (gst_clock_init),
13622         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13623         * gst/gstelement.h:
13624         * gst/gstinfo.c: (_gst_debug_init):
13625         * gst/gstobject.h:
13626         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13627         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13628         * gst/gstpad.h:
13629         Bump version number, we're now 0.9.0
13630         Add future debugging category.
13631         Fix NULL _unref() in _get_by_name_recurse_up
13632         Rearrange gstpad.h.
13633         Update some docs.
13634
13635 2005-03-08  Wim Taymans  <wim@fluendo.com>
13636
13637         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13638         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13639         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13640         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13641         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13642         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13643         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13644         * gst/elements/gstidentity.c: (gst_identity_class_init):
13645         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13646         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13647         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13648         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13649         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13650         (gst_tee_link):
13651         * gst/gstelement.c: (gst_element_class_init),
13652         (gst_element_base_class_init), (gst_element_init),
13653         (gst_element_get_random_pad), (gst_element_wait_state_change),
13654         (gst_element_change_state), (gst_element_dispose),
13655         (gst_element_finalize), (gst_element_set_loop_function):
13656         * gst/gstelement.h:
13657         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13658         * gst/gstthread.c: (gst_thread_class_init),
13659         (gst_thread_release_children_locks), (gst_thread_change_state):
13660         * gst/schedulers/gstbasicscheduler.c:
13661         (gst_basic_scheduler_loopfunc_wrapper),
13662         (gst_basic_scheduler_chain_wrapper),
13663         (gst_basic_scheduler_src_wrapper),
13664         (gst_basic_scheduler_remove_element):
13665         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13666         Remove threadsafe properties. Fix elements because GObject
13667         complains when installing a property before declaring a
13668         set/get_property handler.
13669         Rearrange gstelement.h file, use STATE macros for state locks.
13670         Free mutexes in the finalize method instead of dispose.
13671
13672 2005-03-08  Wim Taymans  <wim@fluendo.com>
13673
13674         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13675         * gst/gstthread.c: (gst_thread_release_children_locks):
13676         Added parentage check.
13677         Fix build og GstThread again.
13678
13679 2005-03-08  Wim Taymans  <wim@fluendo.com>
13680
13681         * docs/design/part-MT-refcounting.txt:
13682         * docs/design/part-conventions.txt:
13683         * docs/design/part-gstobject.txt:
13684         * docs/design/part-relations.txt:
13685         * docs/design/part-standards.txt:
13686         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13687         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13688         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13689         (gst_bin_iterate_all_by_interface):
13690         * gst/gstbuffer.h:
13691         * gst/gstclock.h:
13692         * gst/gstelement.c: (gst_element_class_init),
13693         (gst_element_change_state), (gst_element_set_loop_function):
13694         * gst/gstelement.h:
13695         * gst/gstiterator.c:
13696         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13697         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13698         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13699         (gst_object_set_parent), (gst_object_unparent),
13700         (gst_object_check_uniqueness):
13701         * gst/gstobject.h:
13702         Docs updates, clean up some headers.
13703
13704 2005-03-07  Wim Taymans  <wim@fluendo.com>
13705
13706         * check/.cvsignore:
13707         * check/Makefile.am:
13708         * check/gst-libs/.cvsignore:
13709         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13710         * check/gst/.cvsignore:
13711         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13712         (START_TEST), (gstbus_suite), (main):
13713         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13714         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13715         (gst_data_suite), (main):
13716         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13717         (add_fold_func), (gstiterator_suite), (main):
13718         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13719         (thread_name_object), (thread_name_object_default),
13720         (gst_object_name_compare), (gst_object_suite), (main):
13721         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13722         (gst_pad_suite), (main):
13723         * check/gstcheck.c: (gst_check_log_message_func),
13724         (gst_check_log_critical_func), (gst_check_init):
13725         * check/gstcheck.h:
13726         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13727         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13728         Added checks.
13729
13730 2005-03-07  Wim Taymans  <wim@fluendo.com>
13731
13732         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13733         (gst_list_iterator_next), (gst_list_iterator_resync),
13734         (gst_list_iterator_free), (gst_iterator_new_list),
13735         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13736         (gst_iterator_free), (gst_iterator_push), (filter_next),
13737         (filter_resync), (filter_uninit), (filter_free),
13738         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13739         (gst_iterator_foreach), (find_custom_fold_func),
13740         (gst_iterator_find_custom):
13741         * gst/gstiterator.h:
13742         Added missing files.
13743
13744 2005-03-07  Wim Taymans  <wim@fluendo.com>
13745
13746         * Makefile.am:
13747         * configure.ac:
13748         * docs/design/part-MT-refcounting.txt:
13749         * docs/design/part-conventions.txt:
13750         * docs/design/part-gstobject.txt:
13751         * docs/design/part-relations.txt:
13752         * examples/mixer/mixer.c: (main):
13753         * examples/thread/thread.c: (eos), (main):
13754         * gst/Makefile.am:
13755         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13756         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13757         (gst_spider_plug_from_srcpad):
13758         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13759         (gst_spider_identity_change_state),
13760         (gst_spider_identity_sink_loop_type_finding):
13761         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13762         * gst/elements/gstidentity.c: (gst_identity_init):
13763         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13764         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13765         * gst/elements/gsttypefindelement.c: (free_entry):
13766         * gst/gst.c:
13767         * gst/gst.h:
13768         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13769         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13770         (gst_bin_set_index), (gst_bin_set_element_sched),
13771         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13772         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13773         (gst_bin_iterate_elements), (iterate_child_recurse),
13774         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13775         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13776         (compare_interface), (gst_bin_get_by_interface),
13777         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13778         * gst/gstbin.h:
13779         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13780         (gst_buffer_default_free), (gst_buffer_default_copy),
13781         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13782         (gst_buffer_create_sub):
13783         * gst/gstbuffer.h:
13784         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13785         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13786         (gst_caps_unref), (gst_static_caps_get),
13787         (gst_caps_remove_and_get_structure), (gst_caps_append),
13788         (gst_caps_append_structure), (gst_caps_remove_structure),
13789         (gst_caps_copy_nth), (gst_caps_set_simple),
13790         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13791         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13792         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13793         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13794         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13795         (gst_caps_structure_figure_out_union),
13796         (gst_caps_switch_structures), (gst_caps_do_simplify),
13797         (gst_caps_replace), (gst_caps_from_string),
13798         (gst_caps_copy_conditional):
13799         * gst/gstcaps.h:
13800         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13801         (_gst_clock_id_free), (gst_clock_id_unref),
13802         (gst_clock_id_compare_func), (gst_clock_id_wait),
13803         (gst_clock_id_wait_async), (gst_clock_class_init),
13804         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13805         (gst_clock_get_time), (gst_clock_set_time_adjust),
13806         (gst_clock_set_property), (gst_clock_get_property):
13807         * gst/gstclock.h:
13808         * gst/gstcompat.h:
13809         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13810         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13811         * gst/gstdata.h:
13812         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13813         (gst_element_requires_clock), (gst_element_provides_clock),
13814         (gst_element_set_clock), (gst_element_clock_wait),
13815         (gst_element_wait), (gst_element_set_time_delay),
13816         (gst_element_is_indexable), (gst_element_add_pad),
13817         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13818         (pad_compare_name), (gst_element_get_static_pad),
13819         (gst_element_request_pad), (gst_element_get_request_pad),
13820         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13821         (gst_element_class_get_pad_template_list),
13822         (gst_element_class_get_pad_template), (gst_element_error_func),
13823         (gst_element_get_random_pad), (gst_element_get_event_masks),
13824         (gst_element_send_event), (gst_element_seek),
13825         (gst_element_get_query_types), (gst_element_query),
13826         (gst_element_get_formats), (gst_element_convert),
13827         (gst_element_is_locked_state), (gst_element_set_locked_state),
13828         (gst_element_sync_state_with_parent), (gst_element_change_state),
13829         (gst_element_finalize), (gst_element_yield),
13830         (gst_element_interrupt), (gst_element_set_scheduler),
13831         (gst_element_get_scheduler), (gst_element_set_loop_function):
13832         * gst/gstelement.h:
13833         * gst/gstevent.h:
13834         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13835         (gst_format_get_by_nick), (gst_format_get_details),
13836         (gst_format_iterate_definitions):
13837         * gst/gstformat.h:
13838         * gst/gstindex.c: (gst_index_gtype_resolver):
13839         * gst/gstinfo.c:
13840         * gst/gstinfo.h:
13841         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13842         (gst_mem_chunk_free):
13843         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13844         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13845         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13846         (gst_object_dispatch_properties_changed),
13847         (gst_object_set_name_default), (gst_object_set_name),
13848         (gst_object_get_name), (gst_object_set_name_prefix),
13849         (gst_object_get_name_prefix), (gst_object_set_parent),
13850         (gst_object_get_parent), (gst_object_unparent),
13851         (gst_object_check_uniqueness), (gst_object_save_thyself),
13852         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13853         (gst_object_set_property), (gst_object_get_property),
13854         (gst_object_get_path_string):
13855         * gst/gstobject.h:
13856         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13857         (gst_real_pad_init), (gst_real_pad_get_property),
13858         (gst_pad_custom_new), (gst_pad_get_direction),
13859         (gst_pad_set_active), (gst_pad_is_active),
13860         (gst_pad_set_event_function), (gst_pad_is_linked),
13861         (gst_pad_link_free), (gst_pad_link_intersect),
13862         (gst_pad_link_fixate), (gst_pad_set_caps),
13863         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13864         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13865         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13866         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13867         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13868         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13869         (gst_pad_realize), (gst_pad_get_allowed_caps),
13870         (gst_real_pad_dispose), (gst_real_pad_finalize),
13871         (gst_pad_collectv), (gst_pad_collect_valist),
13872         (gst_pad_template_dispose), (gst_pad_template_new),
13873         (gst_pad_get_internal_links):
13874         * gst/gstpad.h:
13875         * gst/gstpipeline.c: (gst_pipeline_dispose),
13876         (gst_pipeline_change_state):
13877         * gst/gstpipeline.h:
13878         * gst/gstplugin.c:
13879         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13880         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13881         * gst/gstpluginfeature.h:
13882         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13883         * gst/gstquery.c: (_gst_query_type_initialize),
13884         (gst_query_type_register), (gst_query_type_get_by_nick),
13885         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13886         * gst/gstquery.h:
13887         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13888         * gst/gstscheduler.c: (gst_scheduler_add_element),
13889         (gst_scheduler_factory_create):
13890         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13891         (gst_structure_free), (gst_structure_set_name),
13892         (gst_structure_id_set_value), (gst_structure_set_value),
13893         (gst_structure_set_valist), (gst_structure_remove_field),
13894         (gst_structure_remove_fields),
13895         (gst_structure_remove_fields_valist),
13896         (gst_structure_remove_all_fields), (gst_structure_foreach),
13897         (gst_structure_map_in_place),
13898         (gst_caps_structure_fixate_field_nearest_int),
13899         (gst_caps_structure_fixate_field_nearest_double):
13900         * gst/gststructure.h:
13901         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13902         (gst_system_clock_init), (gst_system_clock_dispose),
13903         (gst_system_clock_async_thread),
13904         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13905         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13906         * gst/gstsystemclock.h:
13907         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13908         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13909         * gst/gsttaginterface.c:
13910         * gst/gstthread.c: (gst_thread_dispose),
13911         (gst_thread_release_children_locks), (gst_thread_change_state),
13912         (gst_thread_main_loop):
13913         * gst/gsttrashstack.h:
13914         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13915         * gst/gsttypes.h:
13916         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13917         (gst_element_request_pad), (gst_element_get_pad_from_template),
13918         (gst_element_request_compatible_pad),
13919         (gst_element_get_compatible_pad_filtered),
13920         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13921         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13922         (gst_element_link_many), (gst_element_link),
13923         (gst_element_link_pads), (gst_element_unlink_pads),
13924         (gst_element_unlink_many), (gst_element_unlink),
13925         (gst_pad_can_link_filtered), (gst_pad_can_link),
13926         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13927         (gst_object_default_error), (gst_bin_add_many),
13928         (gst_bin_remove_many), (gst_element_populate_std_props),
13929         (gst_element_class_install_std_props), (gst_buffer_merge),
13930         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13931         (link_fold_func), (gst_pad_proxy_setcaps):
13932         * gst/gstutils.h:
13933         * gst/gstvalue.c: (gst_value_deserialize_string):
13934         * gst/parse/grammar.y:
13935         * gst/schedulers/gstbasicscheduler.c:
13936         (gst_basic_scheduler_cothreaded_chain),
13937         (gst_basic_scheduler_chain_recursive_add),
13938         (gst_basic_scheduler_pad_link):
13939         * gst/schedulers/gstoptimalscheduler.c:
13940         (get_group_schedule_function),
13941         (gst_opt_scheduler_state_transition),
13942         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13943         * libs/gst/bytestream/bytestream.c:
13944         * libs/gst/dataprotocol/dataprotocol.c:
13945         (gst_dp_header_from_buffer):
13946         * po/nb.po:
13947         * po/ru.po:
13948         * tests/threadstate/threadstate2.c: (eos):
13949         * tools/gst-compprep.c: (main):
13950         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13951         (print_pad_info), (print_children_info):
13952         * tools/gst-launch.c: (idle_func), (main):
13953         * tools/gst-md5sum.c: (idle_func), (main):
13954         * tools/gst-xmlinspect.c: (print_element_info):
13955         First THREADED backport attempt, focusing on adding locks and
13956         making sure the API is threadsafe. Needs more work. More docs
13957         follow this week.
13958
13959 2005-02-24  Andy Wingo  <wingo@pobox.com>
13960
13961         * tests/bench-complexity.scm:
13962         * tests/complexity.gnuplot: New files, good for running complexity
13963         benchmarks.
13964
13965         * tests/Makefile.am:
13966         * tests/complexity.c: New test, sets up N elements, at each level
13967         teeing into M streams per element. Eeeenteresting.
13968
13969         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13970         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13971         running bench-mass_elements.scm.
13972
13973         * tests/bench-mass_elements.scm: New script, runs mass_elements
13974         for various numbers of identities, outputting the results to a
13975         file. Requires guile 1.6. Just for testing.
13976
13977 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13978
13979         * gst/schedulers/fairscheduler.c:
13980           compile with debug disabled
13981
13982 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13983
13984         * configure.ac:
13985           hunting season on 0.9 is now OPEN