docs/pwg/advanced-types.xml: fix doc borkage
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * docs/pwg/advanced-types.xml:
4           fix doc borkage
5
6 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7
8         submitted by: Abel Cheung
9
10         * po/LINGUAS:
11         * po/zh_TW.po:
12           Added Chinese (traditional) translation
13
14 2006-01-04  Wim Taymans  <wim@fluendo.com>
15
16         * docs/manual/basics-pads.xml:
17         * docs/plugins/Makefile.am:
18         * docs/plugins/gstreamer-plugins-docs.sgml:
19         * docs/plugins/gstreamer-plugins-sections.txt:
20         * docs/pwg/advanced-clock.xml:
21         * docs/pwg/advanced-scheduling.xml:
22         * docs/pwg/advanced-types.xml:
23         * plugins/elements/gstfdsink.c:
24         * plugins/elements/gstfdsrc.c:
25         * plugins/elements/gstfdsrc.h:
26         * plugins/elements/gstidentity.c: (gst_identity_class_init):
27         * plugins/elements/gstidentity.h:
28         * plugins/elements/gstqueue.h:
29         * plugins/elements/gsttee.c:
30         * plugins/elements/gsttee.h:
31         * plugins/elements/gsttypefindelement.c:
32         (gst_type_find_element_class_init):
33         * plugins/elements/gsttypefindelement.h:
34         Small updates to various docs.
35         Added core plugins to docs.
36
37 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
38
39         * common/gst.supp:
40           add a suppression for liboil's uninitialized variable
41
42 2006-01-02  James Livingston  <jrl at ids dot org dot au>
43
44         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
45
46         * gst/gstutils.h:
47           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
48           macro, so that gcc doesn't complain if the -Wmissing-prototypes
49           compiler switch is being used (#325429).
50
51 >>>>>>> 1.2159
52 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
53
54         * gst/gstbin.c: (gst_bin_query):
55           Disable duration query caching in bins until it gets
56           fixed (see #324807).
57
58 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
59
60         * tools/gst-inspect.c: (print_element_properties_info):
61           Handle properties of POINTER and BOXED type.
62
63 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
64
65         * gst/gst.c: (init_post):
66           Init tags stuff and some other things before loading
67           any static plugins (there may be other static plugins
68           than just the GStreamer ones, and they may want to
69           register their own tags or formats or whatever, and
70           preferably without segfaulting).
71
72         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
73           Print at least a warning in the debug logs if we drop a
74           query just because we don't know how to adjust the value
75           in the particular format.
76
77 2005-12-24  David Schleef  <ds@schleef.org>
78
79         * tools/gstreamer-completion:
80           Replacement for gst-complete written in sh and sed.  Only
81           completes names of features, but that's 90% of what I want
82           it for.  Properties are not available in registry.xml.  (Maybe
83           they should be...)
84
85 === release 0.10.1 ===
86
87 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
88
89         * configure.ac:
90           releasing 0.10.1, "Nollaig chridheil"
91
92 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
93
94         * docs/faq/cvs.xml:
95           Add missing quote, should be make ERROR_CFLAGS="".
96
97 2005-12-20  Wim Taymans  <wim@fluendo.com>
98
99         * docs/design/part-trickmodes.txt:
100         More documentation on trickmodes.
101
102 2005-12-20  Edward Hervey  <edward@fluendo.com>
103
104         * gst/gstcaps.c: (gst_static_caps_get_type):
105         * gst/gstcaps.h:
106           API addition: GST_TYPE_STATIC_CAPS
107         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
108         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
109         * gst/gstpadtemplate.h:
110           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
111         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
112         bindings.
113
114 2005-12-18  Wim Taymans  <wim@fluendo.com>
115
116         * libs/gst/base/gstadapter.c:
117         * libs/gst/base/gstadapter.h:
118         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
119         (gst_base_sink_get_position):
120         * libs/gst/base/gstbasesink.h:
121         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
122         (gst_base_src_default_query), (gst_base_src_default_do_seek),
123         (gst_base_src_do_seek), (gst_base_src_perform_seek),
124         (gst_base_src_send_event), (gst_base_src_update_length),
125         (gst_base_src_get_range), (gst_base_src_loop),
126         (gst_base_src_start):
127         * libs/gst/base/gstbasesrc.h:
128         * libs/gst/base/gstbasetransform.h:
129         * libs/gst/base/gstcollectpads.h:
130         * libs/gst/base/gstpushsrc.c:
131         * libs/gst/base/gstpushsrc.h:
132         * libs/gst/dataprotocol/dataprotocol.c:
133         * libs/gst/dataprotocol/dataprotocol.h:
134         * libs/gst/net/gstnetclientclock.h:
135         * libs/gst/net/gstnettimeprovider.h:
136         Documentation updates.
137
138 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
139
140         * docs/manual/basics-helloworld.xml:
141           Remove superfluous closing bracket in helloworld example.
142
143 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
144
145         * tools/gst-launch.1.in:
146           Update gst-launch man page; add a section with useful
147           environment variables. Fixes #323882.
148
149 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
150
151         * gst/gst.c:
152         * gst/gst_private.h:
153           change some char* into char[]
154
155 2005-12-16  Wim Taymans  <wim@fluendo.com>
156
157         * gst/gstregistryxml.c: (load_feature):
158         Cleanups.
159         Don't use g_object_unref on GstObjects so that we avoid
160         leaks on unsafe glibs.
161
162 2005-12-16  Wim Taymans  <wim@fluendo.com>
163
164         * gst/gstbin.c: (gst_bin_recalc_state):
165         Small doc updates.
166
167 2005-12-16  Wim Taymans  <wim@fluendo.com>
168
169         * common/check.mak:
170         Added make forever target for check.
171
172 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
173
174         * gst/gst.c: (init_post):
175           make the registry cache file HOST_CPU-dependent
176
177 2005-12-16  Andy Wingo  <wingo@pobox.com>
178
179         * plugins/elements/gstbufferstore.c
180         (gst_buffer_store_cleared_func): Pay attention to g_list_append
181         return value.
182
183         * tests/check/gst/gstobject.c
184         (test_fake_object_name_threaded_unique): Pay attention to
185         g_list_sort return value.
186
187 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
188
189         * tools/gst-feedback-m.m:
190           Update for 0.9/0.10 (fixes #323870).
191
192 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
193
194         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
195           Fix lcopy for mini objects, the mini object needs to be ref'ed.
196           
197         * tests/check/gst/gstminiobject.c: (my_foo_init),
198         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
199         (test_value_collection), (gst_mini_object_suite):
200           Add test to ensure refcounts end up as expected when passing
201           GstMiniObjects through g_object_get() and g_object_set().
202
203 2005-12-14  Julien MOUTTE  <julien@moutte.net>
204
205         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
206         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
207         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
208         of collectpads. This version removes a lot of races without
209         touching API/ABI. Yay !
210
211 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
212
213         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
214           Don't allow activation of a srcpad in pull_range if it has no
215           getrange function.
216           Change some debug statements to be a little clearer
217
218         * plugins/elements/gsttypefindelement.c:
219         (gst_type_find_handle_src_query):
220           Check that we have a peer before executing queries thereupon.
221
222         * tests/examples/metadata/read-metadata.c: (message_loop):
223           Use gst_bus_pop instead of gst_bus_poll when we just want it to
224           immediately return us any available message with 0 timeout.
225
226 2005-12-12  Michael Smith  <msmith@fluendo.com>
227
228         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
229           Don't unref factories after calling them.
230         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
231         * plugins/elements/gsttypefindelement.c:
232         (gst_type_find_element_chain):
233           Free lists of factories after using them. Fixing typefinding memory
234           leaks.
235
236 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
237
238         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
239         (gst_plugin_feature_load):
240           more meaningful debug output
241         * configure.ac:
242         * tests/Makefile.am:
243         * tests/old/examples/Makefile.am:
244           make make distcheck happy again
245
246 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
247
248         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
249           Catch the special case where we are operating chain-based,
250           but the downstream peer pad has no chain function. Emit a
251           custom error message in this case instead of letting the
252           core generate one implying that this is some sort of core
253           bug. It's not, it just means that whatever got plugged
254           into the pipeline downstream when we announced the type
255           can only operate pull-based, while our source can only
256           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
257           Error string has not been marked for translation yet, as
258           it probably needs some more work first.
259
260         (gst_type_find_element_get_best_possibility):
261           Add helper function to find the best of all available
262           found possibilities that qualify given the min. threshold.
263
264         (gst_type_find_element_handle_event):
265           Fix the case where we get an EOS while still in TYPEFIND
266           mode (we want to chose the best of all possible types,
267           not just the first type that happens to be in our unsorted
268           list of possible types).
269
270         (gst_type_find_element_chain):
271           Make sure we return GST_FLOW_ERROR when we errored out
272           in stop_typefinding(); also, don't just find the best of
273           all found type entries and then use the last examined
274           type entry, but actually use the best entry.
275
276 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
277
278         * tests/examples/typefind/typefind.c: (type_found):
279         * tests/examples/xml/runxml.c: (xml_loaded):
280           More gcc4 fixes and a mem leak fix.
281
282 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
283
284         * tests/examples/xml/createxml.c: (object_saved):
285           gcc 4 fixes
286
287 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
288
289         * tests/Makefile.am:
290           enable the examples even more
291
292 2005-12-12  Andy Wingo  <wingo@pobox.com>
293
294         * libs/gst/net/gstnettimeprovider.c
295         (gst_net_time_provider_class_init, gst_net_time_provider_init)
296         (gst_net_time_provider_set_property)
297         (gst_net_time_provider_get_property):
298         API addition: Export "active" as a GObject property.
299         (gst_net_time_provider_thread): Only respond to time queries if
300         the time provider is active.
301
302         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
303         NetTimeProvider, preserving binary compat.
304
305 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
306
307         * tests/examples/controller/audio-example.c: (main):
308         * tests/examples/launch/Makefile.am:
309           convert comments again
310
311 2005-12-12  Wim Taymans  <wim@fluendo.com>
312
313         * libs/gst/base/gstpushsrc.c:
314         Fix typo.
315
316 2005-12-12  Wim Taymans  <wim@fluendo.com>
317
318         * docs/libs/gstreamer-libs-sections.txt:
319         Added new symbol to docs.
320
321         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
322         (gst_base_src_init), (gst_base_src_set_format),
323         (gst_base_src_default_query), (gst_base_src_query),
324         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
325         (gst_base_src_perform_seek), (gst_base_src_send_event),
326         (gst_base_src_default_event), (gst_base_src_event_handler),
327         (gst_base_src_set_property), (gst_base_src_get_property),
328         (gst_base_src_wait), (gst_base_src_do_sync),
329         (gst_base_src_update_length), (gst_base_src_get_range),
330         (gst_base_src_check_get_range), (gst_base_src_loop),
331         (gst_base_src_default_negotiate), (gst_base_src_start),
332         (gst_base_src_activate_push), (gst_base_src_activate_pull),
333         (gst_base_src_change_state):
334         * libs/gst/base/gstbasesrc.h:
335         Implement seeking to other formats than _BYTES.
336         Implement more seeking methods correctly.
337         Doc updates.
338         Added query vmethod.
339         Added do_seek vmethod to make life easier for subclasses
340         when seeking.
341         API addition: gst_base_src_set_format()
342
343 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
344
345         * tests/examples/Makefile.am:
346           added that too
347
348 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
349
350         * configure.ac:
351         * docs/random/ensonic/media-device-daemon.txt:
352         * tests/examples/controller/.cvsignore:
353         * tests/examples/controller/Makefile.am:
354         * tests/examples/controller/audio-example.c: (main):
355         * tests/examples/helloworld/.cvsignore:
356         * tests/examples/helloworld/Makefile.am:
357         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
358         * tests/examples/launch/.cvsignore:
359         * tests/examples/launch/Makefile.am:
360         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
361         * tests/examples/metadata/.cvsignore:
362         * tests/examples/metadata/Makefile.am:
363         * tests/examples/metadata/read-metadata.c: (message_loop),
364         (make_pipeline), (print_tag), (main):
365         * tests/examples/queue/.cvsignore:
366         * tests/examples/queue/Makefile.am:
367         * tests/examples/queue/queue.c: (event_loop), (main):
368         * tests/examples/typefind/.cvsignore:
369         * tests/examples/typefind/Makefile.am:
370         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
371         (main):
372         * tests/examples/xml/.cvsignore:
373         * tests/examples/xml/Makefile.am:
374         * tests/examples/xml/createxml.c: (object_saved), (main):
375         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
376         * tests/old/examples/Makefile.am:
377         * tests/old/examples/TODO:
378         * tests/old/examples/controller/.cvsignore:
379         * tests/old/examples/controller/Makefile.am:
380         * tests/old/examples/controller/audio-example.c:
381         * tests/old/examples/helloworld/.cvsignore:
382         * tests/old/examples/helloworld/Makefile.am:
383         * tests/old/examples/helloworld/helloworld.c:
384         * tests/old/examples/launch/.cvsignore:
385         * tests/old/examples/launch/Makefile.am:
386         * tests/old/examples/launch/mp3parselaunch.c:
387         * tests/old/examples/launch/mp3play:
388         * tests/old/examples/manual/Makefile.am:
389         * tests/old/examples/metadata/Makefile.am:
390         * tests/old/examples/metadata/read-metadata.c:
391         * tests/old/examples/queue/.cvsignore:
392         * tests/old/examples/queue/Makefile.am:
393         * tests/old/examples/queue/queue.c:
394         * tests/old/examples/typefind/.cvsignore:
395         * tests/old/examples/typefind/Makefile.am:
396         * tests/old/examples/typefind/typefind.c:
397         * tests/old/examples/xml/.cvsignore:
398         * tests/old/examples/xml/Makefile.am:
399         * tests/old/examples/xml/createxml.c:
400         * tests/old/examples/xml/runxml.c:
401           applied some simple fixing to some examples
402           re-enabled the working examples
403
404 2005-12-12  Wim Taymans  <wim@fluendo.com>
405
406         * gst/gstsegment.c: (gst_segment_init),
407         (gst_segment_set_last_stop), (gst_segment_set_seek),
408         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
409         (gst_segment_to_running_time):
410         Added more documentation.
411         Make sure the last_pos value is updated properly.
412         Make sure to_stream_time and to_running_time don't
413         operate on wrong values.
414
415         * tests/check/gst/gstsegment.c: (GST_START_TEST):
416         Update check.
417
418 2005-12-12  Michael Smith  <msmith@fluendo.com>
419
420         * plugins/elements/gsttypefindelement.c: (free_entry),
421         (gst_type_find_element_chain):
422           Now that we're not leaking factories, make sure we keep references
423           to them while we need them.
424
425 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
426
427         * tests/check/gst/struct_i386.h:
428           ifdef out the XML structs
429
430 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
431
432         * gst/gstvalue.c: (gst_value_transform_double_fraction):
433           floor is not needed, F is always positive; this obviates the
434           need for adding -lm when building without libxml
435
436 2005-12-12  Wim Taymans  <wim@fluendo.com>
437
438         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
439         Take current playback rate into account when reporting
440         the position.
441
442 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
443
444         * docs/manual/mime-world.fig:
445           Let's try this again, this time with a file that is
446           actually in XFig format.
447
448 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
449
450         * docs/manual/mime-world.fig:
451           Add audioconvert element to diagram so that it
452           matches the text and the code (fixes #319526).
453
454 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
455
456         * docs/pwg/building-chainfn.xml:
457         * docs/pwg/building-pads.xml:
458         * docs/pwg/building-state.xml:
459         * docs/pwg/other-source.xml:
460           Update state change stuff for 0.10 (fixes #322969).
461
462 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
463
464         * docs/manual/advanced-dataaccess.xml:
465         * docs/manual/appendix-checklist.xml:
466         * docs/manual/appendix-programs.xml:
467         * docs/manual/basics-pads.xml:
468         * docs/manual/highlevel-components.xml:
469         * docs/manual/manual.xml:
470           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
471           add converters in front of pipelines; remove curly
472           brackets for threads stuff, they no longer exist; use
473           GST_TYPE_FRACTION for framerates; update some pieces of
474           code to 0.10, but there's plenty more to do.
475
476         * docs/manual/appendix-porting.xml:
477           Expand on asynchroneous state changes; s/0.9/0.10/;
478           mention disappearance of gst_init_get_popt_table()
479           (fixes #322916).
480
481 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
482
483         * docs/faq/using.xml:
484           Spider no longer exists, and neither does gst-launch-ext.
485           Update examples to use decodebin and playbin and put
486           converters in front of sinks (fixes #323726).
487
488 2005-12-09  Michael Smith  <msmith@fluendo.com>
489
490         * plugins/elements/gsttypefindelement.c: (find_peek),
491         (gst_type_find_element_chain):
492           Fix leaking element factories in typefinding.
493           Fix problem where we forgot about a probable type on non-seekable
494           files, and thus later mis-typefound it.
495
496 2005-12-09  Michael Smith  <msmith@fluendo.com>
497
498         * common/m4/gst-makecontext.m4:
499         * common/m4/gst-mcsc.m4:
500         * configure.ac:
501         * win32/common/config.h:
502         * win32/common/config.h.in:
503           Remove makecontext stuff; not used in 0.10 and causes problems on
504           HPUX according to bug #322441
505
506 2005-12-07  Wim Taymans  <wim@fluendo.com>
507
508         * tests/check/Makefile.am:
509         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
510         (main):
511         * tests/check/libs/struct_i386.h:
512         Added ABI check for libs
513
514 2005-12-07  Wim Taymans  <wim@fluendo.com>
515
516         * tests/check/Makefile.am:
517         And add the struct_i386.h to dist.
518
519 2005-12-07  Wim Taymans  <wim@fluendo.com>
520
521         * tests/check/Makefile.am:
522         * tests/check/gst/.cvsignore:
523         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
524         (main):
525         * tests/check/gst/struct_i386.h:
526         Added check for ABI compatibility.
527
528 2005-12-07  Wim Taymans  <wim@fluendo.com>
529
530         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
531         (gst_fake_src_get_times), (gst_fake_src_create):
532         Fix broken sync option, fixes #323259
533
534 2005-12-07  Wim Taymans  <wim@fluendo.com>
535
536         * gst/gstbuffer.c:
537         Small docs update.
538
539         * gst/gstcaps.c: (gst_caps_is_equal):
540         Don't assert on NULL <--> X. Fixes #323260
541
542         * gst/gstminiobject.c: (gst_mini_object_replace):
543         If we're doing atomic operations, we might just as well use
544         the proper way to get an atomic pointer.
545
546         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
547         Clean up debugging.
548
549 2005-12-07  Michael Smith  <msmith@fluendo.com>
550
551         * gst/parse/grammar.y:
552           Remove handling of { } for threads.
553
554 2005-12-06  David Schleef  <ds@schleef.org>
555
556         * libs/gst/base/gstbasetransform.c: speling fix.
557
558 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
559
560         * docs/libs/tmpl/gstdataprotocol.sgml:
561         * docs/random/omega/testing/gstobject.c:
562         * gst/gst.c:
563         * gst/gstclock.c:
564         * gst/gstelement.c:
565         * gst/gstelementfactory.c:
566         * gst/gsterror.c:
567         * gst/gstevent.c:
568         * gst/gstghostpad.c:
569         * gst/gstinfo.c:
570         * gst/gstpadtemplate.c:
571         * gst/gstregistryxml.c:
572         * gst/gsttaglist.c:
573         * gst/gsttagsetter.c:
574         * gst/gsttypefind.c:
575         * gst/gstvalue.c:
576         * libs/gst/base/gstbasesrc.c:
577         * libs/gst/net/gstnetclientclock.c:
578         * libs/gst/net/gstnettimeprovider.c:
579         * plugins/elements/gstfakesrc.c:
580         * plugins/elements/gstfdsrc.c:
581         * plugins/elements/gstfilesrc.c:
582         * plugins/elements/gstidentity.c:
583         * plugins/elements/gstqueue.c:
584         * plugins/elements/gsttypefindelement.c:
585         * plugins/indexers/gstfileindex.c:
586         * plugins/indexers/gstmemindex.c:
587         * tests/check/gst/gsttag.c:
588         * tests/old/examples/cutter/cutter.c:
589         * tests/old/examples/mixer/mixer.c:
590         * tests/old/examples/xml/runxml.c: (main):
591         * tests/old/testsuite/caps/normalisation.c:
592         * tests/old/testsuite/debug/global.c:
593         * tests/old/testsuite/parse/parse1.c:
594         * tools/gst-xmlinspect.c:
595         * win32/common/dirent.c:
596           expand tabs
597
598 === release 0.10.0 ===
599
600 2005-12-05   <thomas (at) apestaart (dot) org>
601
602         * configure.ac:
603           releasing 0.10.0, "Maroilles"
604
605 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
606
607         submitted by: Funda Wang <fundawang@linux.net.cn>
608
609         * po/LINGUAS:
610         * po/zh_CN.po:
611           added Chinese (Traditional) translation
612
613 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
614
615         * docs/gst/gstreamer-sections.txt:
616         * docs/libs/tmpl/gstdataprotocol.sgml:
617         * docs/random/thomasvs/TODO:
618         * gst/gstutils.c:
619         * gst/gstutils.h:
620           fix docs
621
622 2005-12-05  Andy Wingo  <wingo@pobox.com>
623
624         patch by: Wim Taymans <wim@fluendo.com>
625
626         * libs/gst/base/gstbasetransform.c
627         (gst_base_transform_prepare_output_buf)
628         (gst_base_transform_buffer_alloc):
629         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
630         alloc_buffer_and_set_caps.
631
632         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
633         set_caps on the source pad.
634         (gst_pad_alloc_buffer_and_set_caps): New function, does what
635         alloc_buffer used to do. Fixes #322874.
636
637         * docs/gst/gstreamer-sections.txt: 
638         * docs/design/part-negotiation.txt: 
639         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
640         changes.
641
642 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
643
644         patch by: Sebastien Moutte
645
646         * win32/MANIFEST:
647         * win32/common/config.h.in:
648         * win32/vs6/libgstcontroller.dsp:
649           win32 build fixes
650
651 2005-12-05  Wim Taymans  <wim@fluendo.com>
652
653         * gst/gstcaps.c: (gst_caps_is_equal):
654         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
655         (gst_fake_src_create):
656         Back out previous code changes, leave doc updates, file bugs 
657         instead. 
658
659 2005-12-05  Wim Taymans  <wim@fluendo.com>
660
661         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
662         (gst_fake_src_get_times), (gst_fake_src_create):
663         * plugins/elements/gstfakesrc.h:
664         Fix broken sync code.
665
666 2005-12-05  Wim Taymans  <wim@fluendo.com>
667
668         * gst/gstcaps.c: (gst_caps_is_equal):
669         Comparing NULL against !NULL yields different caps, not a
670         failure.
671
672 2005-12-05  Wim Taymans  <wim@fluendo.com>
673
674         * gst/gstpipeline.c:
675         Fix small typo in docs.
676
677 2005-12-05  Andy Wingo  <wingo@pobox.com>
678
679         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
680
681         * gst/gst.c (init_post): remove hard-coded 0.9 location for
682         registries/plugins with a MAJORMINOR one.
683         (plugin_desc): Rename library from gstcoreleements to
684         staticelements. Fixes #323222.
685
686 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
687
688         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
689           Change debug category to 'collectpads' from 'collect_pads'
690           (fixes #323250).
691
692 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
693
694         patch by: Sebastien Moutte
695
696         * libs/gst/controller/gstinterpolation.c:
697           use convert function for uint64/double
698         * win32/vs6/libgstcontroller.dsp:
699           link to GLib
700
701 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
702
703         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
704         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
705         * gst/gstutils.h:
706         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
707           add tests that seem to show that the guint64/gdouble conversions
708           are correct.
709
710 2005-12-02  Wim Taymans  <wim@fluendo.com>
711
712         * gst/gstregistry.c: (gst_registry_add_path):
713         * gst/gstregistry.h:
714         * gst/gstregistryxml.c:
715         Fix docs again.
716
717 2005-12-02  Wim Taymans  <wim@fluendo.com>
718
719         * gst/gstutils.c: (gst_util_uint64_scale_int64),
720         (gst_util_uint64_scale_int):
721         Small cleanup.
722
723         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
724         Add debug log line.
725
726         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
727         Add FIXME.
728
729 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
730
731         * win32/MANIFEST:
732         * win32/common/config.h:
733         * win32/vs6/gstreamer.dsw:
734         * win32/vs6/libgstcoreelements.dsp:
735         * win32/vs6/libgstelements.dsp:
736           renamed core elements plugin
737
738 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
739
740         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
741         (get_candidates):
742           do piece-wise major/minor comparison so 0.9 < 0.10
743           also allow .exe extensions for tools
744
745 2005-12-02  Michael Smith  <msmith@fluendo.com>
746
747         * gst/gst.c:
748           Escape a % to make gtkdoc happier; bug 322958.
749
750 === release 0.9.7 ===
751
752 2005-12-01   <thomas (at) apestaart (dot) org>
753
754         * configure.ac:
755           releasing 0.9.7, "My Dog Has No Nose"
756
757 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
758
759         * common/gst-xmlinspect.py:
760         * configure.ac:
761         * docs/libs/tmpl/gstdataprotocol.sgml:
762         * docs/random/release:
763         * po/af.po:
764         * po/az.po:
765         * po/bg.po:
766         * po/ca.po:
767         * po/cs.po:
768         * po/de.po:
769         * po/en_GB.po:
770         * po/fr.po:
771         * po/it.po:
772         * po/nb.po:
773         * po/nl.po:
774         * po/ru.po:
775         * po/sq.po:
776         * po/sr.po:
777         * po/sv.po:
778         * po/tr.po:
779         * po/uk.po:
780         * po/vi.po:
781         * win32/common/config.h:
782         * win32/common/config.h.in:
783         * win32/vs6/gst_inspect.dsp:
784         * win32/vs6/gst_launch.dsp:
785         * win32/vs6/libgstbase.dsp:
786         * win32/vs6/libgstelements.dsp:
787         * win32/vs6/libgstreamer.dsp:
788         * win32/vs7/GStreamer.vcproj:
789         * win32/vs7/gst-inspect.vcproj:
790         * win32/vs7/gst-launch.vcproj:
791         * win32/vs7/libgstbase.vcproj:
792           bump GST_MAJORMINOR to 0.10
793           reset libtool version
794
795 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
796
797         * po/LINGUAS:
798         * po/bg.po:
799           Added Bulgarian translation by (Alexander Shopov)
800
801 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
802
803         * tests/check/gst/gstplugin.c:
804           fix test
805
806 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
807
808         * common/gst-xmlinspect.py:
809         * common/gtk-doc-plugins.mak:
810         * configure.ac:
811         * docs/Makefile.am:
812         * docs/gst/Makefile.am:
813         * docs/gst/gstreamer-docs.sgml:
814         * docs/gst/gstreamer-sections.txt:
815         * docs/gst/gstreamer.types:
816         * docs/gst/gstreamer.types.in:
817         * docs/plugins/Makefile.am:
818         * docs/plugins/gstreamer-plugins-docs.sgml:
819         * docs/plugins/gstreamer-plugins-sections.txt:
820         * docs/plugins/gstreamer-plugins.types:
821         * docs/plugins/inspect.stamp:
822         * docs/plugins/inspect/plugin-coreelements.xml:
823         * docs/plugins/inspect/plugin-coreindexers.xml:
824         * docs/plugins/scanobj-build.stamp:
825         * gstreamer.spec.in:
826         * plugins/elements/Makefile.am:
827         * plugins/elements/gstelements.c:
828         * plugins/elements/gstfakesink.c:
829         * plugins/elements/gstfakesrc.c:
830         * plugins/elements/gstfilesink.c:
831         * plugins/elements/gstfilesrc.c:
832         * plugins/elements/gstqueue.c:
833         * plugins/indexers/Makefile.am:
834         * plugins/indexers/gstindexers.c:
835           document core plugins in a separate document just like all the
836           others
837           rename these plugins to something starting with core
838
839 2005-12-01  Andy Wingo  <wingo@pobox.com>
840
841         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
842         padding here before, but it missed the commit.
843
844 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
845
846         * libs/gst/controller/gstinterpolation.c:
847           whitespace prices have crashed, we should feel free to use some now
848           use gst_guint64_to_gdouble
849
850 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
851
852         * libs/gst/controller/gstcontroller.c:
853         * libs/gst/controller/gsthelper.c:
854         * libs/gst/controller/gstinterpolation.c:
855         * libs/gst/controller/lib.c:
856           wrap config.h include
857
858 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
859
860         * docs/gst/gstreamer-sections.txt:
861           update docs
862
863 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
864
865         * plugins/elements/gstelements.c:
866         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
867         (gst_fd_sink__class_init), (gst_fd_sink__init),
868         (gst_fd_sink__chain), (gst_fd_sink__set_property),
869         (gst_fd_sink__get_property):
870         * plugins/elements/gstfdsink.h:
871         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
872         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
873         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
874         (gst_fd_src_unlock), (gst_fd_src_set_property),
875         (gst_fd_src_get_property), (gst_fd_src_create),
876         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
877         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
878         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
879         (gst_fd_src_uri_handler_init):
880         * plugins/elements/gstfdsrc.h:
881         * plugins/elements/gstqueue.c: (gst_queue_get_type):
882           more anal cleanup
883
884 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
885
886         * docs/gst/Makefile.am:
887         * docs/gst/gstreamer.types.in:
888         * gst/Makefile.am:
889           fix the docs build
890
891 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
892
893         * configure.ac:
894         * gst/Makefile.am:
895         * gst/gst.c:
896         * gst/gstplugin.h:
897         * gst/gstregistry.h:
898         * tests/benchmarks/complexity.c:
899         * tests/benchmarks/mass-elements.c:
900         * tests/check/Makefile.am:
901         * tools/Makefile.am:
902         * tools/gst-inspect.c:
903         * tools/gst-xmlinspect.c:
904           various fixes to make
905           --disable-nls --disable-registry --disable-loadsave
906           --disable-parse --disable-gst-debug
907           work and get the core .so down to 360444 bytes after stripping
908
909 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
910
911         * Makefile.am:
912         * configure.ac:
913           descend into tests
914         * docs/random/thomasvs/TODO:
915         * tests/Makefile.am:
916         * tests/README:
917           add a README
918
919 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
920
921         * win32/GStreamer.vcproj:
922         * win32/MANIFEST:
923         * win32/Makefile:
924         * win32/Makefile.inspect:
925         * win32/Makefile.launch:
926         * win32/Makefile.register:
927         * win32/README.txt:
928         * win32/gst-inspect.vcproj:
929         * win32/gst-launch.vcproj:
930         * win32/gst-register.vcproj:
931         * win32/gstelements.vcproj:
932         * win32/gstgetbits.def:
933         * win32/gstgetbits.vcproj:
934         * win32/gstreamer-dbg.def:
935         * win32/gstreamer.def:
936         * win32/libgstbase.def:
937         * win32/libgstbase.vcproj:
938         * win32/link_oldruntime.c:
939         * win32/mman.c:
940         * win32/mman.h:
941         * win32/mman.inl:
942         * win32/msvc71.sln:
943           move even more stuff, win32/ is nice and clean now
944
945 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
946
947         * libs/gst/control/.cvsignore:
948         * win32/MANIFEST:
949         * win32/config.h:
950         * win32/dirent.c:
951         * win32/dirent.h:
952         * win32/gstbytestream.def:
953         * win32/gstbytestream.vcproj:
954         * win32/gstconfig.h:
955         * win32/gstenumtypes.c:
956         * win32/gstenumtypes.h:
957         * win32/gstoptimalscheduler.vcproj:
958         * win32/gstversion.h:
959         * win32/gtchar.h:
960         * win32/testsuite/bins.vcproj:
961         * win32/testsuite/bytestream.vcproj:
962         * win32/testsuite/caps.vcproj:
963         * win32/testsuite/cleanup.vcproj:
964         * win32/testsuite/clock.vcproj:
965         * win32/testsuite/debug.vcproj:
966         * win32/testsuite/dlopen.vcproj:
967         * win32/testsuite/dynparams.vcproj:
968         * win32/testsuite/elements.vcproj:
969         * win32/testsuite/ghostpads.vcproj:
970         * win32/testsuite/indexers.vcproj:
971         * win32/testsuite/negotiation.vcproj:
972         * win32/testsuite/parse.vcproj:
973         * win32/testsuite/plugin.vcproj:
974         * win32/testsuite/refcounting.vcproj:
975         * win32/testsuite/schedulers.vcproj:
976         * win32/testsuite/states.vcproj:
977         * win32/testsuite/tags.vcproj:
978         * win32/testsuite/threads.vcproj:
979           remove old win32 stuff that isn't maintained and should be
980           reorganized
981
982 2005-11-30  Andy Wingo  <wingo@pobox.com>
983
984         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
985         loading the gst.interfaces python module bork.
986
987         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
988         available since GLib 2.2. Fixes #318031.
989
990 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
991
992         * Makefile.am:
993         * check/.cvsignore:
994         * check/Makefile.am:
995         * check/elements/.cvsignore:
996         * check/elements/fakesrc.c:
997         * check/elements/fdsrc.c:
998         * check/elements/identity.c:
999         * check/generic/.cvsignore:
1000         * check/generic/states.c:
1001         * check/gst-libs/.cvsignore:
1002         * check/gst-libs/controller.c:
1003         * check/gst-libs/gdp.c:
1004         * check/gst/.cvsignore:
1005         * check/gst/capslist.h:
1006         * check/gst/gst.c:
1007         * check/gst/gstbin.c:
1008         * check/gst/gstbuffer.c:
1009         * check/gst/gstbus.c:
1010         * check/gst/gstcaps.c:
1011         * check/gst/gstelement.c:
1012         * check/gst/gstevent.c:
1013         * check/gst/gstghostpad.c:
1014         * check/gst/gstiterator.c:
1015         * check/gst/gstmessage.c:
1016         * check/gst/gstminiobject.c:
1017         * check/gst/gstobject.c:
1018         * check/gst/gstpad.c:
1019         * check/gst/gstpipeline.c:
1020         * check/gst/gstplugin.c:
1021         * check/gst/gstsegment.c:
1022         * check/gst/gststructure.c:
1023         * check/gst/gstsystemclock.c:
1024         * check/gst/gsttag.c:
1025         * check/gst/gstutils.c:
1026         * check/gst/gstvalue.c:
1027         * check/net/.cvsignore:
1028         * check/net/gstnetclientclock.c:
1029         * check/net/gstnettimeprovider.c:
1030         * check/pipelines/.cvsignore:
1031         * check/pipelines/cleanup.c:
1032         * check/pipelines/simple_launch_lines.c:
1033         * check/pipelines/stress.c:
1034         * check/states/.cvsignore:
1035         * check/states/sinks.c:
1036         * configure.ac:
1037         * examples/Makefile.am:
1038         * examples/appreader/.cvsignore:
1039         * examples/appreader/Makefile.am:
1040         * examples/appreader/appreader.c:
1041         * examples/controller/.cvsignore:
1042         * examples/controller/Makefile.am:
1043         * examples/controller/audio-example.c:
1044         * examples/cutter/.cvsignore:
1045         * examples/cutter/Makefile.am:
1046         * examples/cutter/cutter.c:
1047         * examples/cutter/cutter.h:
1048         * examples/events/Makefile.am:
1049         * examples/events/seek.c:
1050         * examples/helloworld/.cvsignore:
1051         * examples/helloworld/Makefile.am:
1052         * examples/helloworld/helloworld.c:
1053         * examples/helloworld2/.cvsignore:
1054         * examples/helloworld2/Makefile.am:
1055         * examples/helloworld2/helloworld2.c:
1056         * examples/launch/.cvsignore:
1057         * examples/launch/Makefile.am:
1058         * examples/launch/mp3parselaunch.c:
1059         * examples/launch/mp3play:
1060         * examples/manual/.cvsignore:
1061         * examples/manual/Makefile.am:
1062         * examples/manual/extract.pl:
1063         * examples/metadata/Makefile.am:
1064         * examples/metadata/read-metadata.c:
1065         * examples/mixer/.cvsignore:
1066         * examples/mixer/Makefile.am:
1067         * examples/mixer/mixer.c:
1068         * examples/mixer/mixer.h:
1069         * examples/pingpong/.cvsignore:
1070         * examples/pingpong/Makefile.am:
1071         * examples/pingpong/pingpong.c:
1072         * examples/plugins/.cvsignore:
1073         * examples/plugins/Makefile.am:
1074         * examples/plugins/example.c:
1075         * examples/plugins/example.h:
1076         * examples/pwg/.cvsignore:
1077         * examples/pwg/Makefile.am:
1078         * examples/pwg/extract.pl:
1079         * examples/queue/.cvsignore:
1080         * examples/queue/Makefile.am:
1081         * examples/queue/queue.c:
1082         * examples/queue2/.cvsignore:
1083         * examples/queue2/Makefile.am:
1084         * examples/queue2/queue2.c:
1085         * examples/queue3/.cvsignore:
1086         * examples/queue3/Makefile.am:
1087         * examples/queue3/queue3.c:
1088         * examples/queue4/.cvsignore:
1089         * examples/queue4/Makefile.am:
1090         * examples/queue4/queue4.c:
1091         * examples/retag/.cvsignore:
1092         * examples/retag/Makefile.am:
1093         * examples/retag/retag.c:
1094         * examples/retag/transcode.c:
1095         * examples/thread/.cvsignore:
1096         * examples/thread/Makefile.am:
1097         * examples/thread/thread.c:
1098         * examples/typefind/.cvsignore:
1099         * examples/typefind/Makefile.am:
1100         * examples/typefind/typefind.c:
1101         * examples/xml/.cvsignore:
1102         * examples/xml/Makefile.am:
1103         * examples/xml/createxml.c:
1104         * examples/xml/runxml.c:
1105         * tests/Makefile.am:
1106         * tests/check/Makefile.am:
1107         * testsuite/.cvsignore:
1108         * testsuite/Makefile.am:
1109         * testsuite/Rules:
1110         * testsuite/caps/.cvsignore:
1111         * testsuite/caps/Makefile.am:
1112         * testsuite/caps/app_fixate.c:
1113         * testsuite/caps/audioscale.c:
1114         * testsuite/caps/caps.c:
1115         * testsuite/caps/caps.h:
1116         * testsuite/caps/caps_strings:
1117         * testsuite/caps/compatibility.c:
1118         * testsuite/caps/deserialize.c:
1119         * testsuite/caps/enumcaps.c:
1120         * testsuite/caps/eratosthenes.c:
1121         * testsuite/caps/filtercaps.c:
1122         * testsuite/caps/fixed.c:
1123         * testsuite/caps/fraction-convert.c:
1124         * testsuite/caps/fraction-multiply-and-zero.c:
1125         * testsuite/caps/intersect2.c:
1126         * testsuite/caps/intersection.c:
1127         * testsuite/caps/normalisation.c:
1128         * testsuite/caps/random.c:
1129         * testsuite/caps/renegotiate.c:
1130         * testsuite/caps/sets.c:
1131         * testsuite/caps/simplify.c:
1132         * testsuite/caps/string-conversions.c:
1133         * testsuite/caps/structure.c:
1134         * testsuite/caps/subtract.c:
1135         * testsuite/caps/union.c:
1136         * testsuite/debug/.cvsignore:
1137         * testsuite/debug/Makefile.am:
1138         * testsuite/debug/category.c:
1139         * testsuite/debug/commandline.c:
1140         * testsuite/debug/global.c:
1141         * testsuite/debug/output.c:
1142         * testsuite/debug/printf_extension.c:
1143         * testsuite/dlopen/.cvsignore:
1144         * testsuite/dlopen/Makefile.am:
1145         * testsuite/dlopen/dlopen_gst.c:
1146         * testsuite/dlopen/loadgst.c:
1147         * testsuite/elements/.cvsignore:
1148         * testsuite/elements/Makefile.am:
1149         * testsuite/elements/gst-inspect-check.in:
1150         * testsuite/elements/struct_i386.h:
1151         * testsuite/elements/struct_size.c:
1152         * testsuite/indexers/.cvsignore:
1153         * testsuite/indexers/Makefile.am:
1154         * testsuite/indexers/cache1.c:
1155         * testsuite/indexers/indexdump.c:
1156         * testsuite/parse/.cvsignore:
1157         * testsuite/parse/Makefile.am:
1158         * testsuite/parse/parse1.c:
1159         * testsuite/parse/parse2.c:
1160         * testsuite/plugin/.cvsignore:
1161         * testsuite/plugin/Makefile.am:
1162         * testsuite/plugin/README:
1163         * testsuite/plugin/dynamic.c:
1164         * testsuite/plugin/linked.c:
1165         * testsuite/plugin/loading.c:
1166         * testsuite/plugin/registry.c:
1167         * testsuite/plugin/static.c:
1168         * testsuite/plugin/static2.c:
1169         * testsuite/plugin/testplugin.c:
1170         * testsuite/plugin/testplugin2.c:
1171         * testsuite/plugin/testplugin2_s.c:
1172         * testsuite/plugin/testplugin_s.c:
1173         * testsuite/refcounting/.cvsignore:
1174         * testsuite/refcounting/Makefile.am:
1175         * testsuite/refcounting/bin.c:
1176         * testsuite/refcounting/element.c:
1177         * testsuite/refcounting/element_pad.c:
1178         * testsuite/refcounting/mainloop.c:
1179         * testsuite/refcounting/mem.c:
1180         * testsuite/refcounting/mem.h:
1181         * testsuite/refcounting/object.c:
1182         * testsuite/refcounting/pad.c:
1183         * testsuite/refcounting/sched.c:
1184         * testsuite/refcounting/thread.c:
1185         * testsuite/states/.cvsignore:
1186         * testsuite/states/Makefile.am:
1187         * testsuite/states/bin.c:
1188         * testsuite/states/locked.c:
1189         * testsuite/states/parent.c:
1190         * testsuite/threads/.cvsignore:
1191         * testsuite/threads/159566.c:
1192         * testsuite/threads/159852.c:
1193         * testsuite/threads/Makefile.am:
1194         * testsuite/threads/queue.c:
1195         * testsuite/threads/signals.c:
1196         * testsuite/threads/staticrec.c:
1197         * testsuite/threads/thread.c:
1198         * testsuite/threads/threadb.c:
1199         * testsuite/threads/threadc.c:
1200         * testsuite/threads/threadd.c:
1201         * testsuite/threads/threade.c:
1202         * testsuite/threads/threadf.c:
1203         * testsuite/threads/threadg.c:
1204         * testsuite/threads/threadh.c:
1205         * testsuite/threads/threadi.c:
1206           move all of these under tests
1207
1208 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1209
1210         * configure.ac:
1211         * tests/Makefile.am:
1212           fix distcheck
1213
1214 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1215
1216         * docs/gst/gstreamer-sections.txt:
1217         * tests/sched/.cvsignore:
1218         * tests/sched/Makefile.am:
1219         * tests/sched/cases/(fs-fs).xml:
1220         * tests/sched/cases/(fs-i-fs).xml:
1221         * tests/sched/cases/(fs-i-i-fs).xml:
1222         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1223         * tests/sched/dynamic-pipeline.c:
1224         * tests/sched/interrupt1.c:
1225         * tests/sched/interrupt2.c:
1226         * tests/sched/interrupt3.c:
1227         * tests/sched/runtestcases:
1228         * tests/sched/runxml.c:
1229         * tests/sched/sched-stress.c:
1230         * tests/sched/sort.c:
1231         * tests/sched/testcases:
1232         * tests/sched/testcases1.tc:
1233         * tests/seeking/.cvsignore:
1234         * tests/seeking/Makefile.am:
1235         * tests/seeking/seeking1.c:
1236         * tests/threadstate/.cvsignore:
1237         * tests/threadstate/Makefile.am:
1238         * tests/threadstate/test1.c:
1239         * tests/threadstate/test2.c:
1240         * tests/threadstate/threadstate1.c:
1241         * tests/threadstate/threadstate2.c:
1242         * tests/threadstate/threadstate3.c:
1243         * tests/threadstate/threadstate4.c:
1244         * tests/threadstate/threadstate5.c:
1245           remove obsolete tests
1246         * configure.ac:
1247         * tests/bench-complexity.scm:
1248         * tests/bench-mass_elements.scm:
1249         * tests/complexity.c:
1250         * tests/complexity.gnuplot:
1251         * tests/instantiate/.cvsignore:
1252         * tests/instantiate/Makefile.am:
1253         * tests/instantiate/caps.c:
1254         * tests/mass_elements.c:
1255         * tests/network-clock-utils.scm:
1256         * tests/network-clock.scm:
1257         * tests/plot-data:
1258         First pass at cleaning up tests/ dir before moving the rest
1259         Combined with CVS surgery
1260
1261 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1262
1263         * po/POTFILES.in:
1264           queue has moved, update
1265
1266 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1267
1268         * docs/gst/gstreamer-sections.txt:
1269           remove double entries from the docs
1270         * gst/gst_private.h:
1271         * gst/gstinfo.c: (_gst_debug_init):
1272           remove the THREAD debug category
1273         * gst/Makefile.am:
1274         * gst/gstqueue.c:
1275         * gst/gstqueue.h:
1276         * docs/gst/gstreamer.types:
1277         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1278         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1279           completely move queue and fix up debugging categories
1280
1281 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1282
1283         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1284           make initialization portable, using LL is not
1285
1286 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1287
1288         * win32/common/gstconfig.h:
1289           add large padding
1290
1291 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1292
1293         * win32/common/libgstreamer.def:
1294           rename symbols; sort base section
1295
1296 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1297
1298         * gst/gstclock.c: (do_linear_regression):
1299           remove crack non-portable handrolled DEBUG macro
1300
1301 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1302
1303         * docs/random/release:
1304           update notes
1305         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1306         (gst_object_flags_get_type), (register_gst_bin_flags),
1307         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1308         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1309         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1310         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1311         (gst_caps_flags_get_type), (register_gst_clock_return),
1312         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1313         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1314         (gst_clock_flags_get_type), (register_gst_state),
1315         (gst_state_get_type), (register_gst_state_change_return),
1316         (gst_state_change_return_get_type), (register_gst_state_change),
1317         (gst_state_change_get_type), (register_gst_element_flags),
1318         (gst_element_flags_get_type), (register_gst_core_error),
1319         (gst_core_error_get_type), (register_gst_library_error),
1320         (gst_library_error_get_type), (register_gst_resource_error),
1321         (gst_resource_error_get_type), (register_gst_stream_error),
1322         (gst_stream_error_get_type), (register_gst_event_type_flags),
1323         (gst_event_type_flags_get_type), (register_gst_event_type),
1324         (gst_event_type_get_type), (register_gst_seek_type),
1325         (gst_seek_type_get_type), (register_gst_seek_flags),
1326         (gst_seek_flags_get_type), (register_gst_format),
1327         (gst_format_get_type), (register_gst_index_certainty),
1328         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1329         (gst_index_entry_type_get_type),
1330         (register_gst_index_lookup_method),
1331         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1332         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1333         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1334         (gst_index_flags_get_type), (register_gst_debug_level),
1335         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1336         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1337         (gst_iterator_result_get_type), (register_gst_iterator_item),
1338         (gst_iterator_item_get_type), (register_gst_message_type),
1339         (gst_message_type_get_type), (register_gst_mini_object_flags),
1340         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1341         (gst_pad_link_return_get_type), (register_gst_flow_return),
1342         (gst_flow_return_get_type), (register_gst_activate_mode),
1343         (gst_activate_mode_get_type), (register_gst_pad_direction),
1344         (gst_pad_direction_get_type), (register_gst_pad_flags),
1345         (gst_pad_flags_get_type), (register_gst_pad_presence),
1346         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1347         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1348         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1349         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1350         (gst_plugin_flags_get_type), (register_gst_rank),
1351         (gst_rank_get_type), (register_gst_query_type),
1352         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1353         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1354         (gst_tag_flag_get_type), (register_gst_task_state),
1355         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1356         (gst_alloc_trace_flags_get_type),
1357         (register_gst_type_find_probability),
1358         (gst_type_find_probability_get_type), (register_gst_uri_type),
1359         (gst_uri_type_get_type), (register_gst_parse_error),
1360         (gst_parse_error_get_type):
1361         * win32/common/gstenumtypes.h:
1362         * win32/common/gstversion.h:
1363           update visual studio generated files
1364
1365 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1366
1367         * win32/vs6/libgstbase.dsp:
1368         * win32/vs6/libgstelements.dsp:
1369           update project files for new locations
1370
1371 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1372
1373         * Makefile.am:
1374           remove some files
1375         * README:
1376           reinstate and update
1377         * DEVEL:
1378         * REQUIREMENTS:
1379           removed
1380         * LICENSE:
1381         * docs/random/LICENSE:
1382           moved to random
1383
1384 2005-11-30  Edward Hervey  <edward@fluendo.com>
1385
1386         * gst/gsttypefind.c: (gst_type_find_register):
1387         * gst/gsttypefind.h:
1388         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1389         (gst_type_find_factory_dispose):
1390         * gst/gsttypefindfactory.h:
1391         Fix memory leak in GstTypeFindFactory.
1392
1393 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1394
1395         * gst/gst.c:
1396         * plugins/elements/Makefile.am:
1397         * plugins/elements/gstelements.c:
1398         * plugins/elements/gstqueue.c:
1399           move queue from core to the elements plugin
1400
1401 2005-11-29  Andy Wingo  <wingo@pobox.com>
1402
1403         * libs/gst/base/gstbasetransform.h: 
1404         * libs/gst/base/gstbasesrc.h: 
1405         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1406
1407         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1408         of pointers by which to pad very extensible base classes (like the
1409         ones in libs/gst/base).
1410
1411 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1412
1413         * docs/gst/gstreamer-docs.sgml:
1414         * docs/gst/gstreamer-sections.txt:
1415         * docs/libs/gstreamer-libs-docs.sgml:
1416         * docs/libs/gstreamer-libs-sections.txt:
1417           moving documentation from core to lib
1418
1419 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1420
1421         * check/Makefile.am:
1422         * configure.ac:
1423         * docs/gst/Makefile.am:
1424         * gst/Makefile.am:
1425         * gst/base/.cvsignore:
1426         * gst/base/Makefile.am:
1427         * gst/base/README:
1428         * gst/base/gstadapter.c:
1429         * gst/base/gstadapter.h:
1430         * gst/base/gstbasesink.c:
1431         * gst/base/gstbasesink.h:
1432         * gst/base/gstbasesrc.c:
1433         * gst/base/gstbasesrc.h:
1434         * gst/base/gstbasetransform.c:
1435         * gst/base/gstbasetransform.h:
1436         * gst/base/gstcollectpads.c:
1437         * gst/base/gstcollectpads.h:
1438         * gst/base/gstpushsrc.c:
1439         * gst/base/gstpushsrc.h:
1440         * gst/base/gsttypefindhelper.c:
1441         * gst/base/gsttypefindhelper.h:
1442         * gst/check/Makefile.am:
1443         * gst/check/gstcheck.c:
1444         * gst/check/gstcheck.h:
1445         * gst/net/Makefile.am:
1446         * gst/net/gstnet.h:
1447         * gst/net/gstnetclientclock.c:
1448         * gst/net/gstnetclientclock.h:
1449         * gst/net/gstnettimepacket.c:
1450         * gst/net/gstnettimepacket.h:
1451         * gst/net/gstnettimeprovider.c:
1452         * gst/net/gstnettimeprovider.h:
1453         * libs/gst/Makefile.am:
1454         * libs/gst/base/Makefile.am:
1455         * libs/gst/base/gstbasetransform.c:
1456         * libs/gst/check/Makefile.am:
1457         * plugins/elements/Makefile.am:
1458         * po/POTFILES.in:
1459           CVS surgery + support to move base, check, and net out of gst
1460           and into libs/gst
1461
1462 2005-11-29  Andy Wingo  <wingo@pobox.com>
1463
1464         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1465
1466         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1467         padding.
1468
1469         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1470
1471         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1472
1473         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1474
1475         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1476         padding; reduces object size by about 30%. We don't expect
1477         anything else to go into gstobject.
1478
1479         * gst/gstminiobject.h (struct _GstMiniObject)
1480         (struct _GstMiniObjectClass): Only one pointer of padding; the
1481         payload is only a pointer and two ints anyway. For the class there
1482         are only two methods as well.
1483         
1484         * gst/gstelement.h (struct _GstElementClass): Removed
1485         the state_changed signal callback, it is not used.
1486
1487 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1488
1489         * docs/gst/gstreamer.types:
1490           fix includes, though they are a little dinky
1491
1492 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1493
1494         * check/Makefile.am:
1495           look in the right place for elements, a lot more chance of
1496           success
1497         * gst/Makefile.am:
1498           remove indexers and elements subdirs
1499         * plugins/Makefile.am:
1500           make indexers conditional
1501
1502 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1503
1504         * Makefile.am:
1505         * configure.ac:
1506         * plugins/elements/Makefile.am:
1507         * plugins/elements/gstcapsfilter.c:
1508         * plugins/elements/gstfilesink.c:
1509         * plugins/elements/gstfilesrc.c:
1510         * plugins/elements/gstidentity.c:
1511         * plugins/indexers/Makefile.am:
1512           do CVS surgery and related build fixery to move elements
1513           and indexers in a new gstreamer/plugins directory, out of the
1514           gst/ directory
1515
1516 2005-11-29  Andy Wingo  <wingo@pobox.com>
1517
1518         * check/Makefile.am:
1519         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1520         * pkgconfig/gstreamer-net.pc.in:
1521         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1522         #322257.
1523
1524 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1525
1526         * tools/Makefile.am:
1527         * tools/gst-complete.1.in:
1528         * tools/gst-complete.c:
1529         * tools/gst-compprep.1.in:
1530         * tools/gst-compprep.c:
1531           removing -compprep and -complete
1532
1533 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1534
1535         * gst/gstevent.c: (gst_event_new_new_segment),
1536         (gst_event_parse_new_segment):
1537         * gst/gstevent.h:
1538           fix #320529 - clean up new_segment API and structure.
1539           Let's hope everyone was using the methods, and not the structure.
1540
1541 2005-11-29  Edward Hervey  <edward@fluendo.com>
1542
1543         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1544         (gst_base_sink_event), (gst_base_sink_do_sync),
1545         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1546         Properly handle non GST_FORMAT_TIME segment
1547         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1548         Properly handle non GST_FORMAT_TIME segment
1549         * gst/gstsegment.c:
1550         This function is valid if the accumulator is 0 and the format
1551         is different from the requested format.
1552         
1553 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1554
1555         * docs/gst/gstreamer-sections.txt:
1556         Add gst_query_new_seeking and gst_query_parse_seeking to the
1557         docs.
1558
1559 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1560
1561         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1562           Treat a pad alloc with new caps the same as if we were not
1563           negotiated, in order to allow a changing upstream output
1564           to produce a new format of data.
1565
1566 2005-11-29  Edward Hervey  <edward@fluendo.com>
1567
1568         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1569         (gst_base_transform_event), (gst_base_transform_eventfunc):
1570         The event virtual method is now properly implemented, with a default
1571         handler
1572         Sub classes should call the parent_class event method. They should
1573         return FALSE if they had a problem handling the given event, or don't
1574         want GstBaseTransform to send that even downstream
1575         * gst/elements/gstidentity.c: (gst_identity_class_init),
1576         (gst_identity_init), (gst_identity_event),
1577         (gst_identity_transform_ip), (gst_identity_set_property),
1578         (gst_identity_get_property):
1579         * gst/elements/gstidentity.h:
1580         Added the single-segment boolean property.
1581         If set to TRUE, it will output a single segment of data, starting from
1582         0, will eat up all incoming newsegment, and modify the timestamp of the
1583         buffers accordingly
1584
1585 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1586
1587         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1588           Don't ref NULL target pad (#322751). Improve docs.
1589
1590 2005-11-29  Michael Smith  <msmith@fluendo.com>
1591
1592         * gst/gstregistryxml.c: (load_plugin):
1593           Don't crash if we failed to load a feature from a plugin. 
1594
1595 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1596
1597         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1598         (GST_START_TEST):
1599           use more check API and less GLib API
1600
1601 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1602
1603         * Makefile.am:
1604           don't run checks if we don't have check
1605         * common/check.mak:
1606           remove the registry when running make torture
1607         * docs/gst/gstreamer-sections.txt:
1608           remove second multiply
1609         * gst/gstqueue.c: (gst_queue_loop):
1610           fix a compile warning when disabling debug
1611
1612 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1613
1614         * gst/gstinfo.h:
1615         Hey! Let's print the pad name if the pointer != NULL instead
1616         of when it == NULL :-)
1617
1618 2005-11-28  Wim Taymans  <wim@fluendo.com>
1619
1620         * check/gst/gstutils.c: (GST_START_TEST):
1621         Updated check, add some scaling accuracy checking code.
1622
1623         * gst/gstutils.c: (gst_util_div128_64),
1624         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1625         (gst_util_uint64_scale_int):
1626         Fix 6 times faster division code. Optimize for common 
1627         1/1 and less common X/1 cases.
1628
1629 2005-11-28  Wim Taymans  <wim@fluendo.com>
1630
1631         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1632         More checks.
1633
1634         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1635         (do_linear_regression), (gst_clock_add_observation):
1636         Cleanups.
1637         Release lock when the clock cannot be slaved.
1638         Catch the case where the regression returned an invalid denominator.
1639
1640         * gst/gstutils.c: (gst_util_div128_64_iterate),
1641         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1642         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1643         Add protentially more performant non-iterative 128/64 divide function
1644         that unfortunatly does not work yet.
1645         Shortcut the trivial 0/X = 0 case.
1646         Remove the warnings on overflow.
1647
1648 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1649
1650         * gst/gstplugin.c: (gst_plugin_register_func):
1651           everything causing a plugin not to load should be at least a WARNING
1652
1653 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1654
1655         * docs/random/ensonic/dparams.txt:
1656           some TODOs for the next dev cycle
1657         * libs/gst/controller/gstcontroller.c:
1658         (gst_controlled_property_set_interpolation_mode),
1659         (gst_controlled_property_new):
1660         * libs/gst/controller/gstcontroller.h:
1661           use base type to assign acccessor functions
1662
1663 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1664
1665         * check/Makefile.am:
1666         Oops, that should have been top_srcdir
1667
1668 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1669
1670         * check/Makefile.am:
1671         * check/elements/fdsrc.c: (GST_START_TEST):
1672         Use a cmdline define to specify the location of a file to use for
1673         testing, to avoid breaking distcheck.
1674
1675 2005-11-28  Andy Wingo  <wingo@pobox.com>
1676
1677         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1678
1679 2005-11-28  Edward Hervey  <edward@fluendo.com>
1680
1681         * tools/gst-launch.c: (main):
1682         Clarify the output strings, makes it easier to translate.
1683         Fixes #322626
1684
1685 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1686
1687         * gst/Makefile.am:
1688           don't try and build net if we don't even have <sys/socket.h>
1689
1690 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1691
1692         * check/Makefile.am:
1693         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1694         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1695           Add tests for fdsrc seekability
1696
1697         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1698         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1699         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1700         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1701         * gst/elements/gstfdsrc.h:
1702           fdsrc should not be a 'live' source.
1703           Implement seeking on seekable fd's.
1704
1705         * gst/gstquery.c: (gst_query_new_seeking),
1706         (gst_query_parse_seeking):
1707         * gst/gstquery.h:
1708           Implement SEEKING query functions: 
1709             *_new_seeking and *_parse_seeking
1710
1711 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1712
1713         * gst/gstelement.c: (gst_element_dispose):
1714           don't loop forever
1715
1716         * gst/gstiterator.c:
1717         * gst/gststructure.c:
1718           doc fixes
1719
1720         * libs/gst/controller/gstcontroller.c:
1721         (gst_controlled_property_set_interpolation_mode):
1722         * libs/gst/controller/gstcontroller.h:
1723         * libs/gst/controller/gstinterpolation.c:
1724         (interpolate_none_get_enum_value_array):
1725           support controlling enums
1726
1727 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1728
1729         * gst/gstvalue.c:
1730           Improve documentation for gst_value_union().
1731
1732         * gst/gstvalue.h:
1733           Change return value for union, intersect and subtract functions
1734           from gint to gboolean.
1735
1736 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1737
1738         * gst/gstvalue.c: (gst_value_serialize_any_list),
1739         (gst_value_transform_any_list_string),
1740         (gst_value_deserialize_list), (gst_value_deserialize_array),
1741         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1742         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1743         (gst_value_set_fraction_range_full),
1744         (gst_value_deserialize_fraction_range),
1745         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1746         (gst_value_deserialize_boolean),
1747         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1748         (gst_value_serialize_float), (gst_value_deserialize_float),
1749         (gst_string_wrap), (gst_value_deserialize_string),
1750         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1751         (gst_value_union_int_range_int_range),
1752         (gst_value_intersect_int_range_int_range),
1753         (gst_value_intersect_double_range_double_range),
1754         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1755         (gst_value_subtract_int_range_int_range),
1756         (gst_value_subtract_double_double_range),
1757         (gst_value_subtract_double_range_double_range),
1758         (gst_value_deserialize_fraction):
1759         * gst/gstvalue.h:
1760           Use gint, gdouble and gchar in our API instead of int, double and
1761           char (and make usage in gstvalue.c more consistent).
1762
1763 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1764
1765         * check/Makefile.am:
1766         * libs/gst/controller/Makefile.am:
1767         * libs/gst/dataprotocol/Makefile.am:
1768           fix up Makefile.am and remove GST_ENABLE_NEW
1769
1770 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1771
1772         * configure.ac:
1773         * gst/Makefile.am:
1774         * gst/base/Makefile.am:
1775         * gst/check/Makefile.am:
1776         * gst/elements/Makefile.am:
1777         * gst/net/Makefile.am:
1778           update LDFLAGS use some more
1779
1780 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1781
1782         * common/m4/gst-doc.m4:
1783           Fixes #312589
1784
1785 2005-11-26  Edward Hervey  <edward@fluendo.com>
1786
1787         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1788         This shouldn't issue a g_warning since it returns NULL if it
1789         couldn't find the plugin, and all functions using this behave
1790         properly on a NULL return. Switching to a GST_WARNING.
1791
1792 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1793
1794         * gst/gstbin.c: (gst_bin_handle_message_func):
1795         Don't leak clock messages.
1796
1797 2005-11-25  Wim Taymans  <wim@fluendo.com>
1798
1799         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1800         (gst_util_uint64_scale_int):
1801         Optimisations, remove unneeded vars.
1802
1803 2005-11-25  Wim Taymans  <wim@fluendo.com>
1804
1805         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1806         Added more checks for the high precision uint64 cases.
1807
1808         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1809         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1810         Implement high precision (guint64 * guint64) / guint64.
1811
1812 2005-11-24  Wim Taymans  <wim@fluendo.com>
1813
1814         * gst/base/gstbasesrc.c: (gst_base_src_query):
1815         Fix wrong percentage query.
1816
1817         * gst/gstutils.c: (gst_util_uint64_scale),
1818         (gst_util_uint64_scale_int):
1819         Add some more common cases that can be handled 
1820         efficiently to _scale.
1821
1822 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1823
1824         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1825         (gst_mini_object_suite):
1826           don't use check calls from threads; check probably isn't
1827           threadsafe and using a lock to make it threadsafe would
1828           defeat the purpose of this check
1829         * gst/check/gstcheck.c:
1830         * gst/check/gstcheck.h:
1831           use GST_DEBUG some more
1832
1833 2005-11-24  Wim Taymans  <wim@fluendo.com>
1834
1835         * gst/gstutils.c: (gst_util_uint64_scale),
1836         (gst_util_uint64_scale_int):
1837         Chain trivial case to _scale_int.
1838
1839 2005-11-24  Wim Taymans  <wim@fluendo.com>
1840
1841         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1842         Added test for scaling.
1843
1844         * gst/gstclock.h:
1845         Small doc fix.
1846
1847         * gst/gstutils.c: (gst_util_uint64_scale_int):
1848         Implemented high precision scaling code.
1849
1850 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1851
1852         * gst/gstinfo.h:
1853           do not crash on pad==NULL
1854
1855 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1856
1857         Patch by: Stefan Kost
1858
1859         * common/gtk-doc.mak:
1860         * docs/gst/Makefile.am:
1861         * docs/libs/Makefile.am:
1862           Fix distcheck issues for the libraries docs build
1863           Closes #319599.
1864
1865 2005-11-24  Michael Smith <msmith@fluendo.com>
1866
1867         * docs/manual/basics-helloworld.xml:
1868           Fix bug #315027: memory leak in example code in docs.
1869
1870 2005-11-24  Michael Smith <msmith@fluendo.com>
1871
1872         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1873           Unlock the PREROLL_LOCK in a failure case.
1874
1875 2005-11-24  Wim Taymans  <wim@fluendo.com>
1876
1877         * docs/gst/gstreamer-sections.txt:
1878         * gst/base/gstadapter.h:
1879         * gst/base/gstbasesink.h:
1880         * gst/base/gstbasesrc.h:
1881         * gst/base/gstbasetransform.h:
1882         * gst/base/gstpushsrc.h:
1883         * gst/elements/gstfakesink.h:
1884         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1885         * gst/elements/gstfakesrc.h:
1886         * gst/elements/gstfilesink.h:
1887         * gst/elements/gstfilesrc.h:
1888         * gst/gst.c:
1889         * gst/gstbin.c:
1890         * gst/gstbuffer.c: (_gst_buffer_copy):
1891         * gst/gstbus.h:
1892         * gst/gstcaps.c:
1893         * gst/gstchildproxy.c:
1894         * gst/gstclock.c:
1895         * gst/gstelement.c:
1896         * gst/gstelementfactory.c:
1897         * gst/gstelementfactory.h:
1898         * gst/gstevent.c:
1899         * gst/gstghostpad.h:
1900         * gst/gstindex.h:
1901         * gst/gstinterface.h:
1902         * gst/gstminiobject.c:
1903         * gst/gstminiobject.h:
1904         * gst/gstpad.c:
1905         * gst/gstpad.h:
1906         * gst/gstpadtemplate.h:
1907         * gst/gstpipeline.h:
1908         * gst/gstpluginfeature.h:
1909         * gst/gstquery.h:
1910         * gst/gstqueue.h:
1911         * gst/gsttaglist.c:
1912         * gst/gsttaglist.h:
1913         * gst/gsttagsetter.c:
1914         * gst/gsttagsetter.h:
1915         * gst/gsttrace.c:
1916         * gst/gsttrace.h:
1917         * gst/gsttypefind.h:
1918         * gst/gsturi.h:
1919         * gst/gstvalue.c:
1920         * gst/net/gstnetclientclock.c:
1921         * gst/net/gstnetclientclock.h:
1922         * gst/net/gstnettimepacket.c:
1923         * gst/net/gstnettimeprovider.c:
1924         * gst/net/gstnettimeprovider.h:
1925         Doc fixes.
1926
1927 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1928
1929         * configure.ac: back to HEAD
1930
1931 === release 0.9.6 ===
1932
1933 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1934
1935         * configure.ac:
1936           releasing 0.9.6, "Always On Time"
1937
1938 2005-11-23  Wim Taymans  <wim@fluendo.com>
1939
1940         * docs/gst/gstreamer-sections.txt:
1941         * gst/glib-compat.c:
1942         * gst/gsttagsetter.c:
1943         * gst/gstvalue.c:
1944         * gst/net/gstnetclientclock.c:
1945         * gst/net/gstnettimepacket.h:
1946         Doc updates.
1947
1948 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1949
1950         * docs/faq/using.xml:
1951         * docs/libs/tmpl/gstcontrol.sgml:
1952         * docs/manual/advanced-dparams.xml:
1953         * docs/manual/appendix-checklist.xml:
1954         * docs/manual/basics-elements.xml:
1955         * docs/pwg/other-source.xml:
1956         * docs/random/moving-plugins:
1957         * gst/gstpad.c:
1958         * tools/gst-launch.1.in:
1959           remove mentions of sinesrc
1960
1961 2005-11-23  Michael Smith <msmith@fluendo.com>
1962
1963         * docs/gst/gstreamer-sections.txt:
1964           Update for new API and API changes.
1965         * gst/gstobject.h:
1966           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1967         * gst/gstvalue.c:
1968           Documentation typo fix.
1969         * gst/net/gstnettimepacket.c:
1970           Documentation fixes for arguments.
1971
1972 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1973
1974         * gst/gststructure.c: (gst_structure_get_fraction),
1975         (gst_structure_parse_value),
1976         (gst_structure_fixate_field_nearest_fraction):
1977         * gst/gststructure.h:
1978         * gst/gstutils.c: (gst_util_uint64_scale_int):
1979         * gst/gstutils.h:
1980         * scripts/update-funcnames:
1981         API Changes. 
1982         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1983         Make gst_structure_fixate_field_nearest_fraction take a numerator
1984         and denominator argument instead of a GValue
1985         add gst_structure_get_fraction helper function.
1986
1987 2005-11-23  Wim Taymans  <wim@fluendo.com>
1988
1989         * docs/design/part-TODO.txt:
1990         Update TODO.
1991
1992         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1993         * gst/net/gstnetclientclock.h:
1994         Use parent fields for timeout and window_size.
1995
1996 2005-11-23  Andy Wingo  <wingo@pobox.com>
1997
1998         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1999         rate_num/rate_denom change.
2000
2001         * gst/net/gstnetclientclock.c
2002         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2003         OBJECT_LOCK. Don't call add_observation with the lock.
2004
2005         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2006         fraction.
2007         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2008         rate fraction.
2009         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2010         deal with rate as a fraction whose numerator and denominator are
2011         GstClockTime values.
2012         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2013         master; the other fields are protected by the SLAVE_LOCK.
2014         (do_linear_regression): Note that this must be called with the
2015         SLAVE_LOCK.
2016         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2017         OBJECT_LOCK. Call set_calibration instead of touching the
2018         variables directly.
2019         (gst_clock_set_property, gst_clock_get_property): Protect
2020         master/slave parameters with the SLAVE_LOCK.
2021
2022         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2023         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2024         note that all of the instance variables that add_observation and
2025         the set_master functions use are protected by that lock and not
2026         the OBJECT_LOCK.
2027         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2028
2029         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2030         the caller to take the object lock.
2031
2032 2005-11-23  Wim Taymans  <wim@fluendo.com>
2033
2034         * gst/gsterror.c: (_gst_core_errors_init):
2035         * gst/gsterror.h:
2036         Add error for clock stuff.
2037
2038         * gst/gstpipeline.c: (gst_pipeline_change_state),
2039         (gst_pipeline_set_clock):
2040         Post clock error when clock cannot be used in a pipeline.
2041
2042 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2043
2044         * docs/gst/gstreamer-sections.txt:
2045           make two symbols from gstinfo private for the docs
2046         * gst/base/gstcollectpads.h:
2047         * gst/gstutils.c:
2048           fix doc typos, update docs
2049
2050 2005-11-22  Wim Taymans  <wim@fluendo.com>
2051
2052         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2053         (gst_base_sink_wait), (gst_base_sink_do_sync),
2054         (gst_base_sink_handle_event):
2055         * gst/base/gstbasesink.h:
2056         No need to store the clock, the parent element class already
2057         has it.
2058
2059         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2060         Updates for clock_set returning a gboolean
2061
2062         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2063         (gst_clock_id_wait_async), (gst_clock_class_init),
2064         (gst_clock_init), (gst_clock_finalize),
2065         (gst_clock_get_internal_time), (gst_clock_get_time),
2066         (gst_clock_slave_callback), (gst_clock_set_master),
2067         (gst_clock_get_master), (do_linear_regression),
2068         (gst_clock_add_observation), (gst_clock_set_property),
2069         (gst_clock_get_property):
2070         * gst/gstclock.h:
2071         Implement master/slave. When setting a clock as a slave, a
2072         periodic timeout is scheduled to sample master and slave times.
2073         Then the slave clock is recalibrated to match offset and rate
2074         of the master clock.
2075         Update logging a bit.
2076         Add flag so that a clock can state that is cannot be slaved to
2077         another clock.
2078
2079         * gst/gstelement.c: (gst_element_set_clock):
2080         * gst/gstelement.h:
2081         The set clock returns a gboolean for when an element cannot
2082         deal with the selected clock in the pipeline. 
2083
2084         * gst/gstpipeline.c: (gst_pipeline_change_state),
2085         (gst_pipeline_set_clock):
2086         * gst/gstpipeline.h:
2087         Handle the case where the selected clock cannot be set on
2088         the pipeline.
2089
2090         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2091         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2092         (gst_net_client_clock_set_property),
2093         (gst_net_client_clock_get_property),
2094         (gst_net_client_clock_observe_times):
2095         * gst/net/gstnetclientclock.h:
2096         Use regression code in GstClock parent, remove duplicated
2097         functionality.
2098
2099 2005-11-22  Michael Smith <msmith@fluendo.com>
2100
2101         * gst/gstutils.c: (gst_util_clock_time_scale):
2102         * gst/gstutils.h:
2103         * docs/gst/gstreamer-sections.txt:
2104           Rename method to have extra underscore.
2105
2106 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2107
2108         * gst/elements/Makefile.am:
2109         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2110         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2111         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2112         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2113         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2114         * gst/elements/gstfakesrc.h:
2115         * gst/gstqueue.c: (queue_leaky_get_type):
2116           correctly fix GEnumValues so that nick is the short lowercase
2117           dashed tag
2118         * tools/gst-inspect.c: (print_element_properties_info):
2119           also show the nick, since it's useful to use from parse_launch
2120           syntax
2121           Fixes #322139
2122
2123 2005-11-22  Michael Smith <msmith@fluendo.com>
2124
2125         * gst/gstutils.c: (gst_util_clocktime_scale):
2126         * gst/gstutils.h:
2127         * docs/gst/gstreamer-sections.txt:
2128           Add util method for scaling a clocktime by a fraction. Useful 
2129           implementation is left as an exercise for the reader.
2130
2131 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2132
2133         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2134         If needed, allocate storage in the destination value during
2135         collection.
2136
2137 2005-11-22  Edward Hervey  <edward@fluendo.com>
2138
2139         * docs/gst/gstreamer-sections.txt:
2140         * gst/Makefile.am:
2141         * gst/gst.h:
2142         * gst/gsturitype.c:
2143         * gst/gsturitype.h:
2144         * gst/gstutils.c: (gst_util_set_object_arg):
2145         * tools/gst-compprep.c: (main):
2146         * tools/gst-inspect.c: (print_element_properties_info):
2147         Removed GstURI, closes bug #321061
2148
2149 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2150
2151         * check/gst/gststructure.c: (GST_START_TEST):
2152         * gst/gststructure.c: (gst_structure_parse_value):
2153           Oops, broke automatic string type parsing.
2154           Add a test to catch it in future.
2155
2156 2005-11-22  Andy Wingo  <wingo@pobox.com>
2157
2158         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2159         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2160         Actually rename the function implementations. Grr.
2161
2162 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2163
2164         * check/gst/capslist.h:
2165           Comment test cases
2166         * check/gst/gststructure.c: (GST_START_TEST),
2167         (gst_structure_suite):
2168           Test automatic value type detection in gst_structure_from_string.
2169         * gst/gststructure.c: (gst_structure_parse_value):
2170           Add fraction as a type we try and guess automatically in
2171           caps/structure strings.
2172
2173 2005-11-22  Andy Wingo  <wingo@pobox.com>
2174
2175         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2176
2177         * gst/gsttagsetter.h:
2178         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2179         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2180         (gst_tag_setter_add_tag_valist)
2181         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2182         _add_values, _add_valist, and _add_valist_values. Since this is an
2183         interface the function suffixes should be more explicit so
2184         language binding don't end up with element.add_valist ->
2185         gst_tag_setter_add_valist, for example. Fixes #322069.
2186
2187 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2188
2189         * check/gst/gstcaps.c: (GST_START_TEST):
2190           Extend caps string tests to check that a caps to string
2191           conversion is reversible and produces the same caps.
2192
2193         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2194           Output "fraction" as the generic type fraction range, so caps
2195           serialisation and deserialisation works.
2196         * check/gst/capslist.h:
2197         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2198           Support 'MIN' and 'MAX' for deserialising fractions.
2199
2200 2005-11-22  Andy Wingo  <wingo@pobox.com>
2201
2202         * gst/gstevent.h (gst_event_new_new_segment)
2203         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2204         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2205         Renamed from *_newsegment, *_buffersize, *_notarget.
2206
2207         * scripts/update-funcnames: New script, performs the changes
2208         listed above.
2209
2210 2005-11-22  Wim Taymans  <wim@fluendo.com>
2211
2212         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2213         Make sure the GstFlowReturn is returned.
2214
2215         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2216         (gst_bus_add_signal_watch):
2217         * gst/gstbus.h:
2218         add gst_bus_add_signal_watch_full.
2219
2220         * gst/gstplugin.c: (gst_plugin_load_file):
2221         Small style cleanup.
2222
2223 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2224
2225         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2226           Block the fakesrc srcpad when we send an event, to avoid
2227           contention on the stream_lock causing random test failures.
2228
2229 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2230
2231         * check/gst/gstvalue.c: (GST_START_TEST):
2232         * gst/gstvalue.c: (gst_value_fraction_subtract):
2233           Fix subtraction.
2234
2235 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2236
2237         * gst/gst.h:
2238           include "gstchildproxy.h"
2239         * gst/gstchildproxy.h:
2240         * libs/gst/controller/gstcontroller.h:
2241           use G_GNUC_NULL_TERMINATED
2242
2243 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2244
2245         * check/gst/capslist.h:
2246         * check/gst/gstcaps.c: (GST_START_TEST):
2247         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2248         * gst/gststructure.c: (gst_structure_parse_range),
2249         (gst_structure_fixate_field_nearest_fraction):
2250         * gst/gststructure.h:
2251         * gst/gstvalue.c: (gst_value_init_fraction_range),
2252         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2253         (gst_value_collect_fraction_range),
2254         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2255         (gst_value_set_fraction_range_full),
2256         (gst_value_get_fraction_range_min),
2257         (gst_value_get_fraction_range_max),
2258         (gst_value_serialize_fraction_range),
2259         (gst_value_transform_fraction_range_string),
2260         (gst_value_compare_fraction_range),
2261         (gst_value_deserialize_fraction_range),
2262         (gst_value_intersect_fraction_fraction_range),
2263         (gst_value_intersect_fraction_range_fraction_range),
2264         (gst_value_subtract_fraction_fraction_range),
2265         (gst_value_subtract_fraction_range_fraction),
2266         (gst_value_subtract_fraction_range_fraction_range),
2267         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2268         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2269         (gst_value_transform_string_fraction), (_gst_value_initialize):
2270         * gst/gstvalue.h:
2271           Implement fraction ranges and extend GstFraction to support
2272           arithmetic subtraction, as well as deserialization from integer
2273           strings such as "100"
2274           Add a testsuite as for int and double range set operations
2275
2276 2005-11-21  Andy Wingo  <wingo@pobox.com>
2277
2278         * gst/gsttaglist.h: 
2279         * gst/gstcaps.h: 
2280         * gst/gststructure.h: Add glib-compat.h.
2281
2282 2005-11-21  Wim Taymans  <wim@fluendo.com>
2283
2284         * gst/gstbin.c: (gst_bin_change_state_func):
2285         Fix for #321595
2286
2287 2005-11-21  Wim Taymans  <wim@fluendo.com>
2288
2289         * gst/gstsegment.h:
2290         And add a nice define too.
2291
2292 2005-11-21  Wim Taymans  <wim@fluendo.com>
2293
2294         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2295         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2296         (gst_segment_set_duration), (gst_segment_set_last_stop),
2297         (gst_segment_set_seek), (gst_segment_set_newsegment),
2298         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2299         (gst_segment_clip):
2300         * gst/gstsegment.h:
2301         Make binding friendly.
2302
2303 2005-11-21  Andy Wingo  <wingo@pobox.com>
2304
2305         * gst/gsttagsetter.h: 
2306         * gst/gsttaglist.h: 
2307         * gst/gststructure.h: 
2308         * gst/gstcaps.h: 
2309         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2310         #319940.
2311
2312         * gst/gsterror.c (_gst_core_errors_init):
2313         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2314         category.
2315
2316         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2317         (noinst_HEADERS): noinst the -private.
2318
2319 2005-11-21  Michael Smith <msmith@fluendo.com>
2320
2321         * gst/gstplugin.h:
2322         * gst/gstregistry.h:
2323           Remove unimplemented declarations for which we can see no sensible
2324           use.
2325
2326 2005-11-21  Andy Wingo  <wingo@pobox.com>
2327
2328         * gst/gst.h: Include glib-compat.h.
2329
2330         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2331
2332         * gst/glib-compat.c: Include the public and the private header.
2333
2334         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2335
2336         * gst/gstvalue.c: 
2337         * gst/gstpad.c: 
2338         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2339
2340         * check/gst/gstevent.c (create_custom_events): Check that
2341         FLUSH_STOP is serialized.
2342
2343         * check/elements/identity.c (event_func): 
2344         * check/elements/fakesrc.c (event_func): No stream lock, the core
2345         takes it.
2346
2347         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2348         stream lock taking, yay.
2349
2350         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2351         ensure that core takes the stream lock.
2352
2353         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2354         lock name change.
2355
2356         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2357         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2358         it already. For the flush start we do take it though so we get the
2359         right preroll state change messages.
2360
2361         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2362         the stream lock here, the core does it for us.
2363
2364         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2365         GST_STREAM_GET_LOCK.
2366         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2367         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2368         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2369         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2370         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2371         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2372
2373         * gst/gstpad.c: Update for stream lock name change.
2374
2375         * gst/base/gstbasesink.c: Update for preroll lock name change.
2376
2377 2005-11-21  Wim Taymans  <wim@fluendo.com>
2378
2379         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2380         (gst_clock_get_master):
2381         * gst/gstclock.h:
2382         * gst/gstsystemclock.c: (gst_system_clock_init):
2383         Convert Clock flags to object flags.
2384         Added methods to manage master/slave clocks.
2385
2386 2005-11-21  Wim Taymans  <wim@fluendo.com>
2387
2388         * check/gst/gstsegment.c: (GST_START_TEST):
2389         * docs/design/part-TODO.txt:
2390         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2391         (gst_base_sink_event), (gst_base_sink_do_sync),
2392         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2393         (gst_base_sink_query), (gst_base_sink_change_state):
2394         * gst/base/gstbasesink.h:
2395         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2396         (gst_base_src_default_newsegment),
2397         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2398         (gst_base_src_get_range), (gst_base_src_loop),
2399         (gst_base_src_change_state):
2400         * gst/base/gstbasesrc.h:
2401         * gst/base/gstbasetransform.c:
2402         (gst_base_transform_prepare_output_buf),
2403         (gst_base_transform_event), (gst_base_transform_change_state):
2404         * gst/base/gstbasetransform.h:
2405         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2406         (gst_collect_pads_event):
2407         * gst/base/gstcollectpads.h:
2408         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2409         (gst_fake_src_create):
2410         * gst/elements/gstfakesrc.h:
2411         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2412         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2413         (gst_segment_set_last_stop), (gst_segment_set_seek),
2414         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2415         (gst_segment_to_running_time), (gst_segment_clip):
2416         * gst/gstsegment.h:
2417         More segment updates, replace code in plugins with segment
2418         helper functions.
2419
2420 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2421
2422         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2423         Don't ignore sscanf results
2424
2425 2005-11-21  Andy Wingo  <wingo@pobox.com>
2426
2427         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2428
2429         * *.h:
2430         * *.c: Ran scripts/update-macros. Oh yes.
2431
2432         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2433         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2434         GST_GET_LOCK, etc.
2435
2436         * scripts/update-macros: New script. Run it on your files to
2437         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2438         well.
2439
2440 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2441
2442         * docs/gst/Makefile.am:
2443         * docs/gst/gstreamer-docs.sgml:
2444         * docs/gst/gstreamer-sections.txt:
2445         * docs/gst/gstreamer.types:
2446         * gst/gstinfo.h:
2447           more docs fixes, add new api to the docs
2448
2449 2005-11-21  Andy Wingo  <wingo@pobox.com>
2450
2451         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2452         state_broadcast call.
2453
2454         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2455
2456 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2457
2458         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2459         function calls for arrays.
2460
2461 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2462
2463         * docs/random/ensonic/media-device-daemon.txt:
2464           wild idea, can this be done?
2465         * docs/gst/gstreamer-sections.txt:
2466         * gst/gsterror.h:
2467         * gst/gstfilter.c:
2468         * gst/gstfilter.h:
2469         * gst/gstplugin.h:
2470         * gst/gstpluginfeature.c:
2471         * gst/gsttrace.c:
2472         * gst/gstvalue.c:
2473         * gst/gstvalue.h:
2474           doc fixes and additions
2475
2476 2005-11-21  Andy Wingo  <wingo@pobox.com>
2477
2478         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2479         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2480         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2481         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2482         private to the basesrc implementation.
2483
2484         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2485         behalf of event function if necessary. It should no longer be
2486         necessary to take the stream lock in pad's event functions. Fixes
2487         #320299.
2488
2489 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2490         * docs/gst/gstreamer-sections.txt:
2491         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2492         (gst_structure_fixate_field_nearest_double),
2493         (gst_structure_fixate_field_boolean):
2494         * gst/gststructure.h:
2495         * win32/common/libgstreamer.def:
2496         * win32/gstreamer.def:
2497
2498         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2499         (#322027)
2500
2501 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2502
2503         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2504         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2505         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2506         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2507         (gst_fdsrc_uri_handler_init):
2508         * gst/elements/gstfdsrc.h:
2509           Port fd:// URI handler from 0.8 to fdsrc
2510
2511 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2512
2513         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2514         (gst_value_serialize_fourcc):
2515         * gst/gstvalue.h:
2516           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2517           consistent with our other format defines (#320324).
2518
2519 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2520
2521         * gst/gstvalue.c: (gst_value_is_fixed):
2522           Revert previous commit. Value lists are by definition
2523           not fixed, as they are a list of possible values.
2524
2525 2005-11-21  Andy Wingo  <wingo@pobox.com>
2526
2527         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2528         during the stable series if we need it. Fixes #319178.
2529
2530         * gst/gstevent.c (gst_event_new_filler): Removed.
2531
2532         * check/gst/gstevent.c: Update comment about filler events.
2533
2534 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2535
2536         * gst/gstvalue.c: (gst_value_is_fixed):
2537           Should handle both value arrays and value lists.
2538
2539 2005-11-21  Andy Wingo  <wingo@pobox.com>
2540
2541         patch by: Alessandro Dessina <alessandro nnva org>
2542
2543         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2544         functions to access arrays. Fixes #321962.
2545
2546 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2547
2548         * docs/gst/gstreamer.types:
2549           gst_collectpads_get_type => gst_collect_pads_get_type.
2550           
2551         * gst/base/gstbasetransform.c:
2552           Remove unused SIGNAL_HANDOFF enum.
2553
2554 2005-11-21  Andy Wingo  <wingo@pobox.com>
2555
2556         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2557         the event type (upstream, downstream, serialized). Renamed
2558         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2559         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2560         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2561
2562         * gst/gstevent.c: Update for new CUSTOM event names.
2563
2564         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2565
2566         * gst/gstevent.h:
2567         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2568         bug #319392.
2569
2570 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2571
2572         * docs/gst/gstreamer-sections.txt:
2573         * win32/common/libgstbase.def:
2574         * win32/libgstbase.def:
2575         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2576         (gst_collect_pads_class_init), (gst_collect_pads_init),
2577         (gst_collect_pads_finalize), (gst_collect_pads_new),
2578         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2579         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2580         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2581         (gst_collect_pads_start), (gst_collect_pads_stop),
2582         (gst_collect_pads_peek), (gst_collect_pads_pop),
2583         (gst_collect_pads_available), (gst_collect_pads_read),
2584         (gst_collect_pads_flush), (gst_collect_pads_event),
2585         (gst_collect_pads_chain):
2586         * gst/base/gstcollectpads.h:
2587           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2588           unimplemented functions as unimplemented. Add padding to
2589           GstCollectData. (#320766, #320423)
2590
2591 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2592
2593         * gst/gstmessage.c:
2594           Improve docs for DURATION message (usage of duration parameter)
2595           (#320113)
2596
2597 2005-11-20  Wim Taymans  <wim@fluendo.com>
2598
2599         * check/Makefile.am:
2600         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2601         (main):
2602         * gst/Makefile.am:
2603         * gst/gst.h:
2604         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2605         (gst_segment_set_seek), (gst_segment_set_newsegment),
2606         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2607         (gst_segment_clip):
2608         * gst/gstsegment.h:
2609         Added segment helper structure and methods. Not fully implemented
2610         yet.
2611         Added segment check.
2612
2613 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2614
2615         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2616           Add a deserialisation test for fractions
2617         * examples/metadata/read-metadata.c: (message_loop),
2618         (make_pipeline), (main):
2619           Fix up metadata reading sample.
2620         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2621           Debug format fix
2622         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2623           Don't try and fixate empty caps
2624         * gst/gst_private.h:
2625           Wrap in G_BEGIN_DECLS/G_END_DECLS
2626         * gst/gstvalue.c: (gst_value_collect_fraction),
2627         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2628         (gst_value_transform_string_fraction),
2629         (gst_value_compare_fraction):
2630           Add some extra guards to ensure that we don't end up 
2631           with an invalid denominator of 0 in a gstfraction and
2632           that fractions always get reduced.
2633
2634 2005-11-20  Wim Taymans  <wim@fluendo.com>
2635
2636         * docs/gst/gstreamer-sections.txt:
2637         * gst/gstbuffer.h:
2638         * gst/gstelement.c:
2639         * gst/gstformat.c:
2640         * gst/gstformat.h:
2641         * gst/gstindex.h:
2642         * gst/gstquery.c:
2643         * gst/gstquery.h:
2644         * gst/gstvalue.c:
2645         Doc fixes.
2646
2647 2005-11-20  Wim Taymans  <wim@fluendo.com>
2648
2649         * docs/design/part-TODO.txt:
2650         * gst/gstcaps.h:
2651         Make a proper enum of the flag.
2652
2653 2005-11-19  Wim Taymans  <wim@fluendo.com>
2654
2655         * docs/design/part-TODO.txt:
2656         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2657         (gst_format_to_quark), (gst_format_register):
2658         * gst/gstformat.h:
2659         * gst/gstquery.c: (_gst_query_initialize),
2660         (gst_query_type_get_name), (gst_query_type_to_quark),
2661         (gst_query_type_register):
2662         * gst/gstquery.h:
2663         Add type to quark and type to string conversions.
2664
2665 2005-11-19  Andy Wingo  <wingo@pobox.com>
2666
2667         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2668         #320097.
2669
2670 2005-11-19  Wim Taymans  <wim@fluendo.com>
2671
2672         * docs/design/part-TODO.txt:
2673         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2674         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2675         (gst_bin_handle_message_func):
2676         * gst/gstbin.h:
2677         Make message handling overridable.
2678
2679 2005-11-19  Andy Wingo  <wingo@pobox.com>
2680
2681         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2682
2683         * gst/gstclock.h:
2684         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2685         be a GstClockTime.
2686         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2687         is a GstClockTime. Fixes #321710.
2688
2689         * gst/gstclock.h (GstClock): Remove offset property. Add
2690         internal_calibration and external_calibration. Fix padding. Pad
2691         also by GstClockTime so we don't run into problems.
2692
2693         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2694         (gst_clock_get_rate_offset): Remove.
2695         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2696
2697         * gst/gstutils.h:
2698         * gst/gstutils.c (g_static_rec_cond_wait)
2699         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2700
2701         * gst/gstbin.c: Remove terrible continue_state prototype.
2702
2703         * gst/gstelement.h (gst_element_continue_state): Make public.
2704
2705         * gst/gstelement.h:
2706         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2707         by continue_state. Fixes #319389.
2708
2709         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2710         Really fixes #168438. However I don't see anywhere where the
2711         filter function is called... stupid GStreamer...
2712         
2713         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2714         don't have a dispose function, so it won't get called when the
2715         object is unreffed, but oh well!
2716
2717         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2718         allows a destroy function to be set so user_data can be freed.
2719         Fixes #168438.
2720         (gst_index_set_filter): Call gst_index_set_filter_full.
2721
2722         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2723
2724         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2725         string should produce an error, given the lack of a way to
2726         represent NULL strings. Fixes #165650.
2727         
2728         * gst/gstvalue.h: 
2729         * gst/gstvalue.c (gst_value_array_append_value) 
2730         (gst_value_array_prepend_value, gst_value_array_get_size) 
2731         (gst_value_array_get_value): New API, copied from
2732         gst_value_list_*, only operates on arrays.
2733         (gst_value_list_append_value, gst_value_list_prepend_value) 
2734         (gst_value_list_concat, gst_value_list_get_size) 
2735         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2736
2737         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2738         init_list, because it works on both.
2739         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2740         (gst_value_copy_list_or_array): Renamed from copy_list.
2741         (gst_value_free_list_or_array): Renamed from free_list.
2742         (gst_value_collect_list_or_array): Renamed from collect_list.
2743         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2744         (gst_value_list_or_array_peek_pointer): Renamed from
2745         list_peek_pointer.
2746         (_gst_value_array_value_table, _gst_value_list_value_table):
2747         Update value table functions.
2748         (gst_value_compare_list_or_array): Renamed from compare_list.
2749
2750         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2751         some constness.
2752
2753         * gst/gsttaglist.c:
2754         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2755         GstTagList*. Fixes #143472.
2756
2757         * gst/gststructure.h: Clarify what the foreach/map functions can
2758         or can't do to their arguments.
2759
2760 2005-11-18  Wim Taymans  <wim@fluendo.com>
2761
2762         * gst/gstclock.c: (gst_clock_set_calibration),
2763         (gst_clock_get_calibration):
2764         Doc and API fixes.
2765         Calibration can be set with internal time equal to current
2766         internal time too.
2767
2768 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2769
2770         * gst/gsterror.c:
2771         * gst/gsterror.h:
2772           document
2773
2774 2005-11-18  Andy Wingo  <wingo@pobox.com>
2775
2776         * configure.ac: 
2777         * pkgconfig/gstreamer-net.pc.in:
2778         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2779         * pkgconfig/Makefile.am: Add net pkgconfig files.
2780
2781 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2782
2783         * gst/gstcaps.c:
2784         * gst/gstghostpad.c:
2785         * gst/gsttrace.c:
2786         * gst/gstvalue.c:
2787         * gst/gstvalue.h:
2788           docs fixes
2789
2790 2005-11-18  Andy Wingo  <wingo@pobox.com>
2791
2792         * gst/net/gstnetclientclock.c: Turn off debugging.
2793
2794         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2795         times connverge somewhat. Can't make a real test.
2796
2797         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2798         integer arithmetic. Return the minimum of the domain, which can be
2799         set as "internal" for gst_clock_set_calibration.
2800         (gst_net_client_clock_observe_times): Call _set_calibration.
2801         (gst_net_client_clock_new): Call _set_calibration instead of
2802         rate_offset.
2803
2804         * check/net/gstnetclientclock.c (test_functioning): Use the right
2805         adjustment api.
2806
2807         * gst/gstclock.h:
2808         * gst/gstclock.c (gst_clock_get_calibration) 
2809         (gst_clock_set_calibration): New functions, obsolete the ones I
2810         added yesterday. Doh. Precision issues mean we have to extrapolate
2811         from a point in the more recent past than 1970.
2812         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2813         obsolete.
2814         (gst_clock_adjust_unlocked): Use the right calibration data.
2815
2816 2005-11-18  Edward Hervey  <edward@fluendo.com>
2817
2818         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2819         Also reset the ->current_* values in READY->PAUSED
2820
2821 2005-11-18  Andy Wingo  <wingo@pobox.com>
2822
2823         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2824         Whoops, check the right fd. Also add some debugging.
2825         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2826         (do_linear_regression): Add a crapload of debugging. Subtract off
2827         the minimum values from the input series to discard unneeded bits.
2828         Use only int arithmetic. There is still double arithmetic when
2829         calculating the intercept that needs fixing. Return boolean to
2830         indicate success; FALSE would mean the domain or range is too
2831         great. Still needs fixes.
2832
2833 2005-11-18  Wim Taymans  <wim@fluendo.com>
2834
2835         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2836         For the current position in stream time, we need to subtract
2837         accumulated time.
2838         
2839         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2840         Release lock before calling the callback function of async
2841         entries.
2842
2843 2005-11-18  Andy Wingo  <wingo@pobox.com>
2844
2845         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2846         Port goes all the way to MAXUINT16.
2847
2848         * gst/net/gstnettimeprovider.c: Make the port range the same as
2849         for the kernel: 0 assigns, otherwise ports are less than
2850         MAXUINT16.
2851
2852         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2853         port change.
2854
2855         * check/net/gstnetclientclock.c (test_functioning): Add the start
2856         of another test. 
2857
2858 2005-11-18  Wim Taymans  <wim@fluendo.com>
2859
2860         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2861         (gst_bin_remove_func), (bin_bus_handler):
2862         * gst/gstbin.h:
2863         Removing a clock provider from a bin, triggers a clock lost message
2864         so that a new clock will be selected.
2865         Adding a clock to a bin triggers a clock provider message.
2866         Make sure we reselect a clock when we received a clock lost message.
2867         Keep a reference to the element that provided the clock.
2868
2869 2005-11-18  Andy Wingo  <wingo@pobox.com>
2870
2871         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2872         the clock initially so it produces values around the base time.
2873         (gst_net_client_clock_class_init): Typo fix.
2874         (gst_net_client_clock_thread): Add note on when the socket gets
2875         closed.
2876
2877 2005-11-17  Wim Taymans  <wim@fluendo.com>
2878
2879         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2880         Free remote and local time arrays.
2881
2882 2005-11-17  Wim Taymans  <wim@fluendo.com>
2883
2884         * gst/net/gstnetclientclock.c: (do_linear_regression),
2885         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2886         Fix compilation, uninitialized vars and a forgotten continue.
2887
2888 2005-11-17  Andy Wingo  <wingo@pobox.com>
2889
2890         * check/Makefile.am (check_PROGRAMS): 
2891         * check/net/gstnetclientclock.c: Add a most minimal test for the
2892         net client clock. More to come later.
2893
2894         * gst/net/gstnet.h: 
2895         * gst/net/Makefile.am: Add netclientclock.
2896
2897         * gst/net/gstnetclientclock.h:
2898         * gst/net/gstnetclientclock.c: New files, implement an untested
2899         GstClock that takes its time from a network time provider.
2900         Implements the algorithm in network-clock.scm.
2901
2902         * tests/network-clock.scm (*window-size*): Rename from
2903         *queue-length*.
2904         * tests/network-clock.scm (network-time): 
2905         * tests/network-clock-utils.scm (q-push): Update callers.
2906
2907 2005-11-17  Wim Taymans  <wim@fluendo.com>
2908
2909         * gst/gstbin.c: (gst_bin_provide_clock_func),
2910         (gst_bin_sort_iterator_new):
2911         And unref the child too..
2912
2913 2005-11-17  Wim Taymans  <wim@fluendo.com>
2914
2915         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2916         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2917         Refactor the sort iterator so it can be used while holding the
2918         LOCK too.
2919         Make clock selection select a clock closest to the source.
2920
2921 2005-11-17  Michael Smith <msmith@fluendo.com>
2922
2923         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2924         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2925         * gst/gstclock.h:
2926           Anonymous structs are a gcc (and some other compilers) extension, so
2927           don't use them. Since this is only for ABI-compatibility, and our
2928           API/ABI freeze is over in a few days, this whole thing will only
2929           last a few days, so don't bother trying to think up a meaningful
2930           name for the struct.
2931
2932 2005-11-17  Andy Wingo  <wingo@pobox.com>
2933
2934         * gst/gstclock.h (GstClock): Add rate and offset properties,
2935         preserving ABI stability. Add rate/offset accessors. Will file bug
2936         for the freeze break.
2937
2938         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2939         and offset, trying to keep precision and avoiding
2940         underflow/overflow.
2941         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2942         functions. Make gst_clock_set_time_adjust obsolete.
2943         (gst_clock_set_time_adjust): Note that this function is obsolete.
2944         Will file bug soon.
2945
2946         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2947         greppable by using GST_PADDING-1+1.
2948
2949 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2950
2951         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2952
2953         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2954           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2955
2956         * gst/gstpadtemplate.h:
2957         * gst/gstpluginfeature.h:
2958           Don't use c++ style comments in headers (#321638).
2959
2960 2005-11-16  Andy Wingo  <wingo@pobox.com>
2961
2962         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2963         buffer.
2964
2965         * check/net/gstnettimeprovider.c: Check to see that the time
2966         provider actually provides times. Works, yo!
2967
2968 2005-11-16  Wim Taymans  <wim@fluendo.com>
2969
2970         * check/Makefile.am:
2971         Enable more tests.
2972
2973         * check/elements/fakesrc.c: (GST_START_TEST):
2974         Set element to NULL before disposing it.
2975
2976 2005-11-16  Andy Wingo  <wingo@pobox.com>
2977
2978         * gst/net/Makefile.am:
2979         * gst/net/gstnet.h:
2980         * gst/net/gstnettimeprovider.c: 
2981         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2982         provider, include it from gstnet.h, and add it to the build.
2983
2984         * gst/net/gstnettimepacket.h: 
2985         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2986         sending and receiving.
2987
2988 2005-11-16  Wim Taymans  <wim@fluendo.com>
2989
2990         * check/Makefile.am:
2991         Enable valgrind check.
2992
2993         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2994         (gst_fake_src_alloc_buffer):
2995         Fix memleak.
2996
2997 2005-11-16  Wim Taymans  <wim@fluendo.com>
2998
2999         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3000         Call parent finalize too.
3001
3002 2005-11-16  Wim Taymans  <wim@fluendo.com>
3003
3004         * check/Makefile.am:
3005         Enable valgrind check that should work fine now.
3006
3007         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3008         * gst/gstqueue.c: (gst_queue_init):
3009         Fix memleaks in pad allocation.
3010
3011 2005-11-16  Andy Wingo  <wingo@pobox.com>
3012
3013         * gst/net/Makefile.am:
3014         * gst/net/gstnet.h: New part of core to hold network elements and
3015         objects. Put in core because it exposes API that applications want
3016         to use. The library is named libgstnet-tempname right now because
3017         of the existing libgstnet in gst-plugins-base. Solution is
3018         probably to rename the one in plugins-base; will file a bug for
3019         the freeze break.
3020
3021         * gst/net/gstnettimeprovider.c: 
3022         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3023         get_time call over the network.
3024
3025         * configure.ac: 
3026         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3027
3028         * check/Makefile.am:
3029         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3030         get additions shortly.
3031
3032 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3033
3034         * gst/gstpad.c: (gst_pad_new_from_static_template):
3035         * gst/gstpad.h:
3036           add gst_pad_new_from_static_template functions
3037         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3038         (gst_check_setup_sink_pad):
3039         * gst/elements/gsttee.c: (gst_tee_init):
3040           and use them
3041
3042 2005-11-16  Wim Taymans  <wim@fluendo.com>
3043
3044         * gst/gstpad.c: (gst_pad_pause_task):
3045         Removed warning, it's not really an error either.
3046
3047 2005-11-16  Wim Taymans  <wim@fluendo.com>
3048
3049         * gst/base/gstbasetransform.c:
3050         (gst_base_transform_prepare_output_buf),
3051         (gst_base_transform_event):
3052         Check if the caps are NULL, this can happen if the element
3053         is shutting down and the pad caps are set to NULL.
3054
3055 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3056
3057         * gst/elements/gsttee.c: (gst_tee_init):
3058           fix pad template leak in tee
3059
3060 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3061
3062         * gst/glib-compat.c: (g_value_dup_gst_object):
3063         * gst/glib-compat.h:
3064         * gst/gstpad.c: (gst_pad_set_property):
3065           use gst_object_ref when setting the pad template; this will
3066           trigger the pad template leaks on GLib 2.6 and the slaves
3067
3068 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3069
3070         * gst/glib-compat.c: (gst_flags_get_first_value):
3071         * gst/glib-compat.h:
3072         * gst/gstregistryxml.c:
3073           remove functions copied from GLib 2.6
3074
3075 2005-11-16  Michael Smith <msmith@fluendo.com>
3076
3077         * gst/Makefile.am:
3078           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3079           do, but only breaks with newer valgrind versions. We're not a
3080           valgrind tool, we have no link-time dependencies on libcoregrind.
3081
3082 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3083
3084         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3085           some debug changes
3086         * gst/gstmessage.h:
3087           typo fixes
3088
3089 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3090
3091         * gst/base/gstbasesrc.c: (gst_base_src_init):
3092         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3093         * gst/gstqueue.c: (gst_queue_init):
3094         * gst/gstregistryxml.c: (load_feature):
3095           Revert all these unrefs, they don't even pass make check !
3096
3097 2005-11-15  Johan Dahlin  <johan@gnome.org>
3098
3099         * gst/base/gstbasesrc.c: (gst_base_src_init):
3100         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3101         * gst/gstqueue.c: (gst_queue_init): 
3102         Free pad templates, fixes a couple of leaks.
3103
3104 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3105
3106         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3107
3108         * gst/gstpad.c: (gst_pad_get_property):
3109           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3110           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3111           (#321452)
3112
3113 2005-11-15  Wim Taymans  <wim@fluendo.com>
3114
3115         * gst/gstevent.c:
3116         Small doc update.
3117
3118 2005-11-15  Andy Wingo  <wingo@pobox.com>
3119
3120         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3121
3122         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3123         using GST_CLOCK_TIME_NONE to disable base time management.
3124         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3125         time if it was NONE before.
3126         (gst_pipeline_change_state): Only munge the base time if
3127         stream_time != GST_CLOCK_TIME_NONE.
3128
3129         * check/gst/gstpipeline.c (test_base_time): Punt around the
3130         problem of the probe not being called, because that's not the
3131         issue I'm looking at. Add a check that setting stream_time to NONE
3132         disables base time management.
3133         
3134 2005-11-15  Wim Taymans  <wim@fluendo.com>
3135
3136         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3137         segment_stop == -1 at startup.
3138
3139         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3140         (gst_base_transform_change_state):
3141         Init segment values at start.
3142
3143 2005-11-15  Wim Taymans  <wim@fluendo.com>
3144
3145         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3146         0 segment values are 0 in any format.
3147
3148         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3149         * gst/base/gstbasetransform.h:
3150         Parse newsegment correctly in basetransform
3151
3152         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3153         Sync to clock using updated segment values.
3154
3155 2005-11-15  Andy Wingo  <wingo@pobox.com>
3156
3157         * check/gst/gstpipeline.c (test_base_time): Add check that the
3158         base time and stream time are reset correctly.
3159
3160 2005-11-15  Wim Taymans  <wim@fluendo.com>
3161
3162         * docs/design/part-TODO.txt:
3163         Some more TODO items.
3164
3165 2005-11-15  Andy Wingo  <wingo@pobox.com>
3166
3167         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3168         error if the user selected "no clock" as the clocking method.
3169
3170         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3171         timestamps with live capture.
3172
3173         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3174         is 0 but we are a live source, timestamp the buffers using the
3175         element's clock.
3176
3177 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3178
3179         * docs/gst/gstreamer-sections.txt:
3180         * gst/gsterror.c:
3181         * gst/gstghostpad.c:
3182         * gst/gstobject.h:
3183         * gst/gstxml.c:
3184           more section docs
3185
3186 2005-11-14  Wim Taymans  <wim@fluendo.com>
3187
3188         * common/gst.supp:
3189           add suppressions from Wim's Debian machine
3190
3191 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3192
3193         * common/gst.supp:
3194           add suppressions from Andy's AMD64 Ubuntu machine
3195
3196 2005-11-14  Andy Wingo  <wingo@pobox.com>
3197
3198         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3199         STATE_LOCK not necessary. Fixes #311489.
3200
3201         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3202         #305291.
3203
3204         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3205         this function is not implemented.
3206
3207 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3208
3209         * gst/base/gstbasetransform.c:
3210         (gst_base_transform_prepare_output_buf):
3211         Ref the source pad caps while we need them.
3212         Fixes (#321386)
3213
3214 2005-11-11  Wim Taymans  <wim@fluendo.com>
3215
3216         * docs/gst/gstreamer-sections.txt:
3217         Added some docs for GstCollectData.
3218
3219         * gst/base/gstadapter.c:
3220         Some small code example fix.
3221
3222         * gst/base/gstcollectpads.c:
3223         * gst/base/gstcollectpads.h:
3224         Document some more.
3225
3226 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3227
3228         * configure.ac: back to HEAD
3229
3230 === release 0.9.5 ===
3231
3232 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3233
3234         * configure.ac:
3235           releasing 0.9.5, "Bike Lunch Day"
3236
3237 2005-11-11  Wim Taymans  <wim@fluendo.com>
3238
3239         * gst/gstbuffer.c: (_gst_buffer_copy):
3240         Copy more flags.
3241
3242         * gst/gstcaps.c: (gst_caps_is_equal):
3243         Fix some docs.
3244         Make _is_equal fast in the trivial cases.
3245
3246         * gst/gstminiobject.c:
3247         * gst/gstminiobject.h:
3248         More docs. Spifify .h file.
3249
3250         * gst/gstutils.c:
3251         Small doc update.
3252
3253 2005-11-11  Wim Taymans  <wim@fluendo.com>
3254
3255         * gst/base/gstbasetransform.c:
3256         (gst_base_transform_prepare_output_buf),
3257         (gst_base_transform_handle_buffer):
3258         Small cleanups.
3259         If we're processing a buffer and need to allocate an output
3260         buffer, we cannot accept a format change. If we did get a 
3261         format change, we have to alloc a buffer ourselves of the 
3262         right size.
3263
3264 2005-11-11  Wim Taymans  <wim@fluendo.com>
3265
3266         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3267         While checking the flag for reentrancy in the gstcaps function
3268         is nice to detect recursive invocations, it also makes it 
3269         impossible to call getcaps from multiple threads, which must be
3270         possible. So, checking for recursive calls has to go.
3271
3272 2005-11-11  Michael Smith <msmith@fluendo.com>
3273
3274         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3275           Don't sync on buffers that fall partially outside our current
3276           segment. Prevents an assertion failure/abort playing some files.
3277
3278 2005-11-10  Andy Wingo  <wingo@pobox.com>
3279
3280         * check/gst/gstbin.c (test_message_state_changed_children): Style
3281         fix..
3282
3283         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3284         gst_bus_poll with the signal watch. Ensures that poll and a signal
3285         watch see the same messages.
3286
3287         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3288         a poll and a watch at the same time get the same messages.
3289
3290 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3291
3292         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3293         * gst/gstcaps.c: (gst_caps_intersect):
3294           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3295           and it's not needed.
3296
3297 2005-11-10  Wim Taymans  <wim@fluendo.com>
3298
3299         * docs/design/part-TODO.txt:
3300         Updated todo.
3301
3302 2005-11-10  Wim Taymans  <wim@fluendo.com>
3303
3304         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3305         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3306         (gst_base_src_do_sync), (gst_base_src_get_range):
3307         Implement clock sync in base class.
3308
3309 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3310
3311         patch by: Tim-Philipp Müller <tim at centricular dot net>
3312
3313         * gst/gststructure.c: (gst_structure_parse_field),
3314         (gst_structure_from_string):
3315           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3316           so that gst_parse_launch() can deal with spaces in filtered link
3317           caps (fixes #164479)
3318         * check/gst/capslist.h:
3319         * check/gst/gststructure.c: (GST_START_TEST):
3320           add unit tests for this change
3321
3322 2005-11-10  Wim Taymans  <wim@fluendo.com>
3323
3324         * docs/gst/gstreamer-sections.txt:
3325         * gst/gstelement.c:
3326         * gst/gstelement.h:
3327         Fix docs, move some STATE macros to private.
3328
3329 2005-11-10  Wim Taymans  <wim@fluendo.com>
3330
3331         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3332         Added check for bug #317341
3333
3334         * gst/gstbuffer.c:
3335         * gst/gstbuffer.h:
3336         Some more spiffifying.
3337
3338         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3339         Call peer linkfunction if we are a source pad. Totally fixes
3340         #317341
3341
3342         * gst/gstpad.c:
3343         Update docs, source pads should call the peer linkfunction
3344         so they can atomically perform the pad link.
3345
3346 2005-11-09  Wim Taymans  <wim@fluendo.com>
3347
3348         * gst/gstbuffer.c:
3349         * gst/gstbuffer.h:
3350         Uber-spiffy-spiffify some more.
3351
3352 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3353
3354         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3355         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3356         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3357         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3358         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3359         * gst/gstpad.c: (gst_pad_init):
3360           Use GST_DEBUG_FUNCPTR() more extensively.
3361
3362 2005-11-09  Wim Taymans  <wim@fluendo.com>
3363
3364         * gst/gstobject.c: (gst_object_class_init):
3365         * gst/gstobject.h:
3366         Documentation fixes.
3367
3368 2005-11-09  Edward Hervey  <edward@fluendo.com>
3369
3370         * gst/gsttypefindfactory.c:
3371         Fix docs.
3372         
3373 2005-11-09  Edward Hervey  <edward@fluendo.com>
3374
3375         * gst/base/gsttypefindhelper.c:
3376         * gst/gsttypefind.c:
3377         * gst/gsttypefind.h:
3378         Fix docs.
3379
3380 2005-11-09  Wim Taymans  <wim@fluendo.com>
3381
3382         * gst/gstiterator.c:
3383         Fix revision data.
3384
3385         * gst/gsttask.c:
3386         * gst/gsttask.h:
3387         Fix docs.
3388
3389 2005-11-09  Wim Taymans  <wim@fluendo.com>
3390
3391         * gst/gstevent.h:
3392         * gst/gsturi.h:
3393         Fix docs.
3394
3395 2005-11-09  Wim Taymans  <wim@fluendo.com>
3396
3397         * docs/gst/gstreamer-sections.txt:
3398         Moved the message async delivery private lock and cond
3399         to the private section.
3400
3401         * gst/gstmessage.c:
3402         * gst/gstmessage.h:
3403         Fixed docs.
3404
3405 2005-11-09  Edward Hervey  <edward@fluendo.com>
3406
3407         * docs/gst/gstreamer-sections.txt:
3408         * gst/gsturi.c:
3409         * gst/gsturi.h:
3410         Document GstURIHandler
3411
3412 2005-11-09  Wim Taymans  <wim@fluendo.com>
3413
3414         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3415         (gst_iterator_find_custom):
3416         * gst/gstiterator.h:
3417         Fix iterator docs.
3418
3419 2005-11-09  Wim Taymans  <wim@fluendo.com>
3420
3421         * gst/gstbin.h:
3422         Document another field.
3423
3424         * gst/gststructure.c:
3425         * gst/gststructure.h:
3426         Document.
3427
3428 2005-11-09  Wim Taymans  <wim@fluendo.com>
3429
3430         * gst/gstbin.h:
3431         Documented structs.
3432
3433 2005-11-09  Wim Taymans  <wim@fluendo.com>
3434
3435         * docs/gst/gstreamer-sections.txt:
3436         Added some new macros.
3437
3438         * gst/gstclock.c:
3439         * gst/gstclock.h:
3440         * gst/gstobject.h:
3441         Docs updates.
3442
3443 2005-11-09  Wim Taymans  <wim@fluendo.com>
3444
3445         * docs/design/part-TODO.txt:
3446         Some more items for the TODO
3447
3448         * gst/gstcaps.c:
3449         * gst/gstcaps.h:
3450         Document GstCaps.
3451
3452 2005-11-09  Andy Wingo  <wingo@pobox.com>
3453
3454         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3455         to work on something else now tho...
3456
3457         * gst/base/gstadapter.c: More adapter docs.
3458
3459         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3460         (gst_file_sink_stop): New functions, replace the state change
3461         handler.
3462         (gst_file_sink_class_init): Hook up the start and stop functions.
3463         (gst_file_sink_base_init): Don't set the state change handler any
3464         more. It was a bit ugly too, being set from here...
3465         (gst_file_sink_get_property, gst_file_sink_set_property):
3466         Cleanups...
3467         (gst_file_sink_set_location): More robust check that doesn't call
3468         GST_STATE. Ugggggg.
3469
3470 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3471
3472         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3473           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3474
3475 2005-11-08  Wim Taymans  <wim@fluendo.com>
3476
3477         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3478         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3479         (gst_base_sink_chain), (gst_base_sink_change_state):
3480         * gst/base/gstbasesink.h:
3481         * gst/base/gstbasesrc.h:
3482         * gst/gstelement.h:
3483         * gst/gstevent.h:
3484         Avoid excessive typechecking in macros.
3485
3486         * gst/gstminiobject.c: (gst_mini_object_get_type),
3487         (gst_mini_object_init), (gst_mini_object_new),
3488         (gst_mini_object_free):
3489         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3490         (gst_object_finalize):
3491         Remove cruft code, optimize alloc_trace.
3492
3493 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3494
3495         * docs/faq/gst-uninstalled:
3496           fix up PS1 for systems that try to reset it
3497
3498 2005-11-07  Wim Taymans  <wim@fluendo.com>
3499
3500         * gst/base/gstbasesrc.c: (gst_base_src_init),
3501         (gst_base_src_get_range):
3502         Set the segment_end to -1 initially. Fixed typefind.
3503
3504 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3505
3506         * gst/base/gstadapter.c:
3507           Debug category should be 'adapter', not 'GstAdapter'.
3508           
3509         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3510         (gst_collectpads_class_init), (gst_collectpads_init),
3511         (gst_collectpads_peek), (gst_collectpads_pop),
3512         (gst_collectpads_event), (gst_collectpads_chain):
3513           Add debug category and some debugging output. Use boilerplate
3514           macros. Remove some extraneous words from docs.
3515
3516 2005-11-05  Andy Wingo  <wingo@pobox.com>
3517
3518         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3519         macro.
3520
3521 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3522
3523         * docs/gst/gstreamer-sections.txt:
3524         * gst/gstcaps.h:
3525         * gst/gstinfo.c:
3526         * gst/gstminiobject.h:
3527         * gst/gstobject.h:
3528         * gst/gstutils.h:
3529           more docs added
3530
3531 2005-11-04  Wim Taymans  <wim@fluendo.com>
3532
3533         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3534         Small update to stop at the configured segment_end
3535         position.
3536
3537 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3538
3539         * gst/gstregistry.c:
3540         * gst/gstregistry.h:
3541           added missing docs
3542
3543 2005-11-04  Edward Hervey  <edward@fluendo.com>
3544
3545         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3546         Check if we are doing a segment seek and have arrived at the
3547         end of that segment.
3548
3549 2005-11-04  Wim Taymans  <wim@fluendo.com>
3550
3551         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3552         Don't leak a mutex unlock in case of an error.
3553
3554         * gst/gstbus.h:
3555         Doc fixes.
3556
3557 2005-11-04  Wim Taymans  <wim@fluendo.com>
3558
3559         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3560         (gst_bus_post):
3561         Get the context to wake up only once.
3562
3563 2005-11-03  Wim Taymans  <wim@fluendo.com>
3564
3565         * check/states/sinks.c: (GST_START_TEST):
3566         Uncomment fixed check.
3567
3568         * docs/design/part-TODO.txt:
3569         Updated TODO.
3570
3571         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3572         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3573         (gst_base_sink_get_position):
3574         If we are going to PLAYING, post the right pending state
3575         when we post the intermediate paused message.
3576
3577         * gst/gstelement.c: (gst_element_continue_state),
3578         (gst_element_set_state_func), (gst_element_change_state):
3579         Don't post state changes that were between the same state
3580         and were not ASYNC.
3581
3582 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3583
3584         * docs/gst/gstreamer-sections.txt:
3585         * gst/gstcaps.h:
3586         * gst/gstinfo.c:
3587         * gst/gstminiobject.h:
3588         * gst/gstobject.h:
3589         * gst/gstutils.h:
3590           more docs and doc style fixes
3591
3592 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3593
3594         * docs/gst/gstreamer-sections.txt:
3595         * gst/gstelement.c:
3596         * gst/gstminiobject.c:
3597         doc fixes
3598
3599 2005-11-03  Andy Wingo  <wingo@pobox.com>
3600
3601         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3602         state-changed messages actually have the right order and the right
3603         values.
3604
3605 2005-11-03  Wim Taymans  <wim@fluendo.com>
3606
3607         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3608         Added some more checks. Specifically the case where NO_PREROLL
3609         elements are in the pipeline.
3610
3611         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3612         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3613         (gst_base_sink_get_position):
3614         Post READY->PAUSED state change messages too.
3615         Fix bug where VOID was posted as pending state...
3616
3617         * gst/gstbin.c: (gst_bin_recalc_state):
3618         use _element_continue_state() to continue the state change.
3619
3620         * gst/gstelement.c: (gst_element_continue_state),
3621         (gst_element_commit_state), (gst_element_set_state_func),
3622         (gst_element_change_state), (gst_element_change_state_func):
3623         Lots of state change cleanups, assign the STATE_RETURN in
3624         a new continue_state() function that also propagates the
3625         last return value from a state change to the app.
3626         Update some debug statements with proper category.
3627
3628 2005-11-03  Wim Taymans  <wim@fluendo.com>
3629
3630         * docs/design/part-events.txt:
3631         * docs/design/part-gstpipeline.txt:
3632         * docs/design/part-messages.txt:
3633         * docs/design/part-overview.txt:
3634         * docs/design/part-seeking.txt:
3635         * docs/design/part-states.txt:
3636         * docs/design/part-trickmodes.txt:
3637         * docs/manual/advanced-position.xml:
3638         Small docs updates.
3639
3640         * gst/gstobject.h:
3641         People think !! is ugly, this looks better.
3642
3643         * gst/gstpad.c: (gst_pad_set_blocked_async):
3644         Remove !! since it's fixed elsewhere now.
3645
3646 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3647
3648         * gst/gstminiobject.h:
3649         * gst/gstobject.h:
3650           Add !! to _FLAG_IS_SET macros to make the result boolean.
3651
3652 2005-11-03  Edward Hervey  <edward@fluendo.com>
3653
3654         * gst/gstpad.c: (gst_pad_set_blocked_async):
3655         comparing a flag and a gboolean rarely returns coherent results...
3656         Added two characters (!!) to make that work correctly.
3657         
3658 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3659
3660         * gst/gstbus.c: (gst_bus_class_init):
3661           Fix some typos.
3662           
3663         * gst/gstqueue.c: (gst_queue_loop):
3664           Don't assume a miniobject that isn't a buffer is an
3665           event (it could be that there is a refcounting
3666           problem somewhere and the pointer is stale and
3667           refers to an already destroyed miniobject).
3668
3669 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3670
3671         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3672
3673 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3674
3675         * docs/manual/advanced-position.xml:
3676           Update seek example and explanations to current 0.9 API.
3677
3678         * gst/elements/gsttypefindelement.c:
3679         (gst_type_find_element_activate):
3680           Remove FIXME comment now that the found caps
3681           are unreffed.
3682
3683 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3684
3685         * gst/gstregistryxml.c: (load_feature):
3686           Add another GST_STR_NULL instance
3687
3688 2005-11-02  Edward Hervey  <edward@fluendo.com>
3689
3690         * gst/gstpad.c: (handle_pad_block):
3691         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3692         
3693 2005-11-02  Wim Taymans  <wim@fluendo.com>
3694
3695         * gst/gstbin.c:
3696         Fix typo in docs.
3697
3698         * gst/gstelement.c: (gst_element_commit_state):
3699         Remove unused value.
3700
3701         * gst/gstiterator.c:
3702         Mention that the returned element is reffed in the docs.
3703
3704 2005-11-02  Wim Taymans  <wim@fluendo.com>
3705
3706         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3707         (gst_pad_push), (gst_pad_push_event):
3708         Unlock blocked pads when they are flushed.
3709
3710 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3711
3712         * docs/README:
3713         * docs/gst/gstreamer-sections.txt:
3714         * gst/gstbin.c:
3715           doc updates
3716         * gst/gstregistry.c: (gst_registry_scan_path_level):
3717           fix for a nasty little missed situation where an installed plug-in
3718           which was in the cache did not get overridden by an uninstalled one
3719           which was earlier in the plugin path because the newly created plugin
3720           for the uninstalled one (not in the registry) didn't get its
3721           ->registered set to TRUE
3722
3723 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3724
3725         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3726         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3727         (gst_collectpads_is_active), (gst_collectpads_collect),
3728         (gst_collectpads_collect_range), (gst_collectpads_start),
3729         (gst_collectpads_stop), (gst_collectpads_peek),
3730         (gst_collectpads_pop), (gst_collectpads_available),
3731         (gst_collectpads_read), (gst_collectpads_flush):
3732           Guard public API with assertions.
3733         
3734         * gst/gstpad.c:
3735           Fix docs for gst_pad_set_link_function().
3736
3737 2005-11-02  Johan Dahlin  <johan@gnome.org>
3738
3739         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3740         Unref found_caps after we used it.
3741
3742 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3743
3744         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3745           Don't try to ref NULL.
3746
3747 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3748
3749         * win32/common/config.h.in:
3750           provide a GST_FUNCTION that just gives a string for now
3751
3752 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3753
3754         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3755         (gst_object_flags_get_type), (register_gst_bin_flags),
3756         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3757         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3758         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3759         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3760         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3761         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3762         (gst_clock_flags_get_type), (register_gst_state),
3763         (gst_state_get_type), (register_gst_state_change_return),
3764         (gst_state_change_return_get_type), (register_gst_state_change),
3765         (gst_state_change_get_type), (register_gst_element_flags),
3766         (gst_element_flags_get_type), (register_gst_core_error),
3767         (gst_core_error_get_type), (register_gst_library_error),
3768         (gst_library_error_get_type), (register_gst_resource_error),
3769         (gst_resource_error_get_type), (register_gst_stream_error),
3770         (gst_stream_error_get_type), (register_gst_event_type),
3771         (gst_event_type_get_type), (register_gst_seek_type),
3772         (gst_seek_type_get_type), (register_gst_seek_flags),
3773         (gst_seek_flags_get_type), (register_gst_format),
3774         (gst_format_get_type), (register_gst_index_certainty),
3775         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3776         (gst_index_entry_type_get_type),
3777         (register_gst_index_lookup_method),
3778         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3779         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3780         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3781         (gst_index_flags_get_type), (register_gst_debug_level),
3782         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3783         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3784         (gst_iterator_result_get_type), (register_gst_iterator_item),
3785         (gst_iterator_item_get_type), (register_gst_message_type),
3786         (gst_message_type_get_type), (register_gst_mini_object_flags),
3787         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3788         (gst_pad_link_return_get_type), (register_gst_flow_return),
3789         (gst_flow_return_get_type), (register_gst_activate_mode),
3790         (gst_activate_mode_get_type), (register_gst_pad_direction),
3791         (gst_pad_direction_get_type), (register_gst_pad_flags),
3792         (gst_pad_flags_get_type), (register_gst_pad_presence),
3793         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3794         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3795         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3796         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3797         (gst_plugin_flags_get_type), (register_gst_rank),
3798         (gst_rank_get_type), (register_gst_query_type),
3799         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3800         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3801         (gst_tag_flag_get_type), (register_gst_task_state),
3802         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3803         (gst_alloc_trace_flags_get_type),
3804         (register_gst_type_find_probability),
3805         (gst_type_find_probability_get_type), (register_gst_uri_type),
3806         (gst_uri_type_get_type), (register_gst_parse_error),
3807         (gst_parse_error_get_type):
3808         * win32/common/gstversion.h:
3809           update win32 copies
3810
3811 2005-11-01  Luca Ognibene  <luogni@tin.it>
3812
3813         * gst/gst.c:
3814           fix docs. popt is dead, long live GOption.
3815
3816 2005-10-31  Wim Taymans  <wim@fluendo.com>
3817
3818         * gst/gstbuffer.h:
3819         Small doc fix.
3820
3821 2005-10-31  Andy Wingo  <wingo@pobox.com>
3822
3823         * Boo!
3824
3825         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3826
3827         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3828         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3829         the possibility of deadlocks here if code calling notify() or
3830         set() has a lock that can be taken in another notify handler (ABBA
3831         with class lock and e.g. python GIL state lock).
3832
3833 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3834
3835         * gst/gstbus.c: Doc updates.
3836
3837 2005-10-28  Wim Taymans  <wim@fluendo.com>
3838
3839         * docs/design/part-TODO.txt:
3840         * gst/gstiterator.c:
3841         * gst/gstsystemclock.c:
3842         * gst/gstsystemclock.h:
3843         Doc updates.
3844
3845 2005-10-28  Edward Hervey  <edward@fluendo.com>
3846
3847         * docs/gst/gstreamer-docs.sgml:
3848         * docs/gst/gstreamer-sections.txt:
3849         the GstURIType documentation page is private, it only defines GstURIType
3850         which should be defined in the GstURIHandler page
3851         
3852 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3853
3854         * gst/gstbin.c: (gst_bin_class_init):
3855         * gst/gstbin.h:
3856         * gst/gstutils.c:
3857         Documentation updates.
3858
3859 2005-10-28  Wim Taymans  <wim@fluendo.com>
3860
3861         * docs/gst/gstreamer-sections.txt:
3862         * gst/gstclock.c:
3863         * gst/gstclock.h:
3864         Documented the clocks.
3865
3866 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3867
3868         * docs/gst/gstreamer-sections.txt:
3869           move some macros to private sections
3870         * gst/gstminiobject.c:
3871         * gst/gstminiobject.h:
3872           add descriptions provided by ds and some more
3873         * gst/gstpad.h:
3874           mark macro as to be removed
3875
3876 2005-10-28  Wim Taymans  <wim@fluendo.com>
3877
3878         * docs/design/part-TODO.txt:
3879         Add an item to TODO.
3880
3881         * gst/gstiterator.c: (gst_iterator_fold),
3882         (gst_iterator_find_custom):
3883         * gst/gstiterator.h:
3884         Add iterator docs.
3885
3886 2005-10-28  Wim Taymans  <wim@fluendo.com>
3887
3888         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3889         (gst_base_transform_init):
3890         Don't leak class.
3891
3892         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3893         An EOS event marks the queue as completely filled.
3894
3895 2005-10-27  Wim Taymans  <wim@fluendo.com>
3896
3897         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3898         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3899         Some more debugging.
3900
3901         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3902         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3903         (gst_base_transform_event), (gst_base_transform_getrange),
3904         (gst_base_transform_chain):
3905         * gst/base/gstbasetransform.h:
3906         Fix debugging,
3907         Protect transform and concurrent buffer alloc with a new lock.
3908         Try not to break ABI/API.
3909
3910 2005-10-27  Wim Taymans  <wim@fluendo.com>
3911
3912         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3913         (gst_base_src_init), (gst_base_src_query),
3914         (gst_base_src_default_newsegment),
3915         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3916         (gst_base_src_send_event), (gst_base_src_event_handler),
3917         (gst_base_src_pad_get_range), (gst_base_src_loop),
3918         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3919         (gst_base_src_start), (gst_base_src_deactivate),
3920         (gst_base_src_activate_push), (gst_base_src_change_state):
3921         Move some stuff around and cleanup things.
3922
3923 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3924
3925         * gst/base/gstbasesrc.c: (gst_base_src_query):
3926           Add missing break statements.
3927
3928 2005-10-27  Wim Taymans  <wim@fluendo.com>
3929
3930         * check/gst/gstbin.c: (GST_START_TEST):
3931         An extra refcount is taken in basesrc.
3932
3933         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3934         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3935         (gst_base_src_loop):
3936         Small cleanups, check for flushing after being unlocked from the 
3937         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3938         Don't send out EOS when going to READY.
3939
3940 2005-10-27  Wim Taymans  <wim@fluendo.com>
3941
3942         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3943         (gst_base_sink_get_position):
3944         Some more debug.
3945
3946         * gst/gstbin.c: (message_check), (bin_replace_message),
3947         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3948         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3949         (bin_query_duration_init), (bin_query_duration_fold),
3950         (bin_query_duration_done), (bin_query_generic_fold),
3951         (gst_bin_query):
3952         * tools/gst-launch.c: (main):
3953         Remove old option.
3954
3955 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3956
3957         * examples/controller/audio-example.c: (main):
3958         * examples/queue/queue.c: (event_loop):
3959         * gst/base/gstbasetransform.h:
3960         * gst/gstelement.c: (gst_element_send_event):
3961         * gst/gstevent.h:
3962         * gst/gstpad.c: (gst_pad_send_event):
3963           fixing examples
3964           fixing docs typos
3965           changing log priority in error situations
3966
3967 2005-10-25  Wim Taymans  <wim@fluendo.com>
3968
3969         * gst/gstbin.c: (message_check), (bin_replace_message),
3970         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3971         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3972         (bin_query_duration_init), (bin_query_duration_fold),
3973         (bin_query_duration_done), (bin_query_generic_fold),
3974         (gst_bin_query):
3975         Some doc and debug updates.
3976         Cache previously requested query DURATION for speed. invalidate
3977         cached duration if element posts a DURATION message.
3978
3979 2005-10-25  Wim Taymans  <wim@fluendo.com>
3980
3981         * docs/design/part-TODO.txt:
3982         Update TODO.
3983
3984         * gst/gstbin.c: (message_check), (bin_replace_message),
3985         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3986         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3987         (bin_query_duration_init), (bin_query_duration_fold),
3988         (bin_query_duration_done), (bin_query_generic_fold),
3989         (gst_bin_query):
3990         Handle SEGMENT_START/DONE messages correctly.
3991         More evolved query algorithm that handles duration queries
3992         correctly.
3993
3994         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3995         (gst_element_get_state_func), (gst_element_abort_state),
3996         (gst_element_commit_state), (gst_element_lost_state):
3997         Some more debugging.
3998
3999         * gst/gstmessage.h:
4000         Added doc.
4001
4002 2005-10-25  Wim Taymans  <wim@fluendo.com>
4003
4004         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4005         Don't use invalid stream_time.
4006
4007         * gst/gstevent.c: (gst_event_new_newsegment):
4008         stream_time in newsegment cannot be undefined.
4009
4010 2005-10-24  Wim Taymans  <wim@fluendo.com>
4011
4012         * gst/gstbus.c:
4013         Doc fix.
4014
4015         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4016         (gst_queue_loop):
4017         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4018
4019 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4020
4021         * docs/libs/tmpl/gstdparam.sgml:
4022         * docs/libs/tmpl/gstdplinint.sgml:
4023         * docs/libs/tmpl/gstdpman.sgml:
4024         * docs/libs/tmpl/gstdpsmooth.sgml:
4025         * docs/libs/tmpl/gstunitconvert.sgml:
4026           these are obsolete
4027
4028 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4029
4030         * configure.ac:
4031           back to HEAD
4032
4033 === release 0.9.4 ===
4034
4035 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4036
4037         * configure.ac:
4038           releasing 0.9.4, "Tyrannosaurus Rex"
4039
4040 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4041
4042         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4043         (gst_file_sink_get_current_offset):
4044           Use fseeko() and ftello() if available. When falling back on
4045           lseek() to get the current offset, fflush() first to make sure
4046           everything is up-to-date and we get the right offset.
4047
4048 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4049
4050         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4051         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4052         * gst/gsterror.c: (_gst_stream_errors_init):
4053         * gst/gsterror.h:
4054         * gst/gstqueue.c: (gst_queue_loop):
4055         * po/POTFILES.in:
4056           remove prematurely added error category and clean up the instances
4057
4058 2005-10-21  Wim Taymans  <wim@fluendo.com>
4059
4060         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4061         (gst_base_sink_get_position), (gst_base_sink_query),
4062         (gst_base_sink_change_state):
4063         Simply set the right flag when going to playing, that's all
4064         we need to do instead of calling a function inside the object
4065         lock (that could take the lock as well and deadlock)
4066
4067 2005-10-21  Wim Taymans  <wim@fluendo.com>
4068
4069         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4070         (gst_base_src_loop):
4071         Don't warn, the peer element knows what to do best when
4072         the seek failed, it might try something else.
4073
4074 2005-10-21  Wim Taymans  <wim@fluendo.com>
4075
4076         * gst/base/gstbasesrc.c: (gst_base_src_init),
4077         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4078         Fix seeking.
4079
4080 2005-10-21  Wim Taymans  <wim@fluendo.com>
4081
4082         * docs/design/part-segments.txt:
4083         More docs.
4084
4085         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4086         Correctly set caps, even on the subbufer.
4087
4088 2005-10-21  Wim Taymans  <wim@fluendo.com>
4089
4090         * docs/gst/gstreamer-docs.sgml:
4091         * docs/gst/gstreamer-sections.txt:
4092         * gst/gstelement.h:
4093         * gst/gstevent.c:
4094         * gst/gstevent.h:
4095         * gst/gstmessage.h:
4096         * gst/gstpad.h:
4097         * gst/gstparse.h:
4098         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4099         * gst/gsttask.h:
4100         * gst/gstutils.c:
4101         * gst/gstutils.h:
4102         And 2% more doc coverage.
4103
4104 2005-10-21  Andy Wingo  <wingo@pobox.com>
4105
4106         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4107         position reporting.
4108
4109 2005-10-20  Wim Taymans  <wim@fluendo.com>
4110
4111         * gst/gsterror.c: (gst_error_get_message):
4112         * gst/gstparse.h:
4113         * gst/gstquery.h:
4114         * gst/gststructure.c:
4115         * gst/gsttrace.c:
4116         * gst/gstutils.c:
4117         More docs.
4118
4119 2005-10-20  Wim Taymans  <wim@fluendo.com>
4120
4121         * gst/gstbuffer.h:
4122         * gst/gstpad.c:
4123         * gst/gstparse.c:
4124         Another 1% more coverage.
4125
4126 2005-10-20  Wim Taymans  <wim@fluendo.com>
4127
4128         * docs/gst/gstreamer-sections.txt:
4129         * gst/gstelement.c: (gst_element_get_state_func),
4130         (gst_element_abort_state), (gst_element_commit_state),
4131         (gst_element_lost_state):
4132         * gst/gstevent.h:
4133         * gst/gstquery.c: (gst_query_set_position),
4134         (gst_query_parse_position), (gst_query_set_duration),
4135         (gst_query_parse_duration), (gst_query_new_convert):
4136         * gst/gstutils.c:
4137         Yay! 1% more docs coverage.
4138
4139 2005-10-20  Wim Taymans  <wim@fluendo.com>
4140
4141         * gst/gstpad.h:
4142         * gst/gstquery.c: (gst_query_set_position),
4143         (gst_query_parse_position), (gst_query_set_duration),
4144         (gst_query_parse_duration), (gst_query_new_convert):
4145         * gst/gstquery.h:
4146         * gst/gstutils.c: (gst_element_query_convert):
4147         * gst/gstutils.h:
4148         Docs and consistency fixes.
4149
4150 2005-10-20  Wim Taymans  <wim@fluendo.com>
4151
4152         * gst/gsttask.c:
4153         * gst/gsttask.h:
4154         More docs.
4155
4156 2005-10-20  Wim Taymans  <wim@fluendo.com>
4157
4158         * gst/gstbin.c: (message_check), (bin_replace_message),
4159         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4160         (update_degree), (gst_bin_sort_iterator_next),
4161         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4162         Reworked the message handling a bit, cache the messages instead of
4163         only the senders. alows us to do more in the future.
4164
4165 2005-10-20  Wim Taymans  <wim@fluendo.com>
4166
4167         * docs/design/part-TODO.txt:
4168         Update TODO
4169
4170         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4171         (gst_base_sink_query):
4172         Don't use clock time to report position when in EOS.
4173
4174 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4175
4176         * tools/gst-inspect.c: (print_interfaces),
4177         (print_element_properties_info), (print_element_info):
4178           Fix interface output with gst-inspect -a; don't print
4179           newlines after double/float properties.
4180
4181 2005-10-20  Wim Taymans  <wim@fluendo.com>
4182
4183         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4184         (gst_base_sink_query):
4185         Speed up current position calculation.
4186
4187         * gst/base/gstbasesrc.c: (gst_base_src_query),
4188         (gst_base_src_default_newsegment):
4189         Correctly set stream position in newsegment.
4190
4191         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4192         (update_degree), (gst_bin_sort_iterator_next),
4193         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4194         * gst/gstmessage.c: (gst_message_new_custom):
4195         Clean up debugging info
4196
4197         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4198         (gst_queue_loop), (gst_queue_handle_src_query):
4199         Pause task faster.
4200
4201 2005-10-19  Wim Taymans  <wim@fluendo.com>
4202
4203         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4204         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4205         Fix query handling again.
4206
4207 2005-10-19  Wim Taymans  <wim@fluendo.com>
4208
4209         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4210         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4211         * gst/base/gstbasesrc.c: (gst_base_src_query):
4212         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4213         * gst/elements/gsttypefindelement.c:
4214         (gst_type_find_handle_src_query), (find_element_get_length),
4215         (gst_type_find_element_activate):
4216         API change fix.
4217
4218         * gst/gstquery.c: (gst_query_new_position),
4219         (gst_query_set_position), (gst_query_parse_position),
4220         (gst_query_new_duration), (gst_query_set_duration),
4221         (gst_query_parse_duration), (gst_query_set_segment),
4222         (gst_query_parse_segment):
4223         * gst/gstquery.h:
4224         Bundling query position/duration is not a good idea since duration
4225         does not change much and we don't want to recalculate it for every
4226         position query, so they are separated again..
4227         Base value in segment query is not needed.
4228
4229         * gst/gstqueue.c: (gst_queue_handle_src_query):
4230         * gst/gstutils.c: (gst_element_query_position),
4231         (gst_element_query_duration), (gst_pad_query_position),
4232         (gst_pad_query_duration):
4233         * gst/gstutils.h:
4234         Updates for query API change.
4235         Added some docs here and there.
4236
4237 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4238
4239         * check/gst/gstbin.c: (GST_START_TEST):
4240         * check/gst/gstghostpad.c: (GST_START_TEST):
4241         * check/pipelines/cleanup.c: (GST_START_TEST):
4242           wait on thread to die so we can check refcount correctly
4243
4244 2005-10-18  Wim Taymans  <wim@fluendo.com>
4245
4246         * check/pipelines/stress.c: (GST_START_TEST):
4247         Make check a little more time consuming.
4248
4249 2005-10-18  Wim Taymans  <wim@fluendo.com>
4250
4251         * check/Makefile.am:
4252         * check/pipelines/stress.c: (GST_START_TEST),
4253         (simple_launch_lines_suite), (main):
4254         Small state change torture test.
4255
4256         * docs/design/part-states.txt:
4257         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4258         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4259         (gst_base_sink_change_state):
4260         Never take state lock from streaming thread, clean up ugly
4261         hacks. Unfortunatly core does not yet support nice ways to
4262         async commit state.
4263         
4264         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4265         (bin_bus_handler):
4266         Start state recalc if a STATE_DIRTY message is posted, but only
4267         on the toplevel bin.
4268
4269         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4270         (gst_element_get_state_func), (gst_element_abort_state),
4271         (gst_element_commit_state), (gst_element_lost_state),
4272         (gst_element_set_state_func), (gst_element_change_state):
4273         * gst/gstelement.h:
4274         State variables are now protected with the LOCK, the state
4275         lock is only used to serialize _set_state().
4276
4277 2005-10-18  Wim Taymans  <wim@fluendo.com>
4278
4279         * check/gst/gstbin.c: (GST_START_TEST):
4280         * check/gst/gstmessage.c: (GST_START_TEST):
4281         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4282         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4283         (bin_bus_handler):
4284         * gst/gstelement.c: (gst_element_abort_state),
4285         (gst_element_commit_state), (gst_element_lost_state):
4286         * gst/gstmessage.c: (gst_message_new_state_changed),
4287         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4288         (gst_message_new_segment_done), (gst_message_new_duration),
4289         (gst_message_parse_state_changed),
4290         (gst_message_parse_segment_start),
4291         (gst_message_parse_segment_done), (gst_message_parse_duration):
4292         * gst/gstmessage.h:
4293         * tools/gst-launch.c: (event_loop):
4294         Seriously, this is better than a previous commit as we only need
4295         to notify the fact that an element changed state in a streaming
4296         thread, marking the state of the parents dirty, hence the 
4297         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4298         message.
4299
4300 2005-10-18  Wim Taymans  <wim@fluendo.com>
4301
4302         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4303         (gst_bin_recalc_func):
4304         * gst/gstelement.c: (gst_element_set_clock),
4305         (gst_element_abort_state), (gst_element_lost_state):
4306         Cleanups, prepare for state change fixes.
4307
4308 2005-10-18  Wim Taymans  <wim@fluendo.com>
4309
4310         * gst/gstbin.h:
4311         * gst/gstelement.c: (gst_element_class_init),
4312         (gst_element_set_state), (gst_element_set_state_func):
4313         * gst/gstelement.h:
4314         Pending ABI changes.
4315         GThreadPool in GstBinClass to monitor async state changes.
4316         state_cookie in GstElement to detect concurrent gst/set state.
4317         set_state is now virtual too in case a very complicated element
4318         has to be constructed.
4319
4320 2005-10-18  Wim Taymans  <wim@fluendo.com>
4321
4322         * check/gst/gstbin.c: (GST_START_TEST):
4323         * check/gst/gstmessage.c: (GST_START_TEST):
4324         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4325         * gst/gstbin.c: (bin_bus_handler):
4326         * gst/gstelement.c: (gst_element_commit_state),
4327         (gst_element_lost_state):
4328         * gst/gstmessage.c: (gst_message_new_state_changed),
4329         (gst_message_new_segment_start), (gst_message_new_segment_done),
4330         (gst_message_new_duration), (gst_message_parse_state_changed),
4331         (gst_message_parse_segment_start),
4332         (gst_message_parse_segment_done), (gst_message_parse_duration):
4333         * gst/gstmessage.h:
4334         * tools/gst-launch.c: (event_loop):
4335         Make messages future proof.
4336         state-change gets a flag if it was a message comming from the
4337         streaming thread.
4338         segment-start/stop can also be specified in other formats.
4339         A message to notify an app that a pipeline changed playback 
4340         duration.
4341         Also fix a GstMessage leak in -launch
4342
4343 2005-10-18  Andy Wingo  <wingo@pobox.com>
4344
4345         * gst/gstelement.c (gst_element_dispose): More helpful message.
4346
4347 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4348
4349         reviewed by: <delete if not using a buddy>
4350
4351         * common/gtk-doc.mak:
4352
4353 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4354
4355         * gst/gstregistry.c: (gst_registry_scan_path_level):
4356           unref a plug-in we get that was already initialized
4357
4358 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4359
4360         * docs/gst/gstreamer-sections.txt:
4361         * docs/libs/gstreamer-libs-sections.txt:
4362         * gst/gstelement.h:
4363           add new api entries
4364           hide internal macro
4365
4366 2005-10-17  Andy Wingo  <wingo@pobox.com>
4367
4368         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4369         cleanup.
4370
4371         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4372
4373         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4374
4375         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4376         (gst_element_get_state_func): Better debug message.
4377         (gst_element_commit_state): s/INFO/DEBUG/.
4378         (gst_element_lost_state, gst_element_change_state): 
4379
4380         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4381         (gst_message_new_custom): s/INFO/LOG/.
4382
4383 2005-10-17  Michael Smith <msmith@fluendo.com>
4384
4385         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4386           Check if end time is valid using end time, not start time.
4387
4388 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4389
4390         * check/gst-libs/controller.c: (GST_START_TEST),
4391         (gst_controller_suite):
4392         * libs/gst/controller/gstcontroller.c:
4393         (gst_controlled_property_set_interpolation_mode):
4394         * libs/gst/controller/gstcontroller.h:
4395         * libs/gst/controller/gstinterpolation.c:
4396         * testsuite/controller/.cvsignore:
4397         * testsuite/controller/Makefile.am:
4398         * testsuite/controller/interpolator.c:
4399           merge controller testsuites
4400           fix broken tests
4401           remove mem-chunk from docs
4402
4403 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4404
4405         * gst/gstmemchunk.c:
4406         * gst/gstmemchunk.h:
4407         * gst/gsttrashstack.c:
4408         * gst/gsttrashstack.h:
4409           out.  get out.  you're fired.  to the Attic !
4410
4411 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4412
4413         * gst/gstcaps.c: (gst_caps_intersect):
4414           fix signedness issues in a (hopefully) correct way
4415         * gst/gstelement.c: (gst_element_pads_activate):
4416           some debugging
4417         * gst/gstobject.c: (gst_object_set_parent):
4418           some debugging
4419
4420 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4421
4422         * gst/gstvalue.h: Fix prototypes.
4423
4424 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4425
4426         * docs/gst/gstreamer-sections.txt:
4427         * gst/gst.c: (gst_version_string):
4428         * gst/gst.h:
4429         * gst/gstversion.h.in:
4430         * win32/common/libgstreamer.def:
4431           add gst_version_string ()
4432
4433 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4434
4435         * configure.ac:
4436           clean up further
4437         * gst/gst.c: (init_post):
4438         * win32/common/config.h.in:
4439           it's PLUGINDIR now
4440         * gst/gstcaps.c: (gst_caps_intersect):
4441           use gint64, the range could be bigger than a guint
4442
4443 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4444
4445         * gst/gstclock.h:
4446           document potential problem in 2038
4447
4448 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4449
4450         * gst/gstcaps.c: (gst_caps_intersect):
4451           Fix guint j diving under 0
4452
4453 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4454
4455         * configure.ac:
4456         * win32/common/config.h:
4457         * win32/common/config.h.in:
4458           check for process.h, declares getpid() on Windows
4459         * gst/gstinfo.c:
4460           include process.h if we have it
4461         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4462         * gst/gstmemchunk.h:
4463           fix signedness issues
4464         * win32/common/libgstreamer.def:
4465           fix get_type's
4466
4467 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4468
4469         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4470         fix. Because of unsigned ints, caps intersection was going nuts and
4471         trying to access structures with G_MAXUINT index. That fixes
4472         videotestsrc ! ffmpegcolorspace ! fakesink
4473         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4474         consistency.
4475
4476 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4477
4478         * configure.ac:
4479           use the gettext macro
4480         * gst/elements/gstelements.c:
4481         * gst/gst.c:
4482         * gst/indexers/gstindexers.c:
4483           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4484         * win32/common/config.h:
4485           updated config.h
4486         * win32/common/config.h.in:
4487           add the template to generate config.h
4488         * win32/common/gstenumtypes.c:
4489         * win32/common/gstversion.h:
4490           updated copies
4491
4492 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4493
4494         * gst/gst.c: (gst_version):
4495         * gst/gstversion.h.in:
4496           add the nano
4497
4498 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4499
4500         * gst/gstevent.h:
4501           Oops, add missing closing bracket.
4502
4503 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4504
4505         * configure.ac:
4506           use common m4's for argument checking
4507
4508 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4509
4510         * docs/gst/gstreamer-sections.txt:
4511         * gst/gstevent.h:
4512           Add GST_EVENT_TYPE_NAME() macro.
4513
4514 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4515
4516         * gst/gstinfo.c:
4517         * gst/gstpluginfeature.c:
4518         * gst/gsttask.c:
4519           privatize more symbols
4520
4521 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4522
4523         * configure.ac:
4524           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4525           everything that uses GStreamer API should have the includes
4526
4527 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4528
4529         * docs/gst/gstreamer-sections.txt:
4530         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4531         * gst/gstvalue.h:
4532           give each value a _get_type, removes the DATA exports
4533
4534 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4535
4536         * gst/gst.c:
4537         * gst/gst.h:
4538           remove _gst_registry_auto_load, not used anymore
4539         * gst/gstbin.c: (gst_bin_get_type):
4540         * gst/gstbin.h:
4541         * gst/gstelement.c: (gst_element_get_type):
4542         * gst/gstelement.h:
4543         * gst/gstobject.c: (gst_object_get_type):
4544         * gst/gstobject.h:
4545         * gst/gstpad.c: (gst_pad_get_type):
4546         * gst/gstpad.h:
4547           make _get_type functions similar, fixes data export from library
4548
4549 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4550
4551         * configure.ac:
4552           correctly make conditionals
4553         * gst/elements/Makefile.am:
4554         * gst/elements/gstelements.c:
4555           fix typo causing fdsrc not to build
4556
4557 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4558
4559         * testsuite/Makefile.am:
4560         * testsuite/bytestream/.cvsignore:
4561         * testsuite/bytestream/Makefile.am:
4562         * testsuite/bytestream/filepadsink.c:
4563         * testsuite/bytestream/gstbstest.c:
4564         * testsuite/bytestream/test1.c:
4565         * testsuite/bytestream/testfile1:
4566         * testsuite/caps/normalisation.c:
4567         * testsuite/caps/random.c: (main):
4568         * testsuite/cleanup/.cvsignore:
4569         * testsuite/cleanup/Makefile.am:
4570         * testsuite/cleanup/cleanup1.c:
4571         * testsuite/cleanup/cleanup2.c:
4572         * testsuite/cleanup/cleanup3.c:
4573         * testsuite/cleanup/cleanup4.c:
4574         * testsuite/cleanup/cleanup5.c:
4575         * testsuite/controller/interpolator.c:
4576         * testsuite/debug/printf_extension.c: (main):
4577         * testsuite/elements/tee.c:
4578         * testsuite/negotiation/.cvsignore:
4579         * testsuite/negotiation/Makefile.am:
4580         * testsuite/negotiation/pad_link.c:
4581         * testsuite/pad/Makefile.am:
4582         * testsuite/pad/chainnopull.c:
4583         * testsuite/pad/getnopush.c:
4584         * testsuite/pad/link.c:
4585         * testsuite/refcounting/sched.c: (create_pipeline):
4586         * testsuite/registry/Makefile.am:
4587         * testsuite/registry/gst-print-formats.c:
4588         * testsuite/schedulers/.cvsignore:
4589         * testsuite/schedulers/142183-2.c:
4590         * testsuite/schedulers/142183.c:
4591         * testsuite/schedulers/143777-2.c:
4592         * testsuite/schedulers/143777.c:
4593         * testsuite/schedulers/147713.c:
4594         * testsuite/schedulers/147819.c:
4595         * testsuite/schedulers/147894-2.c:
4596         * testsuite/schedulers/147894.c:
4597         * testsuite/schedulers/Makefile.am:
4598         * testsuite/schedulers/group_link.c:
4599         * testsuite/schedulers/queue_link.c:
4600         * testsuite/schedulers/relink.c:
4601         * testsuite/schedulers/unlink.c:
4602         * testsuite/schedulers/unref.c:
4603         * testsuite/schedulers/useless_iteration.c:
4604         * testsuite/states/bin.c:
4605           clean out/remove some stuff from the testsuite directories
4606
4607 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4608
4609         * configure.ac:
4610           check for some headers
4611         * gst/elements/Makefile.am:
4612         * gst/elements/gstelements.c:
4613           don't compile fdsrc without sys/socket.h
4614         * gst/indexers/Makefile.am:
4615         * gst/indexers/gstindexers.c: (plugin_init):
4616           don't compile fileindex without mmap
4617
4618 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4619
4620         * configure.ac:
4621           reorganize
4622           clean up
4623           document more
4624           remove cruft
4625         * check/Makefile.am:
4626         * docs/gst/Makefile.am:
4627         * examples/helloworld/Makefile.am:
4628         * gst/Makefile.am:
4629         * gst/base/Makefile.am:
4630         * gst/check/Makefile.am:
4631         * gst/elements/Makefile.am:
4632         * gst/indexers/Makefile.am:
4633         * gst/parse/Makefile.am:
4634         * libs/gst/controller/Makefile.am:
4635         * libs/gst/dataprotocol/Makefile.am:
4636         * examples/helloworld/helloworld.c: (event_loop):
4637           compile fixes, though it's not being compiled currently
4638
4639 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4640
4641         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4642           Add some simple tests for the new taglist date API.
4643
4644 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4645
4646         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4647         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4648           Beautify 'last-message' output: print 'none' for buffer timestamps
4649           and durations if none is set; improve alignment with next messages.
4650
4651 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4652
4653         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4654         * gst/gstpluginfeature.h:
4655         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4656         * gst/gstregistry.h:
4657         * docs/gst/gstreamer-sections.txt:
4658           Add new API to check plugin feature version requirements.
4659
4660         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4661           Some basic tests for the above.         
4662
4663 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4664
4665         * gst/gststructure.c: (gst_structure_to_string):
4666           guard against NULL printf - happens when for example
4667           a message structure with GstClock gets serialized
4668
4669 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4670
4671         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4672           Fix presumable copy'n'pasto.
4673
4674 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4675
4676         * gst/elements/gstfakesrc.h:
4677         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4678         * gst/elements/gsttypefindelement.c:
4679           fix some signedness
4680         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4681           I wonder if this could actually write +2GB files before
4682
4683 2005-10-13  Andy Wingo  <wingo@pobox.com>
4684
4685         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4686         Fix Timmeke Waymans bug.
4687         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4688         string of the proper length to gst_caps_from_string. There's a
4689         potential for, before this fix, that this could cause someone
4690         connecting over the network to cause a segfault if the payload is
4691         not NUL-terminated.
4692
4693 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4694
4695         * docs/design/draft-push-pull.txt:
4696         * docs/design/part-overview.txt:
4697         * docs/random/TODO-pre-0.9:
4698         * docs/random/old/ChangeLog.gstreamer:
4699         * gst/base/gstpushsrc.c:
4700         * gst/gstclock.c:
4701           fixed typos
4702
4703 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4704
4705         * gst/glib-compat.c: (gst_flags_get_first_value):
4706         * gst/glib-compat.h:
4707         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4708         (gst_value_compare_double), (gst_value_serialize_flags):
4709           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4710           infinite loop
4711
4712 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4713
4714         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4715         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4716           fix up debugging
4717         * tools/gst-launch.c: (event_loop):
4718           print out clock nicely
4719
4720 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4721
4722         * docs/gst/gstreamer-sections.txt:
4723         * gst/gsttaglist.h:
4724         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4725         (gst_tag_list_get_date_index):
4726           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4727           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4728
4729 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4730
4731         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4732         (gst_collectpads_chain):
4733         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4734         in CollectData.
4735
4736 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4737
4738         * docs/gst/gstreamer-sections.txt:
4739         * gst/gst.c:
4740         * gst/gsterror.h:
4741         * tools/gst-inspect.c: (main):
4742         * tools/gst-launch.c: (main):
4743         * tools/gst-run.c: (main):
4744         * tools/gst-xmlinspect.c: (main):
4745           fix GOption context leaks
4746           doc fixes
4747
4748 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4749
4750         * gst/gstbus.c:
4751           use HAVE_UNISTD_H
4752         * win32/common/config.h:
4753           update config
4754         * win32/vs6/grammar.dsp:
4755         * win32/vs6/libgstelements.dsp:
4756         * win32/vs6/libgstreamer.dsp:
4757           update vs6 files
4758
4759 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4760
4761         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4762         * gst/base/gstbasesrc.c: (gst_base_src_query):
4763           fix more guint64<->gdouble conversions
4764
4765 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4766
4767         * Makefile.am:
4768           add win32-update target
4769         * win32/common/gstconfig.h:
4770         * win32/common/gstenumtypes.c:
4771         * win32/common/gstenumtypes.h:
4772         * win32/common/gstversion.h:
4773           add files that visual studio can't generate
4774
4775 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4776
4777         * Makefile.am:
4778           add a win32-update target
4779         * configure.ac:
4780
4781 2005-10-12  Wim Taymans  <wim@fluendo.com>
4782
4783         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4784         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4785         * gst/gstelement.c: (gst_element_commit_state),
4786         (gst_element_set_state):
4787         Protect flags with proper lock.
4788         unref provided cached clock in dispose.
4789
4790 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4791
4792         * gst/gst.c:
4793         * gst/gstminiobject.h:
4794         * gst/gstpad.h:
4795         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4796           removed unused flags from miniobject
4797           doc fixes
4798
4799 2005-10-12  Wim Taymans  <wim@fluendo.com>
4800
4801         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4802         (gst_file_sink_event), (gst_file_sink_render):
4803         Flush before seeking.
4804
4805 2005-10-12  Andy Wingo  <wingo@pobox.com>
4806
4807         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4808         always been the case.
4809
4810 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4811
4812         * check/gst/gstbin.c: (GST_START_TEST):
4813         * docs/gst/gstreamer-sections.txt:
4814         * gst/base/gstbasesink.c: (gst_base_sink_init):
4815         * gst/base/gstbasesrc.c: (gst_base_src_init),
4816         (gst_base_src_get_range), (gst_base_src_check_get_range),
4817         (gst_base_src_start), (gst_base_src_stop):
4818         * gst/base/gstbasesrc.h:
4819         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4820         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4821         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4822         (bin_bus_handler):
4823         * gst/gstbin.h:
4824         * gst/gstbuffer.h:
4825         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4826         * gst/gstbus.h:
4827         * gst/gstelement.c: (gst_element_is_locked_state),
4828         (gst_element_set_locked_state), (gst_element_commit_state),
4829         (gst_element_set_state):
4830         * gst/gstelement.h:
4831         * gst/gstindex.c: (gst_index_init):
4832         * gst/gstindex.h:
4833         * gst/gstminiobject.h:
4834         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4835         (gst_object_set_parent):
4836         * gst/gstobject.h:
4837         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4838         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4839         * gst/gstpad.h:
4840         * gst/gstpadtemplate.h:
4841         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4842         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4843         * gst/gstpipeline.h:
4844         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4845         (gst_file_index_commit):
4846         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4847         * testsuite/pad/link.c: (gst_test_src_init),
4848         (gst_test_filter_init), (gst_test_sink_init):
4849         * testsuite/states/locked.c: (main):
4850           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4851           moved bitshift from macro to enum definition
4852
4853 2005-10-12  Wim Taymans  <wim@fluendo.com>
4854
4855         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4856         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4857         (gst_file_sink_render):
4858         Some more debugging info.
4859
4860 2005-10-12  Wim Taymans  <wim@fluendo.com>
4861
4862         * docs/design/part-states.txt:
4863         * tools/gst-launch.c: (main):
4864         Some doc updates.
4865         Revert non-intentional change.
4866
4867 2005-10-12  Wim Taymans  <wim@fluendo.com>
4868
4869         * check/gst/gstbin.c: (GST_START_TEST):
4870         * check/gst/gstelement.c: (GST_START_TEST):
4871         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4872         * check/gst/gstghostpad.c: (GST_START_TEST):
4873         * check/gst/gstpipeline.c: (GST_START_TEST):
4874         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4875         * check/states/sinks.c: (GST_START_TEST):
4876         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4877         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4878         (gst_bin_remove_func), (gst_bin_get_state_func),
4879         (gst_bin_recalc_state), (gst_bin_change_state_func),
4880         (bin_bus_handler):
4881         * gst/gstelement.c: (gst_element_get_state_func),
4882         (gst_element_get_state), (gst_element_abort_state),
4883         (gst_element_commit_state), (gst_element_set_state),
4884         (gst_element_change_state), (gst_element_change_state_func):
4885         * gst/gstelement.h:
4886         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4887         (gst_pipeline_provide_clock_func):
4888         * gst/gstutils.c: (gst_element_link_pads_filtered):
4889         * tools/gst-launch.c: (main):
4890         * tools/gst-typefind.c: (main):
4891         Use GstClockTime in _get_state() instead of GTimeVal.
4892         Remove old code in gstutils.c
4893
4894 2005-10-12  Andy Wingo  <wingo@pobox.com>
4895
4896         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4897         removed.
4898
4899         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4900         there is no task. Shouldn't affect any code, as nothing in our
4901         plugins checks this return value.
4902         (gst_pad_stop_task): Also take the stream lock if the pad has no
4903         task. Docs updated.
4904
4905 2005-10-12  Wim Taymans  <wim@fluendo.com>
4906
4907         * gst/gstpad.c: (pre_activate), (post_activate),
4908         (gst_pad_activate_pull), (gst_pad_activate_push):
4909         Cleanup activation code. Reset old state if
4910         activation failed.
4911
4912 2005-10-12  Wim Taymans  <wim@fluendo.com>
4913
4914         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4915         (gst_base_sink_change_state):
4916         No need to prerol after receiving EOS.
4917
4918         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4919         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4920         * gst/elements/gstidentity.c: (gst_identity_event):
4921         Print events more verbosely.
4922
4923 2005-10-12  Wim Taymans  <wim@fluendo.com>
4924
4925         * check/Makefile.am:
4926         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4927         * check/states/sinks2.c:
4928         Moved sinks2 testcode in sinks check.
4929
4930         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4931         (gst_bin_remove_func), (gst_bin_recalc_state),
4932         (gst_bin_change_state_func), (bin_bus_handler):
4933         Fix potential race condition when _get_state() iterated over an
4934         ASYNC element right before it posted a state completion.
4935
4936         * gst/gstclock.h:
4937         Do proper cast here.
4938
4939         * gst/gstevent.c: (gst_event_new_newsegment),
4940         (gst_event_parse_newsegment):
4941         A playback rate of 0.0 is not allowed.
4942
4943 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4944
4945         * win32/common/config.h:
4946         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4947         (_trewinddir), (_ttelldir), (_tseekdir):
4948         * win32/common/dirent.h:
4949         * win32/common/gtchar.h:
4950         * win32/common/libgstbase.def:
4951         * win32/common/libgstreamer.def:
4952         * win32/vs6/grammar.dsp:
4953         * win32/vs6/gst_inspect.dsp:
4954         * win32/vs6/gst_launch.dsp:
4955         * win32/vs6/gstreamer.dsw:
4956         * win32/vs6/libgstbase.dsp:
4957         * win32/vs6/libgstelements.dsp:
4958         * win32/vs6/libgstreamer.dsp:
4959           Visual Studio 6 project files, and a new common directory.
4960           Phear.
4961
4962 2005-10-11  Wim Taymans  <wim@fluendo.com>
4963
4964         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4965         (gst_base_sink_do_sync), (gst_base_sink_query),
4966         (gst_base_sink_change_state):
4967         * gst/base/gstbasesink.h:
4968         Correctly parse newsegment info.
4969
4970 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4971
4972         * gst/gst.c: (init_post):
4973           split plugin paths correctly
4974
4975 2005-10-11  Wim Taymans  <wim@fluendo.com>
4976
4977         * check/gst/gstevent.c: (GST_START_TEST):
4978         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4979         (gst_base_sink_change_state):
4980         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4981         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4982         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4983         * gst/gstevent.c: (gst_event_new_newsegment),
4984         (gst_event_parse_newsegment):
4985         * gst/gstevent.h:
4986         Added extra flag to newsegment for future API freeze.
4987         Updated check and base elements.
4988
4989 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4990
4991         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4992         (gst_collectpads_add_pad), (gst_collectpads_pop),
4993         (gst_collectpads_event), (gst_collectpads_chain):
4994         * gst/base/gstcollectpads.h: Handle EOS correctly.
4995
4996 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4997
4998         * tools/gst-launch.c: (main):
4999           more null protecting
5000
5001 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5002
5003         * gst/gst-i18n-lib.h:
5004           check for ENABLE_NLS, not GETTEXT_PACKAGE
5005         * gst/gstregistry.c: (gst_registry_add_plugin),
5006         (gst_registry_scan_path_level),
5007         (_gst_registry_remove_cache_plugins):
5008           protect possibly NULL strings
5009         * gst/parse/types.h:
5010           config.h already included before
5011         * tools/gst-inspect.c: (main):
5012           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5013           check for ENABLE_NLS, not GETTEXT_PACKAGE
5014         * tools/gst-launch.c: (main):
5015           check for ENABLE_NLS, not GETTEXT_PACKAGE
5016
5017 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5018
5019         * configure.ac:
5020           if we don't have glib, fail before testing 2.8
5021         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5022           fix a leak, should fix plugins-base testsuite
5023
5024 2005-10-11  Andy Wingo  <wingo@pobox.com>
5025
5026         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5027         take the mode we're going to as an arg. Go head and set the mode
5028         and flushing flags now, so that if the activate function starts a
5029         thread all the flags will be in the right state.
5030         (post_activate): Renamed also. Just handle making sure streaming
5031         finishes for the deactivation case, and setting the deactivated
5032         mode.
5033         (gst_pad_set_active): Complain loudly if deactivation fails.
5034         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5035         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5036         remove the terrible hack.
5037
5038 2005-10-11  Wim Taymans  <wim@fluendo.com>
5039
5040         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5041         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5042         (gst_bin_recalc_state), (gst_bin_change_state_func),
5043         (gst_bin_dispose), (bin_bus_handler):
5044         * gst/gstbin.h:
5045         Prepare to make current EOS message queue more generic.
5046         Fix some typos.
5047
5048         * gst/gstevent.c: (gst_event_new_newsegment),
5049         (gst_event_parse_newsegment):
5050         * gst/gstevent.h:
5051         Rename base to stream_time.
5052
5053         * gst/gstmessage.h:
5054         Fix typo in docs.
5055
5056 2005-10-11  Wim Taymans  <wim@fluendo.com>
5057
5058         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5059         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5060         (gst_bin_change_state_func), (bin_bus_handler):
5061         * gst/gstbin.h:
5062         Work on proper clock selection.
5063
5064 2005-10-11  Edward Hervey  <edward@fluendo.com>
5065
5066         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5067         * libs/gst/controller/gstcontroller.h:
5068         Added GList* version of _remove_properties() in order to be able to wrap
5069         it in bindings.
5070
5071 2005-10-11  Wim Taymans  <wim@fluendo.com>
5072
5073         * docs/design/part-states.txt:
5074         Some more docs.
5075
5076         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5077         (gst_bin_change_state_func), (bin_bus_handler):
5078         Doc updates. Don't distribute the same clock over and over again.
5079
5080         * gst/gstclock.c:
5081         * gst/gstclock.h:
5082         Doc updates.
5083
5084         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5085         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5086         (gst_pad_send_event):
5087         * gst/gstpad.h:
5088         Make probe emission threadsafe again.
5089         Register quarks and move _get_name() from utils.
5090         Doc updates.
5091
5092         * gst/gstpipeline.c: (gst_pipeline_class_init),
5093         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5094         Only redistribute the clock of it changed.
5095
5096         * gst/gstsystemclock.h:
5097         Doc updates. 
5098
5099         * gst/gstutils.c:
5100         * gst/gstutils.h:
5101         Moved the _flow_get_name() to GstPad.
5102
5103 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5104
5105         * check/gst-libs/gdp.c: (GST_START_TEST):
5106         * check/gst/gstcaps.c: (GST_START_TEST):
5107         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5108         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5109         (gst_dp_packet_from_caps):
5110           fix more valgrind warnings before turning up the heat
5111
5112 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5113
5114         * gst/parse/grammar.y:
5115           some cleanup before the hacking
5116
5117 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5118
5119         * gst/base/gstbasesrc.c: (gst_base_src_query):
5120           use conversions
5121         * gst/gstutils.c: (gst_guint64_to_gdouble),
5122         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5123         * gst/gstutils.h:
5124           externalize, basesrc uses it
5125           obviously the implementation needs testing
5126
5127 2005-10-10  Wim Taymans  <wim@fluendo.com>
5128
5129         * tests/sched/Makefile.am:
5130         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5131         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5132
5133 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5134
5135         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5136           apparently converting from guint64 to double is not implemented
5137           on MSVC
5138
5139 2005-10-10  Wim Taymans  <wim@fluendo.com>
5140
5141         * check/Makefile.am:
5142         * check/generic/states.c: (GST_START_TEST):
5143         * check/gst/gstbin.c: (GST_START_TEST):
5144         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5145         * check/states/sinks.c: (GST_START_TEST):
5146         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5147         (main):
5148         Check fixes, use API as stated in design docs, remove hacks.
5149
5150         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5151         (gst_base_sink_change_state):
5152         Catch stopping our task while we're shutting down.
5153
5154         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5155         (gst_bin_remove_func), (gst_bin_get_state_func),
5156         (gst_bin_recalc_state), (gst_bin_change_state_func),
5157         (bin_bus_handler):
5158         * gst/gstbin.h:
5159         * gst/gstelement.c: (gst_element_init),
5160         (gst_element_get_state_func), (gst_element_abort_state),
5161         (gst_element_commit_state), (gst_element_lost_state),
5162         (gst_element_set_state), (gst_element_change_state),
5163         (gst_element_change_state_func):
5164         * gst/gstelement.h:
5165         New state change algorithm (see #318116)
5166
5167         * gst/gstpipeline.c: (gst_pipeline_class_init),
5168         (gst_pipeline_init), (gst_pipeline_set_property),
5169         (gst_pipeline_get_property), (do_pipeline_seek),
5170         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5171         * gst/gstpipeline.h:
5172         Remove crude state change hacks.
5173
5174         * gst/gstutils.h:
5175         Remove crude hacks.
5176
5177         * tools/gst-launch.c: (main):
5178         Fixes for state change. Needs some more work to fully use the
5179         new stuff.
5180
5181 2005-10-10  Andy Wingo  <wingo@pobox.com>
5182
5183         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5184
5185         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5186         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5187         issue.
5188
5189 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5190
5191         * gst/gstiterator.c: (gst_iterator_new):
5192           Fix my previous commit: GTypes passed to gst_iterator_new()
5193           can be fundamental types.
5194
5195 2005-10-10  Wim Taymans  <wim@fluendo.com>
5196
5197         * gst/gstelement.c: (gst_element_iterate_pad_list),
5198         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5199         (gst_element_iterate_sink_pads):
5200         Use src/sink pads lists for the respective iterators instead
5201         of filtering.
5202
5203 2005-10-10  Andy Wingo  <wingo@pobox.com>
5204
5205         Merged in popt removal + GOption addition patch from Ronald, bug
5206         #169772.
5207
5208         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5209         GstElement macros around, remove popt-related symbols, add goption
5210         stuff.
5211
5212         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5213         
5214         * docs/gst/Makefile.am:
5215         * docs/libs/Makefile.am: No POPT_CFLAGS.
5216         
5217         * examples/manual/Makefile.am:
5218         * docs/manual/basics-init.xml: Doc updates with an example.
5219         
5220         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5221         (gst_init), (parse_one_option), (parse_goption_arg):
5222         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5223         bit of hand merging and debugging to get the GOption stuff working
5224         tho.
5225         
5226         * tests/Makefile.am:
5227         * tools/Makefile.am:
5228         * tools/gst-inspect.c: (main):
5229         * tools/gst-launch.c: (main):
5230         * tools/gst-run.c: (main):
5231         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5232
5233 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5234
5235         * gst/gstiterator.c: (gst_iterator_new):
5236           Add assertions to make sure passed GType is likely to really
5237           be a GType (as the compiler won't catch it if the size and
5238           GType arguments get mixed up, see #318447).
5239
5240 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5241
5242         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5243
5244         * gst/gstbin.c: (gst_bin_iterate_sorted):
5245           Pass GType and size arguments to gst_iterator_new() in the right
5246           order (maybe we should make _new() take the GType as first argument
5247           just like _new_list()?) (#318447).
5248           
5249
5250 2005-10-10  Wim Taymans  <wim@fluendo.com>
5251
5252         * gst/gstelement.c: (gst_element_finalize):
5253         And free the GStaticRecMutex too
5254
5255 2005-10-10  Andy Wingo  <wingo@pobox.com>
5256
5257         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5258         Allocate and free the mutex properly.
5259
5260         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5261         New macros.
5262         (GstElement): The state_lock is now recursive. Rebuild your
5263         plugins, suckers. Old macros adapted.
5264
5265         * docs/gst/gstreamer-sections.txt: Doc updates.
5266
5267         * gst/gstutils.h:
5268         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5269         (g_static_rec_cond_wait): Ported from state changes patch, while
5270         we wait on bug #317802 to be solved in a well-distributed GLib.
5271
5272         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5273         gst_element_change_state, variable name changes.
5274         (gst_element_change_state): Split out of gst_element_set_state in
5275         preparation for the state change merge. Doesn't pay attention to
5276         the 'transition' argument.
5277         (gst_element_set_state): Updates, hopefully purely cosmetic.
5278         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5279         state change patch.
5280         (gst_element_get_state_func): Renamed from get_state, cosmetic
5281         changes.
5282
5283 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5284
5285         * gst/elements/gstelements.c:
5286         * win32/GStreamer.vcproj:
5287         * win32/config.h:
5288         * win32/dirent.c: (_tseekdir):
5289         * win32/gst-inspect.vcproj:
5290         * win32/gst-launch.vcproj:
5291         * win32/gstconfig.h:
5292         * win32/gstelements.vcproj:
5293         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5294         * win32/gstreamer.def:
5295         * win32/msvc71.sln:
5296           updates for the win32 build (patch from Sebastien Moutte)
5297
5298 2005-10-10  Andy Wingo  <wingo@pobox.com>
5299
5300         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5301         gst_bin_get_state, cleaned up (but no logic changes).
5302         (bin_element_is_sink): Comment updates.
5303         (sink_iterator_filter): Remove needless cast.
5304         (gst_bin_iterate_sinks): Doc update.
5305         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5306         cleaned up (but no logic changes).
5307
5308         * check/states/sinks.c (test_src_sink): Cleanups from the state
5309         change patch.
5310         (test_livesrc_sink): Sync on the state.
5311
5312         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5313         the state change patch.
5314
5315         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5316         change patch.
5317
5318         * check/gst/gstbin.c: Merge in some style fixes and additional
5319         checks from Wim's state change patch.
5320
5321 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5322
5323         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5324         (gst_type_find_helper):
5325           Check whether we have the requested data already in our list of
5326           cached buffers before pulling a new buffer; also make the buffer
5327           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5328
5329 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5330
5331         * gst/gstcaps.c:
5332         * gst/gstevent.c:
5333           doc updates
5334         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5335           don't use long long, it's not portable.  Replacing with
5336           gint64 seems to work; let's hope no skeletons fall out of the closet.
5337
5338 2005-10-10  Andy Wingo  <wingo@pobox.com>
5339
5340         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5341
5342 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5343
5344         * docs/gst/gstreamer-sections.txt:
5345         * gst/gstevent.c:
5346         * gst/gstevent.h:
5347         * gst/gstinfo.c:
5348         * gst/gstinfo.h:
5349         * gst/gstmessage.c: (gst_message_parse_state_changed):
5350         * gst/gstpad.c:
5351         * gst/gstpad.h:
5352           more docs, fix compilation
5353
5354 2005-10-09  Philippe Khalaf <burger@speedy.org>
5355         * gst/gstmessage.c:
5356           Fixed a few forgotten variables on previous commit
5357
5358 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5359
5360         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5361           Fix evil typefind crasher: getrange() might return a short
5362           buffer at the end of a file, but gst_type_find_peek() must
5363           either return the full data as requested or NULL, but
5364           never a short buffer.
5365
5366 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5367
5368         * gst/gstmessage.c: (gst_message_new_state_changed),
5369         (gst_message_parse_state_changed):
5370         * gst/gstmessage.h:
5371           don't use "new", it's a C++ keyword
5372
5373 2005-10-08  Wim Taymans  <wim@fluendo.com>
5374
5375         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5376         * gst/gstelement.c: (gst_element_post_message):
5377         * gst/gstpipeline.c: (gst_pipeline_change_state):
5378         Small docs and debug updates.
5379
5380 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5381
5382         * docs/gst/gstreamer-sections.txt:
5383         * gst/gstelementfactory.c:
5384         * gst/gstevent.c:
5385         * gst/gsttaglist.c:
5386           more docs
5387
5388 2005-10-08  Wim Taymans  <wim@fluendo.com>
5389
5390         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5391         (gst_bin_dispose), (bin_bus_handler):
5392         Fix typos, add comments.
5393         Clear EOS list when going to PAUSED from any direction and do it
5394         in a threadsafe way.
5395         Get base time in a threadsafe way too.
5396         Fix confusing debug in the change_state function.
5397         Various other small cleanups.
5398         
5399         * gst/gstelement.c: (gst_element_post_message):
5400         Fix very verbose bus posting code.
5401
5402         * gst/gstpipeline.c: (gst_pipeline_class_init),
5403         (gst_pipeline_set_property), (gst_pipeline_get_property),
5404         (gst_pipeline_change_state):
5405         Small ARG_ -> PROP_ cleanup
5406
5407 2005-10-08  Wim Taymans  <wim@fluendo.com>
5408
5409         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5410         Do a less CPU demanding EOS check because we can.
5411
5412 2005-10-08  Wim Taymans  <wim@fluendo.com>
5413
5414         * libs/gst/dataprotocol/dataprotocol.c:
5415         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5416         (gst_dp_packet_from_event):
5417         * libs/gst/dataprotocol/dataprotocol.h:
5418         * libs/gst/dataprotocol/dp-private.h:
5419         It's about time we bump the version number.
5420         Since event types don't fit in the guint8 anymore describing
5421         the payload type, make payload type 16 bits wide.
5422
5423 2005-10-08  Wim Taymans  <wim@fluendo.com>
5424
5425         * docs/design/part-TODO.txt:
5426         * docs/design/part-clocks.txt:
5427         * docs/design/part-events.txt:
5428         * docs/design/part-gstbin.txt:
5429         * docs/design/part-gstelement.txt:
5430         * docs/design/part-gstpipeline.txt:
5431         * docs/design/part-live-source.txt:
5432         * docs/design/part-messages.txt:
5433         * docs/design/part-overview.txt:
5434         * docs/design/part-states.txt:
5435         Many doc updates.
5436
5437 2005-10-08  Wim Taymans  <wim@fluendo.com>
5438
5439         * gst/gstevent.c:
5440         * gst/gstevent.h:
5441         Fix event quark registration.
5442         Add some space between events so we can insert them in the
5443         right groups.
5444
5445 2005-10-08  Wim Taymans  <wim@fluendo.com>
5446
5447         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5448         (gst_base_sink_handle_buffer):
5449         Better log message.
5450
5451         * gst/gstbus.h:
5452         * gst/gstelement.h:
5453         More docs.
5454
5455         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5456         (gst_queue_set_property), (gst_queue_get_property):
5457         * gst/gstqueue.h:
5458         Remove old unused properties.
5459
5460 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5461         * docs/gst/gstreamer-sections.txt:
5462         * gst/gstmessage.c:
5463         * gst/gstmessage.h:
5464         * gst/gstminiobject.c:
5465         * gst/gstminiobject.h:
5466         * gst/gstobject.h:
5467         * gst/gstpad.h:
5468         * gst/gstutils.h:
5469           lots of new docs and doc fixes
5470
5471 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5472
5473         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5474         * gst/gstplugin.h:
5475         * gst/gstregistry.c: (gst_registry_lookup_locked),
5476         (gst_registry_scan_path_level):
5477         * gst/gstregistryxml.c: (load_plugin):
5478           Only ever load one plugin for a given plugin basename.
5479           This ensures correct overriding of GST_PLUGIN_PATH over
5480           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5481           system installed plugins.
5482
5483 2005-10-08  Wim Taymans  <wim@fluendo.com>
5484
5485         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5486         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5487         Prepare for doing QOS.
5488
5489 2005-10-08  Wim Taymans  <wim@fluendo.com>
5490
5491         * check/gst/gstbin.c: (GST_START_TEST):
5492         * check/pipelines/cleanup.c: (GST_START_TEST):
5493         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5494         Allow new clock message too.
5495
5496 2005-10-08  Wim Taymans  <wim@fluendo.com>
5497
5498         * gst/gstmessage.c: (gst_message_new_error),
5499         (gst_message_new_warning), (gst_message_new_tag),
5500         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5501         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5502         (gst_message_new_segment_start), (gst_message_new_segment_done),
5503         (gst_message_parse_state_changed),
5504         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5505         (gst_message_parse_new_clock):
5506         * gst/gstmessage.h:
5507         Also carry the clock in question.
5508
5509 2005-10-08  Wim Taymans  <wim@fluendo.com>
5510
5511         * gst/gstmessage.c: (gst_message_new_custom),
5512         (gst_message_new_eos), (gst_message_new_error),
5513         (gst_message_new_warning), (gst_message_new_tag),
5514         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5515         (gst_message_new_new_clock), (gst_message_new_segment_start),
5516         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5517         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5518         * gst/gstmessage.h:
5519         Clean up.
5520         Added clock related messages.
5521
5522         * gst/gstpipeline.c: (gst_pipeline_change_state):
5523         Post message when the clock changed.
5524
5525         * tools/gst-launch.c: (event_loop):
5526         Print new clock.
5527
5528 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5529
5530         * tools/gst-inspect.c: (print_element_properties_info):
5531           Can't pass NULL strings to g_print() on windows.
5532
5533 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5534
5535         * docs/Makefile.am:
5536         * docs/gst/Makefile.am:
5537         * docs/gst/gstreamer-docs.sgml:
5538         * docs/gst/running.xml:
5539         * docs/version.entities.in:
5540           add a chapter on running GStreamer.
5541           document GST_DEBUG and GST_PLUGIN* env vars
5542
5543 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5544
5545         * Makefile.am:
5546           remove include dir
5547         * configure.ac:
5548           remove PLUGINS_BUILDDIR stuff
5549         * gst/gst.c: (init_post):
5550           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5551         * idiottest.mak:
5552           remove, it was condescending and not needed
5553
5554 2005-10-08  Wim Taymans  <wim@fluendo.com>
5555
5556         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5557         (gst_base_sink_handle_object), (gst_base_sink_event),
5558         (gst_base_sink_wait), (gst_base_sink_handle_event),
5559         (gst_base_sink_change_state):
5560         * gst/base/gstbasesink.h:
5561         Repost EOS message while going to PLAYING if still EOS.
5562         Make sure that when receiving a FLUSH_START we don't attempt
5563         to sync on the clock anymore.
5564
5565 2005-10-08  Wim Taymans  <wim@fluendo.com>
5566
5567         * tools/gst-launch.c: (event_loop):
5568         Better message printout.
5569
5570 2005-10-08  Wim Taymans  <wim@fluendo.com>
5571
5572         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5573         (gst_bin_child_proxy_get_children_count):
5574         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5575         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5576         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5577         (gst_child_proxy_set_valist):
5578         * gst/parse/grammar.y:
5579         Make ChildProxy threadsafe and fix mem leaks.
5580
5581 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5582
5583         * gst/gst.c: (init_post):
5584           debug the GST_PLUGIN_ env vars
5585
5586 2005-10-08  Wim Taymans  <wim@fluendo.com>
5587
5588         * check/gst/gstbin.c: (GST_START_TEST):
5589         * check/gst/gstmessage.c: (GST_START_TEST):
5590         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5591         * gst/gstelement.c: (gst_element_commit_state),
5592         (gst_element_lost_state):
5593         * gst/gstmessage.c: (gst_message_new_state_changed),
5594         (gst_message_parse_state_changed):
5595         * gst/gstmessage.h:
5596         * tools/gst-launch.c: (event_loop):
5597         Added extra field to STATE_CHANGE message with the pending
5598         state, which will be different from the new state soon.
5599
5600 2005-10-08  Wim Taymans  <wim@fluendo.com>
5601
5602         * gst/gstbus.c: (gst_bus_pop):
5603         * gst/gstclock.c:
5604         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5605         Small cleanups and doc updates.
5606
5607 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5608
5609         * gst/gst.c: (init_pre):
5610         * gst/gstbin.c: (gst_bin_add_func):
5611           log distributing clocks and base time
5612         * gst/gstregistry.c: (gst_registry_add_plugin),
5613         (gst_registry_scan_path_level), (gst_registry_scan_path):
5614           clean up the debugging output a little
5615         * gst/gstutils.c: (gst_element_state_get_name):
5616           warn about a memleak (I've actually seen this be used, though
5617           it was probably a bug)
5618
5619 2005-10-07  Wim Taymans  <wim@fluendo.com>
5620
5621         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5622         (gst_base_src_init), (gst_base_src_default_newsegment),
5623         (gst_base_src_newsegment), (gst_base_src_do_seek),
5624         (gst_base_src_loop), (gst_base_src_start):
5625         * gst/base/gstbasesrc.h:
5626         Make the newsegment event customizable by subclasses.
5627
5628 2005-10-07  Wim Taymans  <wim@fluendo.com>
5629
5630         * gst/gstevent.c: (gst_event_new_buffersize),
5631         (gst_event_parse_buffersize):
5632         * gst/gstevent.h:
5633         New event for future idea.
5634
5635 2005-10-07  Andy Wingo  <wingo@pobox.com>
5636
5637         * gst/gstelement.c (gst_element_post_message): Doc update.
5638
5639         * docs/gst/gstreamer-sections.txt: Update.
5640
5641         * gst/gstmessage.c (gst_message_new_application): Made into a
5642         function like honest API calls.
5643         (gst_message_new_element): New message type.
5644
5645         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5646
5647         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5648         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5649         times.
5650
5651         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5652         NO_PREROLL from gst_element_change_state to fall through.
5653
5654 2005-10-07  Wim Taymans  <wim@fluendo.com>
5655
5656         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5657         (gst_ghost_pad_do_activate_push):
5658         Activating a ghostpad with no internal pad in push mode
5659         is ok.
5660
5661 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5662
5663         * gst/gstobject.h:
5664           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5665           Fixes compilation on Windows.
5666
5667 2005-10-07  Michael Smith <msmith@fluendo.com>
5668
5669         * tools/gst-inspect.c:
5670           Print out feature and plugin count at the end when printing out
5671           all features.
5672
5673 2005-10-04  Michael Smith <msmith@fluendo.com>
5674
5675         * gst/gsterror.c: (_gst_stream_errors_init):
5676           Add another error string used in a few existing plugins.
5677
5678         * gst/gstplugin.c:
5679         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5680         * tools/gst-inspect.c: (print_element_info):
5681           When a feature disappears from a plugin (and the feature exists in
5682           the cached registry file), things went horribly wrong. This isn't a
5683           complete fix, we should actually be removing the 'missing' features
5684           from the features list when we load the actual plugin. That's not
5685           yet implemented. 
5686
5687 2005-10-04  Johan Dahlin  <johan@gnome.org>
5688
5689         * check/gst/gstiterator.c: (GST_START_TEST):
5690         * gst/gstbin.c: (gst_bin_iterate_elements),
5691         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5692         * gst/gstelement.c: (gst_element_iterate_pads):
5693         * gst/gstformat.c: (gst_format_iterate_definitions):
5694         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5695         (gst_iterator_new_list), (gst_iterator_filter):
5696         * gst/gstiterator.h:
5697         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5698         Add a GType to GstIterator, update callsites and tests.
5699
5700 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5701
5702         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5703           give events a chance to be handled by event probes when the pad
5704           is not linked
5705
5706 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5707
5708         * gst/gstevent.c: (gst_event_type_get_name),
5709         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5710         * gst/gstevent.h:
5711           add string representations for event types
5712
5713 2005-10-06  Wim Taymans  <wim@fluendo.com>
5714
5715         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5716         Don't use NULL pointers.
5717
5718 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5719
5720         * gst/gst_private.h:
5721         * gst/gstbus.c:
5722         * gst/gstelement.c:
5723         * gst/gstinfo.c:
5724         * gst/gstpluginfeature.c:
5725           widen the debug category in output to fit the biggest one we have
5726           add a bus category and use it
5727           play with the colors
5728           fix up some categories
5729
5730 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5731
5732         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5733           add push activation of sink ghost pads.
5734           Andye, please verify
5735
5736 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5737
5738         * gst/gstutils.c: (gst_element_link_pads):
5739           fix a bug in the case where neither element has a pad
5740         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5741           add a test for that case
5742
5743 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5744
5745         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5746           emit have-data before checking for peers.  This allows
5747           for probe handlers to connect elements.  This helps autopluggers.
5748         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5749         (gst_pad_suite):
5750           add six checks, linked/unlinked with no/true/false probe
5751
5752 2005-10-04  Wim Taymans  <wim@fluendo.com>
5753
5754         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5755         (gst_fake_sink_event), (gst_fake_sink_preroll),
5756         (gst_fake_sink_render), (gst_fake_sink_change_state):
5757         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5758         (gst_fake_src_get_property), (gst_fake_src_create),
5759         (gst_fake_src_stop):
5760         * gst/elements/gstidentity.c: (gst_identity_stop):
5761         Protect last_message with lock.
5762
5763 2005-10-04  Edward Hervey  <edward@fluendo.com>
5764
5765         * gst/gstformat.h: 
5766         Added precision in the comments for GST_FORMAT_DEFAULT
5767
5768 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5769
5770         * tools/gst-launch.c: (main):
5771           Don't try to run erroneous pipelines.
5772
5773 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5774
5775         * gst/gstbus.c: We don't need this header.
5776
5777 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5778
5779         * configure.ac:
5780           back to development
5781
5782 === release 0.9.3 ===
5783
5784 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5785
5786         * README:
5787         * configure.ac:
5788           Releasing 0.9.3, "Unregistered"
5789
5790 2005-10-03  Andy Wingo  <wingo@pobox.com>
5791
5792         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5793         whereby calling a pad's activatepush() function can start a thread
5794         that starts to push or pull before the pad gets the FLUSHING flag
5795         unset. Hack around it by holding the stream lock until the flag is
5796         set. Need to replace this with a proper solution. Together with
5797         the ghost pad fixes, this fixes mp3 playing/tagreading.
5798
5799         * docs/design/part-gstghostpad.txt: Add a note about activation of
5800         proxy pads outside of ghost pads.
5801
5802         * gst/gstghostpad.c: Implement the ghost pad activation design.
5803
5804 2005-10-02  Andy Wingo  <wingo@pobox.com>
5805
5806         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5807         It is volatile, after all.
5808
5809         * docs/design/part-gstghostpad.txt: Flesh out activation with
5810         ghost pads.
5811
5812         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5813         GST_DEBUG_FUNCPTR.
5814
5815 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5816
5817         * configure.ac:
5818           Fix (unused) AM_CONDITIONAL tests.
5819
5820 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5821
5822         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5823
5824         * gst/gstutils.c: (gst_pad_query_convert):
5825           Add assertion that makes sure src_val is >=0, just like
5826           gst_query_new_convert() has. (#315895)
5827
5828 2005-09-30  Edward Hervey  <edward@fluendo.com>
5829
5830         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5831         Let's not iterate pads we're not interested in, it avoids getting 
5832         sky-high refcounts on sinkpad.
5833
5834 2005-09-30  Wim Taymans  <wim@fluendo.com>
5835
5836         * gst/gstelement.c: (gst_element_set_state),
5837         (gst_element_change_state):
5838         Small tweak, element in ASYNC remains ASYNC.
5839
5840 2005-09-30  Wim Taymans  <wim@fluendo.com>
5841
5842         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5843         Only error is an error.
5844
5845         * gst/gstbin.c: (gst_bin_change_state):
5846         Better debugging.
5847
5848         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5849         Also call pad_block in pad alloc.
5850
5851         * gst/gstutils.c: (gst_flow_get_name):
5852         Better debugging.
5853
5854 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5855
5856         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5857         (gst_base_src_get_range):
5858           Fix documentation typos. Add some more debug info.
5859
5860 2005-09-29  David Schleef  <ds@schleef.org>
5861
5862         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5863           more end-user friendly.
5864         * tools/gst-inspect.c: (main): Check if command-line argument is
5865           a file and attempt to load that file as a plugin.
5866
5867 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5868
5869         * check/gst/gstbin.c:
5870         * check/states/sinks.c:
5871           fix tests for the new warning
5872         * check/gst/gstpipeline.c:
5873           add a test for pipeline and bus interaction
5874         * gst/gstelement.c:
5875           elements should be NULL if they get disposed; add a warning if not
5876
5877 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5878
5879         * gst/gstobject.c:
5880           for 2.6 refcounting, make debug log more correct by printing
5881           the actual refcounts at the time of swap (Wim)
5882
5883 2005-09-29  Andy Wingo  <wingo@pobox.com>
5884
5885         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5886         removes signal watches previously added via
5887         gst_bus_add_signal_watch.
5888         (gst_bus_add_signal_watch): Don't return the source id, just store
5889         it on the bus if there wasn't an id already.
5890
5891         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5892         add_signal_watch and remove_signal_watch.
5893
5894 2005-09-29  Edward Hervey  <edward@fluendo.com>
5895
5896         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5897         Better if we actually iterate the list :)
5898
5899 2005-09-29  Wim Taymans  <wim@fluendo.com>
5900
5901         * check/gst/gstbin.c: (GST_START_TEST):
5902         Change for new bus API.
5903
5904         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5905         (send_messages), (GST_START_TEST), (gstbus_suite):
5906         Change for new bus signal API.
5907
5908         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5909         (gst_bus_source_prepare), (gst_bus_source_check),
5910         (gst_bus_create_watch), (gst_bus_add_watch_full),
5911         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5912         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5913         * gst/gstbus.h:
5914         Remove support for multiple GSources operating on different
5915         message types as it is too complex and unneeded when using
5916         signals.
5917         Added support for receiving signals from the bus.
5918
5919 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5920
5921         * docs/libs/tmpl/gstdataprotocol.sgml:
5922         * docs/manual/advanced-dataaccess.xml:
5923         * gst/elements/gstcapsfilter.c:
5924         * gst/gstutils.c:
5925           rename filter-caps to caps property
5926
5927 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5928
5929         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5930           More robust fraction string parsing.
5931
5932         * docs/pwg/appendix-porting.xml:
5933           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5934
5935 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5936
5937         * gst/gstcaps.c: (gst_caps_do_simplify):
5938           Thou shalt not free a structure and then continue using it
5939           in the next loop iteration.
5940
5941         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5942         (gst_caps_suite):
5943           Add test case for caps simplification.
5944
5945 2005-09-29  Wim Taymans  <wim@fluendo.com>
5946
5947         * check/gst/gstbin.c: (GST_START_TEST):
5948         Oops.
5949
5950 2005-09-29  Wim Taymans  <wim@fluendo.com>
5951
5952         * check/gst/gstbin.c: (GST_START_TEST):
5953         Add bus to bin.
5954
5955         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5956         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5957         (find_element), (gst_bin_sort_iterator_next),
5958         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5959         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5960         (gst_bin_change_state), (gst_bin_dispose):
5961         A bin does not have a bus, it gets the bus from the parent.
5962
5963         * gst/gstelement.c: (gst_element_requires_clock),
5964         (gst_element_provides_clock), (gst_element_is_indexable),
5965         (gst_element_is_locked_state), (gst_element_change_state),
5966         (gst_element_set_bus_func):
5967         Small cleanups.
5968
5969         * gst/gstpipeline.c: (gst_pipeline_class_init),
5970         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5971         The pipeline provides a bus.
5972
5973 2005-09-28  Johan Dahlin  <johan@gnome.org>
5974
5975         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5976         gst_structure_get_enum instead of gst_structure_get_int
5977
5978         * gst/gststructure.c (gst_structure_get_enum): Impl.
5979
5980         * gst/gststructure.h (gst_structure_get_enum): Add
5981
5982         * docs/gst/gstreamer-sections.txt: Ditto
5983
5984         * gst/gstmessage.c (gst_message_new_state_changed): Use
5985         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5986         which does introspection.
5987         Reviewed by Christian Schaller
5988
5989 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5990
5991         * gst/gstinfo.c: (gst_debug_log_default):
5992           don't do dummy g_strdup()s
5993         * libs/gst/controller/gstcontroller.c:
5994         (on_object_controlled_property_changed),
5995         (gst_controlled_property_new), (gst_controller_new_valist),
5996         (gst_controller_new_list),
5997         (gst_controller_remove_properties_valist), (gst_controller_set),
5998         (gst_controller_get), (gst_controller_sync_values),
5999         (gst_controller_get_value_array), (_gst_controller_class_init),
6000         (gst_controller_get_type):
6001         * libs/gst/controller/gstcontroller.h:
6002         * libs/gst/controller/gstinterpolation.c:
6003         (gst_controlled_property_find_timed_value_node):
6004           convert // to /**/ comments
6005
6006 2005-09-28  Wim Taymans  <wim@fluendo.com>
6007
6008         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6009         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6010         (gst_bus_sync_signal_handler):
6011         * gst/gstbus.h:
6012         Added async-message and sync-message signals to the bus.
6013         Added helper BusFunc to emit signals for all posted messages.
6014
6015         * gst/gstmessage.c: (gst_message_type_get_name),
6016         (gst_message_type_to_quark), (gst_message_get_type):
6017         * gst/gstmessage.h:
6018         Register quarks for message names.
6019
6020 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6021
6022         * docs/libs/gstreamer-libs-sections.txt:
6023         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6024         (gst_controller_new_list):
6025         * libs/gst/controller/gstcontroller.h:
6026           added another constructor for language bindings
6027
6028 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6029
6030         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6031           add another check
6032         * gst/gstbus.c:
6033           add some doc
6034         * gst/gstinfo.c: (_gst_debug_init):
6035           slightly more readable color for refcount debugging
6036
6037 2005-09-28  Wim Taymans  <wim@fluendo.com>
6038
6039         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6040         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6041         (find_element), (gst_bin_sort_iterator_next),
6042         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6043         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6044         (gst_bin_change_state), (gst_bin_dispose):
6045         Small doc fixes. get_clock -> provide_clock.
6046
6047         * gst/gstelement.c: (gst_element_class_init),
6048         (gst_element_provides_clock), (gst_element_provide_clock),
6049         (gst_element_get_clock), (gst_element_commit_state),
6050         (gst_element_lost_state):
6051         * gst/gstelement.h:
6052         Make get/set_clock() symetric. Add provide_clock vmethod since
6053         that is actually what this function does.
6054
6055         * gst/gstpipeline.c: (gst_pipeline_class_init),
6056         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6057         (gst_pipeline_get_clock):
6058         get_clock -> provide_clock.
6059
6060 2005-09-28  Andy Wingo  <wingo@pobox.com>
6061
6062         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6063         lieu of real docs...
6064
6065         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6066
6067 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6068
6069         * gst/elements/gstcapsfilter.c:
6070         * gst/elements/gstfakesink.c:
6071         * gst/elements/gstfakesrc.c:
6072         * gst/elements/gstfdsink.c:
6073         * gst/elements/gstfdsrc.c:
6074         * gst/elements/gstfilesink.c:
6075         * gst/elements/gstfilesrc.c:
6076         * gst/elements/gstidentity.c:
6077         * gst/elements/gsttee.c:
6078         * gst/elements/gsttypefindelement.c:
6079           Make element details static.
6080
6081 2005-09-28  Wim Taymans  <wim@fluendo.com>
6082
6083         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6084         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6085         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6086         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6087         (gst_bin_change_state), (gst_bin_dispose):
6088         Some documentation updates.
6089         Clean up dispose handlers.
6090
6091         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6092         * gst/gstpad.c: (gst_pad_dispose):
6093         Clean up dispose handler.
6094
6095         * gst/gstpipeline.c: (gst_pipeline_change_state):
6096         Removed spurious UNLOCK.
6097
6098 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6099
6100         * docs/gst/gstreamer-sections.txt:
6101         * gst/base/gstbasesrc.h:
6102         * gst/gstelement.h:
6103         * gst/gstevent.h:
6104         * gst/gstobject.h:
6105         * gst/gstpad.h:
6106         * gst/gstpipeline.c:
6107         * gst/gstpipeline.h:
6108         * gst/gstutils.h:
6109         * gst/gstxml.h:
6110           added two new functions to the docs
6111                 documents all undocumented GstXXXFlags
6112                 completed some incomplete docs 
6113
6114 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6115
6116         * gst/gstbin.c: (gst_bin_dispose):
6117         * gst/gstelement.c: (gst_element_dispose):
6118           remove now useless and leaky resurrection code in dispose
6119         * gst/base/gstbasesrc.c: (gst_base_src_init):
6120         * gst/gstelementfactory.c: (gst_element_factory_create):
6121         * gst/gstobject.c: (gst_object_set_parent):
6122           add some debugging
6123
6124 2005-09-27  Wim Taymans  <wim@fluendo.com>
6125
6126         * docs/design/part-TODO.txt:
6127         Update TODO.
6128
6129         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6130         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6131         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6132         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6133         (gst_bin_change_state):
6134         * gst/gstelement.h:
6135         Remove element variable, we keep element info in the iterator now.
6136
6137 2005-09-27  Andy Wingo  <wingo@pobox.com>
6138
6139         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6140         values.
6141
6142 2005-09-27  Wim Taymans  <wim@fluendo.com>
6143
6144         * check/gst/gstbin.c: (GST_START_TEST):
6145         Enable check that works now.
6146
6147         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6148         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6149         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6150         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6151         (gst_bin_change_state):
6152         * gst/gstbin.h:
6153         Redid the state change algorithm using a topological sort algo.
6154         Handles all cases correctly.
6155         Exposed iterator for state change order.
6156
6157         * gst/gstelement.h:
6158         Temp storage for state changes. Need to get rid of this soon.
6159
6160 2005-09-27  Wim Taymans  <wim@fluendo.com>
6161
6162         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6163         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6164         (link_fold_func), (gst_pad_proxy_setcaps):
6165         Leak fixes, the fold functions need to unref the passed object and
6166         _get_parent_*() returns ref to parent.
6167
6168 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6169
6170         * check/gst/gstbuffer.c: (test_make_writable):
6171           Plug leak in test case and fix 'make check-valgrind'
6172
6173 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6174
6175         * gst/gstbuffer.c: (gst_subbuffer_init):
6176           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6177           works correctly in all circumstances (we could have just copied
6178           the parent buffer's readonly flag, but conceptually it seems
6179           cleaner to mark all subbuffers as read-only). (based on patch
6180           by Alessandro Decina, #314710).
6181         
6182         * check/gst/gstbuffer.c: (create_read_only_buffer),
6183         (test_make_writable), (test_subbuffer_make_writable),
6184         (gst_test_suite):
6185           Add some tests for gst_buffer_make_writable().
6186
6187 2005-09-27  Wim Taymans  <wim@fluendo.com>
6188
6189         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6190         use gst_object_has_ancestor().
6191
6192         * gst/gstobject.c: (gst_object_has_ancestor):
6193         * gst/gstobject.h:
6194         gst_object_has_ancestor() copied from gstbin.c as it is a
6195         usefull function.
6196
6197         * tests/instantiate/create.c: (create_all_elements):
6198         * tests/lat.c: (handoff_src), (handoff_sink):
6199         * tests/sched/runxml.c: (main):
6200         * tests/seeking/seeking1.c: (main):
6201         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6202         (main):
6203         Fix compilation of some tests.
6204
6205 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6206
6207         * gst/gsterror.h:
6208           Remove comment. GST_TYPE_G_ERROR is here to stay,
6209           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6210           (#316961, #300610).
6211
6212 2005-09-26  Wim Taymans  <wim@fluendo.com>
6213
6214         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6215         Added check that shows error in state change order.
6216
6217 2005-09-26  Wim Taymans  <wim@fluendo.com>
6218
6219         * gst/gstbin.c: (gst_bin_change_state):
6220         Make state change function use 3 queues again, we were
6221         adding elements in the wrong order.
6222
6223         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6224         Some debug info,
6225
6226         * gst/gstpad.c: (gst_pad_dispose):
6227         Added some debug info first.
6228
6229 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6230
6231         * docs/design/draft-push-pull.txt:
6232         * docs/design/part-events.txt:
6233         * docs/design/part-overview.txt:
6234         * docs/design/part-scheduling.txt:
6235           Replace all _pull_region() with _pull_range()
6236           
6237 2005-09-26  Andy Wingo  <wingo@pobox.com>
6238
6239         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6240
6241         * check/gst-libs/controller.c: Update for controller api change.
6242
6243         * configure.ac: 
6244         * tests/Makefile.am:
6245         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6246         over by GLib bug 118439.
6247         
6248         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6249         routines to a function.
6250
6251         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6252
6253         * libs/gst/controller/gsthelper.c:
6254         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6255         (gst_object_sync_values): Renamed from sink_values. Ugh.
6256
6257         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6258
6259         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6260         Renamed from controller_key, as it is exported.
6261
6262         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6263
6264 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6265
6266         * gst/Makefile.am:
6267         * gst/gst.h:
6268         * gst/gstpad.h:
6269         * gst/gstpadtemplate.h:
6270         * gst/gstquery.c:
6271         * gst/gstquery.h:
6272         * gst/gstqueryutils.c:
6273         * gst/gstqueryutils.h:
6274           remove queryutils headers after moving the two used functions
6275           to gstquery.  also fixes build problem for gstsiddec
6276
6277 2005-09-26  Michael Smith <msmith@fluendo.com>
6278
6279         * tools/gst-launch.1.in:
6280         Correct documentation in manpage of debug syntax
6281
6282 2005-09-26  Wim Taymans  <wim@fluendo.com>
6283
6284         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6285         (gst_base_src_is_seekable), (gst_base_src_change_state):
6286         Some more debugging info.
6287
6288 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6289
6290         * docs/gst/gstreamer-sections.txt:
6291         * gst/base/gstbasetransform.h:
6292         * gst/gstindex.h:
6293           added more docs
6294
6295 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6296
6297         * docs/gst/.cvsignore:
6298         * docs/gst/tmpl/.cvsignore:
6299         * docs/gst/tmpl/gstpipeline.sgml:
6300         * docs/gst/tmpl/gstplugin.sgml:
6301         * gst/gstpipeline.c:
6302         * gst/gstplugin.c:
6303         * gst/gstplugin.h:
6304           inlined the last two docs files
6305           removed the tmpl directory from cvs (no more conflicts here!)
6306
6307 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6308
6309         * docs/gst/gstreamer-sections.txt:
6310         * docs/gst/tmpl/.cvsignore:
6311         * docs/gst/tmpl/gstpad.sgml:
6312         * docs/gst/tmpl/gstpadtemplate.sgml:
6313         * gst/Makefile.am:
6314         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6315         (gst_pad_finalize), (gst_pad_set_pad_template):
6316         * gst/gstpad.h:
6317         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6318         (gst_pad_template_class_init), (gst_pad_template_init),
6319         (gst_pad_template_dispose), (name_is_valid),
6320         (gst_static_pad_template_get), (gst_pad_template_new),
6321         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6322         (gst_pad_template_pad_created):
6323         * gst/gstpadtemplate.h:
6324           inlined two more docs
6325           factored gstpadtemplate out of gstpad
6326
6327 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6328
6329         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6330         (test_children_state_change_order_semi_sink):
6331           Fix test case: we can't rely on a fixed state change order when
6332           going from READY => PAUSED because the sink might commit its 
6333           new state first when the first buffer created by the source 
6334           reaches the sink before the source has finished its change state.
6335           (Test case still fails at times, see #316856, comment 5 onwards)
6336
6337 2005-09-24  Wim Taymans  <wim@fluendo.com>
6338
6339         * docs/design/part-events.txt:
6340         * docs/design/part-gstbus.txt:
6341         * docs/design/part-gstpipeline.txt:
6342         * docs/design/part-messages.txt:
6343         * docs/design/part-overview.txt:
6344         * docs/design/part-segments.txt:
6345         * gst/gstbin.c:
6346         * gst/gstbuffer.c:
6347         * gst/gstclock.c:
6348         * gst/gstelement.c:
6349         * gst/gstevent.c:
6350         * gst/gstfilter.c:
6351         * gst/gstiterator.c:
6352         Various documentation updates.
6353
6354 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6355
6356         * gst/gstclock.h:
6357           Well, that's embarassing.  Luckily we weren't using
6358           GST_CLOCK_DIFF anywhere.
6359
6360 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6361
6362         * common/gtk-doc.mak:
6363           don't fail on building XML, FC4 slave shows a bunch of doc
6364           missing bits that I don't get
6365         * gst/gstpad.c:
6366         * gst/gstpipeline.c:
6367         * gst/gststructure.c:
6368           some doc updates
6369
6370 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6371
6372         * docs/design/part-gstbin.txt:
6373         * docs/design/part-gstbus.txt:
6374         * gst/gstbus.c:
6375           Add blurb about how the bus goes into flushing mode and
6376           drops all messages when its bin goes from READY into NULL 
6377           state.
6378
6379 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6380
6381         * docs/gst/gstreamer-sections.txt:
6382         * gst/gststructure.c: (gst_structure_get_clock_time):
6383         * gst/gststructure.h:
6384           add a method to get a GstClockTime out of a structure
6385
6386 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6387
6388         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6389         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6390           Added test to check state change order in bins (can still be made
6391           to fail here under heavy disk load; bails out with 'Push on pad
6392           fakesink:sink0, but it was not activated in push mode').
6393
6394         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6395           Fix state change order when there is only a semi sink (#316856)
6396
6397         * gst/gstbus.c: (gst_bus_class_init):
6398           Use _class_peek_parent(), not _class_ref(); fix docs to say
6399           'default main context' instead of 'mainloop' where that is
6400           what's meant.
6401
6402         * gst/gstelement.c: (gst_element_commit_state),
6403         (gst_element_set_state):
6404           Fix typos in debug messages
6405
6406 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6407
6408         * docs/README:
6409         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6410         * gst/gstpluginfeature.c:
6411         * gst/gstutils.c:
6412           various doc updates
6413         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6414           change an assert into an error until it gets fixed properly
6415
6416 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6417
6418         * docs/gst/gstreamer-sections.txt:
6419         * docs/gst/tmpl/.cvsignore:
6420         * docs/gst/tmpl/gstelement.sgml:
6421         * docs/gst/tmpl/gstinfo.sgml:
6422         * docs/gst/tmpl/gstobject.sgml:
6423         * gst/gstelement.c:
6424         * gst/gstelement.h:
6425         * gst/gstinfo.c:
6426         * gst/gstinfo.h:
6427         * gst/gstobject.c: (gst_object_class_init):
6428         * gst/gstobject.h:
6429           inlined 3 more biiiig doc files and added some missing docs on the fly
6430
6431 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6432
6433         * check/gst/.cvsignore:
6434         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6435         * gst/gstregistryxml.c: (load_plugin),
6436         (gst_registry_xml_save_plugin):
6437           put back source in registry.  add checks for find_plugin.
6438         * testsuite/states/bin.c: (assert_state), (empty_bin),
6439         (test_adding_one_element), (main):
6440         * testsuite/states/locked.c: (main):
6441           some compile/run fixes
6442
6443 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6444
6445         * check/gst/gstvalue.c: (GST_START_TEST):
6446           fix leaks in the test itself
6447
6448 2005-09-22  Wim Taymans  <wim@fluendo.com>
6449
6450         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6451         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6452         (gst_base_sink_query):
6453         Prepare for more accurate position reporting and query
6454         handling.
6455
6456         * gst/gstelement.c: (gst_element_send_event),
6457         (gst_element_set_state):
6458         Add some comment.
6459
6460 2005-09-22  Wim Taymans  <wim@fluendo.com>
6461
6462         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6463         (gst_query_parse_segment):
6464         * gst/gstquery.h:
6465         More documentation.
6466         Add segment query for future use.
6467
6468 2005-09-22  Wim Taymans  <wim@fluendo.com>
6469
6470         * gst/gstbin.c: (gst_bin_add_func):
6471         Some more debug info.
6472
6473         * gst/gstelement.c: (gst_element_send_event):
6474         Simplify send_event
6475
6476         * gst/gstelement.h:
6477         Don't know how flags got broken.
6478
6479         * gst/gstquery.h:
6480         Added new query.
6481
6482 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6483
6484         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6485           Add simplistic test suite for GST_TYPE_DATE serialisation and
6486           deserialisation.
6487
6488 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6489
6490         * docs/gst/gstreamer-sections.txt:
6491         * gst/gststructure.c: (gst_structure_set_valist),
6492         (gst_structure_get_date):
6493         * gst/gststructure.h:
6494         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6495         (gst_date_copy), (gst_value_compare_date),
6496         (gst_value_serialize_date), (gst_value_deserialize_date),
6497         (gst_value_transform_date_string),
6498         (gst_value_transform_string_date), (_gst_value_initialize):
6499         * gst/gstvalue.h:
6500           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6501           bunch of utility functions along with a hack that checks that
6502           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6503           is required. Part of the grand scheme in #170777.
6504
6505 2005-09-22  Andy Wingo  <wingo@pobox.com>
6506
6507         * gst/gstconfig.h.in: Psych out gtk-doc.
6508
6509         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6510
6511         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6512
6513         * tools/gst-inspect.c (print_element_list): Plug some
6514         inconsequential leaks.
6515
6516         * gst/gstregistry.c (gst_registry_get_default): Doc.
6517
6518         * check/gst/gstplugin.c: 
6519         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6520         * gst/gstelementfactory.c (gst_element_factory_create): 
6521         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6522         refcount changes.
6523
6524         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6525         (gst_plugin_feature_load): Doc, don't eat refs.
6526
6527         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6528         (gst_plugin_list_free): Doc.
6529         (gst_plugin_load_file): Doc updates.
6530
6531         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6532         accessors returning refcounted objects, return a ref.
6533
6534         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6535         accessor for caps. IDEMPOTENCE. Oh yes.
6536
6537 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6538
6539         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6540
6541         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6542         (_gst_debug_register_funcptr):
6543           Add mutex to serialise access to the hash table with
6544           the function pointer => function name string mapping;
6545           make that hash table static scope (#316809).
6546
6547         * gst/registries/.cvsignore:
6548           Remove left-over file.
6549
6550 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6551
6552         * docs/pwg/appendix-porting.xml:
6553           And something about newsegment events and caps-on-buffers to
6554           the porting guide (feel free to improve).
6555
6556 2005-09-21  Andy Wingo  <wingo@pobox.com>
6557
6558         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6559         data and event probes on the same pad.
6560         (test_buffer_probe_once): Test that removing probes from within
6561         the probe functions works.
6562
6563 2005-09-21  Andy Wingo  <wingo@pobox.com>
6564
6565         * check/gst/gstutils.c: New file.
6566         (test_buffer_probe_n_times): A simple buffer probe test. More to
6567         come, foolios.
6568
6569         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6570         have-data::buffer, not have-data.
6571         (gst_pad_add_event_probe): Likewise for have-data::event.
6572         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6573         peer' isn't quite right yet though.
6574         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6575         (gst_pad_remove_data_probe): Change to take the guint handler_id
6576         as their arg, not the function+data, which is more glib-like.
6577
6578         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6579         the signal emission to indicate if the data is a buffer or an
6580         event.
6581         (gst_pad_get_type): Initialize buffer and event quarks.
6582         (gst_pad_class_init): have-data is now a detailed signal, yes it
6583         is.
6584
6585 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6586
6587         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6588         * gst/gstutils.c: (gst_util_set_value_from_string),
6589         (gst_util_set_object_arg):
6590           Don't put functional code in g_return_if_fail() or
6591           g_return_val_if_fail() statements, otherwise things will 
6592           break when G_DISABLE_CHECKS is defined during compilation.
6593
6594 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6595
6596         * docs/gst/tmpl/.cvsignore:
6597         * docs/gst/tmpl/gstvalue.sgml:
6598         * gst/gstvalue.c:
6599         * gst/gstvalue.h:
6600           inlied another one and added  some obvious docs
6601
6602 2005-09-21  Wim Taymans  <wim@fluendo.com>
6603
6604         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6605         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6606         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6607         (gst_fdsrc_get_property), (gst_fdsrc_create):
6608         * gst/elements/gstfdsrc.h:
6609         Properly implement fdsrc. Removed signal and timeout,
6610         better implemented somewhere else.
6611
6612 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6613
6614         * docs/gst/tmpl/.cvsignore:
6615         * docs/gst/tmpl/gstimplementsinterface.sgml:
6616         * gst/gstinterface.c:
6617           inlined more docs
6618
6619 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6620
6621         * docs/gst/gstreamer-sections.txt:
6622         * docs/gst/tmpl/.cvsignore:
6623         * docs/gst/tmpl/gstenumtypes.sgml:
6624           remove obsolete doc file
6625
6626 2005-09-21  David Schleef  <ds@schleef.org>
6627
6628         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6629         little beer, fix a little leak.
6630
6631 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6632
6633         * docs/gst/gstreamer-docs.sgml:
6634         * docs/gst/gstreamer-sections.txt:
6635         * docs/gst/tmpl/.cvsignore:
6636         * gst/Makefile.am:
6637         * gst/gst.h:
6638         * gst/gstbin.c:
6639         * gst/gstelement.h:
6640         * gst/gstindex.c: (gst_index_class_init):
6641         * gst/gstindex.h:
6642         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6643         (gst_index_factory_class_init), (gst_index_factory_init),
6644         (gst_index_factory_finalize), (gst_index_factory_new),
6645         (gst_index_factory_destroy), (gst_index_factory_find),
6646         (gst_index_factory_create), (gst_index_factory_make):
6647         * gst/gstindexfactory.h:
6648         * gst/gstpluginfeature.c:
6649         * gst/gstpluginfeature.h:
6650         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6651           more docs inlined, splitted gstindex.{c,h}
6652
6653 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6654
6655         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6656           fix a leak
6657
6658 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6659
6660         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6661           Set sync to FALSE by default.
6662
6663 2005-09-20  Wim Taymans  <wim@fluendo.com>
6664
6665         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6666         (gst_base_sink_init):
6667         Make sync property settable from subclass.
6668
6669         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6670         (gst_fake_sink_change_state):
6671         Set sync to FALSE by default.
6672
6673 2005-09-20  Wim Taymans  <wim@fluendo.com>
6674
6675         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6676         * tools/gst-launch.c: (main):
6677         The timeout handler should have lower priority than the source
6678         so we don't timeout before popping a message with 0 timeout.
6679         Dump error messages after failed state change.
6680
6681 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6682
6683         * tools/gst-inspect.c: (print_element_properties_info):
6684           Fix two typos.
6685
6686 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6687
6688         * check/gst/gstevent.c:
6689         * gst/elements/gstfakesink.c:
6690         * gst/elements/gstfakesink.h:
6691           remove the sync property from fakesink.
6692           has the side effect of setting sync TRUE
6693           for fakesink, which is a change.  Anyone who knows how
6694           to fix this nicely in a GObject-y way, feel free.
6695
6696 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6697
6698         * docs/gst/gstreamer-docs.sgml:
6699           remove probe refsection
6700
6701 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6702
6703         * check/Makefile.am:
6704           disable valgrinding the controller test again
6705         * docs/gst/gstreamer-sections.txt:
6706           update for api-changes
6707
6708 2005-09-20  Wim Taymans  <wim@fluendo.com>
6709
6710         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6711         (gst_base_sink_set_property), (gst_base_sink_get_property),
6712         (gst_base_sink_do_sync):
6713         * gst/base/gstbasesink.h:
6714         Added sync property to basesink to disable clock sync.
6715
6716 2005-09-20  Andy Wingo  <wingo@pobox.com>
6717
6718         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6719         eating the caller's refcount.
6720
6721         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6722         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6723         refcount.
6724
6725         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6726         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6727         of GLib 2.8 public, so we can know which refcount to check in
6728         tests.
6729
6730         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6731         (gst_object_init): Only set the gst refcount if we're going ahead
6732         with the refcount hack.
6733
6734 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6735
6736         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6737         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6738           more leaks plumbed, added more debug-logging
6739         * gst/gstmacros.h:
6740           whitespace fix
6741
6742 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6743
6744         * gst/gstmessage.c:
6745           remove include of gstmemchunk.h
6746
6747 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6748
6749         * gst/gstclock.c: (_gst_clock_id_free):
6750           Commit from the Political Party For More Atomic CVS Commits,
6751           so that people don't waste too much of their day fishing
6752           out obvious leaks out of massive commits.
6753           Oh, and fix a pretty damn obvious leak in the memchunk
6754           removal code.
6755
6756 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6757
6758         * check/Makefile.am:
6759         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6760           plug mem-leak, re-add to valgrindable tests
6761
6762 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6763
6764         * gst/gstplugin.h:
6765           unbreak the build for those who have chronic arthritis
6766           and typing "make check" is just too taxing on the hands
6767
6768 2005-09-20  Andy Wingo  <wingo@pobox.com>
6769
6770         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6771         really want it out, you should fix plugins at the same time.
6772
6773 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6774
6775         * configure.ac:
6776         * docs/gst/gstreamer-sections.txt:
6777         * gst/gstobject.c:
6778           added missing symbols to api docs
6779           disable ref-count hack if we have glib >= 2.8
6780
6781 2005-09-19  David Schleef  <ds@schleef.org>
6782
6783         * docs/gst/Makefile.am: Ignore a few more internal headers
6784         * docs/gst/gstreamer-docs.sgml: Remove old sections
6785         * docs/gst/gstreamer-sections.txt: Remove old sections
6786         * docs/gst/tmpl/gstobject.sgml: update
6787         * docs/gst/tmpl/gstplugin.sgml: update
6788         * docs/gst/tmpl/gstpluginfeature.sgml: update
6789         * docs/random/ds/0.9-suggested-changes: update.
6790         * gst/Makefile.am: remove memchunk and trashstack, since they're
6791           not used.
6792         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6793         * gst/gst.h: don't include some headers
6794         * gst/gstchildproxy.c: add gstmarshal.h
6795         * gst/gstclock.c: Don't use memchunks
6796         * gst/gstminiobject.c: Add some docs
6797         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6798         * gst/gstobject.h: same
6799         * gst/gstplugin.c: include gstmacros.h
6800         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6801         * gst/gstquery.c: don't use memchunks
6802         * gst/gstregistry.c: rename gst_registry_deinit()
6803         * gst/gstregistry.h: same
6804
6805 2005-09-19  David Schleef  <ds@schleef.org>
6806
6807         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6808         * docs/libs/gstreamer-libs-sections.txt:
6809         * docs/libs/tmpl/gstgetbits.sgml:
6810         * docs/libs/tmpl/gstputbits.sgml:
6811
6812 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6813
6814         * win32/gstenumtypes.c:
6815         * win32/gstenumtypes.h:
6816           Update.
6817
6818 2005-09-19  Wim Taymans  <wim@fluendo.com>
6819
6820         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6821         Automatically PAUSE and RESUME a pipeline when a flushing seek
6822         is performed.
6823
6824 2005-09-19  Andy Wingo  <wingo@pobox.com>
6825
6826         * gst/gstregistry.h: Spacing fixen.
6827
6828 2005-09-19  Wim Taymans  <wim@fluendo.com>
6829
6830         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6831         Handle state change failure more correctly.
6832
6833 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6834
6835         * check/Makefile.am:
6836         * check/pipelines/cleanup.c: (run_pipeline):
6837         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6838         (GST_START_TEST):
6839           enable cleanup again after fixing the leak
6840         * docs/README:
6841           some more info on docs
6842
6843 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6844
6845         * check/Makefile.am:
6846           re-enable tests now that leaks are plugged
6847         * check/gst/gst.c:
6848         * check/gst/gstbin.c:
6849         * check/gst/gstpipeline.c:
6850           add some more tests while fixing leaks
6851         * common/check.mak:
6852           make sure binaries are uptodate when valgrinding/gdbing
6853         * gst/gst.c:
6854         * gst/gstelementfactory.c:
6855           remove a ref too many, and add a FIXME for when we get
6856           round to disposing of classes
6857         * gst/gstplugin.c:
6858           fix the refcounting when loading a plugin from a file and
6859           the code pretends that the pointer is the same even though
6860           of course it can change
6861         * gst/gstpluginfeature.c:
6862           unref plugins marked cached (a bit confusing as a name)
6863           as the docs state should be done
6864           various doc additions to explain refcounting
6865         * gst/gstregistry.c:
6866         * gst/gstregistryxml.c:
6867           debugging
6868
6869 2005-09-19  Wim Taymans  <wim@fluendo.com>
6870
6871         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6872         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6873         (send_messages), (GST_START_TEST), (gstbus_suite):
6874         * check/gst/gstpipeline.c: (GST_START_TEST):
6875         * check/pipelines/cleanup.c: (run_pipeline):
6876         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6877         (GST_START_TEST):
6878         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6879         (gst_bus_source_check), (gst_bus_source_dispatch),
6880         (gst_bus_create_watch), (gst_bus_add_watch_full),
6881         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6882         * gst/gstbus.h:
6883         * tools/gst-launch.c: (event_loop):
6884         * tools/gst-md5sum.c: (event_loop):
6885         GstBusHandler -> GstBusFunc, return value has the same meaning as
6886         any other GSource (FALSE == remove source).
6887         _add_watch() and _add_watch_full() now take a MessageType mask to
6888         only handle specific types of messages.
6889         _poll() returns the GstMessage instead of the message type to avoid
6890         race conditions.
6891         _have_pending() takes a MessageType mask now too.
6892         Added testsuite for multiple bus watches.
6893         Fix testsuites and applications for new bus API.
6894
6895 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6896
6897         * check/Makefile.am:
6898           mark a bunch of the tests as to fix until we fix them
6899
6900 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6901
6902         * common/check.mak:
6903           use GST_PLUGIN settings for valgrind tests as well, so we're
6904           valgrinding the correct thing
6905         * gst/gst.c: (init_post):
6906           plug another leak
6907
6908 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6909
6910         * gst/gst.c: (init_post), (gst_deinit):
6911         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6912         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6913         * gst/gstindex.c: (gst_index_factory_class_init),
6914         (gst_index_factory_finalize):
6915         * gst/gstobject.c: (gst_object_dispose):
6916         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6917         (gst_plugin_load_file), (gst_plugin_desc_free):
6918         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6919         (gst_plugin_feature_finalize):
6920         * gst/gstregistry.c: (gst_registry_class_init),
6921         (gst_registry_init), (gst_registry_finalize),
6922         (gst_registry_get_default), (gst_registry_deinit):
6923         * gst/gstregistry.h:
6924         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6925           various cleanups and memleak plugging.  make valgrind is happy now.
6926
6927 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6928
6929         * common/check.mak:
6930           add a check-valgrind target
6931
6932 2005-09-18  David Schleef  <ds@schleef.org>
6933
6934         * tools/gst-inspect.c: Revert the GOption code.
6935
6936 2005-09-17  David Schleef  <ds@schleef.org>
6937
6938         * check/Makefile.am: Fix environment variables.
6939         * check/gst/gstplugin.c: Fix for API changes.
6940         * tools/gst-inspect.c: Fix for API changes.
6941         * tools/gst-xmlinspect.c: Fix for API changes.
6942         * gst/gstelementfactory.c:
6943         * gst/gstplugin.c:
6944         * gst/gstplugin.h:
6945         * gst/gstpluginfeature.c:
6946         * gst/gstpluginfeature.h:
6947         * gst/gstregistry.c:
6948         * gst/gstregistry.h:
6949         * gst/gstregistryxml.c:
6950         * gst/gsttypefind.c:
6951         * gst/gsttypefindfactory.c:
6952         * gst/indexers/gstfileindex.c:
6953         * gst/indexers/gstmemindex.c:
6954         * gst/schedulers/Makefile.am:
6955           Change registry to keep track of both plugins and features,
6956           removing the feature tracking from plugins themselves.
6957
6958 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6959
6960         * check/Makefile.am:
6961         * tools/gst-register.1.in:
6962           remove gst-register
6963
6964 2005-09-15  David Schleef  <ds@schleef.org>
6965
6966         * check/gst/gstplugin.c:
6967         * gst/gstelementfactory.c:
6968         * gst/gstplugin.c:
6969         * gst/gstpluginfeature.c:
6970         * gst/gstregistry.c:
6971           Getting tired of debugging.  Disabled all the unreffing of
6972           plugins and features, which fixes the segfaults, but of
6973           course leaks like crazy.  At least playbin works.
6974
6975 2005-09-15  David Schleef  <ds@schleef.org>
6976
6977         * check/gst/gstplugin.c: (register_check_elements),
6978         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6979         More testing
6980         * gst/elements/gsttypefindelement.c: Fix refcounting.
6981         * gst/gsttypefind.c:
6982         * gst/gsttypefindfactory.c:
6983         * gst/gsttypefindfactory.h:
6984
6985 2005-09-15  David Schleef  <ds@schleef.org>
6986
6987         * gst/gstindex.c: get refcounting correct.
6988         * gst/gstregistry.c: Handle the case where a feature/plugin is
6989           not found.
6990
6991 2005-09-15  David Schleef  <ds@schleef.org>
6992
6993         * check/Makefile.am:
6994         * check/gst/gstplugin.c: Add test
6995         * gst/gstplugin.c: Fix problems noticed by testsuite
6996         * gst/gstplugin.h:
6997         * gst/gstregistry.c: 
6998         * gst/gstregistry.h:
6999
7000 2005-09-15  David Schleef  <ds@schleef.org>
7001
7002         * gst/gstplugin.c: Implement semi-decent recounting and locking
7003           in plugins and plugin features.
7004         * gst/gstplugin.h:
7005         * gst/gstpluginfeature.c:
7006         * gst/gstpluginfeature.h:
7007         * gst/gstregistry.c:
7008
7009 2005-09-15  Michael Smith <msmith@fluendo.com>
7010
7011         * gst/gstregistry.c: (gst_registry_get_feature_list):
7012           Implement this. Makes oggdemux work; decodebin still broken.
7013
7014 2005-09-14  David Schleef  <ds@schleef.org>
7015
7016         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7017           #316076)
7018         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7019         * gst/check/Makefile.am:
7020         * libs/gst/controller/Makefile.am:
7021         * libs/gst/dataprotocol/Makefile.am:
7022
7023 2005-09-14  David Schleef  <ds@schleef.org>
7024
7025         * configure.ac: Remove getbits library.  Nothing uses it, and
7026           it should be in something like liboil if someone did want
7027           to use it.
7028         * libs/gst/Makefile.am:
7029         * libs/gst/getbits/Makefile.am:
7030         * libs/gst/getbits/gbtest.c:
7031         * libs/gst/getbits/getbits.c:
7032         * libs/gst/getbits/getbits.h:
7033         * libs/gst/getbits/gstgetbits_generic.c:
7034         * libs/gst/getbits/gstgetbits_i386.s:
7035         * libs/gst/getbits/gstgetbits_inl.h:
7036
7037 2005-09-14  David Schleef  <ds@schleef.org>
7038
7039         * gst/Makefile.am: Dist glib-compat.h
7040
7041 2005-09-14  David Schleef  <ds@schleef.org>
7042
7043         * configure.ac: Remove gst/registries, since it's no longer used.
7044         * gst/registries/Makefile.am:
7045         * gst/registries/gstlibxmlregistry.c:
7046         * gst/registries/gstlibxmlregistry.h:
7047         * gst/registries/gstxmlregistry.c:
7048         * gst/registries/gstxmlregistry.h:
7049         * gst/registries/registrytest.c:
7050
7051 2005-09-14  David Schleef  <ds@schleef.org>
7052
7053         * gst/glib-compat.h:
7054         * gst/gstregistryxml.c:
7055           Convergence is near.  Seriously.
7056
7057 2005-09-14  David Schleef  <ds@schleef.org>
7058
7059         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7060         * gst/glib-compat.h:
7061           Attempt #4 to appease the buildbots.
7062
7063 2005-09-14  David Schleef  <ds@schleef.org>
7064
7065         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7066           Attempt #3.
7067
7068 2005-09-14  David Schleef  <ds@schleef.org>
7069
7070         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7071         Attempt #2.
7072
7073 2005-09-14  David Schleef  <ds@schleef.org>
7074
7075         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7076           the new functions.
7077
7078 2005-09-14  David Schleef  <ds@schleef.org>
7079
7080         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7081         * gst/glib-compat.h: Add some functions that are in newer versions
7082           of glib than we care to require.
7083         * gst/gstregistryxml.c: Use them.
7084
7085 2005-09-14  David Schleef  <ds@schleef.org>
7086
7087         * po/POTFILES.in: remove gst-register.c
7088
7089 2005-09-14  David Schleef  <ds@schleef.org>
7090
7091         * docs/gst/gstreamer-docs.sgml:
7092         * docs/gst/gstreamer-sections.txt:
7093         * docs/gst/gstreamer.types:
7094         * docs/gst/tmpl/gstelement.sgml:
7095         * docs/gst/tmpl/gstplugin.sgml:
7096         * docs/gst/tmpl/gstpluginfeature.sgml:
7097           Documentation updates for registry changes.
7098
7099 2005-09-14  David Schleef  <ds@schleef.org>
7100
7101         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7102           because we don't require glib-2.8.
7103
7104 2005-09-14  David Schleef  <ds@schleef.org>
7105
7106         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7107           registries directory.
7108
7109 2005-09-14  David Schleef  <ds@schleef.org>
7110
7111         * check/Makefile.am:
7112         * check/generic/states.c:
7113         * gst/Makefile.am:
7114         * gst/gst.c:
7115         * gst/gst.h:
7116         * gst/gst_private.h:
7117         * gst/gstelementfactory.c:
7118         * gst/gstindex.c:
7119         * gst/gstinfo.c:
7120         * gst/gstplugin.c:
7121         * gst/gstplugin.h:
7122         * gst/gstpluginfeature.c:
7123         * gst/gstpluginfeature.h:
7124         * gst/gstregistry.c:
7125         * gst/gstregistry.h:
7126         * gst/gstregistrypool.c: remove
7127         * gst/gstregistrypool.h: remove
7128         * gst/gsttypefind.c:
7129         * gst/gsttypefindfactory.c:
7130         * gst/gsturi.c:
7131         * tools/Makefile.am:
7132         * tools/gst-compprep.c:
7133         * tools/gst-inspect.c:
7134         * tools/gst-register.c: remove
7135         * tools/gst-xmlinspect.c:
7136           Registry rewrite.  Changes registry from being a file created
7137           by a tool into a simple cache file created automatically by 
7138           libgstreamer.  Removed gst-register (because it's no longer
7139           needed).  Remove registry pools, because we only have one
7140           registry implementation (XML).  Fix up other subsystems as
7141           necessary.
7142
7143 2005-09-13  Michael Smith <msmith@fluendo.com>
7144
7145         * gst/gstconfig.h.in:
7146           Don't Use windows linking attributes for MinGW. Fixes #316157
7147
7148 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7149
7150         * gst/gstutils.c: (set_state_async_thread_func),
7151         (gst_element_set_state_async):
7152           Apparently people think it's better if this function doesn't
7153           try to set the state to whatever state was asked for on the first
7154           call to this function for any object.  Seriously.
7155
7156 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7157
7158         * check/gst/gstpipeline.c: (GST_START_TEST):
7159         * docs/gst/gstreamer-sections.txt:
7160         * gst/gstutils.c: (set_state_async_thread_func),
7161         (gst_element_set_state_async):
7162         * gst/gstutils.h:
7163           add a "gst_element_set_state_async" method that
7164           sets the state and starts a thread to make sure the state
7165           change completes as best as it can
7166
7167 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7168
7169         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7170           codify design+behaviour in testsuite after discussion
7171
7172 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7173
7174         * docs/gst/tmpl/gstelement.sgml:
7175         * docs/manual/appendix-quotes.xml:
7176           add a quote
7177         * gst/gstelement.c: (gst_element_set_state):
7178           add some debug
7179
7180 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7181
7182         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7183         (gst_base_transform_prepare_output_buf),
7184         (gst_base_transform_handle_buffer):
7185         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7186         (gst_capsfilter_prepare_buf):
7187           Remove the requirement for sub-classes to call the parent
7188           implementation of prepare_output_buffer with a wrapper function.
7189           
7190         * gst/gsttaglist.h:
7191         * gst/gsttagsetter.h:
7192           Fix #define wrapper
7193
7194 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7195
7196         * docs/gst/gstreamer-sections.txt:
7197           more doc cleanups
7198
7199 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7200
7201         * docs/gst/gstreamer-sections.txt:
7202         * docs/gst/tmpl/gstelement.sgml:
7203         * docs/gst/tmpl/gstplugin.sgml:
7204         * gst/gstminiobject.c:
7205         * gst/gstvalue.h:
7206           docs now stop throwing warnings
7207
7208 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7209
7210         * docs/gst/gstreamer-sections.txt:
7211         * docs/gst/gstreamer.types:
7212         * docs/gst/tmpl/gstpad.sgml:
7213         * docs/gst/tmpl/gsttypes.sgml:
7214         * gst/base/gstadapter.h:
7215         * gst/base/gstbasesink.h:
7216         * gst/base/gstbasesrc.h:
7217         * gst/gstbin.h:
7218         * gst/gstbuffer.h:
7219         * gst/gstbus.h:
7220         * gst/gstcaps.h:
7221         * gst/gstclock.h:
7222         * gst/gstelement.h:
7223         * gst/gstevent.h:
7224         * gst/gstmessage.h:
7225         * gst/gstpad.h:
7226         * gst/gststructure.c:
7227         * gst/registries/gstlibxmlregistry.h:
7228           various documentation fixes
7229
7230 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7231
7232         * docs/gst/gstreamer-sections.txt:
7233         * docs/gst/tmpl/gstvalue.sgml:
7234           rearrange gstvalue section
7235         * gst/gstutils.c: (gst_element_state_get_name):
7236           NONE -> VOID
7237         * gst/gstvalue.c: (_gst_value_initialize):
7238         * gst/gstvalue.h:
7239           doc updates
7240
7241 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7242
7243         * check/gst-libs/controller.c:
7244           Header include fix.
7245         * gst/base/gstbasetransform.c:
7246         (gst_base_transform_default_prepare_buf),
7247         (gst_base_transform_handle_buffer):
7248         * gst/base/gstbasetransform.h:
7249           Some more basetransform changes and fixes to enable sub-classes
7250           that modify buffer metadata only.
7251         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7252         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7253         (gst_capsfilter_prepare_buf):
7254           If the output pad has fixed allowed caps and input buffers 
7255           don't have any, set the fixed caps on outgoing buffers.
7256
7257 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7258         * check/elements/identity.c: (GST_START_TEST):
7259           Make the error a little clearer when the test fails because
7260           identity made a copy of the buffer.
7261         * docs/gst/gstreamer-sections.txt:
7262           New symbols in gstbasetransform.h
7263         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7264         (gst_base_transform_init), (gst_base_transform_transform_size),
7265         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7266         (gst_base_transform_default_prepare_buf),
7267         (gst_base_transform_get_unit_size),
7268         (gst_base_transform_buffer_alloc),
7269         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7270         (gst_base_transform_change_state),
7271         (gst_base_transform_set_passthrough),
7272         (gst_base_transform_set_in_place),
7273         (gst_base_transform_is_in_place):
7274         * gst/base/gstbasetransform.h:
7275           Change BaseTransform to separate in_place operate from same_caps
7276           output. in_place implies that the element can perform the transform
7277           on incoming buffers in-place, even if the caps on the output are
7278           different.
7279           Sub-class elements can now implement special buffer allocation
7280           methods for outgoing buffers if they wish to.
7281           Big documentation addition.
7282         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7283         * gst/elements/gstelements.c:
7284           Changes for basetransform modifications.
7285         * gst/elements/Makefile.am:
7286         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7287           Compile fix. Extra debug output.
7288
7289 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7290
7291         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7292         (gst_pad_suite):
7293           add tests for valid pad naming
7294         * gst/check/gstcheck.c: (gst_check_log_message_func),
7295         (gst_check_log_critical_func):
7296           add ASSERT_WARNING
7297           remove printing of code, it is fragile when the code contains
7298           % and the line number is enough info
7299         * gst/check/gstcheck.h:
7300         * gst/gstpad.c: (gst_pad_template_new):
7301           fix memleaks
7302
7303 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7304
7305         * configure.ac:
7306           say what CHECK flags we use
7307         * docs/libs/gstreamer-libs.types:
7308         * libs/gst/controller/Makefile.am:
7309         * libs/gst/controller/gst-controller.c:
7310         * libs/gst/controller/gst-controller.h:
7311         * libs/gst/controller/gst-helper.c:
7312         * libs/gst/controller/gst-interpolation.c:
7313         * libs/gst/controller/gstcontroller.c:
7314         * libs/gst/controller/gsthelper.c:
7315         * libs/gst/controller/gstinterpolation.c:
7316         * tools/gst-inspect.c: (print_plugin_info):
7317           we don't use dashes in header names
7318
7319 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7320
7321         * check/Makefile.am:
7322         * check/gst/.cvsignore:
7323         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7324         (gst_pipeline_suite), (main):
7325           adding a test for pipelines and state changes
7326         * gst/gstutils.c: (get_state_func):
7327           add some debugging
7328         * gstreamer.spec.in:
7329           fix up spec file
7330
7331 2005-09-08  Michael Smith <msmith@fluendo.com>
7332
7333         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7334         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7335         (gst_file_src_is_seekable), (gst_file_src_get_size),
7336         (gst_file_src_start):
7337         * gst/elements/gstfilesrc.h:
7338           Various fixes for unseekable, unmmapable, and non-normal files, so
7339           that fallback to read() rather than mmap() works.
7340         * gst/gstevent.c: (gst_event_new_newsegment):
7341           Allow newsegment events with segment_start == segment_end, as will
7342           correctly happen if you use filesrc on a zero-size file, for
7343           example.
7344
7345 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7346
7347         * gst/gstplugin.c: (gst_plugin_load_file):
7348           Call g_module_close when we don't load the module
7349
7350         * gst/registries/gstlibxmlregistry.c:
7351         (gst_xml_registry_get_property):
7352           Port leak fix from 0.8
7353
7354 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7355
7356         * docs/gst/gstreamer-docs.sgml:
7357         * docs/gst/tmpl/.cvsignore:
7358         * docs/gst/tmpl/gsttrace.sgml:
7359         * docs/gst/tmpl/gsttrashstack.sgml:
7360         * gst/Makefile.am:
7361         * gst/gst.h:
7362         * gst/gstelement.h:
7363         * gst/gstevent.h:
7364         * gst/gstmessage.c:
7365         * gst/gstmessage.h:
7366         * gst/gsttag.c:
7367         * gst/gsttag.h:
7368         * gst/gsttaginterface.c:
7369         * gst/gsttaginterface.h:
7370         * gst/gsttaglist.c:
7371         * gst/gsttaglist.h:
7372         * gst/gsttagsetter.c:
7373         * gst/gsttagsetter.h:
7374         * gst/gsttrace.c:
7375         * gst/gsttrace.h:
7376         * gst/gsttrashstack.c:
7377           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7378           inlined docs for gsttrace, gsttrashstack
7379
7380 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7381
7382         * gst/Makefile.am:
7383         * gst/elements/gstbufferstore.h:
7384         * gst/elements/gsttypefindelement.c:
7385         * gst/elements/gsttypefindelement.h:
7386         * gst/gst.h:
7387         * gst/gsttypefind.c:
7388         * gst/gsttypefind.h:
7389         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7390         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7391         (gst_type_find_factory_dispose),
7392         (gst_type_find_factory_unload_thyself),
7393         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7394         (gst_type_find_factory_get_caps),
7395         (gst_type_find_factory_get_extensions),
7396         (gst_type_find_factory_call_function):
7397         * gst/gsttypefindfactory.h:
7398         * gst/registries/gstlibxmlregistry.c:
7399         * gst/registries/gstxmlregistry.c:
7400           splitted gsttypefind into gsttypefind, gsttypefindfactory
7401
7402 2005-09-07  Andy Wingo  <wingo@pobox.com>
7403
7404         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7405         condition whereby the pad's task function is entered before the
7406         pad_mode variable was set.
7407
7408 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7409
7410         * gst/gstpad.c: (gst_pad_alloc_buffer):
7411           Catch misbehaving pad_alloc functions that don't
7412           set up caps and do it for them.
7413
7414 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7415
7416         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7417           test for pipe!=NULL
7418         * docs/gst/tmpl/.cvsignore:
7419         * docs/gst/tmpl/gstmemchunk.sgml:
7420         * docs/gst/tmpl/gstparse.sgml:
7421         * docs/gst/tmpl/gsttaglist.sgml:
7422         * docs/gst/tmpl/gsttagsetter.sgml:
7423         * docs/gst/tmpl/gsttypefind.sgml:
7424         * docs/gst/tmpl/gsttypefindfactory.sgml:
7425         * gst/gstmemchunk.c:
7426         * gst/gstparse.c:
7427         * gst/gsttag.c:
7428         * gst/gsttaginterface.c:
7429         * gst/gsttypefind.c:
7430         * gst/gsttypefind.h:
7431           inlined more docs
7432
7433 === release 0.9.2 ===
7434
7435 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7436
7437         * NEWS:
7438         * RELEASE:
7439         * configure.ac:
7440           releasing 0.9.2, "South"
7441
7442 2005-09-05  Andy Wingo  <wingo@pobox.com>
7443
7444         * gst/registries/gstxmlregistry.h:
7445         * gst/registries/gstxmlregistry.c: Um... resurrect...
7446         
7447         * gst/registries/gstxmlregistry.h:
7448         * gst/registries/gstxmlregistry.c: and update to newer API.
7449         Incidentally they should be a bit faster now that they don't have
7450         to parse the caps.
7451         
7452 2005-09-05  Andy Wingo  <wingo@pobox.com>
7453
7454         * gst/registries/gstxmlregistry.h:
7455         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7456         replaced by the libxml registry a while back
7457
7458 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7459
7460         * docs/gst/tmpl/gstplugin.sgml:
7461         * gst/elements/gstelements.c:
7462         * gst/gst.c:
7463         * gst/gstplugin.c: (gst_plugin_register_func),
7464         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7465         (gst_plugin_get_source):
7466         * gst/gstplugin.h:
7467         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7468         (gst_xml_registry_save_plugin):
7469         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7470         (gst_xml_registry_save_plugin):
7471         * tools/gst-inspect.c: (print_plugin_info):
7472           add a "source" plugin description field, to represent the source
7473           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7474           will set it to PACKAGE, which is automake's idea of the name of
7475           the source project.
7476
7477 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7478
7479         * Makefile.am:
7480         * autogen.sh:
7481         * configure.ac:
7482         * docs/Makefile.am:
7483         * docs/faq/Makefile.am:
7484         * docs/gst/tmpl/gstelement.sgml:
7485         * docs/gst/tmpl/gsttypes.sgml:
7486         * docs/htmlinstall.mak:
7487         * docs/manual/Makefile.am:
7488         * docs/pwg/Makefile.am:
7489           reorganize doc build a little
7490           split out docbook and gtk-doc stuff
7491           have two separate --enable's and enable them through autogen
7492           but disable by default in configure (to be similar to other
7493           projects)
7494         * gstreamer.spec.in:
7495           clean up docs install
7496         * po/af.po:
7497         * po/az.po:
7498         * po/ca.po:
7499         * po/cs.po:
7500         * po/de.po:
7501         * po/en_GB.po:
7502         * po/fr.po:
7503         * po/it.po:
7504         * po/nb.po:
7505         * po/nl.po:
7506         * po/ru.po:
7507         * po/sq.po:
7508         * po/sr.po:
7509         * po/sv.po:
7510         * po/tr.po:
7511         * po/uk.po:
7512         * po/vi.po:
7513           translation updates
7514
7515 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7516
7517         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7518           Add comment.
7519           
7520         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7521         (gst_fake_sink_change_state):
7522           Make state change function thread-safe.
7523           
7524         * gst/gstpad.c: (gst_pad_alloc_buffer):
7525           Set offset on generic buffer allocated by fallback.
7526
7527 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7528
7529         * docs/gst/gstreamer-sections.txt:
7530         * docs/gst/tmpl/gstelement.sgml:
7531         * gst/gstpad.c:
7532         * libs/gst/controller/gst-controller.c:
7533         (gst_controlled_property_set_interpolation_mode),
7534         (gst_controlled_property_new),
7535         (gst_controller_find_controlled_property):
7536          run the wingo-magic script against the docs
7537
7538 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7539
7540         * docs/gst/gstreamer-docs.sgml:
7541         * docs/gst/gstreamer-sections.txt:
7542         * docs/gst/tmpl/.cvsignore:
7543         * docs/gst/tmpl/gstelementdetails.sgml:
7544         * docs/gst/tmpl/gstelementfactory.sgml:
7545         * gst/gst.c:
7546         * gst/gstbus.c:
7547         * gst/gstelementfactory.c:
7548         * gst/gstelementfactory.h:
7549           merged elementdetails docs into elementfactory docs
7550           inlined both
7551
7552 2005-09-02  Andy Wingo  <wingo@pobox.com>
7553
7554         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7555         consider this enum an enum and not a flags.
7556
7557 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7558
7559         * docs/gst/gstreamer-docs.sgml:
7560         * docs/gst/tmpl/.cvsignore:
7561         * docs/gst/tmpl/gstghostpad.sgml:
7562         * docs/gst/tmpl/gstiterator.sgml:
7563         * docs/gst/tmpl/gstmacros.sgml:
7564         * docs/gst/tmpl/gstrealpad.sgml:
7565         * docs/gst/tmpl/gstregistry.sgml:
7566         * docs/gst/tmpl/gstregistrypool.sgml:
7567         * docs/gst/tmpl/gststructure.sgml:
7568         * docs/gst/tmpl/gstsystemclock.sgml:
7569         * docs/gst/tmpl/gsttrace.sgml:
7570         * gst/gstghostpad.c:
7571         * gst/gstmacros.h:
7572         * gst/gstmemchunk.c:
7573         * gst/gstmemchunk.h:
7574         * gst/gstqueue.c:
7575         * gst/gstregistry.c:
7576         * gst/gstregistrypool.c:
7577         * gst/gststructure.c:
7578         * gst/gstsystemclock.c:
7579           more docs inlined
7580
7581 2005-09-02  Andy Wingo  <wingo@pobox.com>
7582
7583         * gst/gstelement.h (GstState): Renamed from GstElementState,
7584         changed to be a normal enum instead of flags.
7585         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7586         munged to be GST_STATE_CHANGE_*.
7587         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7588         work with the new state representation.
7589         (GstStateChange): New enumeration of possible state transitions.
7590         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7591         (GstElementClass::change_state): Pass the GstStateChange along as
7592         an argument. Helps language bindings, so they don't have to use
7593         tricky lock-needing macros like GST_STATE_CHANGE ().
7594
7595         * scripts/update-states (file): New script. Run it on a file to
7596         update it for state naming and API changes. Updates files in
7597         place.
7598
7599         * All files updated for the new API.
7600
7601 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7602
7603         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7604         * gst/gstutils.c: (gst_util_set_value_from_string),
7605         (gst_util_set_object_arg):
7606           fix a bunch of unchecked return values
7607         * tools/gst-complete.c: (main):
7608         * gstreamer.spec.in:
7609           clean up a little
7610
7611 2005-09-01  Wim Taymans  <wim@fluendo.com>
7612
7613         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7614         (gst_base_sink_event), (gst_base_sink_do_sync),
7615         (gst_base_sink_handle_event):
7616         * gst/base/gstbasesink.h:
7617         Handle newsegments more correctly.
7618
7619         * gst/gstbus.c:
7620         Fix docs.
7621
7622         * gst/gstevent.c: (gst_event_new_newsegment):
7623         A newsegment cannot have a start_time of -1
7624
7625 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7626
7627         * win32/gstenumtypes.c:
7628         * win32/gstenumtypes.h:
7629           Update
7630
7631 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7632
7633         * libs/gst/controller/gst-controller.c:
7634         (gst_controlled_property_set_interpolation_mode),
7635         (gst_controlled_property_new):
7636          fixed boolean again
7637
7638 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7639
7640         * docs/faq/gst-uninstalled:
7641           add -good
7642         * gst/gstevent.c:
7643         * gst/gstevent.h:
7644           remove wrong docs
7645         * gst/gstutils.c: (gst_element_link_filtered):
7646         * gst/gstutils.h:
7647           add gst_element_link_filtered
7648
7649 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7650
7651         * docs/gst/gstreamer-docs.sgml:
7652         * docs/gst/gstreamer-sections.txt:
7653         * docs/gst/tmpl/.cvsignore:
7654         * docs/gst/tmpl/gsterror.sgml:
7655         * docs/gst/tmpl/gstfilter.sgml:
7656         * docs/gst/tmpl/gsturihandler.sgml:
7657         * docs/gst/tmpl/gsturitype.sgml:
7658         * docs/gst/tmpl/gstutils.sgml:
7659         * docs/gst/tmpl/gstxml.sgml:
7660         * gst/gsterror.c:
7661         * gst/gsterror.h:
7662         * gst/gstfilter.c:
7663         * gst/gsturi.c:
7664         * gst/gsturitype.c:
7665         * gst/gstutils.c:
7666         * gst/gstxml.c:
7667           inlined more docs, fixed double id-ref
7668
7669 2005-08-31  Wim Taymans  <wim@fluendo.com>
7670
7671         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7672         (gst_base_transform_handle_buffer):
7673         Passthrough elements don't need the caps as they don't care.
7674
7675 2005-08-31  Wim Taymans  <wim@fluendo.com>
7676
7677         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7678         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7679         Don't leak refcounts on buffers.
7680
7681 2005-08-31  Wim Taymans  <wim@fluendo.com>
7682
7683         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7684         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7685         (gst_base_transform_chain), (gst_base_transform_change_state):
7686         * gst/base/gstbasetransform.h:
7687         Handle the case where we are not negotiated more gracefully.
7688
7689 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7690
7691         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7692         (gst_file_src_map_region):
7693           Set READONLY flag on mmap'ed buffers, otherwise
7694           gst_buffer_make_writable() won't work properly (#314708).
7695
7696 2005-08-31  Wim Taymans  <wim@fluendo.com>
7697
7698         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7699         passthrough elements can even do inplace on non writable
7700         buffers (as they don't touch them).
7701
7702 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7703
7704         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7705         (gst_test_mono_source_set_property),
7706         (gst_test_mono_source_class_init), (GST_START_TEST),
7707         (gst_controller_suite):
7708           more tests (hehe I have the most)
7709         * gst/gstbus.c:
7710           describe popping messages whenusing mulltiple sources
7711         * libs/gst/controller/gst-controller.c:
7712         (gst_controlled_property_set_interpolation_mode),
7713         (gst_controlled_property_new):
7714         * libs/gst/controller/gst-controller.h:
7715         * libs/gst/controller/gst-interpolation.c:
7716           implement boolean properties
7717
7718 2005-08-31  Wim Taymans  <wim@fluendo.com>
7719
7720         * gst/gstminiobject.c: (gst_mini_object_ref):
7721         Cannot assert that the refcount has to be positive
7722         since a disposed object can be resurrected.
7723
7724 2005-08-31  Wim Taymans  <wim@fluendo.com>
7725
7726         * gst/gstpad.c: (gst_pad_init):
7727         Revert change, need to first fix badly behaving 
7728         apps.
7729
7730 2005-08-30  Wim Taymans  <wim@fluendo.com>
7731
7732         * check/elements/fakesrc.c: (setup_fakesrc):
7733         * check/elements/identity.c: (setup_identity):
7734         Activate pads before using them.
7735
7736 2005-08-30  Wim Taymans  <wim@fluendo.com>
7737
7738         * gst/base/gstadapter.c: (gst_adapter_flush):
7739         Flushing out 0 bytes is ok for this function.
7740
7741         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7742         no newsegment gives a warning and sets the start/stop to 
7743         invalid.
7744
7745         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7746         (gst_base_transform_set_passthrough):
7747         Some debug info.
7748
7749         * gst/gstminiobject.c: (gst_mini_object_ref):
7750         Check refcount here too.
7751
7752         * gst/gstpad.c: (gst_pad_init):
7753         Pads are initially flushing and refusing data.
7754
7755         * gst/gstutils.c: (gst_element_link_pads_filtered):
7756         When adding a capsfilter element make sure it has the
7757         same state as the parent bin.
7758
7759 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7760
7761         * docs/gst/tmpl/.cvsignore:
7762         * docs/gst/tmpl/gstformat.sgml:
7763         * docs/gst/tmpl/gstversion.sgml:
7764         * gst/gstbus.h:
7765         * gst/gstformat.c:
7766         * gst/gstformat.h:
7767         * gst/gstversion.h.in:
7768           more docs and two more inlined
7769
7770 2005-08-30  Wim Taymans  <wim@fluendo.com>
7771
7772         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7773         Don't sync to clock.
7774
7775 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7776
7777         * docs/gst/gstreamer-sections.txt:
7778           ultral33t func10ns deserve to appear in the docs actually
7779         * docs/gst/tmpl/.cvsignore:
7780         * docs/gst/tmpl/gstcompat.sgml:
7781         * docs/gst/tmpl/gstconfig.sgml:
7782         * gst/check/gstcheck.c:
7783         * gst/gstcompat.h:
7784         * gst/gstconfig.h.in:
7785           inlined more docs
7786
7787 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7788
7789         * docs/gst/tmpl/.cvsignore:
7790         * docs/gst/tmpl/gstquery.sgml:
7791         * docs/gst/tmpl/gstutils.sgml:
7792         * gst/gstquery.c:
7793         * gst/gstquery.h:
7794           inlined and extended docs
7795
7796 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7797
7798         * check/gst-libs/controller.c: (GST_START_TEST),
7799         (gst_controller_suite):
7800           more tests
7801         * docs/gst/tmpl/gstutils.sgml:
7802         * docs/libs/gstreamer-libs-sections.txt:
7803         * docs/libs/tmpl/gstdataprotocol.sgml:
7804           include path fixes
7805         * examples/controller/audio-example.c: (main):
7806           controller example works now
7807         * gst/gstclock.h:
7808           doc fixes
7809         * tools/gst-inspect.c: (print_element_properties_info):
7810           show param spec flags
7811
7812 2005-08-29  Andy Wingo  <wingo@pobox.com>
7813
7814         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7815
7816 2005-08-28  Andy Wingo  <wingo@pobox.com>
7817
7818         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7819         as having two arguments instead of just one. Allows superclasses
7820         to access information on subclasses -- see the terrible for() loop
7821         in gtype.c:g_type_create_instance for the reason why. All callers
7822         changed.
7823
7824 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7825
7826         * docs/design/part-messages.txt:
7827           update info
7828         * docs/gst/tmpl/.cvsignore:
7829         * docs/gst/tmpl/gstcaps.sgml:
7830         * docs/gst/tmpl/gstclock.sgml:
7831         * gst/gstbus.c:
7832         * gst/gstcaps.c:
7833         * gst/gstcaps.h:
7834         * gst/gstclock.c:
7835         * gst/gstclock.h:
7836         * gst/gstmessage.c:
7837           added descriptions for bus and message
7838           inline caps and clock docs
7839
7840 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7841
7842         * gst/gstmessage.c:
7843         * gst/gstmessage.h:
7844           doc fixes
7845
7846 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7847
7848         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7849           fix div-by-zero
7850
7851 2005-08-26  Andy Wingo  <wingo@pobox.com>
7852
7853         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7854         element_set_state's return val.
7855         (test_2_elements): Add test that's been disabled for months.
7856
7857         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7858         can-activate-pull properties.
7859
7860         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7861         can-activate-pull properties. Implement is_seekable so fakesrc can
7862         operate in pull mode.
7863
7864         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7865         properties.
7866         (gst_base_sink_activate, gst_base_sink_activate_pull)
7867         (gst_base_sink_activate_push): Make activation mode choosing work.
7868         Cleanups.
7869         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7870         is right. Make pull mode work. Post an eos before pausing in pull
7871         mode.
7872         (gst_base_sink_change_state): Pay attention to the core's
7873         change_state() return val.
7874         
7875         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7876         has-getrange properties. Cleanups.
7877         
7878         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7879         has_getrange and replace with can_activate_pull and
7880         can_activate_push.
7881
7882         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7883         locking comments. Remove has_loop, has_chain and replace with
7884         can_activate_pull and can_activate_push.
7885
7886 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7887
7888         * configure.ac:
7889         * examples/Makefile.am:
7890         * examples/metadata/Makefile.am:
7891         * examples/metadata/read-metadata.c: (message_loop),
7892         (have_pad_handler), (make_pipeline), (print_tag), (main):
7893           Add metadata reading example that loops over a list of filenames,
7894           dumping any tags found.
7895
7896         * gst/gstbus.c: (gst_bus_dispose):
7897         * gst/gstelement.c: (gst_element_dispose):
7898           Release a few potentially-held references in dispose.
7899
7900 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7901
7902         * docs/gst/tmpl/gstminiobject.sgml:
7903           do *not* add tmpl/*.sgml files to CVS!
7904
7905 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7906
7907         * libs/gst/bytestream/.cvsignore:
7908         * libs/gst/bytestream/Makefile.am:
7909         * libs/gst/bytestream/adapter.c:
7910         * libs/gst/bytestream/adapter.h:
7911         * libs/gst/bytestream/bytestream.c:
7912         * libs/gst/bytestream/bytestream.h:
7913         * libs/gst/bytestream/filepad.c:
7914         * libs/gst/bytestream/filepad.h:
7915           removing obsolete files
7916
7917 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7918
7919         * docs/gst/gstreamer-docs.sgml:
7920         * docs/libs/gstreamer-libs-docs.sgml:
7921           disabed additional index entries again, as this makes docs-gen just
7922           slow and they aren't useful yet
7923         * docs/libs/gstreamer-libs-sections.txt:
7924           little -section.txt cleanup for libs
7925
7926 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7927
7928         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7929         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7930           fix up some debugging
7931         (gst_base_transform_get_unit_size),
7932         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7933         (gst_base_transform_handle_buffer):
7934         * gst/base/gstbasetransform.h:
7935           handle and store timed NEWSEGMENT events so that subclasses that
7936           calculate time by counting samples have a segment_start time they
7937           need to add to their timestamps - see audioresample
7938
7939 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7940
7941         * gst/gstbin.h:
7942           removed ';' from the end of macro defs
7943         * docs/gst/gstreamer-docs.sgml:
7944         * docs/gst/gstreamer-sections.txt:
7945         * docs/gst/tmpl/.cvsignore:
7946         * gst/gstbus.h:
7947         * gst/gstelement.c: (gst_element_class_init),
7948         (gst_element_set_state), (activate_pads),
7949         (gst_element_save_thyself):
7950         * gst/gstevent.c: (gst_event_new_newsegment):
7951         * gst/gstevent.h:
7952         * gst/gstiterator.c:
7953         * gst/gstiterator.h:
7954         * gst/gstpad.c:
7955         * gst/gstprobe.h:
7956         * gst/gstutils.c: (gst_pad_query_convert):
7957         * gst/gstutils.h:
7958           fixed parameter name mismatches between source, header and docs
7959           added some more docs, resolved the last batch of unused elements in
7960           docs (now someone needs to doc them)
7961
7962 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7963
7964         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7965         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7966           don't walk through the plugins backwards.  Where is all this
7967           reversed logic coming from ?
7968
7969 2005-08-25  Wim Taymans  <wim@fluendo.com>
7970
7971         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7972         (gst_base_transform_transform_size),
7973         (gst_base_transform_configure_caps),
7974         (gst_base_transform_get_unit_size),
7975         (gst_base_transform_buffer_alloc),
7976         (gst_base_transform_change_state):
7977         * gst/base/gstbasetransform.h:
7978         Cache caps unit_size.
7979         Make sure we cannot negotiate up and downstream at the
7980         same time.
7981
7982 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7983
7984         * gst/gst.c: (init_pre), (init_post):
7985           register the installed plugin path after the env var
7986         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7987         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7988           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7989           directories, so the tests can prefer uninstalled over installed
7990
7991 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7992
7993         * gst/base/gstbasetransform.h:
7994           comment
7995         * gst/gstpad.c:
7996           add to docs
7997
7998 2005-08-25  Wim Taymans  <wim@fluendo.com>
7999
8000         * gst/gstbin.c: (bin_bus_handler):
8001         Be a bit more conservative about the posted message.
8002         
8003         * gst/gstbus.c: (gst_bus_post):
8004         Some cleanups, warn wrong return values.
8005
8006 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8007
8008         * check/gst/gstbin.c: (GST_START_TEST):
8009         * gst/gstbin.c: (bin_bus_handler):
8010         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8011         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8012         (gst_message_new_warning), (gst_message_new_tag),
8013         (gst_message_new_state_changed), (gst_message_new_segment_start),
8014         (gst_message_new_segment_done), (gst_message_new_custom):
8015         * gst/gstmessage.h:
8016         * tools/gst-launch.c: (event_loop):
8017         * tools/gst-md5sum.c: (event_loop):
8018           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8019
8020 2005-08-25  Wim Taymans  <wim@fluendo.com>
8021
8022         * check/generic/states.c: (GST_START_TEST):
8023         Cleanup can be done at the end.
8024
8025         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8026         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8027         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8028         Oh boy.. Thanks for finding this, Thomas. 
8029
8030 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8031
8032         * docs/gst/gstreamer.types:
8033           added missing types
8034
8035 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8036
8037         * docs/gst/gstreamer-docs.sgml:
8038         * docs/gst/gstreamer-sections.txt:
8039         * docs/gst/tmpl/.cvsignore:
8040         * gst/gstbin.c:
8041         * gst/gstiterator.c:
8042         * gst/gstutils.c:
8043         * gst/registries/gstxmlregistry.h:
8044           added missing classes and symbols (123 more to go)
8045           removed removed symbols from section file
8046           fixed many doc-comments
8047
8048 2005-08-24  Wim Taymans  <wim@fluendo.com>
8049
8050         * check/generic/states.c: (GST_START_TEST):
8051         Make sure all tasks are stopped.
8052
8053         * check/gst/gstbin.c: (GST_START_TEST):
8054         Unref after usage for proper valgrinding.
8055
8056         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8057         Really wait for the task to stop before destroying the
8058         mutex.
8059
8060         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8061         (gst_queue_src_activate_push):
8062         Small cleanups. Don't stop the task when we did not start
8063         it.
8064
8065         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8066         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8067         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8068         (gst_task_join):
8069         * gst/gsttask.h:
8070         Protect the stream lock with the object lock.
8071         Disallow setting the stream lock when running.
8072         Add cleanup_all to wait for the threadpool to finish.
8073         Remove code to autoallocate a mutex if none was provided.
8074         Add _join() to wait for a task to stop.
8075         Protect the thread pool with a global lock.
8076
8077 2005-08-24  Wim Taymans  <wim@fluendo.com>
8078
8079         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8080         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8081         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8082         * gst/base/gstbasesink.h:
8083         Handle newsegment events correctly.
8084         Drop buffers out of the segment range.
8085
8086 2005-08-22  Andy Wingo  <wingo@pobox.com>
8087
8088         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8089         macro, implements an interface and gstimplementsinterface for a
8090         new type.
8091
8092 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8093
8094         * check/Makefile.am:
8095         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8096           add a test that does a bunch of state changes on elements
8097           needs some fixing for valgrind
8098         * check/states/sinks.c: (gst_object_suite):
8099           whitespace
8100         * gst/gstcaps.h:
8101           add prototype for gst_caps_is_equal_fixed
8102         * gst/gstplugin.c:
8103         * gst/gstregistrypool.c:
8104           doc fixes
8105
8106 2005-08-24  Andy Wingo  <wingo@pobox.com>
8107
8108         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8109         convert a negative value. Doesn't make much sense. Mostly this is
8110         here to force callers to ensure -1 maps to -1.
8111
8112 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8113
8114         * docs/pwg/advanced-types.xml:
8115           Well done to Michael for catching my deliberate introduction
8116           of this spelling mistake. 
8117         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8118         * gst/gstelement.h:
8119           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8120           unlink pads before removing the element from the bin.
8121
8122 2005-08-24  Andy Wingo  <wingo@pobox.com>
8123
8124         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8125         the same thing as GST_DEBUG=*:4.
8126         (parse_debug_level, parse_debug_category): New helper parsers.
8127
8128 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8129
8130         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8131         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8132         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8133         (gst_base_transform_buffer_alloc),
8134         (gst_base_transform_handle_buffer):
8135           use gboolean return values and pointers to size so we can use the
8136           full GST_BUFFER_SIZE range (guint) for buffer sizes
8137           use GstPadDirection for transform_caps
8138         * gst/base/gstbasetransform.h:
8139           rename get_size to get_unit_size since that's what it is
8140         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8141           use GstPadDirection for transform_caps
8142         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8143         * gst/gstutils.h:
8144           cleanup and debugging
8145
8146 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8147
8148         * gst/gstelement.c: (gst_element_class_init),
8149         (gst_element_set_state), (activate_pads),
8150         (gst_element_save_thyself):
8151         * tools/gst-compprep.c: (main):
8152         * tools/gst-inspect.c: (print_element_properties_info):
8153         * tools/gst-xmlinspect.c: (print_element_properties):
8154           Fixed long standing mem-leak
8155
8156 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8157
8158         * check/gst/gstbin.c: (GST_START_TEST):
8159         * gst/gstbin.c: (bin_bus_handler):
8160         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8161         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8162         (gst_message_new_warning), (gst_message_new_tag),
8163         (gst_message_new_state_changed), (gst_message_new_segment_start),
8164         (gst_message_new_segment_done), (gst_message_new_custom):
8165         * gst/gstmessage.h:
8166         * tools/gst-launch.c: (event_loop):
8167         * tools/gst-md5sum.c: (event_loop):
8168           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8169           that applications can sensibly post custom messages with references
8170           to their own objects.
8171
8172 2005-08-24  Andy Wingo  <wingo@pobox.com>
8173
8174         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8175         already.
8176
8177 2005-08-24  Wim Taymans  <wim@fluendo.com>
8178
8179         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8180         (gst_base_transform_transform_caps),
8181         (gst_base_transform_transform_size),
8182         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8183         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8184         (gst_base_transform_handle_buffer):
8185         * gst/base/gstbasetransform.h:
8186         Many fixes and new features added by Thomas. Can now also do
8187         transforms with variable sizes and a custom fixate_caps function.
8188
8189 2005-08-24  Wim Taymans  <wim@fluendo.com>
8190
8191         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8192         Some debugging.
8193
8194         * gst/gstclock.h:
8195         Cast to ClockTime before formatting to time.
8196
8197         * gst/gstutils.h:
8198         Cleanups.
8199
8200 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8201
8202         * check/gst-libs/controller.c: (GST_START_TEST),
8203         (gst_controller_suite):
8204         * docs/gst/tmpl/gstcaps.sgml:
8205         * docs/gst/tmpl/gstghostpad.sgml:
8206         * docs/gst/tmpl/gstquery.sgml:
8207         * docs/gst/tmpl/gstutils.sgml:
8208         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8209         (gst_object_sink_values), (gst_object_get_value_arrays),
8210         (gst_object_get_value_array):
8211           gracefully handle helper method calls to objects that are not beeing
8212           controlled, added test case for that          
8213
8214 2005-08-23  Wim Taymans  <wim@fluendo.com>
8215
8216         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8217         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8218         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8219         (gst_event_parse_qos), (gst_event_new_seek),
8220         (gst_event_parse_seek):
8221         * gst/gstevent.h:
8222         Some more debugging output and doc cleanups.
8223
8224         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8225         Fix possible deadlock.
8226
8227 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8228
8229         * docs/gst/gstreamer-docs.sgml:
8230         * docs/gst/gstreamer-sections.txt:
8231         * docs/gst/gstreamer.types:
8232         * docs/gst/tmpl/.cvsignore:
8233         * gst/gstbin.h:
8234         * gst/gstbus.c:
8235         * gst/gstelement.c:
8236         * gst/gstevent.h:
8237           added 100 symbols from gstreamer-unused.txt to the right sections
8238           fixed more broken comments
8239           added GstBus to docs
8240
8241 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8242
8243         * docs/gst/gstreamer-sections.txt:
8244         * docs/gst/tmpl/.cvsignore:
8245         * docs/gst/tmpl/gstbin.sgml:
8246         * docs/gst/tmpl/gstbuffer.sgml:
8247         * gst/base/gstbasesrc.c:
8248         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8249         * gst/gstbuffer.c:
8250         * gst/gstbuffer.h:
8251         * tools/gst-launch.1.in:
8252           inlined more doc comments, added missing comments and fixed comments
8253           fixed typos
8254
8255 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8256
8257         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8258           some debugging
8259         * gst/gstcaps.h:
8260           whitespace fixes
8261         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8262           more debugging
8263         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8264         * gst/gststructure.h:
8265           add a fixate function for booleans; add a FIXME that these func
8266           names should probably be gst_structure_fixate_*
8267
8268 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8269
8270         * docs/gst/gstreamer-docs.sgml:
8271         * docs/gst/gstreamer-sections.txt:
8272         * gst/Makefile.am:
8273         * gst/gstbin.c: (gst_bin_get_type),
8274         (gst_bin_child_proxy_get_child_by_index),
8275         (gst_bin_child_proxy_get_children_count),
8276         (gst_bin_child_proxy_init):
8277         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8278         (gst_child_proxy_get_child_by_index),
8279         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8280         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8281         (gst_child_proxy_get), (gst_child_proxy_set_property),
8282         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8283         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8284         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8285         * gst/gstchildproxy.h:
8286         * gst/parse/grammar.y:
8287         * tools/gst-inspect.c: (print_interfaces),
8288         (print_element_properties_info), (print_element_info):
8289           ported gstchildproxy over from 0.8
8290           ported gst-inspect fixes and enhancements over from 0.8
8291
8292 2005-08-22  Wim Taymans  <wim@fluendo.com>
8293
8294         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8295         (gst_base_transform_handle_buffer):
8296         Also call the transform function if we have ANY caps.
8297
8298         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8299         Fix debug info.
8300
8301 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8302
8303         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8304           Don't pretend to handle seek events if the source is not seekable
8305
8306 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8307
8308         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8309           Remove extra parameter to debug output
8310
8311         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8312         (gst_base_src_do_seek), (gst_base_src_activate_push):
8313           Fix seek event handling.
8314
8315         * gst/gstpipeline.c: (gst_pipeline_change_state):
8316         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8317         (gst_queue_src_activate_push):
8318           Don't start the src pad task on FLUSH_STOP if the pad
8319           isn't linked.
8320           Debug changes.
8321
8322 2005-08-22  Wim Taymans  <wim@fluendo.com>
8323
8324         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8325         Added check for gst_static_caps_get() refcounting.
8326
8327 2005-08-22  Wim Taymans  <wim@fluendo.com>
8328
8329         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8330         Make _static_caps_get() refcounting sane.
8331         
8332         * gst/gstelement.c: (gst_element_set_state):
8333         Add g_return_val_if_fail() to protect against segfaults.
8334
8335 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8336
8337         * docs/gst/tmpl/gstevent.sgml:
8338         * gst/gstevent.c:
8339         * gst/gstevent.h:
8340           inlined remaining docs, added missing doc comments
8341
8342 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8343
8344         * check/gst/gstbin.c: (GST_START_TEST):
8345           since we don't know when preroll is done, use refcount range
8346           check for the sink
8347         * gst/check/gstcheck.h:
8348           add macro for checking refcount range
8349
8350 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8351
8352         * check/Makefile.am:
8353           clean up environment for when registry gets built versus
8354           when actual tests are run; valgrind seems to not report
8355           leaks if GST_PLUGIN_PATH is set to some specific values
8356         * check/gst/gstbin.c: (GST_START_TEST):
8357           add more refcounting checks; maybe this exposes a
8358           preroll lock bug ?
8359         * common/check.mak:
8360         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8361         * gst/check/gstcheck.h:
8362         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8363         (gst_bin_change_state):
8364         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8365           add/fix debugging/whitespace
8366
8367 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8368
8369         * check/gst/gstevent.c: (event_probe), (test_event),
8370         (GST_START_TEST):
8371          Er, don't call gst_bin_watch_for_state_change you idiot.
8372
8373 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8374
8375         * check/Makefile.am:
8376           Use CHECK_CFLAGS and CHECK_LIBS
8377         * check/gst/gstevent.c: (event_probe), (test_event),
8378         (GST_START_TEST):
8379           Don't leak events.
8380         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8381         (gst_base_src_start), (gst_base_src_stop),
8382         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8383         (gst_base_src_change_state):
8384           Sprinkle gst_base_src_stop liberally around error paths to fix
8385           problems reusing a source after failed state changes.
8386         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8387         (helper_find_suggest), (gst_type_find_helper):
8388           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8389         * gst/gstevent.h:
8390         * docs/gst/tmpl/gstevent.sgml:
8391           Migrate part of the docs from the SGML file. Wait for ensonic to
8392           tell me how I did it wrong ;)
8393         * tools/gst-typefind.c: (main):
8394           Extra robustness to state changes between files.
8395
8396 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8397
8398         * check/Makefile.am:
8399           don't valgrind the controller test - it's leaking - Stefan, HELP
8400         * gst/check/gstcheck.c: (gst_check_message_error),
8401         (gst_check_chain_func), (gst_check_setup_element),
8402         (gst_check_teardown_element), (gst_check_setup_src_pad),
8403         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8404         (gst_check_teardown_sink_pad):
8405         * gst/check/gstcheck.h:
8406           add a bunch of methods to set up elements, and src and sink pads
8407         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8408         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8409         (GST_START_TEST):
8410           use them
8411         * gst/gstmessage.c:
8412         * gst/gsttag.h:
8413           whitespace/doc fixes
8414
8415 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8416
8417         * gst/gstelement.h:
8418           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8419           be handled by the application and not always printed as well
8420
8421 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8422
8423         * check/Makefile.am:
8424           set GST_TOOLS_DIR
8425         * gst/check/gstcheck.c: (gst_check_message_error):
8426         * gst/check/gstcheck.h:
8427           add a fail_unless_equals_int
8428           add fail_unless for error messages
8429
8430 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8431
8432         * check/Makefile.am:
8433         * check/gst.supp:
8434         * common/Makefile.am:
8435         * common/check.mak:
8436         * common/gst.supp:
8437           factor out some of the common stuff so we can use it
8438
8439 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8440
8441         * check/Makefile.am:
8442         * check/gst/gstiterator.c: (GST_START_TEST):
8443         * check/gst/gstsystemclock.c: (GST_START_TEST),
8444         (gst_systemclock_suite):
8445         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8446         * gst/gstclock.c:
8447           valgrind more tests
8448
8449 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8450
8451         * check/elements/.cvsignore:
8452         * check/elements/gstfakesrc.c:
8453           rename to name of element
8454         * check/elements/identity.c: (chain_func), (event_func),
8455         (setup_identity), (cleanup_identity), (GST_START_TEST),
8456         (identity_suite), (main):
8457           add a test for identity
8458         * check/Makefile.am:
8459         * pkgconfig/Makefile.am:
8460         * pkgconfig/gstreamer-check.pc.in:
8461         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8462         * gst/check:
8463         * gst/Makefile.am:
8464         * configure.ac:
8465           move the check stuff to a library that gets installed
8466         * check/gst-libs/controller.c: (GST_START_TEST):
8467         * check/gst-libs/gdp.c:
8468         * check/gst/gst.c: (GST_START_TEST):
8469         * check/gst/gstbin.c:
8470         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8471         * check/gst/gstbus.c:
8472         * check/gst/gstcaps.c: (GST_START_TEST):
8473         * check/gst/gstelement.c:
8474         * check/gst/gstghostpad.c:
8475         * check/gst/gstiterator.c:
8476         * check/gst/gstmessage.c:
8477         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8478         * check/gst/gstobject.c:
8479         * check/gst/gstpad.c: (GST_START_TEST):
8480         * check/gst/gststructure.c: (GST_START_TEST):
8481         * check/gst/gstsystemclock.c: (GST_START_TEST),
8482         (gst_systemclock_suite):
8483         * check/gst/gsttag.c: (gst_tag_suite):
8484         * check/gst/gstvalue.c:
8485         * check/pipelines/cleanup.c:
8486         * check/pipelines/simple_launch_lines.c:
8487         * check/states/sinks.c:
8488           change include statement
8489
8490         * docs/gst/gstreamer-sections.txt:
8491         * docs/gst/tmpl/gstpad.sgml:
8492           document more pad stuff
8493         * gst/gstminiobject.c: (gst_mini_object_ref),
8494         (gst_mini_object_unref):
8495           debug refcounting
8496
8497 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8498
8499         * docs/gst/tmpl/gst.sgml:
8500         * gst/gst.c:
8501           eliminate another tmpl file, fix spelling in the long-description
8502
8503 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8504
8505         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8506         (test_event), (timediff), (gstevents_suite):
8507           Should fix build on 64-bit arch's
8508
8509 2005-08-18  Andy Wingo  <wingo@pobox.com>
8510
8511         Make sure that when a pipeline goes to PLAYING, that data has
8512         actually hit the sink.
8513
8514         * check/states/sinks.c (test_sink): A sink that doesn't get any
8515         data shouldn't return SUCCESS for going to either PLAYING or
8516         PAUSED. Test also the return values on the way back down.
8517
8518         * gst/gstelement.c (gst_element_set_state): When changing the
8519         state of an element currently changing state asynchronously, go to
8520         lost-state after commiting the pending state. Makes future calls
8521         to get_state continue to return ASYNC.
8522
8523         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8524         ASYNC when going to PLAYING if we still don't have preroll, as can
8525         happen with live sources.
8526
8527 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8528
8529         * docs/pwg/advanced-types.xml:
8530           Hack long paragraph into 2 chunks as a workaround for buggy
8531           jadetex version in sid and breezy that loops infinitely and
8532           eats all RAM.
8533
8534 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8535
8536         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8537         (test_event), (timediff), (gstevents_suite):
8538           Provide more error margin in clock measurements to allow for 
8539           g_get_current_time inaccuracies.
8540
8541 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8542
8543         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8544         (test_event), (timediff), (gstevents_suite):
8545            Fix error message output so I might be able to tell why the
8546            test works here but fails on the build farm.
8547
8548 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8549
8550         * check/Makefile.am:
8551         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8552         (test_event), (timediff), (gstevents_suite), (main):
8553           I wrote a test!
8554
8555         * docs/design/part-seeking.txt:
8556           Spelling correction
8557
8558         * docs/gst/tmpl/gstevent.sgml:
8559         * docs/gst/tmpl/gstfakesrc.sgml:
8560           Docs updates.
8561
8562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8563           Treat a buffer-without-newsegment the same as a receiving 
8564           a newsegment not in time format, and disable syncing to the clock
8565           with a warning.
8566
8567         * gst/gstbus.c: (gst_bus_set_sync_handler):
8568           Assert if anyone tries to replace the existing sync_handler for bus, 
8569           as only the owner should be setting it.
8570
8571         * gst/gstevent.h:
8572           Have a fixed set of custom event enums with events identified by
8573           their structure name (as in 0.8), rather than a free-for-all
8574           allowing collisions between enum values from different plugins.
8575
8576         * gst/gstpad.c: (gst_pad_class_init):
8577           Docs change.
8578           
8579         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8580           Handle out-of-band downstream events from the sending thread.
8581
8582 2005-08-17  Andy Wingo  <wingo@pobox.com>
8583
8584         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8585         play-timeout==0 to mean no timeout at all. In that case, don't
8586         bother with a get_state or a warning, just return directly, even
8587         if it's ASYNC.
8588
8589         * gst/base/gstbasetransform.c: Debug changes.
8590
8591         * gst/gstutils.h:
8592         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8593         ensure bins post state change messages. A bit of a hack but I can't
8594         think of a way to avoid it.
8595
8596         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8597
8598 2005-08-16  Andy Wingo  <wingo@pobox.com>
8599
8600         * gst/base/gstadapter.h:
8601         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8602         peek() but you own the data. Not terribly efficient atm.
8603
8604 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8605
8606         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8607         (gst_element_found_tags):
8608         * gst/gstutils.h:
8609           Add two utility functions for tag handling.
8610
8611 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8612
8613         * docs/manual/advanced-dataaccess.xml:
8614         * docs/manual/basics-helloworld.xml:
8615           Fix docs to use _bin_add() before _link(), which fixes the examples
8616           with recent core versions (reported by Madhan Raj M
8617           <raj_madan@rediffmail.com>, #313199).
8618
8619 2005-08-16  Wim Taymans  <wim@fluendo.com>
8620
8621         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8622         Added subtract checks.
8623
8624         * docs/design/part-events.txt:
8625         Some more docs about newsegment
8626
8627         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8628         Fix FIXME
8629
8630         * gst/gstcaps.c: (gst_caps_to_string):
8631         Add comments, cleanups.
8632         
8633         * gst/gstelement.c: (gst_element_save_thyself):
8634         cleanups
8635         
8636         * gst/gstvalue.c: (gst_value_collect_int_range),
8637         (gst_string_unwrap), (gst_value_union_int_int_range),
8638         (gst_value_union_int_range_int_range),
8639         (gst_value_intersect_int_int_range),
8640         (gst_value_intersect_int_range_int_range),
8641         (gst_value_intersect_double_double_range),
8642         (gst_value_intersect_double_range_double_range),
8643         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8644         (gst_value_subtract_int_range_int),
8645         (gst_value_subtract_double_range_double),
8646         (gst_value_subtract_double_range_double_range),
8647         (gst_value_subtract_from_list), (gst_value_subtract_list),
8648         (gst_value_can_compare), (gst_value_compare_fraction):
8649         Cleanups, add comments, remove unneeded asserts.
8650
8651 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8652
8653         * tools/gst-launch.c: (event_loop):
8654           don't convert NULL structures to strings
8655
8656 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8657
8658         * docs/gst/gstreamer-sections.txt:
8659           made some defines private
8660         * docs/gst/tmpl/gstconfig.sgml:
8661         * docs/gst/tmpl/gstqueue.sgml:
8662         * docs/gst/tmpl/gsttaglist.sgml:
8663         * docs/gst/tmpl/gsttypes.sgml:
8664         * docs/gst/tmpl/gstutils.sgml:
8665         * docs/pwg/appendix-porting.xml:
8666         * gst/base/gstbasesink.h:
8667         * gst/base/gstbasesrc.c:
8668         * gst/base/gstbasesrc.h:
8669         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8670         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8671         * gst/gstelement.c: (gst_element_class_init):
8672         * gst/gstpad.c: (gst_pad_class_init):
8673         * gst/gstqueue.c: (gst_queue_class_init):
8674         * gst/gstxml.c: (gst_xml_class_init):
8675           documented all undocumented signal inline
8676         * libs/gst/controller/gst-controller.h:
8677           added padding
8678
8679 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8680
8681         * docs/pwg/appendix-porting.xml:
8682           Document _set_link_function -> _set_setcaps_function.
8683
8684 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8685
8686         * check/Makefile.am:
8687           add a .check target for running the check
8688         * check/gst-libs/controller.c: (GST_START_TEST):
8689           cosmetic fixups
8690         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8691           complete checks for gstbuffer; would be nice if I could get the
8692           gcov stuff to work so I can see if I actually completed gstbuffer.c
8693         * check/gstcheck.h:
8694           add ASSERT_BUFFER_REFCOUNT
8695
8696 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8697
8698         * docs/gst/gstreamer-sections.txt:
8699         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8700         * gst/gsttag.h:
8701           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8702           spew out a warning if a tag that is already registered
8703           is re-registered, unless it is re-registered with a 
8704           different type (#308438).
8705
8706 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8707
8708         * docs/pwg/appendix-porting.xml:
8709         * docs/pwg/building-state.xml:
8710           Add some paragraphs about state changes in 0.9 to the PWG
8711           and the porting guide, in particular about the new meaning
8712           of GST_STATE_PAUSED and how to write state change functions
8713           with concurrent access by multiple threads in mind.
8714
8715 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8716
8717         * docs/gst/gstreamer-docs.sgml:
8718         * docs/libs/gstreamer-libs-docs.sgml:
8719           added deprecation and since indexes
8720         * libs/gst/controller/gst-controller.c:
8721         * libs/gst/controller/gst-helper.c:
8722           added since tags
8723
8724
8725 2005-08-11  Wim Taymans  <wim@fluendo.com>
8726
8727         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8728         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8729         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8730         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8731         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8732         (gst_ghost_pad_set_target):
8733         Actually implement (re)setting the target on a ghostpad
8734         as described in the docs.
8735
8736 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8737
8738         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8739           Check whether GST_DEBUG_NO_COLOR environment variable is
8740           set and disable coloured debug output if that is the case.
8741
8742 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8743
8744         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8745         (gst_type_find_helper):
8746           The memory returned by gst_type_find_peek() needs to
8747           stay valid until the end of a typefind function, and
8748           typefind functions may keep results from different 
8749           offsets around, so we can't just unref the buffer from
8750           the previous _peek(), but have to save all buffers 
8751           returned by _peek() until typefinding is done and only
8752           free them then.
8753
8754 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8755
8756         * docs/gst/gstreamer-sections.txt:
8757         * gst/gstutils.h:
8758           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8759
8760 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8761
8762         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8763           Fix a pretty good memleak.
8764
8765 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8766
8767         * gst/gstiterator.h:
8768           Fix wrong include and 'make distcheck'.
8769
8770 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8771
8772         * gst/gstbin.c: (bin_bus_handler):
8773           Use gst_element_post_message() instead.
8774
8775 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8776
8777         * gst/base/gstadapter.h:
8778         * gst/base/gstbasesink.h:
8779         * gst/base/gstbasesrc.h:
8780         * gst/base/gstbasetransform.h:
8781         * gst/base/gstcollectpads.h:
8782         * gst/base/gstpushsrc.h:
8783         * gst/gstiterator.h:
8784           Add padding to our base elements' class and instance structs and
8785           to GstIterator (you will need to rebuild all plugins and apps!)
8786
8787 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8788
8789         * gst/gstbin.c: (bin_bus_handler):
8790           Make default message forwarding from child->bus to bin->bus
8791           threadsafe and make it not emit warnings if the parent has no bus.
8792
8793 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8794
8795         * gst/gstelement.c: (activate_pads):
8796           On paused->ready, set pad->caps to NULL, as is the documented
8797           behaviour in this state change. Fixes playback of series of
8798           media files when visualization is enabled in Totem.
8799
8800 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8801
8802         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8803           Allow NULL as filter-caps (which means "any").
8804
8805 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8806
8807         * docs/libs/gstreamer-libs-sections.txt:
8808         * libs/gst/controller/gst-controller.c:
8809         * libs/gst/controller/gst-controller.h:
8810         * libs/gst/controller/gst-helper.c:
8811           adding more entries to the docs and fix small doc-bugs
8812
8813 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8814
8815         * docs/gst/gstreamer-docs.sgml:
8816         * docs/gst/gstreamer-sections.txt:
8817         * docs/gst/gstreamer.types:
8818         * docs/gst/tmpl/gstbasesink.sgml:
8819         * docs/gst/tmpl/gstbasesrc.sgml:
8820         * docs/gst/tmpl/gstbasetransform.sgml:
8821         * docs/gst/tmpl/gstfakesrc.sgml:
8822         * gst/base/gstcollectpads.c:
8823         * gst/base/gstcollectpads.h:
8824         * libs/gst/controller/gst-controller.c:
8825         * libs/gst/controller/gst-controller.h:
8826         * libs/gst/controller/gst-helper.c:
8827         * libs/gst/controller/gst-interpolation.c:
8828         * libs/gst/controller/lib.c:
8829           added long/short desc for controller docs
8830           added collectpads base class docs
8831           added correct includes to base-class docs
8832
8833 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8834
8835         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8836         (gst_test_mono_source_set_property),
8837         (gst_test_mono_source_class_init), (GST_START_TEST),
8838         (gst_controller_suite):
8839         * docs/gst/gstreamer-docs.sgml:
8840         * docs/gst/gstreamer-sections.txt:
8841         * docs/gst/gstreamer.types:
8842         * docs/libs/gstreamer-libs-docs.sgml:
8843         * docs/libs/gstreamer-libs-sections.txt:
8844         * gst/base/gstadapter.c:
8845         * libs/gst/controller/gst-controller.c:
8846         (gst_controlled_property_new), (gst_controlled_property_free),
8847         (gst_controller_new_valist),
8848         (gst_controller_remove_properties_valist),
8849         (gst_controller_sink_values), (_gst_controller_finalize):
8850         * libs/gst/controller/gst-controller.h:
8851         * libs/gst/controller/gst-helper.c:
8852         (gst_object_control_properties), (gst_object_uncontrol_properties),
8853         (gst_object_get_controller), (gst_object_set_controller),
8854         (gst_object_sink_values), (gst_object_get_value_arrays),
8855         (gst_object_get_value_array):
8856           more tests (and fixes) for the controller
8857           more docs for the controller
8858           integrated companies docs for the adapter 
8859
8860 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8861
8862         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8863         (GST_START_TEST), (fakesrc_suite):
8864           add tests for sizetype
8865
8866 2005-08-04  Andy Wingo  <wingo@pobox.com>
8867
8868         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8869         fixes buffer_alloc proxying among other things.
8870
8871         * gst/base/gstbasetransform.c:
8872         * gst/base/gstbasetransform.h:
8873         Revert patch to gstbasetransform from 7-28 removing
8874         delay_configure.
8875
8876         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8877         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8878         Semantics changed, should return not the size of the output buffer
8879         but the byte size of a buffer with a given caps.
8880
8881         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8882         debug object.
8883         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8884         out) are not the pad caps until setcaps finishes.
8885         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8886         not-in-place case as well. Deal with changing from in-place to
8887         not-in-place within calling pad_alloc_buffer. Still a bit
8888         concerned about the overhead here...
8889
8890 2005-08-03  Andy Wingo  <wingo@pobox.com>
8891
8892         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8893         fixating is an error.
8894
8895 2005-08-04  Edward Hervey  <edward@fluendo.com>
8896
8897         * gst/base/gstadapter.h: 
8898         Added gst_adapter_get_type() to the header
8899
8900 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8901
8902         * check/Makefile.am:
8903         * check/gst-libs/controller.c:
8904         * libs/gst/controller/gst-controller.c:
8905         (gst_controller_new_valist):
8906           added check test suite for the controller
8907         * gst/base/gstpushsrc.c:
8908           fixed a doc typo
8909
8910 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8911
8912         * docs/gst/Makefile.am:
8913         * docs/gst/gstreamer-docs.sgml:
8914         * docs/gst/gstreamer-sections.txt:
8915         * docs/gst/gstreamer.types:
8916         * docs/gst/tmpl/gstfakesrc.sgml:
8917         * gst/base/README:
8918         * gst/base/gstbasesink.c:
8919         * gst/base/gstbasesink.h:
8920         * gst/base/gstbasesrc.c:
8921         * gst/base/gstbasesrc.h:
8922         * gst/base/gstbasetransform.c:
8923         * gst/base/gstpushsrc.c:
8924         * gst/base/gstpushsrc.h:
8925           add short/long description docs to base classes
8926           add pushsrc to the docs
8927           remove consolidated doc fragments
8928
8929 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8930
8931         * configure.ac:
8932         * docs/libs/Makefile.am:
8933         * docs/libs/gstreamer-libs-docs.sgml:
8934         * docs/libs/gstreamer-libs-sections.txt:
8935         * docs/libs/gstreamer-libs.types:
8936         * examples/Makefile.am:
8937         * examples/controller/.cvsignore:
8938         * examples/controller/Makefile.am:
8939         * examples/controller/audio-example.c: (main):
8940         * libs/gst/Makefile.am:
8941         * libs/gst/controller/.cvsignore:
8942         * libs/gst/controller/Makefile.am:
8943         * libs/gst/controller/gst-controller.c:
8944         (on_object_controlled_property_changed), (gst_timed_value_compare),
8945         (gst_timed_value_find),
8946         (gst_controlled_property_set_interpolation_mode),
8947         (gst_controlled_property_new), (gst_controlled_property_free),
8948         (gst_controller_find_controlled_property),
8949         (gst_controller_new_valist), (gst_controller_new),
8950         (gst_controller_remove_properties_valist),
8951         (gst_controller_remove_properties), (gst_controller_set),
8952         (gst_controller_set_from_list), (gst_controller_unset),
8953         (gst_controller_get), (gst_controller_get_all),
8954         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8955         (gst_controller_get_value_array),
8956         (gst_controller_set_interpolation_mode),
8957         (_gst_controller_finalize), (_gst_controller_init),
8958         (_gst_controller_class_init), (gst_controller_get_type):
8959         * libs/gst/controller/gst-controller.h:
8960         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8961         (g_object_uncontrol_properties), (g_object_get_controller),
8962         (g_object_set_controller), (g_object_sink_values),
8963         (g_object_get_value_arrays), (g_object_get_value_array):
8964         * libs/gst/controller/gst-interpolation.c:
8965         (gst_controlled_property_find_timed_value_node),
8966         (interpolate_none_get), (interpolate_trigger_get),
8967         (interpolate_trigger_get_value_array):
8968         * libs/gst/controller/lib.c: (gst_controller_init):
8969         * pkgconfig/Makefile.am:
8970         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8971         * pkgconfig/gstreamer-control.pc.in:
8972         * testsuite/Makefile.am:
8973         * testsuite/controller/.cvsignore:
8974         * testsuite/controller/Makefile.am:
8975         * testsuite/controller/interpolator.c: (main):
8976           added controller code
8977           removed dparam pc files
8978
8979 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8980         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8981         (gst_collectpads_stop):
8982           Broadcast the condition when shutting down, to make sure we wake all
8983           threads up. Shut down pads on finalize, for safety.
8984
8985 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8986         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8987         (gst_base_transform_handle_buffer),
8988         (gst_base_transform_change_state):
8989           Handle PAUSED->READY->PAUSED transition after negotiation
8990           occurred already.
8991         * gst/gstmessage.c: (gst_message_init):
8992           Extra piece of debug for new messages.
8993
8994 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8995
8996         * configure.ac:
8997         * docs/gst/tmpl/gstbasesrc.sgml:
8998         * docs/gst/tmpl/gstelement.sgml:
8999         * docs/gst/tmpl/gstevent.sgml:
9000         * docs/gst/tmpl/gstfakesrc.sgml:
9001         * docs/gst/tmpl/gstformat.sgml:
9002         * docs/gst/tmpl/gstghostpad.sgml:
9003         * docs/gst/tmpl/gstpad.sgml:
9004         * docs/gst/tmpl/gstquery.sgml:
9005         * docs/gst/tmpl/gststructure.sgml:
9006         * docs/gst/tmpl/gsttaglist.sgml:
9007         * docs/gst/tmpl/gstvalue.sgml:
9008         * docs/libs/gstreamer-libs-docs.sgml:
9009         * docs/libs/gstreamer-libs-sections.txt:
9010         * docs/libs/gstreamer-libs.types:
9011         * libs/gst/Makefile.am:
9012         * libs/gst/control/.cvsignore:
9013         * libs/gst/control/Makefile.am:
9014         * libs/gst/control/control.c:
9015         * libs/gst/control/control.h:
9016         * libs/gst/control/dparam.c:
9017         * libs/gst/control/dparam.h:
9018         * libs/gst/control/dparam_smooth.c:
9019         * libs/gst/control/dparam_smooth.h:
9020         * libs/gst/control/dparamcommon.h:
9021         * libs/gst/control/dparammanager.c:
9022         * libs/gst/control/dparammanager.h:
9023         * libs/gst/control/dplinearinterp.c:
9024         * libs/gst/control/dplinearinterp.h:
9025         * libs/gst/control/unitconvert.c:
9026         * libs/gst/control/unitconvert.h:
9027         * testsuite/Makefile.am:
9028         * testsuite/dynparams/.cvsignore:
9029         * testsuite/dynparams/Makefile.am:
9030         * testsuite/dynparams/dparamstest.c:
9031         * tools/Makefile.am:
9032         * tools/gst-inspect.c: (print_element_info), (main):
9033         * tools/gst-xmlinspect.c: (print_element_info), (main):
9034           deactivate and remove dparams (libgstcontrol)
9035
9036 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9037
9038         * gst/elements/gsttypefindelement.c:
9039         (gst_type_find_element_have_type), (gst_type_find_element_init),
9040         (stop_typefinding), (gst_type_find_element_handle_event),
9041         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9042         * gst/elements/gsttypefindelement.h:
9043           Set caps on all outgoing buffers, not just the first one.
9044
9045 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9046
9047         * gst/elements/gsttypefindelement.c:
9048         (gst_type_find_element_have_type),
9049         (gst_type_find_element_check_set_buffer_caps),
9050         (gst_type_find_element_init), (stop_typefinding),
9051         (gst_type_find_element_handle_event),
9052         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9053         * gst/elements/gsttypefindelement.h:
9054           Set caps on first outgoing buffer when we've found the type.
9055
9056 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9057
9058         * docs/gst/gstreamer-docs.sgml:
9059         * docs/gst/gstreamer-sections.txt:
9060         * docs/gst/tmpl/gstscheduler.sgml:
9061         * docs/gst/tmpl/gstschedulerfactory.sgml:
9062           Remove some old cruft from docs.
9063
9064 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9065
9066         * gst/gstpad.h:
9067           Fix inline docs for GstPadLinkReturn.
9068           
9069         * gst/gststructure.c: (gst_structure_has_name):
9070         * gst/gststructure.h:
9071         * docs/gst/gstreamer-sections.txt:
9072           New API: gst_structure_has_name().
9073
9074 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9075
9076         * configure.ac:
9077           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9078           and _LARGEFILE_SOURCE in config.h as required. Do not 
9079           export those flags in our .pc files any longer (#142209).
9080
9081           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9082
9083         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9084         (gst_file_sink_do_seek), (gst_file_sink_event),
9085         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9086           Redo seek/tell calls with large file support in mind; add some
9087           debugging messages; add log message that tells us when large
9088           file support is unavailable or not enabled for some reason.
9089
9090         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9091           Add log message that tells us when large file support 
9092           is unavailable or not enabled for some reason.
9093
9094 2005-07-29  Wim Taymans  <wim@fluendo.com>
9095
9096         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9097         Added test for removing an element with ghostpad from a bin.
9098         Fixed test as current implementation does the right thing.
9099
9100         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9101         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9102         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9103         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9104         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9105         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9106         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9107         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9108         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9109         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9110         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9111         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9112         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9113         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9114         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9115         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9116         * gst/gstghostpad.h:
9117         Clean up ghostpads, remove properties for internal stuff.
9118         Make threadsafe.
9119         Fix refcounting.
9120         Prepare for switching targets, not all use cases work yet.
9121
9122 2005-07-29  Wim Taymans  <wim@fluendo.com>
9123
9124         * docs/design/part-gstghostpad.txt:
9125         Small update.
9126
9127         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9128         (gst_bin_remove_func):
9129         Unlinking pads while holding the bin LOCK is not a good
9130         idea.
9131
9132         * gst/gstpad.c: (gst_pad_class_init),
9133         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9134         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9135         No prob setting template after creating the pad.
9136
9137 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9138
9139         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9140         (gst_bus_peek), (gst_bus_source_dispatch),
9141         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9142         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9143           gst_bus_poll may be called from other threads. Handle
9144           this nicely by not making poll_data disappear off the
9145           stack once gst_bus_poll returns.
9146           gst_bus_peek now increments the refcount on the returned
9147           message.
9148
9149 2005-07-29  Wim Taymans  <wim@fluendo.com>
9150
9151         * docs/design/part-gstghostpad.txt:
9152         Overview of current GhostPad datastructures and use
9153         cases for changing the target.
9154
9155 2005-07-28  Wim Taymans  <wim@fluendo.com>
9156
9157         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9158         Added checks for hierarchy consistency whan adding linked
9159         elements to bins.
9160
9161         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9162         Added check to test element scheduling without bin/pipeline.
9163
9164         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9165         First add elements to bin, then link.
9166         
9167         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9168         (gst_bin_remove_func):
9169         Unlink pads from elements added/removed from bin to maintain
9170         hierarchy consistency.
9171
9172 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9173
9174         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9175         (gst_base_transform_handle_buffer):
9176         * gst/base/gstbasetransform.h:
9177           Remove broken delay_configure (fixes renegotiation of software
9178           scaling pipelines); remove some leftover printf()s.
9179
9180 2005-07-28  Wim Taymans  <wim@fluendo.com>
9181
9182         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9183         Added some more tests for wrong hierarchy
9184
9185         * docs/design/part-overview.txt:
9186         Some updates.
9187
9188         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9189         Cleanups.
9190
9191         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9192         (gst_element_dispose):
9193         Some more cleanups.
9194
9195         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9196         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9197         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9198         (gst_pad_set_caps), (gst_pad_send_event):
9199         Check for correct hierarchy when linking pads. Moving to
9200         strict requirement for ghostpads when linking elements in
9201         different bins.
9202
9203         * gst/gstpad.h:
9204         Clean ups. Added WRONG_HIERARCHY return value.
9205
9206 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9207
9208         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9209           Better debug if no transform is possible.
9210
9211 2005-07-27  Wim Taymans  <wim@fluendo.com>
9212
9213         * docs/random/wtay/network-transp:
9214         Some old doc I had.
9215
9216 2005-07-27  Wim Taymans  <wim@fluendo.com>
9217
9218         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9219         (gst_dp_event_from_packet):
9220         Fix serialization of seek events.
9221
9222 2005-07-27  Wim Taymans  <wim@fluendo.com>
9223
9224         * check/gst-libs/gdp.c: (GST_START_TEST):
9225         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9226         Fix compilation and fix event serialization.
9227
9228 2005-07-27  Wim Taymans  <wim@fluendo.com>
9229
9230         * CHANGES-0.9:
9231         * docs/design/part-TODO.txt:
9232         * docs/design/part-events.txt:
9233         Some docs updates
9234
9235         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9236         (gst_base_sink_event), (gst_base_sink_do_sync),
9237         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9238         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9239         (gst_base_src_do_seek), (gst_base_src_event_handler),
9240         (gst_base_src_loop):
9241         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9242         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9243         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9244         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9245         (gst_base_transform_set_passthrough),
9246         (gst_base_transform_is_passthrough):
9247         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9248         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9249         Event updates.
9250
9251         * gst/gstbuffer.h:
9252         Use faster casts.
9253
9254         * gst/gstelement.c: (gst_element_seek):
9255         * gst/gstelement.h:
9256         Update gst_element_seek.
9257
9258         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9259         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9260         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9261         (gst_event_new_eos), (gst_event_new_newsegment),
9262         (gst_event_parse_newsegment), (gst_event_new_tag),
9263         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9264         (gst_event_parse_qos), (gst_event_new_seek),
9265         (gst_event_parse_seek), (gst_event_new_navigation):
9266         * gst/gstevent.h:
9267         Make GstEvent use GstStructure. Add parsing code, make sure the
9268         API is sufficiently generic.
9269         Mark possible directions of events and serialization.
9270
9271         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9272         (_gst_message_copy), (gst_message_new_segment_start),
9273         (gst_message_new_segment_done), (gst_message_new_custom),
9274         (gst_message_parse_segment_start),
9275         (gst_message_parse_segment_done):
9276         Small cleanups.
9277
9278         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9279         (gst_pad_set_caps), (gst_pad_send_event):
9280         Update for new events. 
9281         Catch events sent in wrong directions.
9282
9283         * gst/gstqueue.c: (gst_queue_link_src),
9284         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9285         (gst_queue_handle_src_query):
9286         Event updates.
9287
9288         * gst/gsttag.c:
9289         * gst/gsttag.h:
9290         Remove event code from this file.
9291
9292         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9293         (gst_dp_event_from_packet):
9294         Event updates.
9295
9296 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9297
9298         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9299         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9300         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9301           Make debugging actually useful.
9302
9303 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9304
9305         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9306         (gst_pad_fixate_caps):
9307           Implement default fixation once again, so that gst_pad_fixate()
9308           actually does anything at all. This probably needs to be some
9309           sort of a last resort, and use profile-based fixation first, but
9310           since that doesn't exist yet, this is the best we have. Fixes
9311           visualization in Totem.
9312
9313 2005-07-22  Wim Taymans  <wim@fluendo.com>
9314
9315         * docs/design/part-events.txt:
9316         Small update.
9317
9318         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9319         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9320         (gst_base_sink_activate_pull):
9321         Some more comments.
9322
9323         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9324         (gst_fake_src_create):
9325         Fix handoff marshall.
9326
9327         * gst/elements/gstidentity.c: (gst_identity_class_init),
9328         (gst_identity_transform_ip):
9329         We're a real inplace element.
9330
9331         * gst/gstbus.c: (gst_bus_post):
9332         Added some comments.
9333
9334         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9335         * tests/muxing/case1.c: (main):
9336         * tests/sched/dynamic-pipeline.c: (main):
9337         * tests/sched/interrupt1.c: (main):
9338         * tests/sched/interrupt2.c: (main):
9339         * tests/sched/interrupt3.c: (main):
9340         * tests/sched/runxml.c: (main):
9341         * tests/sched/sched-stress.c: (main):
9342         * tests/seeking/seeking1.c: (event_received), (main):
9343         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9344         (main):
9345         * tests/threadstate/threadstate3.c: (main):
9346         * tests/threadstate/threadstate4.c: (main):
9347         * tests/threadstate/threadstate5.c: (main):
9348         Fix the tests.
9349
9350 2005-07-21  Wim Taymans  <wim@fluendo.com>
9351
9352         * docs/design/part-seeking.txt:
9353         Some small additions.
9354
9355         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9356         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9357         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9358         * gst/base/gstbasesink.h:
9359         discont values are gint64, handle the math correctly.
9360
9361         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9362         Make the basesrc report error if the source pad is not linked.
9363
9364         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9365         (gst_queue_loop), (gst_queue_handle_src_query),
9366         (gst_queue_src_activate_push):
9367         Make queue collect data even if the srcpad is not linked.
9368         Start pushing out data as soon as it is linked.
9369
9370         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9371         * gst/gstutils.h:
9372         Added gst_flow_get_name() to ease error reporting.
9373
9374 2005-07-20  Wim Taymans  <wim@fluendo.com>
9375
9376         * gst/gstmessage.c: (gst_message_new_segment_start),
9377         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9378         (gst_message_parse_segment_done):
9379         * gst/gstmessage.h:
9380         Added a bunch of messages for advanced seeking.
9381
9382         * gst/parse/grammar.y:
9383         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9384         (gst_dpman_state_changed):
9385         Fix some new-pad -> pad-added signals
9386
9387 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9388
9389         * docs/manual/appendix-porting.xml:
9390         * docs/pwg/appendix-porting.xml:
9391           Document new-pad/state-change signal renames and the FixedList
9392           type rename.
9393
9394 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9395
9396         * docs/manual/advanced-autoplugging.xml:
9397         * docs/manual/basics-helloworld.xml:
9398         * docs/manual/basics-pads.xml:
9399         * docs/random/ds/0.9-suggested-changes:
9400         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9401         * gst/gstelement.h:
9402         * gst/gstevent.h:
9403         * gst/gstformat.h:
9404         * gst/gstquery.h:
9405         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9406         (gst_structure_parse_array), (gst_structure_parse_value):
9407         * gst/gstvalue.c: (gst_type_is_fixed),
9408         (gst_value_list_prepend_value), (gst_value_list_append_value),
9409         (gst_value_list_get_size), (gst_value_list_get_value),
9410         (gst_value_transform_array_string), (gst_value_serialize_array),
9411         (gst_value_deserialize_array), (gst_value_intersect_array),
9412         (gst_value_is_fixed), (_gst_value_initialize):
9413         * gst/gstvalue.h:
9414           GstElement::new-pad -> pad-added, GstElement::state-change ->
9415           state-changed, GstValueFixedList -> GstValueArray, add format and
9416           flags as their own arguments in gst_element_seek() (should improve
9417           "bindeability"), remove function generators since they don't work
9418           under a whole bunch of compilers (they were deprecated already
9419           anyway).
9420
9421 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9422
9423         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9424         (_gst_debug_register_funcptr):
9425         * gst/gstinfo.h:
9426           Fix illegal cast on some platforms (#309253).
9427
9428 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9429
9430         * gst/gstmessage.c: (gst_message_new_custom):
9431         * gst/gstmessage.h:
9432           Add _new_custom, make _new_application a macro to _new_custom.
9433
9434 2005-07-20  Wim Taymans  <wim@fluendo.com>
9435
9436         * gst/base/gstbasesrc.c: (gst_base_src_init),
9437         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9438         * gst/base/gstbasesrc.h:
9439         Add a gboolean to decide when to push out a discont.
9440
9441         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9442         (gst_queue_loop), (gst_queue_handle_src_query),
9443         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9444         (gst_queue_set_property), (gst_queue_get_property):
9445         Some cleanups.
9446
9447         * tests/threadstate/threadstate1.c: (main):
9448         Make a thread test compile and run... very silly..
9449
9450
9451 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9452
9453         * docs/manual/appendix-porting.xml:
9454           Mention removal of libgstgconf-0.9.la and existence of gconf
9455           elements.
9456
9457 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9458
9459         * docs/pwg/advanced-clock.xml:
9460         * docs/pwg/appendix-porting.xml:
9461         * docs/pwg/intro-preface.xml:
9462         * docs/pwg/other-base.xml:
9463         * docs/pwg/other-manager.xml:
9464         * docs/pwg/other-nton.xml:
9465         * docs/pwg/other-ntoone.xml:
9466         * docs/pwg/other-oneton.xml:
9467         * docs/pwg/pwg.xml:
9468           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9469           demuxer), remove n-to-n (was never written), fix some code examples
9470           and links and update the porting section to include all this.
9471
9472 2005-07-19  Wim Taymans  <wim@fluendo.com>
9473
9474         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9475         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9476         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9477         (gst_queue_src_activate_push), (gst_queue_change_state),
9478         (gst_queue_get_property):
9479         * gst/gstqueue.h:
9480         Propagate GstFlowReturn more intelligently upstream and output
9481         an ERROR/EOS when streaming stopped due to fatal error.
9482
9483 2005-07-19  Wim Taymans  <wim@fluendo.com>
9484
9485         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9486         Don't block forever for the state change to complete, the
9487         pipeline already did with a sensible timeout.
9488
9489 2005-07-19  Wim Taymans  <wim@fluendo.com>
9490
9491         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9492         Make sure we never call the create function is we
9493         got deactivated.
9494
9495 2005-07-19  Andy Wingo  <wingo@pobox.com>
9496
9497         * gst/parse/parse.l: Attempt to solve bug #172815.
9498
9499 2005-07-19  Wim Taymans  <wim@fluendo.com>
9500
9501         * docs/design/part-clocks.txt:
9502         * docs/design/part-events.txt:
9503         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9504         Small docs updates.
9505         Only update the seeking values when we are not
9506         busy streaming.
9507
9508 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9509
9510         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9511           Oops, ignore the result of gst_pad_push_event here.
9512
9513 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9514
9515         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9516         (gst_base_src_activate_push):
9517           Send discont event from the loop function, as pads
9518           aren't activated yet in the activate_push handler.
9519
9520         * gst/gstbin.c: (bin_bus_handler):
9521           Don't leak element name.
9522
9523 2005-07-18  Andy Wingo  <wingo@pobox.com>
9524
9525         * configure.ac: Use AS_LIBTOOL_TAGS.
9526
9527 2005-07-18  Wim Taymans  <wim@fluendo.com>
9528
9529         * docs/gst/gstreamer.types:
9530         Remove deleted types.
9531
9532 2005-07-18  Wim Taymans  <wim@fluendo.com>
9533
9534         * check/elements/gstfakesrc.c: (GST_START_TEST):
9535         * configure.ac:
9536         * gst/Makefile.am:
9537         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9538         (init_popt_callback):
9539         * gst/gst.h:
9540         * gst/gst_private.h:
9541         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9542         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9543         * gst/gstbin.h:
9544         * gst/gstbus.h:
9545         * gst/gstconfig.h.in:
9546         * gst/gstelement.c: (gst_element_class_init),
9547         (gst_element_set_base_time), (gst_element_get_base_time),
9548         (iterator_fold_with_resync), (gst_element_change_state),
9549         (gst_element_dispose), (gst_element_get_bus):
9550         * gst/gstelement.h:
9551         * gst/gstelementfactory.h:
9552         * gst/gsterror.c: (_gst_core_errors_init):
9553         * gst/gsterror.h:
9554         * gst/gstevent.h:
9555         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9556         * gst/gstindex.c:
9557         * gst/gstinfo.c: (_gst_debug_init):
9558         * gst/gstmessage.c: (_gst_message_copy):
9559         * gst/gstmessage.h:
9560         * gst/gstminiobject.h:
9561         * gst/gstobject.c:
9562         * gst/gstobject.h:
9563         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9564         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9565         * gst/gstpad.h:
9566         * gst/gstparse.h:
9567         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9568         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9569         (gst_pipeline_get_last_stream_time):
9570         * gst/gstpipeline.h:
9571         * gst/gstpluginfeature.h:
9572         * gst/gstquery.h:
9573         * gst/gstscheduler.c:
9574         * gst/gstscheduler.h:
9575         * gst/gststructure.h:
9576         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9577         (gst_task_finalize), (gst_task_func), (gst_task_create),
9578         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9579         (gst_task_stop), (gst_task_pause):
9580         * gst/gsttask.h:
9581         * gst/gsttypefind.h:
9582         * gst/gsttypes.h:
9583         * gst/registries/gstlibxmlregistry.c: (load_feature),
9584         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9585         * gst/registries/gstxmlregistry.c:
9586         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9587         * gst/schedulers/threadscheduler.c:
9588         * libs/gst/control/dparammanager.h:
9589         * tools/gst-inspect.c: (print_element_list),
9590         (print_plugin_features), (print_element_features):
9591         * tools/gst-xmlinspect.c: (print_element_list),
9592         (print_plugin_info), (main):
9593         Removed plugable schedulers.
9594         Removed Scheduler/Manager from elements.
9595         Removed gsttypes.h, rearranged includes.
9596         Removed dependency pad<->element, element<>pipeline, and
9597         various others,  fix includes.
9598         implement gst_pad_get_parent() with gst_object_get_parent()
9599         Make GstTask sefcontained.
9600         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9601         timeout.
9602         Fix endless loop in iterator_fold_with_resync.
9603
9604
9605 2005-07-18  Wim Taymans  <wim@fluendo.com>
9606
9607         * gst/Makefile.am:
9608         * gst/gstarch.h:
9609         Remove old file.
9610
9611 2005-07-18  Wim Taymans  <wim@fluendo.com>
9612
9613         * gst/Makefile.am:
9614         No more cothreads.h
9615
9616 2005-07-18  Wim Taymans  <wim@fluendo.com>
9617
9618         * gst/cothreads.c:
9619         * gst/cothreads.h:
9620         Let's remove these.
9621
9622 2005-07-18  Wim Taymans  <wim@fluendo.com>
9623
9624         * docs/design/part-dynamic.txt:
9625         * docs/design/part-events.txt:
9626         * docs/design/part-seeking.txt:
9627         Some more docs in the works.
9628
9629         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9630         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9631         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9632         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9633         (gst_base_transform_handle_buffer),
9634         (gst_base_transform_sink_activate_push),
9635         (gst_base_transform_src_activate_pull),
9636         (gst_base_transform_set_passthrough),
9637         (gst_base_transform_is_passthrough):
9638         Refcounting fixes.
9639
9640         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9641         Cleanups.
9642
9643         * gst/gstevent.c: (gst_event_finalize):
9644         Set SRC to NULL.
9645
9646         * gst/gstutils.c: (gst_element_unlink),
9647         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9648         (gst_pad_proxy_setcaps):
9649         * gst/gstutils.h:
9650         Add _get_parent_element() to get a pads parent as an element.
9651
9652 2005-07-18  Wim Taymans  <wim@fluendo.com>
9653
9654         * check/gst/gstbin.c: (GST_START_TEST):
9655         Remove bogus test.
9656
9657 2005-07-18  Wim Taymans  <wim@fluendo.com>
9658
9659         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9660         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9661         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9662         (gst_base_sink_event), (gst_base_sink_do_sync),
9663         (gst_base_sink_chain), (gst_base_sink_loop),
9664         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9665         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9666         Refcounting fixes.
9667         Fix logic for returning ASYNC when not prerolled.
9668
9669 2005-07-18  Wim Taymans  <wim@fluendo.com>
9670
9671         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9672         Fix nasty refcount bug.
9673
9674 2005-07-16 Philippe Khalaf <burger@speedy.org>
9675
9676         * gst/elements/gstfdsrc.c:
9677         * gst/elements/gstfdsrc.h:
9678         * gst/elements/gstelements.c:
9679         * gst/elements/Makefile.am:
9680         Ported fdsrc to 0.9.
9681
9682 2005-07-16  Wim Taymans  <wim@fluendo.com>
9683
9684         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9685         (gst_base_sink_do_sync):
9686         Fix compile error.
9687
9688 2005-07-16  Wim Taymans  <wim@fluendo.com>
9689
9690         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9691         (gst_base_sink_event), (gst_base_sink_get_times),
9692         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9693         * gst/base/gstbasesink.h:
9694         Store and use discont values when syncing buffers as described
9695         in design docs.
9696         
9697         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9698         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9699         (gst_base_src_activate_push):
9700         Push discont event when starting.
9701
9702         * gst/elements/gstidentity.c: (gst_identity_transform):
9703         Small cleanups.
9704
9705         * gst/gstbin.c: (gst_bin_change_state):
9706         Small cleanups in base_time  distribution.
9707
9708         * gst/gstelement.c: (gst_element_set_base_time),
9709         (gst_element_get_base_time), (gst_element_change_state):
9710         * gst/gstelement.h:
9711         Added methods for the base_time of the element.
9712         Some MT fixes.
9713
9714         * gst/gstpipeline.c: (gst_pipeline_send_event),
9715         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9716         (gst_pipeline_get_last_stream_time):
9717         * gst/gstpipeline.h:
9718         MT fixes.
9719         Handle seeking as described in design doc, remove stream_time
9720         hack.
9721         Cleanups clock and stream_time selection code. Added accessors
9722         for the stream_time.
9723         
9724
9725 2005-07-16  Andy Wingo  <wingo@pobox.com>
9726
9727         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9728         (#305291).
9729
9730 2005-07-16  Wim Taymans  <wim@fluendo.com>
9731
9732         * check/gst/gstbin.c: (GST_START_TEST):
9733         Make elements silent as the deep_notify refs the
9734         parent, which might make the test fail.
9735
9736         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9737         Don't hold the lock for too long.
9738
9739 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9740
9741         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9742           Don't unref the caps we passed to gst_caps_make_writable() after
9743           passing them. gst_caps_make_writable() will do that for us.
9744
9745 2005-07-15  Andy Wingo  <wingo@pobox.com>
9746
9747         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9748         (#157311).
9749
9750         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9751         own marshalling function for the handoff signal. Properly type the
9752         buffer as a buffer. Fixes some warnings. Should do a more general
9753         solution.
9754         (gst_identity_class_init): Plug into the right marshaller.
9755
9756 2005-07-15  Wim Taymans  <wim@fluendo.com>
9757
9758         * docs/design/part-TODO.txt:
9759         * docs/design/part-clocks.txt:
9760         * docs/design/part-element-sink.txt:
9761         * docs/design/part-events.txt:
9762         * docs/design/part-gstpipeline.txt:
9763         Updated docs, mostly DISCONT related.
9764
9765 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9766
9767         * docs/pwg/building-pads.xml:
9768           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9769
9770 2005-07-15  Andy Wingo  <wingo@pobox.com>
9771
9772         * tools/gst-typefind.c: Update, add copyright block.
9773
9774         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9775         Normalize and truncate caps before fixation.
9776
9777         * gst/gstcaps.h:
9778         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9779         discards all but the first structure from its argument.
9780
9781 2005-07-15  Wim Taymans  <wim@fluendo.com>
9782
9783         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9784         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9785         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9786         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9787         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9788         (gst_base_transform_chain), (gst_base_transform_change_state),
9789         (gst_base_transform_set_passthrough),
9790         (gst_base_transform_is_passthrough):
9791         * gst/base/gstbasetransform.h:
9792         Make passthrough work using the bufferpools.
9793         Changed API a bit, subclasses have to write into a buffer
9794         provided by the base class.
9795         More debug info in nego functions.
9796         
9797         * gst/elements/gstidentity.c: (gst_identity_init),
9798         (gst_identity_transform):
9799         Port to new base class.
9800
9801 2005-07-15  Wim Taymans  <wim@fluendo.com>
9802
9803         * gst/gstmessage.c: (gst_message_new_state_changed):
9804         * tools/gst-launch.c: (event_loop), (main):
9805         Totally dump messages in -launch with the -m option.
9806         Fix message name for State messages,
9807
9808 2005-07-14  Wim Taymans  <wim@fluendo.com>
9809
9810         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9811         Post error messages on errors.
9812
9813 2005-07-14  Wim Taymans  <wim@fluendo.com>
9814
9815         * gst/gstcaps.c: (gst_caps_do_simplify):
9816         Remove debug info.
9817
9818         * gst/gsterror.h:
9819         Define error for stream stopped.
9820
9821         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9822         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9823         Do proper return values.
9824
9825         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9826         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9827         (gst_pad_get_range):
9828         Better return values.
9829
9830         * gst/gstpad.h:
9831         Reorganise return values, add macro to check for fatal errors.
9832
9833         * gst/gstqueue.c: (gst_queue_chain):
9834         Return proper GstFlowReturn values,
9835
9836 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9837
9838         * docs/gst/gstreamer-sections.txt:
9839         * docs/gst/gstreamer.types:
9840         * docs/gst/tmpl/gst.sgml:
9841         * docs/gst/tmpl/gstbasesink.sgml:
9842         * docs/gst/tmpl/gstbasesrc.sgml:
9843         * docs/gst/tmpl/gstbasetransform.sgml:
9844         * docs/gst/tmpl/gstbin.sgml:
9845         * docs/gst/tmpl/gstbuffer.sgml:
9846         * docs/gst/tmpl/gstcaps.sgml:
9847         * docs/gst/tmpl/gstclock.sgml:
9848         * docs/gst/tmpl/gstcompat.sgml:
9849         * docs/gst/tmpl/gstconfig.sgml:
9850         * docs/gst/tmpl/gstelement.sgml:
9851         * docs/gst/tmpl/gstelementdetails.sgml:
9852         * docs/gst/tmpl/gstelementfactory.sgml:
9853         * docs/gst/tmpl/gstenumtypes.sgml:
9854         * docs/gst/tmpl/gsterror.sgml:
9855         * docs/gst/tmpl/gstevent.sgml:
9856         * docs/gst/tmpl/gstfakesink.sgml:
9857         * docs/gst/tmpl/gstfakesrc.sgml:
9858         * docs/gst/tmpl/gstfilesink.sgml:
9859         * docs/gst/tmpl/gstfilesrc.sgml:
9860         * docs/gst/tmpl/gstfilter.sgml:
9861         * docs/gst/tmpl/gstformat.sgml:
9862         * docs/gst/tmpl/gstghostpad.sgml:
9863         * docs/gst/tmpl/gstimplementsinterface.sgml:
9864         * docs/gst/tmpl/gstindex.sgml:
9865         * docs/gst/tmpl/gstindexfactory.sgml:
9866         * docs/gst/tmpl/gstinfo.sgml:
9867         * docs/gst/tmpl/gstiterator.sgml:
9868         * docs/gst/tmpl/gstmacros.sgml:
9869         * docs/gst/tmpl/gstmemchunk.sgml:
9870         * docs/gst/tmpl/gstminiobject.sgml:
9871         * docs/gst/tmpl/gstobject.sgml:
9872         * docs/gst/tmpl/gstpad.sgml:
9873         * docs/gst/tmpl/gstpadtemplate.sgml:
9874         * docs/gst/tmpl/gstparse.sgml:
9875         * docs/gst/tmpl/gstpipeline.sgml:
9876         * docs/gst/tmpl/gstplugin.sgml:
9877         * docs/gst/tmpl/gstpluginfeature.sgml:
9878         * docs/gst/tmpl/gstquery.sgml:
9879         * docs/gst/tmpl/gstqueue.sgml:
9880         * docs/gst/tmpl/gstregistry.sgml:
9881         * docs/gst/tmpl/gstregistrypool.sgml:
9882         * docs/gst/tmpl/gstscheduler.sgml:
9883         * docs/gst/tmpl/gstschedulerfactory.sgml:
9884         * docs/gst/tmpl/gststructure.sgml:
9885         * docs/gst/tmpl/gstsystemclock.sgml:
9886         * docs/gst/tmpl/gsttaglist.sgml:
9887         * docs/gst/tmpl/gsttagsetter.sgml:
9888         * docs/gst/tmpl/gsttrace.sgml:
9889         * docs/gst/tmpl/gsttrashstack.sgml:
9890         * docs/gst/tmpl/gsttypefind.sgml:
9891         * docs/gst/tmpl/gsttypefindfactory.sgml:
9892         * docs/gst/tmpl/gsttypes.sgml:
9893         * docs/gst/tmpl/gsturihandler.sgml:
9894         * docs/gst/tmpl/gsturitype.sgml:
9895         * docs/gst/tmpl/gstutils.sgml:
9896         * docs/gst/tmpl/gstvalue.sgml:
9897         * docs/gst/tmpl/gstversion.sgml:
9898         * docs/gst/tmpl/gstxml.sgml:
9899         * docs/libs/tmpl/gstcontrol.sgml:
9900         * docs/libs/tmpl/gstdataprotocol.sgml:
9901         * docs/libs/tmpl/gstdparam.sgml:
9902         * docs/libs/tmpl/gstdplinint.sgml:
9903         * docs/libs/tmpl/gstdpman.sgml:
9904         * docs/libs/tmpl/gstdpsmooth.sgml:
9905         * docs/libs/tmpl/gstgetbits.sgml:
9906         * docs/libs/tmpl/gstunitconvert.sgml:
9907         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9908         (gst_push_src_base_init), (gst_push_src_class_init),
9909         (gst_push_src_init), (gst_push_src_create):
9910         * gst/base/gstpushsrc.h:
9911         * gst/elements/gstelements.c:
9912         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9913         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9914         (gst_fake_sink_init), (gst_fake_sink_set_property),
9915         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9916         (gst_fake_sink_event), (gst_fake_sink_preroll),
9917         (gst_fake_sink_render), (gst_fake_sink_change_state):
9918         * gst/elements/gstfakesink.h:
9919         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9920         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9921         (gst_fake_src_base_init), (gst_fake_src_class_init),
9922         (gst_fake_src_init), (gst_fake_src_event_handler),
9923         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9924         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9925         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9926         (gst_fake_src_create_buffer), (gst_fake_src_create),
9927         (gst_fake_src_start), (gst_fake_src_stop):
9928         * gst/elements/gstfakesrc.h:
9929         * gst/elements/gstfilesink.c: (_do_init),
9930         (gst_file_sink_base_init), (gst_file_sink_class_init),
9931         (gst_file_sink_init), (gst_file_sink_dispose),
9932         (gst_file_sink_set_location), (gst_file_sink_set_property),
9933         (gst_file_sink_get_property), (gst_file_sink_open_file),
9934         (gst_file_sink_close_file), (gst_file_sink_query),
9935         (gst_file_sink_event), (gst_file_sink_render),
9936         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9937         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9938         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9939         * gst/elements/gstfilesink.h:
9940         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9941         (gst_file_src_class_init), (gst_file_src_init),
9942         (gst_file_src_finalize), (gst_file_src_set_location),
9943         (gst_file_src_set_property), (gst_file_src_get_property),
9944         (gst_file_src_map_region), (gst_file_src_map_small_region),
9945         (gst_file_src_create_mmap), (gst_file_src_create_read),
9946         (gst_file_src_create), (gst_file_src_is_seekable),
9947         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9948         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9949         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9950         (gst_file_src_uri_handler_init):
9951         * gst/elements/gstfilesrc.h:
9952           more autistic cleanliness in functions/names/defines
9953
9954 2005-07-13  Andy Wingo  <wingo@pobox.com>
9955
9956         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9957         source couldn't negotiate.
9958
9959         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9960         connections again.
9961
9962         * gst/gstutils.h:
9963         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9964         function. I am channeling Hades. Put your boots on suckers!!!
9965
9966 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9967
9968         * testsuite/caps/Makefile.am:
9969         * testsuite/caps/value_compare.c:
9970         * testsuite/caps/value_intersect.c:
9971         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9972           move two testsuite apps over to the check dir
9973
9974 2005-07-12  Wim Taymans  <wim@fluendo.com>
9975
9976         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9977         Added more debug info in the negotiate process.
9978
9979         * gst/gstmessage.h:
9980         Prepare for segment playback.
9981
9982         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9983         Better debugging.
9984
9985         * gst/gstutils.c:
9986         Some more docs.
9987
9988         * tools/gst-launch.c: (main):
9989         NULL pipeline on errors.
9990
9991 2005-07-12  Andy Wingo  <wingo@pobox.com>
9992
9993         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9994         not it comes from a malloc region. Make sure our copy gets freed.
9995
9996 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9997
9998         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9999         * check/gst/gstmessage.c: (GST_START_TEST):
10000         * check/gst/gststructure.c: (GST_START_TEST),
10001         (gst_structure_suite), (main):
10002           more testing
10003         * gst/gstelement.c: (gst_element_message_full):
10004           clean up GError and debug string now that they get copied
10005         * gst/gstmessage.c: (gst_message_new_error),
10006         (gst_message_new_warning), (gst_message_parse_error),
10007         (gst_message_parse_warning):
10008           use GST_TYPE_G_ERROR for structure_new, and take copies of
10009           arguments, so that we don't mess up refcounting
10010
10011 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10012
10013         * check/Makefile.am:
10014           add per-test valgrind targets
10015         * check/gst-libs/gdp.c: (GST_START_TEST),
10016         (gst_data_protocol_suite), (main):
10017           clean up
10018
10019 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10020
10021         * check/Makefile.am:
10022           instate more valgrindable tests
10023         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10024         (GST_START_TEST), (fakesrc_suite):
10025         * check/gst/gstpad.c: (GST_START_TEST):
10026         * check/gst/gststructure.c: (GST_START_TEST):
10027           fix test leaks
10028         * docs/gst/tmpl/gstminiobject.sgml:
10029         * gst/gstpad.c: (gst_pad_finalize):
10030           fix the static mutex leak
10031
10032 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10033
10034         * check/Makefile.am:
10035           add two more tests for valgrinding
10036         * check/gst/gstvalue.c: (GST_START_TEST):
10037           test refcount of deserialized buffer, found a leak
10038         * docs/gst/gstreamer-docs.sgml:
10039         * docs/gst/gstreamer-sections.txt:
10040         * docs/gst/gstreamer.types:
10041         * docs/gst/tmpl/gstminiobject.sgml:
10042           add miniobject to docs
10043         * gst/gstminiobject.c:
10044           add some docs
10045         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10046         (gst_string_unwrap):
10047           fix a hard-to-find invalid write for one of the tests
10048           fix a leak for deserialized buffers
10049
10050 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10051
10052         * docs/pwg/advanced-events.xml:
10053         * docs/pwg/advanced-request.xml:
10054         * docs/pwg/advanced-scheduling.xml:
10055         * docs/pwg/appendix-porting.xml:
10056         * docs/pwg/building-boiler.xml:
10057         * docs/pwg/intro-preface.xml:
10058         * docs/pwg/other-ntoone.xml:
10059           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10060           of example code and explanation for pad activation, loop() and
10061           getrange() functions and a bit more. Remove old comments pointing
10062           to loop-functions.
10063         * examples/pwg/Makefile.am:
10064           Add loop/getrange examples.
10065
10066 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10067
10068         * configure.ac:
10069           check for valgrind binary + some fixes
10070         * check/gst.supp:
10071           valgrind suppressions for the tests
10072         * check/Makefile.am:
10073           add a valgrind: target that valgrinds the unit tests
10074         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10075         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10076         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10077         * check/gst/gstghostpad.c:
10078           added some cleanup
10079         * check/gst/gstdata.c:
10080           removed
10081         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10082         (thread_unref), (gst_mini_object_suite), (main):
10083           added
10084         * gst/gst.c: (gst_deinit):
10085         * gst/gst.h:
10086           add a method to clean up.
10087         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10088         (gst_system_clock_obtain):
10089           allow for disposing the system clock.
10090         * tools/gst-launch.c: (main):
10091           deinit
10092
10093 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10094
10095         * docs/gst/tmpl/gstbasesrc.sgml:
10096         * docs/gst/tmpl/gstfakesrc.sgml:
10097         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10098         (gst_base_src_init), (gst_base_src_set_property),
10099         (gst_base_src_get_property), (gst_base_src_get_range),
10100         (gst_base_src_start):
10101         * gst/base/gstbasesrc.h:
10102           add num-buffers property
10103         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10104         (gst_fakesrc_init), (gst_fakesrc_set_property),
10105         (gst_fakesrc_get_property), (gst_fakesrc_create),
10106         (gst_fakesrc_start):
10107           remove num-buffers property
10108
10109 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10110
10111         * docs/gst/gstreamer-sections.txt:
10112         * docs/gst/tmpl/gstbasesink.sgml:
10113         * docs/gst/tmpl/gstbasesrc.sgml:
10114         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10115         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10116         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10117         (gst_base_sink_set_property), (gst_base_sink_get_property),
10118         (gst_base_sink_handle_object), (gst_base_sink_event),
10119         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10120         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10121         (gst_base_sink_loop), (gst_base_sink_deactivate),
10122         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10123         (gst_base_sink_change_state):
10124         * gst/base/gstbasesink.h:
10125         * gst/base/gstbasesrc.h:
10126         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10127         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10128         (gst_filesink_init):
10129           more macro splitting
10130
10131 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10132
10133         * gst/gstelement.c: (gst_element_get_bus):
10134           add debug
10135         * tools/gst-launch.c: (check_intr), (event_loop):
10136           fix bus leaks
10137
10138 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10139
10140         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10141           fix a caps leak
10142
10143 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10144
10145         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10146         (gst_base_src_finalize):
10147           add finalize method and clean up properly
10148         * gst/gstpipeline.c: (gst_pipeline_dispose):
10149           add debug
10150
10151 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10152
10153         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10154         (gst_bin_suite):
10155           add more things to check
10156         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10157         * gst/gstelement.c:
10158           more debug
10159
10160 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10161
10162         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10163         (GST_START_TEST), (fakesrc_suite):
10164         * check/gst-libs/gdp.c: (GST_START_TEST):
10165         * check/gst/gst.c: (GST_START_TEST):
10166         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10167         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10168         * check/gst/gstbus.c: (GST_START_TEST):
10169         * check/gst/gstcaps.c: (GST_START_TEST):
10170         * check/gst/gstdata.c: (GST_START_TEST):
10171         * check/gst/gstelement.c: (GST_START_TEST):
10172         * check/gst/gstghostpad.c: (GST_START_TEST):
10173         * check/gst/gstiterator.c: (GST_START_TEST):
10174         * check/gst/gstmessage.c: (GST_START_TEST):
10175         * check/gst/gstobject.c: (GST_START_TEST):
10176         * check/gst/gstpad.c: (GST_START_TEST):
10177         * check/gst/gststructure.c: (GST_START_TEST):
10178         * check/gst/gstsystemclock.c: (GST_START_TEST),
10179         (gst_systemclock_suite):
10180         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10181         * check/gst/gstvalue.c: (GST_START_TEST):
10182         * check/pipelines/cleanup.c: (GST_START_TEST):
10183         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10184         * check/states/sinks.c: (GST_START_TEST):
10185         * check/gstcheck.c: (gst_check_init):
10186         * check/gstcheck.h:
10187           add debugging category
10188           use GST_START_TEST now, so we add a debug line
10189
10190 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10191
10192         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10193           add test for state change message on a bin
10194         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10195           add another test
10196         * gst/gstbin.c: (gst_bin_init):
10197         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10198         * gst/gstelement.c: (gst_element_post_message),
10199         (gst_element_set_state):
10200         * gst/gstelementfactory.c: (gst_element_factory_create):
10201         * gst/gstmessage.c: (gst_message_new):
10202         * gst/gstscheduler.c:
10203           various debugging additions and cleanups
10204
10205 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10206
10207         * check/Makefile.am:
10208         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10209         (main):
10210           adding tests for elements
10211         * gst/gstelement.c: (gst_element_dispose):
10212
10213 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10214
10215         * gst/registries/gstlibxmlregistry.c: (load_feature):
10216           plug more leaks.  A simple gst_init() now is leakfree, yay.
10217
10218 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10219
10220         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10221         (gst_xml_registry_load):
10222           plug another memleak
10223
10224 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10225
10226         * configure.ac:
10227           use GST_SET_ERROR_CFLAGS
10228         * docs/faq/cvs.xml:
10229           change to ERROR_CFLAGS
10230
10231 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10232
10233         * configure.ac:
10234           make GST_ERROR_CFLAGS overridable and re-enable Werror
10235         * docs/faq/cvs.xml:
10236           add a note about error CFLAGS
10237         * docs/gst/tmpl/gstfakesrc.sgml:
10238         * gst/elements/gstfakesrc.c:
10239           comment out some unused code
10240         * gst/gst.c: (split_and_iterate):
10241         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10242         (load_feature):
10243           plug some memleaks
10244
10245 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10246
10247         * common/Makefile.am:
10248         * common/gtk-doc.mak:
10249         * docs/gst/Makefile.am:
10250           factor out gtk-doc.mak
10251
10252 2005-07-07  Wim Taymans  <wim@fluendo.com>
10253
10254         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10255         (gst_thread_scheduler_dispose):
10256         Unlock the STREAM_LOCK completely.
10257
10258 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10259
10260         * check/Makefile.am:
10261         * check/elements/.cvsignore:
10262         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10263         (START_TEST), (fakesrc_suite), (main):
10264         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10265         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10266         (gst_fakesrc_create), (gst_fakesrc_start):
10267         * gst/elements/gstfakesrc.h:
10268           adding a first element test
10269
10270 2005-07-07  Andy Wingo  <wingo@pobox.com>
10271
10272         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10273         debug message.
10274
10275 2005-07-07  Wim Taymans  <wim@fluendo.com>
10276
10277         * gst/gstquery.c:
10278         * gst/gstquery.h:
10279         Remove old types
10280
10281 2005-07-07  Wim Taymans  <wim@fluendo.com>
10282
10283         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10284         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10285         Allow subclasses to implement their own negotiation.
10286
10287 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10288
10289         * docs/design/part-gstbin.txt:
10290         * docs/design/part-gstpipeline.txt:
10291           Update design notes to reflect the movement of
10292           responsibility for bus handling from GstPipeline to
10293           GstBin
10294
10295 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10296
10297         * configure.ac:
10298           Remove unnecessary queue2/3/4 examples.
10299
10300 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10301
10302         * examples/Makefile.am:
10303         * examples/helloworld/helloworld.c: (event_loop), (main):
10304         * examples/queue/queue.c: (event_loop), (main):
10305         * examples/queue2/queue2.c: (main):
10306           Update a couple of the examples to work again.
10307
10308         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10309         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10310          Spelling corrections and extra debug.
10311         
10312         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10313         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10314         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10315         * gst/gstbin.h:
10316         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10317         (gst_pipeline_change_state):
10318         * gst/gstpipeline.h:
10319           Move the bus handler for children to the GstBin, and create a
10320           separate bus for receiving messages from children to the one the
10321           bus sends 'upwards' on.
10322
10323 2005-07-06  Wim Taymans  <wim@fluendo.com>
10324
10325         * gst/base/README:
10326         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10327         (gst_base_sink_handle_object), (gst_base_sink_loop),
10328         (gst_base_sink_change_state):
10329         * gst/base/gstbasesink.h:
10330         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10331         (gst_base_src_init), (gst_base_src_setcaps),
10332         (gst_base_src_getcaps), (gst_base_src_loop),
10333         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10334         (gst_base_src_start), (gst_base_src_change_state):
10335         * gst/base/gstbasesrc.h:
10336         Make basesrc negotiate.
10337         Handle the case where preroll fails in basesink.
10338         Update README.
10339
10340 2005-07-06  Wim Taymans  <wim@fluendo.com>
10341
10342         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10343         Implement the fixate function.
10344         Clean up acceptcaps.
10345
10346 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10347
10348         * docs/pwg/building-filterfactory.xml:
10349         * docs/pwg/pwg.xml:
10350           Remove never-written filter-factory chapter; I'll add the various
10351           base classes to part 4 ("other element types") later on.
10352
10353 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10354
10355         * docs/pwg/advanced-negotiation.xml:
10356         * docs/pwg/building-boiler.xml:
10357         * docs/pwg/building-pads.xml:
10358         * docs/pwg/pwg.xml:
10359         * examples/pwg/Makefile.am:
10360           Add a chapter on caps negotiation, simplify the original code
10361           samples a bit w.r.t. caps negotiation, add link to the advanced
10362           section. Add a bunch of examples showing different use cases of
10363           different types of caps negotiation. Upstream renegotiation isn't
10364           fully documented yet since nobody knows how that works.
10365
10366 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10367
10368         * check/gst/gstpad.c:
10369         * check/gstcheck.c:
10370         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10371           if pad has no parent, return NULL as list of internal links
10372
10373 2005-07-05  Andy Wingo  <wingo@pobox.com>
10374
10375         * gst/elements/gstfilesrc.c:
10376         * gst/elements/gstfakesrc.c: 
10377         * gst/base/gstpushsrc.c:
10378         * gst/base/gstbasesrc.h: 
10379         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10380         
10381 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10382
10383         * Makefile.am:
10384           better report generation target (lcov needs a patch)
10385
10386 2005-07-05  Andy Wingo  <wingo@pobox.com>
10387
10388         * gst/elements, testsuite: Null if we got it...
10389
10390 2005-07-05  Wim Taymans  <wim@fluendo.com>
10391
10392         * configure.ac:
10393         * libs/gst/dataprotocol/Makefile.am:
10394         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10395         * libs/gst/dataprotocol/dataprotocol.h:
10396         * pkgconfig/Makefile.am:
10397         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10398         * pkgconfig/gstreamer-dataprotocol.pc.in:
10399         Ported dataprotol to 0.9. 
10400         Added pkgconfig files.
10401
10402 2005-07-05  Andy Wingo  <wingo@pobox.com>
10403
10404         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10405         Default to returning TRUE for the case when tranform_caps returns
10406         a fixed caps, like for identity or volume.
10407
10408         * check/gst/gstbus.c (pound_bus_with_messages): 
10409         * check/gst/gstmessage.c (START_TEST): 
10410         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10411         message API change.
10412
10413         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10414         logic weaks here: always run transform_caps, trying passthrough
10415         operation only if the original caps intersects with the transform.
10416
10417         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10418         source and sink caps.
10419
10420         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10421         Intersect the peer caps with the pad template before going into
10422         transform_caps.
10423         (gst_base_transform_transform_caps): More debugging.
10424
10425         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10426         src argument.
10427
10428 2005-07-04  Edward Hervey  <edward@fluendo.com>
10429
10430         * gst/gstutils.c:
10431         * gst/gstutils.h:
10432         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10433         in bindings.
10434
10435 2005-07-04  Andy Wingo  <wingo@pobox.com>
10436
10437         * check/gst/gstpad.c: Only set explicit caps on pads.
10438
10439 2005-07-01  Andy Wingo  <wingo@pobox.com>
10440
10441         * tests/network-clock.scm: Commentary update.
10442
10443         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10444         Didn't really make sense, not implementable with basetransform,
10445         etc.
10446         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10447         attempt at implementing the sync property, needs an unlock method.
10448
10449         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10450         New func, by default returns the same caps (the identity
10451         transformation).
10452         (gst_base_transform_getcaps): Uses transform_caps to return
10453         something sensible.
10454         (gst_base_transform_setcaps): Complicated logic to get caps on
10455         both pads, even if they are different, and to call set_caps once
10456         for every time both pads get their caps set.
10457         (gst_base_transform_handle_buffer): Give the ref to the transform
10458         function. Allows in-place modification of the buffer.
10459
10460         * gst/base/gstbasetransform.h (transform_caps): New class method.
10461         Given caps on one side, what can I do on the other.
10462         (set_caps): Take two caps, one for each side of the element.
10463
10464         * gst/gstpad.h:
10465         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10466         caps in place. This is safe because we can check the mutability of
10467         the caps, and a good idea because fixate functions are just called
10468         as a matter of last resort. (Not actually implemented.)
10469         (gst_pad_set_caps): If the caps we're setting is actually the same
10470         as the existing pad caps, just update the pointer without calling
10471         setcaps. Assert that caps is either NULL or fixed, as per the
10472         docs.
10473
10474         * gst/gstghostpad.c: Update for fixate changes.
10475
10476 2005-07-02  Andy Wingo  <wingo@pobox.com>
10477
10478         * gst/gstcaps.c:
10479         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10480         two refcounts makes it immutable, which is enough. Doc more.
10481
10482 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10483
10484         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10485           Put the mini_object into GValue as a mini_object,
10486           not a gpointer, since that's how we declared
10487           the signal.
10488
10489 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10490
10491         * examples/pwg/Makefile.am:
10492           Fix buildbot again.
10493
10494 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10495
10496         * docs/pwg/building-testapp.xml:
10497           Add extra check.
10498         * examples/pwg/Makefile.am:
10499           Fix buildbot.
10500
10501 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10502
10503         * configure.ac:
10504         * examples/Makefile.am:
10505         * examples/pwg/Makefile.am:
10506         * examples/pwg/extract.pl:
10507           Enable building the PWG examples.
10508         * docs/pwg/advanced-interfaces.xml:
10509           Add URI interface stub.
10510         * docs/pwg/advanced-types.xml:
10511         * docs/pwg/other-autoplugger.xml:
10512         * docs/pwg/appendix-porting.xml:
10513         * docs/pwg/pwg.xml:
10514           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10515         * docs/pwg/building-boiler.xml:
10516         * docs/pwg/building-chainfn.xml:
10517         * docs/pwg/building-pads.xml:
10518         * docs/pwg/building-props.xml:
10519         * docs/pwg/building-state.xml:
10520         * docs/pwg/building-testapp.xml:
10521           Update the building-*.xml parts for 0.9 changes. All examples
10522           code blocks compile in examples/pwg/*.
10523
10524 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10525
10526         * docs/manual/advanced-autoplugging.xml:
10527         * docs/manual/appendix-checklist.xml:
10528         * docs/manual/appendix-integration.xml:
10529         * docs/manual/highlevel-components.xml:
10530           Fix playbin/decodebin examples, update docs a bit, mention bus
10531           instead of signals in various places, mention kmplayer and
10532           kaffeine since they have a working GStreamer backend in the KDE
10533           section.
10534
10535 2005-06-30  Wim Taymans  <wim@fluendo.com>
10536
10537         * CHANGES-0.9:
10538         * docs/design/draft-ghostpads.txt:
10539         * docs/design/draft-push-pull.txt:
10540         * docs/design/draft-query.txt:
10541         * docs/design/part-TODO.txt:
10542         * docs/design/part-query.txt:
10543         Added CHANGES-0.9 doc, updated status of other docs.
10544         
10545         * gst/gstquery.h:
10546         Remove "hmm" macro
10547
10548 2005-06-30  Wim Taymans  <wim@fluendo.com>
10549
10550         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10551         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10552         (gst_base_sink_change_state):
10553         * gst/base/gstbasesink.h:
10554         Some tweaks, only EOS and a buffer complete a preroll.
10555
10556 2005-06-30  Andy Wingo  <wingo@pobox.com>
10557
10558         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10559         activate_push down to the internal pad as well.
10560
10561 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10562
10563         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10564
10565         * gst/gsttaginterface.c:
10566           Some documentation fixes (#307394 and #307397).
10567
10568 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10569
10570         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10571
10572         * gst/gstvalue.c: (gst_value_intersect_list):
10573           Fix memleak (#309125).
10574
10575 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10576
10577         * docs/manual/advanced-dataaccess.xml:
10578           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10579         * docs/manual/basics-pads.xml:
10580           Add reference for filtered caps to above chapter.
10581
10582 2005-06-30  Wim Taymans  <wim@fluendo.com>
10583
10584         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10585         (gst_bin_change_state):
10586         Probes are gone.
10587         Lame attempt at making the state change function a bit
10588         more readable.
10589
10590 2005-06-30  Wim Taymans  <wim@fluendo.com>
10591
10592         * docs/design/part-clocks.txt:
10593         * docs/design/part-element-sink.txt:
10594         * docs/design/part-events.txt:
10595         * docs/design/part-preroll.txt:
10596         * docs/design/part-states.txt:
10597         Some more tweeks and additions to the docs.
10598
10599 2005-06-30  Wim Taymans  <wim@fluendo.com>
10600
10601         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10602         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10603         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10604         (gst_pad_check_pull_range), (gst_pad_get_range),
10605         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10606         * gst/gstpad.h:
10607         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10608         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10609         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10610         (gst_pad_remove_buffer_probe):
10611         Removed atomic operations, use existing LOCK.
10612         Move exception handling out of main code path.
10613
10614 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10615
10616         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10617         (silly_return_true_function), (gst_pad_class_init),
10618         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10619         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10620         (gst_pad_send_event):
10621           Fix accumulator, add default value by using _emitv() instead
10622           of _emit() for signal emission.
10623
10624 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10625
10626         * docs/manual/advanced-dataaccess.xml:
10627         * examples/manual/Makefile.am:
10628           Add probe example.
10629         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10630           Make work (??).
10631
10632 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10633
10634         * gst/elements/gstfilesink.c: (gst_filesink_render):
10635           Simplify code so that we don't have to handle short
10636           writes and return GST_FLOW_ERROR if an error occured.
10637
10638 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10639
10640         * docs/gst/gstreamer-docs.sgml:
10641           Remove probes more.
10642
10643 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10644
10645         * docs/gst/gstreamer-sections.txt:
10646         * docs/gst/tmpl/gstpad.sgml:
10647         * docs/gst/tmpl/gstprobe.sgml:
10648         * gst/Makefile.am:
10649         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10650         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10651         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10652         (gst_pad_push_event), (gst_pad_send_event):
10653         * gst/gstpad.h:
10654         * gst/gstutils.c: (gst_pad_add_data_probe),
10655         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10656         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10657         (gst_pad_remove_buffer_probe):
10658         * gst/gstutils.h:
10659           Remove old probes, add new g-signal-based probes and some utility
10660           functions.
10661
10662 2005-06-29  Edward Hervey  <edward@fluendo.com>
10663
10664         * gst/gstelementfactory.c:
10665         * gst/gstutils.h:
10666         * gst/gstutils.c:
10667         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10668         the definition to the header file.
10669
10670 2005-06-29  Andy Wingo  <wingo@pobox.com>
10671
10672         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10673         plugins from the source directory.
10674
10675 2005-06-29  Wim Taymans  <wim@fluendo.com>
10676
10677         * docs/gst/tmpl/gstbuffer.sgml:
10678         * docs/gst/tmpl/gstclock.sgml:
10679         Some fixings for blantently wrong text.
10680
10681 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10682
10683         * check/Makefile.am:
10684         * gst/gst.c: (add_path_func), (init_pre):
10685         * gst/gstregistry.c: (gst_registry_add_path):
10686           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10687           only scan the GST_PLUGIN_PATH locations, and not add
10688           system locations
10689
10690 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10691
10692         * docs/gst/gstreamer-sections.txt:
10693         * docs/gst/tmpl/gstbasesrc.sgml:
10694         * gst/gstelement.c:
10695         * gst/gstelement.h:
10696         * gst/gstevent.c:
10697         * gst/gstutils.c:
10698           doc fixes
10699
10700 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10701
10702         * docs/manual/advanced-autoplugging.xml:
10703           Fix autoplugging example.
10704
10705 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10706
10707         * docs/manual/advanced-autoplugging.xml:
10708         * docs/manual/mime-world.fig:
10709           Try to get autoplugging working, fix type detection. Fix text
10710           in hello-world image.
10711
10712 2005-06-29  Wim Taymans  <wim@fluendo.com>
10713
10714         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10715         (gst_base_sink_change_state):
10716         Small debug line.
10717
10718         * gst/gstclock.h:
10719         map SIGNAL and BROADCAST to the right function.
10720
10721         * gst/gstobject.h:
10722         Remove redundant braces.
10723
10724         * gst/gstpad.c: (gst_pad_set_caps):
10725         Don't call setcaps function when reseting caps to NULL.
10726
10727         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10728         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10729         (gst_system_clock_id_unschedule):
10730         Use BROADCAST as this is what we do.
10731
10732 2005-06-29  Wim Taymans  <wim@fluendo.com>
10733
10734         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10735         We are actually prerolling before commiting the state
10736         change. 
10737
10738 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10739
10740         * docs/manual/advanced-clocks.xml:
10741         * docs/manual/advanced-interfaces.xml:
10742         * docs/manual/advanced-metadata.xml:
10743         * docs/manual/advanced-position.xml:
10744         * docs/manual/advanced-schedulers.xml:
10745         * docs/manual/advanced-threads.xml:
10746         * docs/manual/appendix-porting.xml:
10747         * docs/manual/basics-bins.xml:
10748         * docs/manual/basics-bus.xml:
10749         * docs/manual/basics-elements.xml:
10750         * docs/manual/basics-helloworld.xml:
10751         * docs/manual/basics-pads.xml:
10752         * docs/manual/highlevel-components.xml:
10753         * docs/manual/manual.xml:
10754         * docs/manual/thread.fig:
10755           Update (until threads/scheduling) Application Development Manual;
10756           remove GstThread, add GstBus, add simple porting checklist, add
10757           documentation for tag writing, clocks, make all examples until this
10758           part compile and run.
10759         * examples/manual/Makefile.am:
10760           Update from changes to Application Development Manual; add bus
10761           example, remove thread example.
10762
10763 2005-06-28  Wim Taymans  <wim@fluendo.com>
10764
10765         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10766         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10767         (gst_bus_source_dispatch):
10768         Add debugging messages.
10769         Make internal methods static.
10770         Handle the case where the bus is flushed in the handler.
10771         
10772         * gst/gstelement.c: (gst_element_get_bus):
10773         Fix refcount in _get_bus();
10774
10775         * gst/gstpipeline.c: (gst_pipeline_change_state),
10776         (gst_pipeline_get_clock_func):
10777         Clock refcounting fixes.
10778         Handle the case where preroll timed out more gracefully.
10779         
10780         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10781         Clean up the internal thread in dispose. This is needed
10782         for subclasses that actually get disposed.
10783         
10784         * gst/schedulers/threadscheduler.c:
10785         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10786         (gst_thread_scheduler_dispose):
10787         Free thread pool in dispose.
10788
10789 2005-06-28  Andy Wingo  <wingo@pobox.com>
10790
10791         * tests/network-clock-utils.scm (debug, print-event): New utils.
10792
10793         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10794         (*packet-loss*): Unified loss probability.
10795         (network-time): Report out-of-band events.
10796
10797         * tests/plot-data: Add support for out-of-band events. Hack it
10798         into this script instead of passing it down the pipe; should fix
10799         this later.
10800
10801 2005-06-28  Wim Taymans  <wim@fluendo.com>
10802
10803         * docs/gst/gstreamer.types:
10804         * docs/gst/tmpl/gstbasesrc.sgml:
10805         * docs/gst/tmpl/gstpad.sgml:
10806         Docs fixes.
10807
10808 2005-06-28  Wim Taymans  <wim@fluendo.com>
10809
10810         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10811         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10812         (gst_proxy_pad_do_fixatecaps):
10813         Correctly proxy the check_pull_range function.
10814
10815 2005-06-28  Andy Wingo  <wingo@pobox.com>
10816
10817         * tests/network-clock.scm: Removed need for slib.
10818         
10819 2005-06-28  Wim Taymans  <wim@fluendo.com>
10820
10821         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10822         (gst_basesink_preroll_queue_flush):
10823         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10824         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10825         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10826         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10827         (gst_proxy_pad_set_property):
10828         * gst/gstpad.c:
10829         * gst/gstpad.h:
10830         * gst/gstqueue.c: (gst_queue_init):
10831         The deprecated pad loop function is removed now.
10832
10833 2005-06-28  Andy Wingo  <wingo@pobox.com>
10834
10835         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10836         New parameters, simulate network packet loss.
10837
10838         * tests/network-clock-utils.scm: Initialize the RNG.
10839
10840 2005-06-28  Wim Taymans  <wim@fluendo.com>
10841
10842         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10843         (gst_basesink_event), (gst_basesink_deactivate):
10844         Flushing the preroll queue always needs to unlock the waiters.
10845
10846 2005-06-28  Edward Hervey  <edward@fluendo.com>
10847
10848         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10849         Wheen a seek was successful on a pipeline, set the stream_time to the
10850         seek offset in order to have a synchronized stream_time.
10851
10852 2005-06-28  Wim Taymans  <wim@fluendo.com>
10853
10854         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10855         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10856         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10857         (gst_proxy_pad_do_fixatecaps):
10858         Call wrapper function instead of just calling the function
10859         pointers. This takes care of any locking and whatmore.
10860
10861 2005-06-28  Wim Taymans  <wim@fluendo.com>
10862
10863         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10864         (gst_pad_pull_range):
10865         * gst/gstpad.h:
10866         CONNECTED -> LINKED.
10867
10868 2005-06-28  Andy Wingo  <wingo@pobox.com>
10869
10870         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10871         source-munging commit!!!
10872
10873         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10874         (gst_object_sink): Take gpointer arguments, not GstObject --
10875         avoids casts. Like GLib.
10876
10877         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10878         activate.
10879
10880 2005-06-27  Andy Wingo  <wingo@pobox.com>
10881
10882         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10883         remaining buffer.
10884
10885         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10886         returns a sorted copy of the trace list.
10887         (gst_alloc_trace_print_live): New API, only prints traces with
10888         live objects. Sort the list.
10889         (gst_alloc_trace_print_all): Sort the list.
10890         (gst_alloc_trace_print): Align columns.
10891
10892         * gst/elements/gstttypefindelement.c:
10893         * gst/elements/gsttee.c:
10894         * gst/base/gstbasesrc.c:
10895         * gst/base/gstbasesink.c:
10896         * gst/base/gstbasetransform.c:
10897         * gst/gstqueue.c: Adapt for pad activation changes.
10898
10899         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10900         sched.
10901         (gst_pipeline_dispose): Drop ref on sched.
10902
10903         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10904         (gst_pad_activate_default): Push mode by default.
10905         (pre_activate_switch, post_activate_switch): New stubs, things to
10906         do before and after switching activation modes on pads.
10907         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10908         the pad's activate function to choose which mode to activate.
10909         Shortcut on deactivation and call the right function directly.
10910         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10911         mode.
10912         (gst_pad_activate_push): New API, same for push mode.
10913         (gst_pad_set_activate_function) 
10914         (gst_pad_set_activatepull_function) 
10915         (gst_pad_set_activatepush_function): Setters for new API.
10916
10917         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10918         Trace all miniobjects.
10919         (gst_mini_object_make_writable): Unref the arg if we copy, like
10920         gst_caps_make_writable.
10921
10922         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10923
10924         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10925         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10926         Adapt for new pad API.
10927
10928         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10929
10930         * gst/gstelement.h:
10931         * gst/gstelement.c (gst_element_iterate_src_pads) 
10932         (gst_element_iterate_sink_pads): New API functions.
10933         
10934         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10935         should fold into gstiterator.c in some form.
10936         (gst_element_pads_activate): Simplified via use of fold and
10937         delegation of decisions to gstpad->activate.
10938
10939         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10940         help in debugging.
10941
10942         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10943         class once in init, like gstmessage. Didn't run into this issue
10944         but it seems correct. Don't initialize a trace, gstminiobject does
10945         that.
10946
10947         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10948         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10949         to the bus.
10950         (assert_live_count): New util function, uses alloc traces to check
10951         cleanup.
10952
10953         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10954         To be modified when unlink drops the internal pad.
10955
10956 2005-06-27  Wim Taymans  <wim@fluendo.com>
10957
10958         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10959         (gst_bin_change_state):
10960         Cleanup the get_state() function a little, make sure it
10961         iterates the same set of elements.
10962         Added stub iterate_state_order().
10963
10964 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10965
10966         * docs/gst/gstreamer-docs.sgml:
10967         * docs/gst/gstreamer-sections.txt:
10968         * docs/gst/gstreamer.types:
10969         * docs/gst/tmpl/gstbasesink.sgml:
10970         * docs/gst/tmpl/gstbasesrc.sgml:
10971         * docs/gst/tmpl/gstbasetransform.sgml:
10972         * docs/gst/tmpl/gstelement.sgml:
10973         * docs/gst/tmpl/gstiterator.sgml:
10974         * gst/base/gstbasesrc.c:
10975         * gst/base/gstbasesrc.h:
10976         * gst/base/gstbasetransform.h:
10977         * gst/gstelement.c:
10978         * gst/gstiterator.h:
10979           adding basetransform and iterator docs
10980
10981 2005-06-27  Andy Wingo  <wingo@pobox.com>
10982
10983         * docs/design/part-activation.txt: Notes on how activation should
10984         work -- not quite implemented yet.
10985
10986 2005-06-25  Wim Taymans  <wim@fluendo.com>
10987
10988         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10989         At least get the chain function correct, needs more
10990         fixing.
10991
10992 2005-06-25  Wim Taymans  <wim@fluendo.com>
10993
10994         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10995         (gst_basesink_handle_object), (gst_basesink_event),
10996         (gst_basesink_do_sync), (gst_basesink_handle_event),
10997         (gst_basesink_change_state):
10998         * gst/gsttask.h:
10999         Right, two problems here: ghostpads don't take locks and
11000         glib _rec_mutex_lock_full() with depth==0 still locks.
11001         Catch illegal locking and g_warn them.
11002
11003 2005-06-25  Wim Taymans  <wim@fluendo.com>
11004
11005         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11006         Have to check for completion now...
11007
11008 2005-06-25  Wim Taymans  <wim@fluendo.com>
11009
11010         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11011         (gst_basesink_handle_object), (gst_basesink_event),
11012         (gst_basesink_do_sync), (gst_basesink_handle_event),
11013         (gst_basesink_change_state):
11014         * gst/gstpad.h:
11015         Unlock STREAM_LOCK whatever the recursion was.
11016
11017 2005-06-25  Wim Taymans  <wim@fluendo.com>
11018
11019         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11020         (gst_basesink_preroll_queue_empty),
11021         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11022         (gst_basesink_event), (gst_basesink_do_sync),
11023         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11024         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11025         (gst_basesink_change_state):
11026         Reworked the base sink, handle event and buffer serialisation
11027         correctly and removed possible deadlock.
11028         Handle EOS correctly.
11029
11030 2005-06-25  Wim Taymans  <wim@fluendo.com>
11031
11032         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11033         (gst_pipeline_change_state):
11034         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11035         Allow elements to post EOS in the state change function.
11036         Fix up -launch, make it exit the poll loop when the
11037         pipeline actually changed state.
11038         Fix up warning parsing in -launch.
11039
11040 2005-06-25  Wim Taymans  <wim@fluendo.com>
11041
11042         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11043         (gst_tee_sink_activate):
11044         Core takes STREAM_LOCK for us now.
11045
11046 2005-06-25  Wim Taymans  <wim@fluendo.com>
11047
11048         * gst/gstelement.c: (gst_element_get_state_func),
11049         (gst_element_set_state):
11050         * gst/gstelement.h:
11051         * gst/gstmessage.c: (gst_message_parse_error),
11052         (gst_message_parse_warning):
11053         Keep track of current target state while performing a state
11054         change so that subclasses can do something interesting.
11055         Fix parsing of warning/error messages when GError is NULL.
11056
11057 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11058
11059         * docs/gst/Makefile.am:
11060         * docs/gst/gstreamer-docs.sgml:
11061         * docs/gst/gstreamer-sections.txt:
11062         * docs/gst/gstreamer.types:
11063         * docs/gst/tmpl/gstbasesink.sgml:
11064         * docs/gst/tmpl/gstbasesrc.sgml:
11065         * docs/gst/tmpl/gstbin.sgml:
11066         * docs/gst/tmpl/gstcompat.sgml:
11067         * docs/gst/tmpl/gstfakesink.sgml:
11068         * docs/gst/tmpl/gstfakesrc.sgml:
11069         * docs/gst/tmpl/gstfilesink.sgml:
11070         * docs/gst/tmpl/gstfilesrc.sgml:
11071         * docs/gst/tmpl/gstindex.sgml:
11072         * docs/manual/appendix-quotes.xml:
11073         * gst/base/gstbasesrc.h:
11074         * gst/elements/gstfakesrc.h:
11075         * gst/gstmessage.h:
11076           start pulling in base classes and elements in our docs
11077
11078 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11079
11080         * docs/gst/Makefile.am:
11081         * docs/libs/Makefile.am:
11082           fixed make distcheck with gtk-doc 1.3
11083
11084 2005-06-23  Wim Taymans  <wim@fluendo.com>
11085
11086         * gst/gstelement.c: (gst_element_get_state_func),
11087         (gst_element_set_state), (gst_element_change_state):
11088         When the state did not change, also report NO_PREROLL
11089         when it matters.
11090
11091 2005-06-23  Wim Taymans  <wim@fluendo.com>
11092
11093         * gst/gstpad.c: (gst_pad_event_default):
11094         * gst/gstqueue.c: (gst_queue_loop):
11095         No unsafe task pausing please.
11096
11097 2005-06-23  Wim Taymans  <wim@fluendo.com>
11098
11099         * gst/schedulers/threadscheduler.c:
11100         (gst_thread_scheduler_task_start),
11101         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11102         Ref the task before pushing it on the threadpool. This
11103         makes sure that we have a ref when the threadfunction is
11104         actually called.
11105
11106 2005-06-23  Andy Wingo  <wingo@pobox.com>
11107
11108         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11109         offset is greater than the file's size.
11110
11111         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11112         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11113         * gst/gstobject.c (gst_object_class_init): Make the class lock
11114         recursive. Wim won't let me drop deep_notify. Decodebin works
11115         again, whoopdy doo.
11116
11117         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11118         internal pad, and hacks accordingly. Doesn't do it on the target
11119         pad because we change its caps. Probably catches all cases of
11120         interest tho.
11121         (gst_ghost_pad_set_property): Connect to notify::caps as
11122         appropritate.
11123
11124         * tests/network-clock.scm (plot-simulation): Pipe data to the
11125         elite python skript.
11126
11127         * tests/network-clock-utils.scm (define-parameter): New macro,
11128         defines a parameter that can be set via the command line.
11129         (set-parameter!, parse-parameter-arguments): Command line args
11130         parser.
11131
11132         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11133         stdin.
11134
11135 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11136
11137         * gst/elements/gsttypefindelement.c:
11138         (gst_type_find_element_handle_event):
11139           Don't restart typefinding on a discont.
11140         * gst/gstelement.c: (gst_element_set_state):
11141           Debug spelling fix.
11142         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11143           Allow changing mode of an active pad.
11144           Debug output fixes.
11145         * gst/registries/gstlibxmlregistry.c: (load_feature):
11146           Don't cast a static pad template to a normal pad template.
11147
11148 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11149
11150         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11151         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11152           remove gst_strtoll completely, since it didn't actually do
11153           anything more than what g_ascii_strtoull already does.
11154           check for range errors when deserializing
11155           do a cast for the unsigned cases; but further fixing needs
11156           a decision on what the interpretation of "(int)" and
11157           deserialization should be for values that fall outside the
11158           type's boundaries (ie, refuse, or interpret as casting)
11159
11160 2005-06-23  Wim Taymans  <wim@fluendo.com>
11161
11162         * check/Makefile.am:
11163         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11164         * docs/design/part-live-source.txt:
11165         * docs/design/part-states.txt:
11166         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11167         (gst_basesrc_set_live), (gst_basesrc_is_live),
11168         (gst_basesrc_get_range), (gst_basesrc_activate),
11169         (gst_basesrc_change_state):
11170         * gst/base/gstbasesrc.h:
11171         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11172         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11173         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11174         * gst/gstelement.c: (gst_element_get_state_func),
11175         (gst_element_set_state):
11176         * gst/gstelement.h:
11177         * gst/gsttypes.h:
11178         * tools/gst-launch.c: (event_loop), (main):
11179         Added support for live sources and other elements that
11180         cannot do preroll.
11181         Updated design docs, added live-source design doc.
11182         Implemented live source functionality in basesrc
11183         Fix error condition in _bin_get_state()
11184         Implement live source handling in -launch.
11185         Added check for live sources.
11186         Fixed case in GstBin where elements were changed state
11187         multiple times.
11188
11189
11190 2005-06-23  Andy Wingo  <wingo@pobox.com>
11191
11192         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11193         borken refcounting.
11194
11195         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11196         gst_caps_replace takes care of this for us.
11197
11198         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11199         gst_pad_set_caps on the target, not just its setcaps() function.
11200
11201         * tests/network-clock.scm: 
11202         * tests/network-clock-utils.scm: A network clock simulator.
11203         Something of an algorithmic testbed before doing something in C.
11204
11205 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11206
11207         * check/Makefile.am:
11208         * check/gst/capslist.h:
11209           copy over from 0.8, and add two with bitmasks specified with
11210           (int) 0xFF...
11211         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11212           add test to parse everything from capslist.h
11213         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11214         (main):
11215           add test for structure deserialization
11216         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11217           add tests for deserialization of strings to int types
11218         * gst/gststructure.c: (gst_structure_nth_field_name):
11219         * gst/gststructure.h:
11220           add a way to get the name of a field referenced by index
11221         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11222           instead of checking if the resulting long long lies between
11223           min and max, we check if the long long would fit into
11224           a number of bytes for the final type.
11225           This fixes cases where a string represents 2^32 - 1, which
11226           when cast to int would be the (valid) -1, but is bigger than
11227           G_MAXINT
11228
11229 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11230
11231         * gst/parse/grammar.y:
11232           add a log line for type deserialization
11233
11234 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11235
11236         * check/gst/gstvalue.c: (START_TEST):
11237         * gst/gstvalue.c: (gst_value_deserialize):
11238           return long long, not int, so gint64 deserialization actually
11239           works.  Is there any flag that makes the compiler check this ?
11240           Fixes #308559
11241
11242 2005-06-22  Wim Taymans  <wim@fluendo.com>
11243
11244         * gst/gstbuffer.h:
11245         Added convenience macros for setting buffers in GValue.
11246
11247 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11248
11249         * check/gst/.cvsignore:
11250         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11251           add a test deserializing int64, and comment part out because
11252           it fails, yay !
11253
11254 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11255
11256         * check/Makefile.am:
11257         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11258         * testsuite/Makefile.am:
11259         * testsuite/caps/Makefile.am:
11260         * testsuite/caps/value_serialize.c:
11261         * testsuite/test_gst_init.c:
11262           move a value_serialize test over
11263
11264 2005-06-20  Wim Taymans  <wim@fluendo.com>
11265
11266         * gst/gstpad.c:
11267         Small doc updates.
11268         
11269         * gst/gstvalue.c: (gst_value_compare_buffer),
11270         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11271         (gst_value_compare_flags), (gst_value_serialize_flags),
11272         (gst_value_deserialize_flags), (_gst_value_initialize):
11273         Fix serialisation of buffers, they are not boxed types anymore
11274
11275 2005-06-20  Wim Taymans  <wim@fluendo.com>
11276
11277         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11278         Testcase to show error in buffer-on-caps serialisation.
11279
11280 2005-06-20  Andy Wingo  <wingo@pobox.com>
11281
11282         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11283         will be adding to later.
11284
11285         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11286         if its socks fill with rocks.
11287         (gst_system_clock_obtain): Set the name on object construction.
11288         Avoid double-checked locking.
11289
11290 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11291
11292         * gst/gsturi.c: (gst_element_make_from_uri):
11293           Fix potential endless loop.
11294
11295 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11296
11297         * check/Makefile.am:
11298           add gsttag
11299         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11300         (main):
11301           move over from testsuite dir and clean up
11302         * configure.ac:
11303         * gst/gsttag.c:
11304         * testsuite/Makefile.am:
11305         * testsuite/tags/.cvsignore:
11306         * testsuite/tags/Makefile.am:
11307         * testsuite/tags/merge.c:
11308           remove testsuite/tags
11309
11310 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11311
11312         * docs/gst/gstreamer-sections.txt:
11313         * docs/gst/tmpl/gstenumtypes.sgml:
11314         * win32/gstenumtypes.c:
11315           clean up documentation build a little
11316
11317 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11318
11319         * check/gstcheck.h:
11320           add macros for checking refcounts on objects and caps
11321         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11322           add some more unit tests
11323         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11324         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11325           fix leaked refcounts (I hope :)) so unittest works
11326         * gst/gstpad.h:
11327           whitespace removal
11328
11329 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11330
11331         * configure.ac: back to HEAD
11332
11333 === release 0.9.1 ===
11334
11335 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11336
11337         * NEWS:
11338         * RELEASE:
11339           updated
11340
11341 2005-06-17  Andy Wingo  <wingo@pobox.com>
11342
11343         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11344         assert; it's always possible that the pad gets deactivated in
11345         between the checks in gstpad.c and the implementation. Rely on
11346         finish_preroll() to return a FLUSHING or similar instead of on the
11347         assert.
11348         
11349         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11350         clock and post an EOS message if we come out of finish_preroll in
11351         the playing state.
11352
11353 2005-06-16  David Schleef  <ds@schleef.org>
11354
11355         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11356         (gst_capsfilter_set_property): Allow NULL as possible value
11357         for filter_caps property, indicating GST_CAPS_ANY.
11358
11359 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11360
11361         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11362           fix debug output
11363         * gst/schedulers/Makefile.am:
11364           use libgst prefix
11365         * gstreamer.spec.in:
11366           fix spec for it
11367
11368 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11369
11370         * gstreamer.spec.in:
11371           clean up
11372
11373 2005-06-08  Andy Wingo  <wingo@pobox.com>
11374
11375         * gst/gstutils.c: RPAD fixes all around.
11376         (gst_element_link_pads): Refcounting fixes.
11377
11378         * tools/gst-inspect.c:
11379         * tools/gst-xmlinspect.c:
11380         * parse/grammar.y:
11381         * gst/base/gsttypefindhelper.c:
11382         * gst/base/gstbasesink.c:
11383         * gst/gstqueue.c: RPAD fixes.
11384
11385         * gst/gstghostpad.h:
11386         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11387         pads. The tricky thing is they provide both source and sink
11388         interfaces, since they proxy the internal pad for the external
11389         pad, and vice versa. Implement with lower-level ProxyPad objects,
11390         with the interior proxy pad as a child of the exterior ghost pad.
11391         Should write a doc on this.
11392         
11393         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11394         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11395         gst_object API.
11396         
11397         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11398         pads are real pads. No ghost pads in this file. Not documenting
11399         the myriad s/RPAD/PAD/ and REALIZE fixes.
11400         (gst_pad_class_init): Add properties for "direction" and
11401         "template". Both are construct-only, so they can't change during
11402         the life of the pad. Fixes properly deriving from GstPad.
11403         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11404         derived objects, just set properties when creating the objects via
11405         g_object_new.
11406         (gst_pad_get_parent): Implement as a function, return NULL if the
11407         parent is not an element.
11408         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11409         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11410         
11411         * gst/gstobject.c (gst_object_class_init): Make name a construct
11412         property. Don't set it in the object init.
11413
11414         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11415         with UNKNOWN direction.
11416         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11417         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11418         (gst_element_remove_pad): Remove ghost-pad special cases.
11419         (gst_element_pads_activate): Remove rpad cruft.
11420
11421         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11422         catch the pad's-parent-not-an-element case.
11423
11424         * gst/gst.h: Include gstghostpad.h.
11425
11426         * gst/gst.c (init_post): No more real, ghost pads.
11427
11428         * gst/Makefile.am: Add gstghostpad.[ch].
11429
11430         * check/Makefile.am:
11431         * check/gst/gstbin.c:
11432         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11433         into a bin creates ghost pads, and that the refcounts are right.
11434         Partly moved from gstbin.c.
11435
11436 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11437
11438         * check/gst-libs/.cvsignore:
11439         * check/gst/.cvsignore:
11440         * check/pipelines/.cvsignore:
11441           ignore more
11442         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11443         (START_TEST), (cleanup_suite), (main):
11444           add some tests related to cleanup after running pipelines
11445
11446 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11447
11448         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11449           add a testsuite for GstBuffer
11450
11451 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11452
11453         * gst/gstminiobject.h:
11454           add defines for accessing the refcount
11455
11456 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11457
11458         * Makefile.am: added support for html unit test coverage reports
11459
11460 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11461
11462         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11463           Free existing caps if the capsfilter changes. Add a FIXME about
11464           setting those caps on the pads.
11465
11466         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11467           Before adding a ghost pad to a parent bin, check that there isn't
11468           already one for the element on the bin. Prevents infinite recursion
11469           when using decodebin in parse pipelines. Andy says he'll rewrite the
11470           way this works anyway, so ignore the hack.
11471
11472 2005-06-02  Andy Wingo  <wingo@pobox.com>
11473
11474         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11475         file size, pass it on to the type find helper.
11476
11477         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11478         segment_start and segment_end properly according to the seek
11479         method. Segment_end is still a bit flaky because offset can be
11480         negative for CUR and END cases, but it takes -1 as an "unset"
11481         value.
11482
11483 2005-06-02  Wim Taymans  <wim@fluendo.com>
11484
11485         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11486         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11487         (gst_basesink_activate):
11488         * gst/base/gstbasesink.h:
11489         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11490         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11491         (gst_pad_query), (gst_pad_start_task):
11492         * gst/gstpad.h:
11493         * gst/gstqueue.c: (gst_queue_bufferalloc),
11494         (gst_queue_handle_sink_event), (gst_queue_chain):
11495         Bufferalloc: return GstFlowReturn to more accuratly report
11496         why allocation failed.
11497
11498 2005-06-02  Wim Taymans  <wim@fluendo.com>
11499
11500         * gst/gstpipeline.c: (gst_pipeline_send_event):
11501         Take snapshot of state without blocking.
11502
11503 2005-06-02  Wim Taymans  <wim@fluendo.com>
11504
11505         * docs/design/part-TODO.txt:
11506         * docs/design/part-caps.txt:
11507         * docs/design/part-clocks.txt:
11508         * docs/design/part-negotiation.txt:
11509         * docs/design/part-preroll.txt:
11510         Small doc updates 
11511
11512 2005-05-30  Wim Taymans  <wim@fluendo.com>
11513
11514         * gst/elements/gstidentity.c: (gst_identity_event),
11515         (gst_identity_transform), (gst_identity_get_property):
11516         Protect last_message property as it is accessed from
11517         multiple threads.
11518
11519 2005-05-30  Wim Taymans  <wim@fluendo.com>
11520
11521         * gst/gstelement.c: (gst_element_init),
11522         (gst_element_pads_activate), (gst_element_change_state):
11523         Slicker pad activation code.
11524
11525 2005-05-30  Wim Taymans  <wim@fluendo.com>
11526
11527         * gst/Makefile.am:
11528         * gst/gstelement.h:
11529         * gst/gstelementfactory.h:
11530         * gst/gsttypes.h:
11531         Move elementfactory methods to separate .h file.
11532
11533 2005-05-30  Wim Taymans  <wim@fluendo.com>
11534
11535         * docs/design/part-overview.txt:
11536         * gst/gstsystemclock.h:
11537         Small typo fixes, doc updates.
11538
11539 2005-05-30  Wim Taymans  <wim@fluendo.com>
11540
11541         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11542         (init_popt_callback):
11543         Remove cpu-opt flag.
11544
11545 2005-05-30  Wim Taymans  <wim@fluendo.com>
11546
11547         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11548         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11549         * gst/gstbuffer.h:
11550         Avoid typechecking in places where not needed.
11551         Added accessor for malloc_data.
11552
11553 2005-05-30  Wim Taymans  <wim@fluendo.com>
11554
11555         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11556         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11557         (gst_pad_configure_sink), (gst_pad_configure_src),
11558         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11559         (gst_pad_start_task):
11560         Propagate errors from _set_caps() in configure_src/sink
11561         functions instead of returning TRUE.
11562         FLUSH events can travel up and downstream
11563
11564
11565 2005-05-30  Wim Taymans  <wim@fluendo.com>
11566
11567         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11568         (gst_basesink_activate):
11569         Handle EOS in preroll.
11570
11571 2005-05-30  Wim Taymans  <wim@fluendo.com>
11572
11573         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11574         (gst_queue_loop), (gst_queue_handle_src_event):
11575         Remove old pieces of code
11576         Flushing the queue in an upstream event is a very bad idea.
11577
11578 2005-05-26  Andy Wingo  <wingo@pobox.com>
11579
11580         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11581         gst_value_set_mini_object so as to add a ref on the object (which
11582         will be removed when the value is unset).
11583
11584         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11585         arg type in ::handoff.
11586
11587         * gst/gstelement.c (gst_element_change_state): Also deactivate
11588         pads in READY->NULL, just in case the element didn't make it to
11589         PAUSED. Wingo tested, Wim approved.
11590
11591 2005-05-26  Wim Taymans  <wim@fluendo.com>
11592
11593         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11594         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11595         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11596         A flushing pad cannot be used to alloc_buffer from.
11597
11598 2005-05-26  Wim Taymans  <wim@fluendo.com>
11599
11600         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11601         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11602         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11603         (gst_bus_create_watch), (gst_bus_add_watch_full):
11604         * gst/gstbus.h:
11605         Implement a real GSource and use g_main_context_wakeup() to
11606         signal new messages instead of the socketpair.
11607
11608 2005-05-25  Wim Taymans  <wim@fluendo.com>
11609
11610         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11611         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11612         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11613         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11614         (gst_pad_send_event), (gst_pad_start_task):
11615         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11616         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11617         (gst_queue_sink_activate), (gst_queue_src_activate),
11618         (gst_queue_change_state):
11619         * gst/gstqueue.h:
11620         Fix state changes for non sinks. We now change sinks, then elements
11621         with unconnected srcpads, then the rest.
11622         More efficient queue unlocking in flush and state changes.
11623         Set the pad activate mode even if it does not have an activate
11624         function.
11625
11626 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11627
11628         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11629           Don't go in pull mode for non-seekable sources.
11630         * gst/elements/gsttypefindelement.h:
11631         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11632         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11633         (free_entry), (stop_typefinding),
11634         (gst_type_find_element_handle_event), (find_peek),
11635         (gst_type_find_element_chain), (do_pull_typefind),
11636         (gst_type_find_element_change_state):
11637           Allow typefinding (w/o seeking) in push-mode, simplified version
11638           of what was in 0.8.
11639         * gst/gstutils.c: (gst_buffer_join):
11640         * gst/gstutils.h:
11641           gst_buffer_join() from 0.8.
11642
11643 2005-05-25  Wim Taymans  <wim@fluendo.com>
11644
11645         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11646         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11647         (gst_pad_send_event), (gst_pad_start_task):
11648         Disable attempt at mode switching until it is figured out.
11649
11650 2005-05-25  Wim Taymans  <wim@fluendo.com>
11651
11652         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11653         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11654         (gst_basesink_finish_preroll), (gst_basesink_chain),
11655         (gst_basesink_loop), (gst_basesink_activate),
11656         (gst_basesink_change_state):
11657         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11658         (gst_basesrc_get_range), (gst_basesrc_loop),
11659         (gst_basesrc_activate):
11660         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11661         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11662         (gst_real_pad_init), (gst_real_pad_set_property),
11663         (gst_real_pad_get_property), (gst_pad_set_active),
11664         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11665         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11666         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11667         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11668         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11669         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11670         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11671         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11672         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11673         (gst_pad_stop_task):
11674         * gst/gstpad.h:
11675         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11676         (gst_queue_loop), (gst_queue_src_activate):
11677         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11678         (gst_task_get_state):
11679         * gst/gsttask.h:
11680         * gst/schedulers/threadscheduler.c:
11681         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11682         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11683         in task function.
11684         Remove ACTIVE pad flag, use FLUSHING everywhere
11685         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11686         functions.
11687         Add locks around IS_FLUSHING when reading.
11688         Take STREAM lock in chain(), get_range() functions so plugins
11689         don't need to take it anymore.
11690         
11691
11692
11693 2005-05-25  Wim Taymans  <wim@fluendo.com>
11694
11695         * tools/gst-launch.c: (event_loop):
11696         Unref message after using its contents instead of
11697         before.
11698
11699 2005-05-24  Wim Taymans  <wim@fluendo.com>
11700
11701         * docs/design/draft-ghostpads.txt:
11702         * docs/design/draft-push-pull.txt:
11703         * docs/design/draft-query.txt:
11704         * docs/design/part-overview.txt:
11705         Docs updates, added general overview doc.
11706
11707 2005-05-21  David Schleef  <ds@schleef.org>
11708
11709         * docs/gst/tmpl/old/GstBin.sgml:
11710         * docs/gst/tmpl/old/GstBuffer.sgml:
11711         * docs/gst/tmpl/old/GstCaps.sgml:
11712         * docs/gst/tmpl/old/GstClock.sgml:
11713         * docs/gst/tmpl/old/GstCompat.sgml:
11714         * docs/gst/tmpl/old/GstData.sgml:
11715         * docs/gst/tmpl/old/GstElement.sgml:
11716         * docs/gst/tmpl/old/GstEvent.sgml:
11717         * docs/gst/tmpl/old/GstIndex.sgml:
11718         * docs/gst/tmpl/old/GstStructure.sgml:
11719         * docs/gst/tmpl/old/GstTag.sgml:
11720         * docs/gst/tmpl/old/cothreads.sgml:
11721         * docs/gst/tmpl/old/cothreads_compat.sgml:
11722         * docs/gst/tmpl/old/gettext.sgml:
11723         * docs/gst/tmpl/old/gobject2gtk.sgml:
11724         * docs/gst/tmpl/old/grammar.tab.sgml:
11725         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11726         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11727         * docs/gst/tmpl/old/gst_private.sgml:
11728         * docs/gst/tmpl/old/gstaggregator.sgml:
11729         * docs/gst/tmpl/old/gstarch.sgml:
11730         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11731         * docs/gst/tmpl/old/gstbufferstore.sgml:
11732         * docs/gst/tmpl/old/gstdata_private.sgml:
11733         * docs/gst/tmpl/old/gstdisksink.sgml:
11734         * docs/gst/tmpl/old/gstdisksrc.sgml:
11735         * docs/gst/tmpl/old/gstelementfactory.sgml:
11736         * docs/gst/tmpl/old/gstextratypes.sgml:
11737         * docs/gst/tmpl/old/gstfakesink.sgml:
11738         * docs/gst/tmpl/old/gstfakesrc.sgml:
11739         * docs/gst/tmpl/old/gstfdsink.sgml:
11740         * docs/gst/tmpl/old/gstfdsrc.sgml:
11741         * docs/gst/tmpl/old/gstfilesink.sgml:
11742         * docs/gst/tmpl/old/gstfilesrc.sgml:
11743         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11744         * docs/gst/tmpl/old/gstidentity.sgml:
11745         * docs/gst/tmpl/old/gstindexfactory.sgml:
11746         * docs/gst/tmpl/old/gstmarshal.sgml:
11747         * docs/gst/tmpl/old/gstmd5sink.sgml:
11748         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11749         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11750         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11751         * docs/gst/tmpl/old/gstpipefilter.sgml:
11752         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11753         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11754         * docs/gst/tmpl/old/gstshaper.sgml:
11755         * docs/gst/tmpl/old/gstspider.sgml:
11756         * docs/gst/tmpl/old/gstspideridentity.sgml:
11757         * docs/gst/tmpl/old/gststatistics.sgml:
11758         * docs/gst/tmpl/old/gsttee.sgml:
11759         * docs/gst/tmpl/old/gsttimecache.sgml:
11760         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11761         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11762         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11763         * docs/gst/tmpl/old/types.sgml:
11764           I didn't intend to add these or check them in.
11765
11766 2005-05-19  David Schleef  <ds@schleef.org>
11767
11768         * configure.ac: Use -no-common everywhere.  In a sane world, it
11769           would be the default in libtool, because without it, you can't
11770           build DLLs on Windows.
11771         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11772         * docs/gst/gstreamer-sections.txt:
11773         * docs/gst/tmpl/gstcpu.sgml:
11774         * docs/gst/tmpl/gstdata.sgml:
11775         * docs/gst/tmpl/gstthread.sgml:
11776
11777 2005-05-19  David Schleef  <ds@schleef.org>
11778
11779         * gst/gstminiobject.c: (gst_value_set_mini_object),
11780         (gst_value_take_mini_object), (gst_value_get_mini_object):
11781         * gst/gstminiobject.h: Add GValue set/get functions.
11782
11783 2005-05-19  Wim Taymans  <wim@fluendo.com>
11784
11785         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11786         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11787         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11788         * gst/gstbuffer.h:
11789         * gst/gstbus.c: (gst_bus_post):
11790         * gst/gstelement.c: (gst_element_get_random_pad):
11791         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11792         Make subbufer unref the parent in finalize.
11793         some more debugging info.
11794
11795
11796 2005-05-19  Wim Taymans  <wim@fluendo.com>
11797
11798         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11799         (gst_basesink_init), (gst_basesink_finalize),
11800         (gst_basesink_activate), (gst_basesink_change_state):
11801         Don't free preroll queue too early.
11802
11803 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11804
11805         * gst/Makefile.am:
11806         * gst/ROADMAP:
11807           Hi, I'm outdated. Please shoot me.
11808
11809 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11810
11811         * gst/gstpipeline.c: (gst_pipeline_send_event):
11812           Do not access variables after they have been deleted.
11813
11814 2005-05-19  Wim Taymans  <wim@fluendo.com>
11815
11816         * tools/gst-inspect.c: (print_plugin_features):
11817         A plugin feature does unfortunatly not use the
11818         object name yet...
11819
11820 2005-05-18  Wim Taymans  <wim@fluendo.com>
11821
11822         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11823         Port _span() functions to new subbuffers.
11824
11825 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11826
11827         * gst/gstbin.c: (gst_bin_add_func):
11828           Fix clock settery in bins when adding kids after the clock has
11829           been selected.
11830
11831 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11832
11833         * gst/elements/gstidentity.c: (gst_identity_class_init):
11834           Workaround until signals support GstMiniObject.
11835
11836 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11837
11838         * gst/gstbuffer.c:
11839         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11840
11841 2005-05-18  Wim Taymans  <wim@fluendo.com>
11842
11843         * gst/base/Makefile.am:
11844         * gst/base/gstadapter.c: (gst_adapter_base_init),
11845         (gst_adapter_class_init), (gst_adapter_init),
11846         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11847         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11848         (gst_adapter_flush), (gst_adapter_available),
11849         (gst_adapter_available_fast):
11850         * gst/base/gstadapter.h:
11851         Ported and added adapter to the base classes.
11852
11853 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11854
11855         * gst/gst.c:
11856         * gst/gstmessage.c:
11857           Make sure the class is reffed/unreffed once before threads can be
11858           used.  Fixes #304551.
11859
11860 2005-05-17  Wim Taymans  <wim@fluendo.com>
11861
11862         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11863         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11864         * gst/gstminiobject.c: (gst_mini_object_get_type),
11865         (gst_mini_object_free):
11866         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11867         (gst_pad_push), (gst_pad_push_event):
11868         * gst/gstqueue.c: (gst_queue_change_state):
11869         Don't queue buffers in basesink when we are flushing.
11870         Unref buffer when flushing in basesink.
11871         Flush queue when going to READY
11872         Unref buffer when _push() returns an error.
11873         Don't free MiniObject instance when refcount is incremented
11874         in _finalize() so that we can recover objects.
11875
11876 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11877
11878         * docs/manual/advanced-schedulers.xml:
11879         * docs/manual/appendix-checklist.xml:
11880         * docs/pwg/advanced-clock.xml:
11881         * docs/pwg/advanced-interfaces.xml:
11882         * docs/pwg/advanced-request.xml:
11883         * docs/pwg/advanced-types.xml:
11884         * docs/pwg/intro-preface.xml:
11885         * examples/plugins/example.c: (gst_example_get_type),
11886         (gst_example_class_init), (gst_example_chain),
11887         (gst_example_set_property), (gst_example_get_property),
11888         (gst_example_change_state), (plugin_init):
11889         * examples/plugins/example.h:
11890           small doc fixes
11891
11892 2005-05-17  Wim Taymans  <wim@fluendo.com>
11893
11894         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11895         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11896         * gst/gstqueue.c: (gst_queue_change_state):
11897         Clear queue when going to READY.
11898         Remove IN_SETCAPS flag too.
11899
11900 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11901
11902         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11903           Remove implicit cast from gboolean to GstElementStateReturn;
11904           make sure we still return failure in paused => ready case if
11905           the parent class fails to change state and our own stop 
11906           vfunc succeeds.
11907
11908 2005-05-17  Wim Taymans  <wim@fluendo.com>
11909
11910         * tools/gst-launch.c: (event_loop):
11911         Message was unreffed too soon.
11912
11913 2005-05-16  Andy Wingo  <wingo@pobox.com>
11914
11915         * gst/gstbin.c (sink_iterator_filter): Err... um...
11916
11917         * check/gst/gstbin.c (test_ghost_pads): New test for the
11918         ghosting-if-elements-not-in-same-bin behavior.
11919
11920 2005-05-16  David Schleef  <ds@schleef.org>
11921
11922         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11923         accessing refcount directly.
11924
11925 2005-05-15  David Schleef  <ds@schleef.org>
11926
11927         * check/Makefile.am: remove GstData checks
11928         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11929         * gst/Makefile.am: add miniobject, remove data
11930         * gst/gst.h: add miniobject, remove data
11931         * gst/gstdata.c: remove
11932         * gst/gstdata.h: remove
11933         * gst/gstdata_private.h: remove
11934         * gst/gsttypes.h: remove GstEvent and GstMessage
11935         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11936         * gst/gstmarshal.list: change BOXED -> OBJECT
11937
11938         Implement GstMiniObject.
11939         * gst/gstminiobject.c:
11940         * gst/gstminiobject.h:
11941
11942         Modify to be subclasses of GstMiniObject.
11943         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11944         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11945         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11946         (gst_subbuffer_get_type), (gst_subbuffer_init),
11947         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11948         (gst_buffer_span):
11949         * gst/gstbuffer.h:
11950         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11951         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11952         (_gst_event_copy), (gst_event_new):
11953         * gst/gstevent.h:
11954         * gst/gstmessage.c: (_gst_message_initialize),
11955         (gst_message_get_type), (gst_message_class_init),
11956         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11957         (gst_message_new), (gst_message_new_error),
11958         (gst_message_new_warning), (gst_message_new_tag),
11959         (gst_message_new_state_changed), (gst_message_new_application):
11960         * gst/gstmessage.h:
11961         * gst/gstprobe.c: (gst_probe_perform),
11962         (gst_probe_dispatcher_dispatch):
11963         * gst/gstprobe.h:
11964         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11965         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11966         (_gst_query_copy), (gst_query_new):
11967
11968         Update elements for GstData -> GstMiniObject changes
11969         * gst/gstquery.h:
11970         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11971         (gst_queue_chain), (gst_queue_loop):
11972         * gst/elements/gstbufferstore.c:
11973         (gst_buffer_store_add_buffer_func),
11974         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11975         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11976         (gst_fakesink_render):
11977         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11978         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11979         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11980         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11981         (gst_filesrc_create_read):
11982         * gst/elements/gstidentity.c: (gst_identity_class_init):
11983         * gst/elements/gsttypefindelement.c:
11984         (gst_type_find_element_src_event), (free_entry_buffers),
11985         (gst_type_find_element_handle_event):
11986         * libs/gst/dataprotocol/dataprotocol.c:
11987         (gst_dp_header_from_buffer):
11988         * libs/gst/dataprotocol/dataprotocol.h:
11989         * libs/gst/dataprotocol/dp-private.h:
11990
11991 2005-05-15  David Schleef  <ds@schleef.org>
11992
11993         * gst/elements/gstelements.c: Don't include headers that were
11994         just removed.
11995
11996 2005-05-15  David Schleef  <ds@schleef.org>
11997
11998         * gst/elements/Makefile.am: Remove some elements that don't
11999         need to be in the core (or even exist at all).
12000         * gst/elements/gstaggregator.c:
12001         * gst/elements/gstaggregator.h:
12002         * gst/elements/gstmd5sink.c:
12003         * gst/elements/gstmd5sink.h:
12004         * gst/elements/gstmultifilesrc.c:
12005         * gst/elements/gstmultifilesrc.h:
12006         * gst/elements/gstpipefilter.c:
12007         * gst/elements/gstpipefilter.h:
12008         * gst/elements/gstshaper.c:
12009         * gst/elements/gstshaper.h:
12010         * gst/elements/gststatistics.c:
12011         * gst/elements/gststatistics.h:
12012         * po/POTFILES.in: Remove above files.
12013
12014 2005-05-14  Andy Wingo  <wingo@pobox.com>
12015
12016         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12017         so as to get the refs right.
12018         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12019         unreffing objects that don't pass the filter.
12020
12021         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12022         gst_element_set_bus.
12023         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12024         normal cases, this will destroy the bus.
12025
12026         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12027         object.
12028
12029         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12030         has no sinks.
12031
12032 2005-05-13  Andy Wingo  <wingo@pobox.com>
12033
12034         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12035         gst_pad_link, call pad_link_maybe_ghosting,
12036         (pad_link_maybe_ghosting): Links pads, making sure that the
12037         elements being linked are in the same bin.
12038         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12039         Helpers for pad_link_maybe_ghosting.
12040
12041 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12042
12043         * configure.ac:
12044           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12045
12046 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12047
12048         * docs/design/part-element-source.txt:
12049           Mention GstPushSrc
12050
12051 2005-05-12  Wim Taymans  <wim@fluendo.com>
12052
12053         * gst/base/gstbasesink.c: (gst_basesink_init),
12054         (gst_basesink_activate):
12055         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12056         (gst_basesrc_is_seekable):
12057         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12058         (bin_element_is_sink), (gst_bin_change_state):
12059         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12060         * gst/gstelement.h:
12061         Identify sinks by their flag to avoid overly complicated
12062         checks (fow now).
12063         Do state changes even for elements not reachable from the
12064         sinks.
12065         BaseSink is a sink now :)
12066         Some more debugging info in the basesrc.
12067
12068
12069 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12070
12071         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12072           Implement _query on a bin, similar to _send_event.
12073
12074 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12075
12076         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12077           Discont event offset format should be GST_FORMAT_BYTES,
12078           not GST_FORMAT_TIME.
12079
12080 2005-05-12  Wim Taymans  <wim@fluendo.com>
12081
12082         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12083         Same fix as Ronald's but without the signal. 
12084
12085 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12086
12087         * gst/gstutils.c: (gst_element_query_position):
12088           No, an element is not a pad.
12089
12090 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12091
12092         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12093         (gst_bin_get_state):
12094           If a child is removed from a bin while we remove the child from
12095           the bin and while we're retrieving its state, signal this to the
12096           get_state function so we abort the wait (instead of waiting for
12097           a timeout) and can immediately re-iterate over all other elements.
12098
12099 2005-05-12  Wim Taymans  <wim@fluendo.com>
12100
12101         * gst/base/Makefile.am:
12102         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12103         (gst_basesrc_start):
12104         * gst/base/gstbasesrc.h:
12105         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12106         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12107         (gst_pushsrc_init), (gst_pushsrc_create):
12108         * gst/base/gstpushsrc.h:
12109         Added is_seekable to BaseSrc
12110         Added simple PushSrc.
12111
12112 2005-05-11  Wim Taymans  <wim@fluendo.com>
12113
12114         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12115         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12116         (gst_element_link_pads), (gst_element_query_position),
12117         (gst_element_query_convert), (intersect_caps_func),
12118         (gst_pad_query_position), (gst_pad_query_convert):
12119         Fix refcounting in utils function.
12120         No point in trying to activate a pad when it's added, it could
12121         be added from the state change function and then we deadlock, the
12122         element has to decide what to do.
12123
12124 2005-05-10  Andy Wingo  <wingo@pobox.com>
12125
12126         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12127         *all* the arguments.
12128
12129         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12130         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12131         lock (according to the docs -- if this is wrong change the docs).
12132
12133         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12134         flush messages in the NULL state.
12135
12136         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12137         message immediately and return.
12138         (gst_bus_set_flushing): New function. If a bus is flushing, it
12139         flushes out any queued messages and immediately unrefs new
12140         messages. This is so when an element goes to NULL, all of the
12141         unhandled messages coming from it can be freed, and their
12142         references to the element dropped. In other words: message source
12143         ref considered harmful :P
12144
12145         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12146         we're finished with it.
12147
12148         * gst/gstmessage.c (gst_message_new_state_changed): 
12149
12150 2005-05-10  Wim Taymans  <wim@fluendo.com>
12151
12152         * gst/gstvalue.c: (gst_value_compare_flags),
12153         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12154         (_gst_value_initialize):
12155         Added flags serialize/deserialize/compare code.
12156
12157 2005-05-09  Andy Wingo  <wingo@pobox.com>
12158
12159         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12160         Intersect the peer's caps with our caps.
12161
12162 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12163
12164         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12165         * gst/elements/gsttypefindelement.c: (find_peek):
12166           Handle negative offsets better. Fixes decodebin.
12167
12168 2005-05-09  Wim Taymans  <wim@fluendo.com>
12169
12170         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12171         (gst_base_transform_event):
12172         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12173         Implement accept_caps.
12174         Fix silly lock/unlock mismatch in base class.
12175
12176 2005-05-09  Wim Taymans  <wim@fluendo.com>
12177
12178         * docs/design/draft-push-pull.txt:
12179         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12180         * gst/elements/gstfilesink.c: (gst_filesink_init),
12181         (gst_filesink_query):
12182         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12183         (gst_type_find_handle_src_query), (find_element_get_length):
12184         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12185         * gst/gstelement.h:
12186         * gst/gstmessage.c:
12187         * gst/gstmessage.h:
12188         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12189         (gst_real_pad_get_caps_unlocked),
12190         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12191         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12192         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12193         (gst_real_pad_dispose), (gst_real_pad_finalize),
12194         (gst_pad_load_and_link), (gst_pad_save_thyself),
12195         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12196         (gst_pad_check_pull_range), (gst_pad_pull_range),
12197         (gst_pad_template_get_type), (gst_pad_template_class_init),
12198         (gst_pad_template_init), (gst_pad_template_dispose),
12199         (name_is_valid), (gst_static_pad_template_get),
12200         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12201         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12202         (gst_pad_get_element_private), (gst_pad_start_task),
12203         (gst_pad_pause_task), (gst_pad_stop_task),
12204         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12205         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12206         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12207         (gst_ghost_pad_new):
12208         * gst/gstpad.h:
12209         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12210         (gst_query_new_position), (gst_query_set_position),
12211         (gst_query_parse_position), (gst_query_new_convert),
12212         (gst_query_set_convert), (gst_query_parse_convert):
12213         * gst/gstquery.h:
12214         * gst/gstqueryutils.c:
12215         * gst/gstqueryutils.h:
12216         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12217         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12218         (gst_queue_handle_src_query):
12219         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12220         (gst_element_query_position), (gst_element_query_convert),
12221         (intersect_caps_func), (gst_pad_query_position),
12222         (gst_pad_query_convert):
12223         * gst/gstutils.h:
12224         * tools/gst-inspect.c: (print_pad_info):
12225         * tools/gst-xmlinspect.c: (print_element_info):
12226         Remove old query functions. Ported old code.
12227         Added position/convert helper functions to gstutils.
12228         Reordered gstpad.c code, grouping relevant things.
12229         Remove gst_message_new(), always need to speficy a specific
12230         message.
12231
12232
12233 2005-05-09  Andy Wingo  <wingo@pobox.com>
12234
12235         * gst/gstiterator.h: Add some includes.
12236
12237         * gst/gstqueryutils.h: Include more headers.
12238
12239         * gst/gstpad.h:
12240         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12241         some uses of gst_pad_query.
12242
12243         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12244         NULL out parameters.
12245         (gst_query_new_position): New proc, allocates a new position
12246         query.
12247
12248         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12249         gstqueryutils.c to the build.
12250
12251         * gst/gststructure.c (gst_structure_set_valist): Implement with
12252         the generic G_VALUE_COLLECT.
12253         
12254 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12255
12256         * gst/Makefile.am: (gst_headers):
12257         Added gstqueryutils.h to the list of headers to install, that was
12258         a 'nachty' move wingo :)
12259
12260 2005-05-06  Andy Wingo  <wingo@pobox.com>
12261
12262         * gst/gstquery.h
12263         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12264         GstData, init a memchunk.
12265         (standard_definitions): Add a few query types, deprecate a few.
12266         (gst_query_get_type): New proc.
12267         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12268         implementation.
12269         (gst_query_new_application, gst_query_get_structure): New public
12270         procs.
12271
12272         * docs/design/draft-query.txt: Removed LINKS from the query types,
12273         because all the rest can be dispatched to other pads -- seemed
12274         ugly to have a query that couldn't be dispatched. internal_links
12275         is fine as a pad method.
12276
12277         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12278         in gstpad.c, but maintain binary compatibility for the moment.
12279         Will fix before 0.9 is out.
12280
12281         * gst/gstqueryutils.c: 
12282         * gst/gstqueryutils.h: New files, implement 3 methods for each
12283         query type: parse_query, parse_response, and set. Probably need an
12284         allocator as well.
12285
12286         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12287
12288         * gst/elements/gstfilesink.c (gst_filesink_query2):
12289         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12290         query_types, and formats methods.
12291
12292         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12293         (gst_pad_set_query2_function): New functions.
12294         (gst_real_pad_init): Set query2_default as the default query2
12295         function. Basically just dispatches to internally linked pads.
12296
12297         Needs review!
12298         
12299         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12300         without using the atomic operations. Only one thread can possibly
12301         be accessing the data at this point. Changed so as to avoid
12302         gst_atomic operations.
12303
12304 2005-05-06  Wim Taymans  <wim@fluendo.com>
12305
12306         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12307         Also set caps if we use the fallback buffer alloc.
12308
12309 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12310
12311         * docs/gst/Makefile.am:
12312         * docs/gst/gstreamer-docs.sgml:
12313         * docs/gst/gstreamer-sections.txt:
12314         * docs/gst/tmpl/gstatomic.sgml:
12315         * docs/gst/tmpl/gstmemchunk.sgml:
12316         * testsuite/elements/struct_i386.h:
12317         * win32/GStreamer.vcproj:
12318         * win32/Makefile:
12319           Purge GstAtomic stuff from docs and win32 makefiles as well
12320
12321 2005-05-06  Wim Taymans  <wim@fluendo.com>
12322
12323         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12324         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12325         * gst/gstpad.c: (gst_pad_peer_get_caps):
12326         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12327         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12328         (gst_queue_src_activate), (gst_queue_change_state):
12329         * gst/gstqueue.h:
12330         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12331         (intersect_caps_func):
12332         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12333         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12334         Some fixes for the peer_get_caps() change.
12335
12336 2005-05-06  Wim Taymans  <wim@fluendo.com>
12337
12338         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12339         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12340         (gst_basesink_activate):
12341         Actually do something with error codes returned from the push
12342         functions.
12343
12344 2005-05-06  Wim Taymans  <wim@fluendo.com>
12345
12346         * docs/design/part-element-sink.txt:
12347         * docs/design/part-element-source.txt:
12348         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12349         (gst_basesink_event), (gst_basesink_activate):
12350         * gst/base/gstbasesink.h:
12351         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12352         (gst_basesrc_activate):
12353         * gst/base/gstbasesrc.h:
12354         * gst/gstelement.c: (gst_element_pads_activate):
12355         Some more documentation.
12356         Fixed scheduling decision in _pads_activate().
12357
12358 2005-05-05  Andy Wingo  <wingo@pobox.com>
12359
12360         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12361         the test suite.
12362
12363 2005-05-05  Wim Taymans  <wim@fluendo.com>
12364
12365         * gst/base/Makefile.am:
12366         * gst/base/gstbasesink.h:
12367         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12368         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12369         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12370         (gst_collectpads_class_init), (gst_collectpads_init),
12371         (gst_collectpads_finalize), (gst_collectpads_new),
12372         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12373         (find_pad), (gst_collectpads_remove_pad),
12374         (gst_collectpads_is_active), (gst_collectpads_collect),
12375         (gst_collectpads_collect_range), (gst_collectpads_start),
12376         (gst_collectpads_stop), (gst_collectpads_peek),
12377         (gst_collectpads_pop), (gst_collectpads_available),
12378         (gst_collectpads_read), (gst_collectpads_flush),
12379         (gst_collectpads_chain):
12380         * gst/base/gstcollectpads.h:
12381         * gst/elements/Makefile.am:
12382         * gst/elements/gstelements.c:
12383         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12384         (gst_fakesink_get_times), (gst_fakesink_event),
12385         (gst_fakesink_preroll), (gst_fakesink_render):
12386         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12387         (gst_filesink_init), (gst_filesink_set_location),
12388         (gst_filesink_open_file), (gst_filesink_close_file),
12389         (gst_filesink_pad_query), (gst_filesink_event),
12390         (gst_filesink_render), (gst_filesink_change_state):
12391         * gst/elements/gstfilesink.h:
12392         Added object to help in making collect pad based elements.
12393         Ported filesink.
12394         Make event function in sink baseclass return gboolean.
12395
12396 2005-05-05  Wim Taymans  <wim@fluendo.com>
12397
12398         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12399         (gst_bin_get_by_name):
12400         * gst/gstbuffer.h:
12401         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12402         (gst_clock_finalize):
12403         * gst/gstdata.c: (gst_data_replace):
12404         * gst/gstdata.h:
12405         * gst/gstelement.c: (gst_element_request_pad),
12406         (gst_element_pads_activate):
12407         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12408         (gst_object_unref):
12409         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12410         (gst_pad_set_checkgetrange_function),
12411         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12412         (gst_pad_check_pull_range), (gst_pad_pull_range),
12413         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12414         (gst_pad_pause_task), (gst_pad_stop_task):
12415         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12416         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12417         Fix name lookup in GstBin.
12418         Added _data_replace() function and _buffer_replace()
12419         Use finalize method to clean up clock.
12420         Fix refcounting on request pads.
12421         Fix pad schedule mode error.
12422         Some more object refcounting debug info,
12423
12424
12425 2005-05-04  Andy Wingo <wingo@pobox.com>
12426
12427         * check/Makefile.am:
12428         * docs/gst/tmpl/gstatomic.sgml:
12429         * docs/gst/tmpl/gstplugin.sgml:
12430         * gst/base/gstbasesink.c: (gst_basesink_activate):
12431         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12432         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12433         (gst_basesrc_query), (gst_basesrc_set_property),
12434         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12435         (gst_basesrc_activate):
12436         * gst/base/gstbasesrc.h:
12437         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12438         (gst_base_transform_src_activate):
12439         * gst/elements/gstelements.c:
12440         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12441         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12442         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12443         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12444         (gst_type_find_element_checkgetrange),
12445         (gst_type_find_element_activate):
12446         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12447         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12448         (gst_caps_load_thyself):
12449         * gst/gstelement.c: (gst_element_pads_activate),
12450         (gst_element_save_thyself), (gst_element_restore_thyself):
12451         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12452         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12453         * gst/gstpad.h:
12454         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12455         (gst_xml_parse_file), (gst_xml_parse_memory),
12456         (gst_xml_get_element), (gst_xml_make_element):
12457         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12458         (_file_index_id_save_xml), (gst_file_index_commit):
12459         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12460         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12461         (load_paths):
12462         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12463         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12464         * tools/gst-complete.c: (main):
12465         * tools/gst-compprep.c: (main):
12466         * tools/gst-inspect.c: (print_element_properties_info):
12467         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12468         * tools/gst-xmlinspect.c: (print_element_properties):
12469         GCC 4 fixen.
12470         
12471 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12472
12473         * gst/gstplugin.c: (gst_plugin_check_module),
12474         (gst_plugin_check_file), (gst_plugin_load_file):
12475             apply patch from #172526 to make register work on MacOSX
12476
12477 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12478
12479         * docs/gst/tmpl/gstconfig.sgml:
12480         * gst/gstconfig.h.in:
12481           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12482         * testsuite/debug/printf_extension.c: (main):
12483           Do not use GST_PTR_FORMAT on pointers to types with
12484           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12485         * testsuite/elements/property.h:
12486           use correct printf format
12487
12488 2005-05-02  Wim Taymans  <wim@fluendo.com>
12489
12490         * docs/design/draft-push-pull.txt:
12491         * docs/design/draft-query.txt:
12492         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12493         (gst_basesrc_start):
12494         Added draft for new query API.
12495         Added draft for better selecting scheduling methods.
12496         Make basesrc ignore length if the subclass does not support
12497         it.
12498
12499 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12500
12501         * gst/Makefile.am:
12502           possible fixes for automake-1.5 - _LIBADD is reserved
12503
12504 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12505
12506         * docs/faq/Makefile.am:
12507         * docs/manual/Makefile.am:
12508         * docs/manuals.mak:
12509         * docs/pwg/Makefile.am:
12510         * gst/Makefile.am:
12511           possible fixes for automake-1.5
12512
12513 2005-04-28  Wim Taymans  <wim@fluendo.com>
12514
12515         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12516         (gst_basesink_pad_getcaps), (gst_basesink_init),
12517         (gst_basesink_do_sync):
12518         * gst/gstclock.c: (gst_clock_entry_new):
12519         * gst/gstevent.c: (gst_event_discont_get_value):
12520         * gst/gstpipeline.c: (pipeline_bus_handler),
12521         (gst_pipeline_change_state):
12522         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12523         Better debugging of clocking info.
12524         Allow NULL values when getting discont values.
12525
12526 2005-04-27  Wim Taymans  <wim@fluendo.com>
12527
12528         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12529         * check/gst/gstpad.c: (gst_pad_suite):
12530         Increase timeout for checks.
12531
12532 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12533
12534         * check/Makefile.am:
12535           fix the broken rule for cleanup.  Apparently this rule is
12536           only needed on FC2, so maybe this warrants further autotool
12537           inspection.
12538
12539 2005-04-26  Wim Taymans  <wim@fluendo.com>
12540
12541         * gst/gsttrashstack.h:
12542         Ooohh. a nasty one! After having a failed pop() from the stack,
12543         it's possible that the stack is empty. In that case, don't
12544         follow the NULL pointer.
12545
12546 2005-04-25  Wim Taymans  <wim@fluendo.com>
12547
12548         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12549         (gst_pad_set_checkgetrange_function),
12550         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12551         (gst_pad_check_pull_range), (gst_pad_pull_range),
12552         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12553         (gst_pad_pause_task), (gst_pad_stop_task):
12554         * gst/gstplugin.c: (gst_plugin_load):
12555         * gst/gstplugin.h:
12556         Remove gst_library_load as it does more harm than good with
12557         the new g_module flags.
12558         Revert bogus caps template check in pad linking, pad caps
12559         are important when linking not the template, which is more
12560         general than the current caps.
12561
12562 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12563
12564         * gst/autoplug/.cvsignore:
12565         * gst/autoplug/Makefile.am:
12566         * gst/autoplug/gstsearchfuncs.c:
12567         * gst/autoplug/gstsearchfuncs.h:
12568         * gst/autoplug/gstspider.c:
12569         * gst/autoplug/gstspider.h:
12570         * gst/autoplug/gstspideridentity.c:
12571         * gst/autoplug/gstspideridentity.h:
12572         * gst/autoplug/spidertest.c:
12573           Die, spider, die.
12574
12575 2005-04-25  Wim Taymans  <wim@fluendo.com>
12576
12577         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12578         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12579         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12580         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12581         * gst/gstpad.h:
12582         Added stubs for unimplemented functions. 
12583
12584 2005-04-24  David Schleef  <ds@schleef.org>
12585
12586         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12587         please fix.
12588
12589 2005-04-24  David Schleef  <ds@schleef.org>
12590
12591         Convert everything from GstAtomicInt to g_atomic_int_*, and
12592         remove gstatomic.
12593         * gst/Makefile.am:
12594         * gst/gstatomic.c:
12595         * gst/gstatomic.h:
12596         * gst/gstatomic_impl.h:
12597         * gst/gstbuffer.c:
12598         * gst/gstcaps.c:
12599         * gst/gstcaps.h:
12600         * gst/gstclock.c:
12601         * gst/gstclock.h:
12602         * gst/gstdata.c:
12603         * gst/gstdata.h:
12604         * gst/gstdata_private.h:
12605         * gst/gstevent.c:
12606         * gst/gstinfo.c:
12607         * gst/gstinfo.h:
12608         * gst/gstmessage.c:
12609         * gst/gstobject.c:
12610         * gst/gstobject.h:
12611         * gst/gststructure.c:
12612         * gst/gststructure.h:
12613         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12614         * gst/gstutils.h:
12615
12616 2005-04-24  David Schleef  <ds@schleef.org>
12617
12618         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12619         make the regressions tests work.  Remove some code that is no
12620         longer true.
12621         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12622         Disable warning for pads without templates.
12623
12624 2005-04-24  David Schleef  <ds@schleef.org>
12625
12626         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12627         functions that handle filtered links.
12628         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12629         removed functions.
12630         * gst/gstutils.c: Fix/remove utility functions that handle
12631         filtered caps.
12632         * gst/gstutils.h:
12633         * gst/gstvalue.c: Add serialization/deserialization of caps
12634         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12635         requires fixing so that the filter caps notation creates
12636         a capsfilter element and sets the filter_caps property.  I
12637         think everyone probably wants to keep the shorthand notation.
12638         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12639         * docs/gst/tmpl/gstpad.sgml:
12640
12641         * gst/elements/gstelements.c: Register capsfilter element.
12642         * gst/Makefile.am: fix spacing
12643         * docs/random/ds/0.9-suggested-changes: random
12644
12645 2005-04-23  David Schleef  <ds@schleef.org>
12646
12647         * gst/elements/Makefile.am:
12648         * gst/elements/gstcapsfilter.c: New element that acts like an
12649         identity, but filters caps.  Will eventually replace filtered
12650         caps in pad linking.
12651         * gst/gstutils.c: (gst_element_create_all_pads): New function
12652         to create all the ALWAYS pads that are registered with an
12653         element class.  This functionality should eventually be
12654         merged in with GstElement initialization.
12655         * gst/gstutils.h:
12656         * testsuite/trigger/README: part of trigger test code that should
12657         have been checked in a long time ago.
12658
12659 2005-04-23  David Schleef  <ds@schleef.org>
12660
12661         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12662         needed with new versions of libtool (nobody will confirm this),
12663         and hard to carry around.
12664         * gst/autoplug/Makefile.am:
12665         * gst/base/Makefile.am:
12666         * gst/elements/Makefile.am:
12667         * gst/indexers/Makefile.am:
12668         * gst/schedulers/Makefile.am:
12669         * libs/gst/bytestream/Makefile.am:
12670         * libs/gst/control/Makefile.am:
12671         * libs/gst/dataprotocol/Makefile.am:
12672         * libs/gst/getbits/Makefile.am:
12673
12674 2005-04-21  Wim Taymans  <wim@fluendo.com>
12675
12676         * docs/design/draft-push-pull.txt:
12677         * docs/design/part-MT-refcounting.txt:
12678         * docs/design/part-TODO.txt:
12679         * docs/design/part-caps.txt:
12680         * docs/design/part-events.txt:
12681         * docs/design/part-gstbus.txt:
12682         * docs/design/part-gstpipeline.txt:
12683         * docs/design/part-messages.txt:
12684         * docs/design/part-push-pull.txt:
12685         * docs/design/part-query.txt:
12686         Some more docs.
12687
12688 2005-04-21  Wim Taymans  <wim@fluendo.com>
12689
12690         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12691         (gst_message_new), (gst_message_new_error),
12692         (gst_message_new_warning), (gst_message_new_tag),
12693         (gst_message_new_state_changed), (gst_message_new_application),
12694         (gst_message_get_structure):
12695         * gst/gstmessage.h:
12696         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12697         (gst_structure_copy_conditional):
12698         Use parent refcount in GstMessage to ensure GstStructure
12699         consistency.
12700         Cleaned up headers a bit.
12701         
12702
12703 2005-04-20  Wim Taymans  <wim@fluendo.com>
12704
12705         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12706         (gst_basesink_pad_getcaps), (gst_basesink_init),
12707         (gst_basesink_chain_unlocked):
12708         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12709         (gst_type_find_helper):
12710         * gst/elements/gsttypefindelement.c:
12711         (gst_type_find_element_have_type), (gst_type_find_element_init),
12712         (stop_typefinding), (gst_type_find_element_handle_event),
12713         (find_suggest), (gst_type_find_element_chain),
12714         (gst_type_find_element_checkgetrange),
12715         (gst_type_find_element_getrange), (do_typefind),
12716         (gst_type_find_element_activate):
12717         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12718         (gst_buffer_default_free), (gst_buffer_default_copy),
12719         (gst_buffer_set_caps):
12720         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12721         (gst_caps_replace):
12722         * gst/gstmessage.c: (gst_message_new),
12723         (gst_message_new_state_changed):
12724         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12725         (gst_pad_set_checkgetrange_function),
12726         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12727         (gst_pad_set_caps), (gst_pad_check_pull_range),
12728         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12729         * gst/gstpad.h:
12730         * gst/gsttypefind.c: (gst_type_find_register):
12731         Make gst_caps_replace() work like other _replace() functions.
12732         Use _caps_replace() where possible.
12733         Make sure _message_new() initialises its field.
12734         Add gst_static_pad_template_get_caps()
12735
12736
12737 2005-04-18  Andy Wingo  <wingo@pobox.com>
12738
12739         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12740         on the peer, not the pad. I think that was a typo. Pass an extra
12741         arg to see if random access is possible. Activate the pads as
12742         PULL_RANGE if possible.
12743
12744         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12745
12746         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12747         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12748         to PROP_....
12749
12750 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12751
12752         * docs/faq/using.xml:
12753           Add note on gstreamer-properties (#154996).
12754
12755 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12756
12757         * docs/random/bbb/optional-properties:
12758           Some analysis on optional properties.
12759
12760 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12761
12762         * docs/gst/tmpl/gstelementfactory.sgml:
12763         * gst/gstelement.h:
12764         * gst/gstelementfactory.c: (gst_element_factory_init),
12765         (gst_element_factory_cleanup), (gst_element_register),
12766         (__gst_element_factory_add_static_pad_template),
12767         (gst_element_factory_get_static_pad_templates),
12768         (gst_element_factory_can_src_caps),
12769         (gst_element_factory_can_sink_caps):
12770         * gst/registries/Makefile.am:
12771         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12772         (gst_xml_registry_class_init), (gst_xml_registry_init),
12773         (gst_xml_registry_new), (gst_xml_registry_set_property),
12774         (gst_xml_registry_get_property), (get_time), (make_dir),
12775         (gst_xml_registry_get_perms_func),
12776         (plugin_times_older_than_recurse), (plugin_times_older_than),
12777         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12778         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12779         (add_to_char_array), (read_string), (read_uint), (read_enum),
12780         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12781         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12782         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12783         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12784         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12785         (gst_xml_registry_rebuild):
12786         * gst/registries/gstlibxmlregistry.h:
12787         * tools/gst-compprep.c: (main):
12788         * tools/gst-inspect.c: (print_pad_templates_info):
12789         * tools/gst-xmlinspect.c: (print_element_info):
12790           Use libxml2 for registry parsing, use staticpadtemplates in
12791           elementfactories. Makes gst_init() +/- 10x faster.
12792
12793 2005-04-12  Wim Taymans  <wim@fluendo.com>
12794
12795         * gst/base/Makefile.am:
12796         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12797         (gst_basesink_pad_getcaps), (gst_basesink_init),
12798         (gst_basesink_event), (gst_basesink_change_state):
12799         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12800         (gst_basesrc_init), (gst_basesrc_query),
12801         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12802         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12803         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12804         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12805         (gst_basesrc_stop), (gst_basesrc_activate),
12806         (gst_basesrc_change_state):
12807         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12808         (helper_find_suggest), (gst_type_find_helper):
12809         * gst/base/gsttypefindhelper.h:
12810         * gst/elements/Makefile.am:
12811         * gst/elements/gstelements.c:
12812         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12813         (gst_fakesink_get_times), (gst_fakesink_event),
12814         (gst_fakesink_preroll), (gst_fakesink_render):
12815         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12816         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12817         (gst_fakesrc_get_property), (gst_fakesrc_create),
12818         (gst_fakesrc_start), (gst_fakesrc_stop):
12819         * gst/elements/gstfakesrc.h:
12820         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12821         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12822         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12823         (gst_filesrc_create_read), (gst_filesrc_create),
12824         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12825         (gst_filesrc_start):
12826         * gst/elements/gsttypefindelement.c:
12827         (gst_type_find_element_have_type), (gst_type_find_element_init),
12828         (start_typefinding), (stop_typefinding), (push_buffer_store),
12829         (gst_type_find_element_handle_event),
12830         (gst_type_find_element_chain),
12831         (gst_type_find_element_checkgetrange),
12832         (gst_type_find_element_getrange), (do_typefind),
12833         (gst_type_find_element_activate),
12834         (gst_type_find_element_change_state):
12835         * gst/elements/gsttypefindelement.h:
12836         * gst/gstpipeline.c: (pipeline_bus_handler):
12837         Added typefind helper.
12838         Small preroll fix in the base sink.
12839         Disable typefind code in basesrc.
12840         Crude port of typefindelement.
12841         Fakesrc cleanups.
12842
12843
12844 2005-04-11  Wim Taymans  <wim@fluendo.com>
12845
12846         * check/gst/gstbus.c: (gstbus_suite):
12847         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12848         * check/gstcheck.h:
12849           Fix up the timeout so that the test does not fail.
12850
12851 2005-04-06  Wim Taymans  <wim@fluendo.com>
12852
12853         * gst/base/README:
12854         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12855         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12856         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12857         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12858         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12859         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12860         (gst_basesrc_stop), (gst_basesrc_activate),
12861         (gst_basesrc_change_state), (basesrc_find_peek),
12862         (basesrc_find_suggest), (gst_basesrc_type_find):
12863         * gst/base/gstbasesrc.h:
12864         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12865         (gst_filesrc_class_init), (gst_filesrc_init),
12866         (gst_filesrc_finalize), (gst_filesrc_set_location),
12867         (gst_filesrc_set_property), (gst_filesrc_get_property),
12868         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12869         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12870         (gst_filesrc_create_read), (gst_filesrc_create),
12871         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12872         * gst/elements/gstfilesrc.h:
12873         * gst/gstelement.c: (gst_element_get_state_func),
12874         (gst_element_lost_state), (gst_element_pads_activate):
12875         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12876         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12877         (gst_pad_pull_range):
12878         * gst/gstpad.h:
12879         More work on the generic source base class, implement seeking,
12880         query.
12881         Make filesrc extend the base source class.
12882         Added gst_pad_set_checkgetrange_function to GstPad.
12883
12884 2005-04-06  Andy Wingo  <wingo@pobox.com>
12885
12886         * pkgconfig/gstreamer-base.pc.in:
12887         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12888
12889         * pkgconfig/Makefile.am:
12890         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12891
12892 2005-04-04  Wim Taymans  <wim@fluendo.com>
12893
12894         * gst/base/Makefile.am:
12895         * gst/base/README:
12896         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12897         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12898         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12899         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12900         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12901         (gst_basesrc_base_init), (gst_basesrc_class_init),
12902         (gst_basesrc_init), (gst_basesrc_get_formats),
12903         (gst_basesrc_get_query_types), (gst_basesrc_query),
12904         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12905         (gst_basesrc_set_property), (gst_basesrc_get_property),
12906         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12907         (gst_basesrc_loop), (gst_basesrc_activate),
12908         (gst_basesrc_change_state):
12909         * gst/base/gstbasesrc.h:
12910         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12911         (gst_fakesrc_class_init), (gst_fakesrc_init),
12912         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12913         (gst_fakesrc_get_property), (gst_fakesrc_create):
12914         * gst/elements/gstfakesrc.h:
12915         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12916         (gst_filesrc_open_file), (gst_filesrc_loop),
12917         (gst_filesrc_activate), (filesrc_find_peek),
12918         (gst_filesrc_type_find):
12919         Made base source class, make fakesrc extend it.
12920         Add comments to basesink class.
12921         Some filesrc cleanup.
12922
12923 2005-03-31  David Schleef  <ds@schleef.org>
12924
12925         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12926         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12927         expected to link against libgstreamer.
12928         * gst/base/Makefile.am: link against libgstreamer
12929         * gst/elements/Makefile.am: same
12930
12931 2005-03-31  Andy Wingo  <wingo@pobox.com>
12932
12933         * tests/instantiate/Makefile.am:
12934         * tests/instantiate/caps.c: Add test to test speed of caps copy
12935         and free.
12936
12937         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12938         GMemChunk to be fair.
12939
12940         * gst/gsttrashstack.h: Remove warning about using the fallback
12941         trash stack implementation, it's still faster than malloc.
12942
12943 2005-03-30  Andy Wingo  <wingo@pobox.com>
12944
12945         * tests/complexity.c: Add a copyright.
12946
12947 2005-03-31  Wim Taymans  <wim@fluendo.com>
12948
12949         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12950         (gst_base_transform_class_init), (gst_base_transform_init),
12951         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12952         (gst_base_transform_get_property),
12953         (gst_base_transform_sink_activate),
12954         (gst_base_transform_src_activate),
12955         (gst_base_transform_change_state):
12956         * gst/base/gstbasetransform.h:
12957         * gst/elements/gstidentity.c: (gst_identity_class_init),
12958         (gst_identity_event), (gst_identity_check_perfect),
12959         (gst_identity_transform), (gst_identity_start),
12960         (gst_identity_stop):
12961         Added start/stop methods to transform base class so subclasses 
12962         don't need to deal with state changes even.
12963
12964 2005-03-31  Wim Taymans  <wim@fluendo.com>
12965
12966         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12967         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12968         * gst/gstevent.h:
12969         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12970         (gst_pad_pull_range):
12971         Added rate to the discont event to prepare for variable speed
12972         and reverse playback.
12973
12974 2005-03-29  David Schleef  <ds@schleef.org>
12975
12976         * configure.ac:
12977         * testsuite/trigger/Makefile.am:
12978         * testsuite/trigger/trigger.c: A little example program to show
12979         how trigger-based elements can work.
12980
12981 2005-03-29  Wim Taymans  <wim@fluendo.com>
12982
12983         * gst/base/Makefile.am:
12984         * gst/base/README:
12985         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12986         (gst_basesink_base_init), (gst_basesink_class_init),
12987         (gst_basesink_pad_getcaps), (gst_basesink_init),
12988         (gst_basesink_activate), (gst_basesink_change_state):
12989         * gst/base/gstbasesink.h:
12990         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12991         (gst_base_transform_base_init), (gst_base_transform_finalize),
12992         (gst_base_transform_class_init), (gst_base_transform_init),
12993         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12994         (gst_base_transform_event), (gst_base_transform_getrange),
12995         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12996         (gst_base_transform_set_property),
12997         (gst_base_transform_get_property),
12998         (gst_base_transform_sink_activate),
12999         (gst_base_transform_src_activate),
13000         (gst_base_transform_change_state):
13001         * gst/base/gstbasetransform.h:
13002         * gst/elements/gstidentity.c: (gst_identity_finalize),
13003         (gst_identity_class_init), (gst_identity_init),
13004         (gst_identity_event), (gst_identity_check_perfect),
13005         (gst_identity_transform), (gst_identity_set_property),
13006         (gst_identity_get_property), (gst_identity_change_state):
13007         * gst/elements/gstidentity.h:
13008         * gst/gstelement.c: (gst_element_get_state_func),
13009         (gst_element_lost_state), (gst_element_pads_activate):
13010         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13011         (gst_pad_check_pull_range), (gst_pad_pull_range):
13012         * gst/gstpad.h:
13013         Simplify pad activation.
13014         Added function to check if pull_range can be performed.
13015         Error out when pulling inactive or flushing pads.
13016         Removed const from refcounted types as it does not make sense.
13017         Simplify pad templates in basesink
13018         Added base class for simple 1-to-1 transforms.
13019         Make identity subclass the base transform.
13020
13021 2005-03-29  Andy Wingo  <wingo@pobox.com>
13022
13023         * docs/libs/gstreamer-libs-overrides.txt: 
13024         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13025         really don't understand what's going on, but like whatever. I want
13026         green buildbot!
13027
13028         * docs/gst/Makefile.am:
13029         * docs/libs/Makefile.am: Dist the overrides files.
13030
13031         * check/Makefile.am (clean-local): Remove .libs directories.
13032
13033         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13034         elements to EXTRA_DIST, so po/ files are happy.
13035
13036         * po/POTFILES.in: Er, remove it here.
13037
13038         * po/POTFILES: Remove gstspider.c.
13039
13040         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13041
13042         * docs/libs/gstreamer-libs-docs.sgml: 
13043         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13044         bytestream.
13045
13046         * tests/complexity.c (main): Set the length of the preroll queue
13047         on the sinks to prevent a lockup.
13048
13049         * libs/gst/dataprotocol/Makefile.am: 
13050         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13051         the same as the one in check/gst-libs/gdp.c.
13052
13053         * po/, docs/gst/: Commit automatic changes to docs and po files.
13054
13055         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13056         the versioned libgstbase.
13057
13058         * check/Makefile.am: Depend on an unversioned gst-register, seems
13059         to make autoconf happier.
13060
13061         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13062
13063 2005-03-28  Wim Taymans  <wim@fluendo.com>
13064
13065         * configure.ac:
13066         * docs/design/part-gstelement.txt:
13067         * docs/design/part-negotiation.txt:
13068         * docs/design/part-preroll.txt:
13069         * docs/design/part-scheduling.txt:
13070         * docs/design/part-states.txt:
13071         * gst/Makefile.am:
13072         * gst/base/Makefile.am:
13073         * gst/base/README:
13074         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13075         (gst_basesink_base_init), (gst_basesink_class_init),
13076         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13077         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13078         (gst_basesink_set_pad_functions),
13079         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13080         (gst_basesink_set_property), (gst_basesink_get_property),
13081         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13082         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13083         (gst_basesink_preroll_queue_push),
13084         (gst_basesink_preroll_queue_empty),
13085         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13086         (gst_basesink_event), (gst_basesink_get_times),
13087         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13088         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13089         (gst_basesink_loop), (gst_basesink_activate),
13090         (gst_basesink_change_state):
13091         * gst/base/gstbasesink.h:
13092         * gst/elements/Makefile.am:
13093         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13094         (gst_fakesink_class_init), (gst_fakesink_init),
13095         (gst_fakesink_set_property), (gst_fakesink_get_property),
13096         (gst_fakesink_get_times), (gst_fakesink_event),
13097         (gst_fakesink_preroll), (gst_fakesink_render),
13098         (gst_fakesink_change_state):
13099         * gst/elements/gstfakesink.h:
13100         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13101         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13102         * gst/gstelement.c: (gst_element_add_pad),
13103         (gst_element_get_state_func), (gst_element_abort_state),
13104         (gst_element_commit_state), (gst_element_lost_state),
13105         (gst_element_set_state), (gst_element_pads_activate):
13106         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13107         * gst/gstpipeline.c: (gst_pipeline_send_event),
13108         (gst_pipeline_change_state):
13109         Added state change code.
13110         Added/updated docs.
13111         Added sink base class, make fakesink extend the base class.
13112         Small cleanups in GstPipeline.
13113
13114 2005-03-26  David Schleef  <ds@schleef.org>
13115
13116         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13117         is broken and should be implemented in a different library.
13118         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13119         * gst/gst.h: remove gstcpu.h
13120         * gst/gstcpu.c: remove
13121         * gst/gstcpu.h: remove
13122         * gst/Makefile.am.future: Remove this file.  It's ancient.
13123
13124 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13125
13126         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13127         (gst_bin_send_event):
13128           Add default event/set_manager handlers. The set_manager handler
13129           takes care that the manager is distributed over kids that were
13130           already in the bin before the manager was set. The event handler
13131           is a utility virtual function that sends the event over all sinks,
13132           so that gst_element_send_event (bin, event); has the expected
13133           behaviour.
13134         * gst/gstpad.c: (gst_pad_event_default):
13135           Re-install default event handling for discontinuities, so that
13136           seeking works without requiring hacks in applications or extra
13137           code in sinks.
13138         * gst/gstpipeline.c: (gst_pipeline_class_init),
13139         (gst_pipeline_send_event):
13140           Half hack, half utility: set a pipeline to PAUSED for seek events,
13141           since that is the only way we can guarantee a/v sync. Means that
13142           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13143           and it "just works".
13144
13145 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13146
13147         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13148           Lock/unlock mismatch.
13149
13150 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13151
13152         * docs/faq/gst-uninstalled:
13153           add gst-plugins-base
13154         * docs/gst/Makefile.am:
13155           don't error out until docs are fixed
13156         * docs/gst/gstreamer.types:
13157           remove thread
13158
13159 2005-03-22  Wim Taymans  <wim@fluendo.com>
13160
13161         * check/Makefile.am:
13162         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13163         * gst/gststructure.c: (gst_structure_set_valist),
13164         (gst_structure_copy_conditional):
13165         Activated more tests.
13166         Added message test.
13167         Added G_TYPE_POINTER to GstStructure.
13168         
13169
13170 2005-03-22  Wim Taymans  <wim@fluendo.com>
13171
13172         * docs/design/part-TODO.txt:
13173         * docs/design/part-events.txt:
13174         * docs/design/part-gstbin.txt:
13175         * docs/design/part-gstbus.txt:
13176         * docs/design/part-gstpipeline.txt:
13177         * docs/design/part-messages.txt:
13178         * gst/gstbus.c:
13179         * gst/gstmessage.c:
13180         Docs updates
13181
13182 2005-03-21  Wim Taymans  <wim@fluendo.com>
13183
13184         * gst/gstbus.c: (gst_bus_post):
13185         Fix copy-and-paste error.
13186
13187 2005-03-21  Wim Taymans  <wim@fluendo.com>
13188
13189         * check/Makefile.am:
13190         * gst/Makefile.am:
13191         * gst/elements/Makefile.am:
13192         * gst/elements/gstelements.c:
13193         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13194         (gst_fakesink_event), (gst_fakesink_chain):
13195         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13196         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13197         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13198         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13199         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13200         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13201         (gst_fakesrc_loop), (gst_fakesrc_activate),
13202         (gst_fakesrc_change_state):
13203         * gst/elements/gstfakesrc.h:
13204         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13205         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13206         (gst_filesrc_open_file), (gst_filesrc_loop),
13207         (gst_filesrc_activate), (gst_filesrc_change_state),
13208         (filesrc_find_peek), (filesrc_find_suggest),
13209         (gst_filesrc_type_find):
13210         * gst/elements/gstidentity.c: (gst_identity_finalize),
13211         (gst_identity_class_init), (gst_identity_init),
13212         (gst_identity_proxy_getcaps), (identity_queue_push),
13213         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13214         (gst_identity_getrange), (gst_identity_chain),
13215         (gst_identity_sink_loop), (gst_identity_src_loop),
13216         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13217         (gst_identity_set_property), (gst_identity_get_property),
13218         (gst_identity_change_state):
13219         * gst/elements/gstidentity.h:
13220         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13221         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13222         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13223         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13224         (gst_tee_sink_activate):
13225         * gst/elements/gsttee.h:
13226         * gst/gst.c: (gst_register_core_elements), (init_post):
13227         * gst/gst.h:
13228         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13229         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13230         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13231         (gst_bin_change_state):
13232         * gst/gstbin.h:
13233         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13234         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13235         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13236         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13237         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13238         (bus_watch_callback), (bus_watch_destroy),
13239         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13240         (poll_timeout), (gst_bus_poll):
13241         * gst/gstbus.h:
13242         * gst/gstcaps.h:
13243         * gst/gstdata.h:
13244         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13245         (gst_element_post_message), (gst_element_message_full),
13246         (gst_element_get_state_func), (gst_element_get_state),
13247         (gst_element_abort_state), (gst_element_commit_state),
13248         (gst_element_lost_state), (gst_element_set_state),
13249         (gst_element_pads_activate), (gst_element_change_state),
13250         (gst_element_dispose), (gst_element_set_manager_func),
13251         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13252         (gst_element_set_manager), (gst_element_get_manager),
13253         (gst_element_set_bus), (gst_element_get_bus),
13254         (gst_element_set_scheduler), (gst_element_get_scheduler):
13255         * gst/gstelement.h:
13256         * gst/gstevent.c: (gst_event_new_segment_seek),
13257         (gst_event_new_flush):
13258         * gst/gstevent.h:
13259         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13260         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13261         (gst_message_new_eos), (gst_message_new_error),
13262         (gst_message_new_warning), (gst_message_new_tag),
13263         (gst_message_new_state_changed), (gst_message_new_application),
13264         (gst_message_get_structure), (gst_message_parse_tag),
13265         (gst_message_parse_state_changed), (gst_message_parse_error),
13266         (gst_message_parse_warning):
13267         * gst/gstmessage.h:
13268         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13269         (gst_real_pad_set_property), (gst_pad_set_active),
13270         (gst_pad_is_active), (gst_pad_set_blocked_async),
13271         (gst_pad_set_blocked), (gst_pad_is_blocked),
13272         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13273         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13274         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13275         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13276         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13277         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13278         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13279         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13280         (gst_pad_set_caps), (gst_pad_configure_sink),
13281         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13282         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13283         (gst_real_pad_dispose), (gst_real_pad_finalize),
13284         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13285         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13286         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13287         * gst/gstpad.h:
13288         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13289         (pipeline_bus_handler), (gst_pipeline_change_state),
13290         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13291         * gst/gstpipeline.h:
13292         * gst/gstprobe.h:
13293         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13294         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13295         (gst_queue_link_src), (gst_queue_bufferalloc),
13296         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13297         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13298         (gst_queue_loop), (gst_queue_handle_src_event),
13299         (gst_queue_handle_src_query), (gst_queue_src_activate),
13300         (gst_queue_change_state):
13301         * gst/gstqueue.h:
13302         * gst/gstscheduler.c: (gst_scheduler_init),
13303         (gst_scheduler_dispose), (gst_scheduler_create_task),
13304         (gst_scheduler_factory_create):
13305         * gst/gstscheduler.h:
13306         * gst/gststructure.c: (gst_structure_get_type),
13307         (gst_structure_copy_conditional):
13308         * gst/gststructure.h:
13309         * gst/gsttaginterface.h:
13310         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13311         (gst_task_init), (gst_task_dispose), (gst_task_create),
13312         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13313         (gst_task_pause):
13314         * gst/gsttask.h:
13315         * gst/gstthread.c:
13316         * gst/gstthread.h:
13317         * gst/gsttypes.h:
13318         * gst/schedulers/Makefile.am:
13319         * gst/schedulers/cothreads_compat.h:
13320         * gst/schedulers/entryscheduler.c:
13321         * gst/schedulers/faircothreads.c:
13322         * gst/schedulers/faircothreads.h:
13323         * gst/schedulers/fairscheduler.c:
13324         * gst/schedulers/gstbasicscheduler.c:
13325         * gst/schedulers/gstoptimalscheduler.c:
13326         * gst/schedulers/gthread-cothreads.h:
13327         * gst/schedulers/threadscheduler.c:
13328         (gst_thread_scheduler_task_get_type),
13329         (gst_thread_scheduler_task_class_init),
13330         (gst_thread_scheduler_task_init),
13331         (gst_thread_scheduler_task_start),
13332         (gst_thread_scheduler_task_stop),
13333         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13334         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13335         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13336         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13337         (plugin_init):
13338         * libs/gst/Makefile.am:
13339         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13340         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13341         (gst_file_pad_parent_set):
13342         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13343         (gst_dp_event_from_packet):
13344         * tests/complexity.c: (main):
13345         * tests/mass_elements.c: (main):
13346         * testsuite/states/locked.c: (message_received), (main):
13347         * testsuite/states/parent.c: (main):
13348         * tools/gst-inspect.c: (print_element_flag_info),
13349         (print_implementation_info), (print_pad_info):
13350         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13351         (main):
13352         * tools/gst-md5sum.c: (event_loop), (main):
13353         * tools/gst-typefind.c: (main):
13354         * tools/gst-xmlinspect.c: (print_element_info):
13355         Next big merge.
13356         Added GstBus for mainloop integration.
13357         Added GstMessage for sending notifications on the bus.
13358         Added GstTask as an abstraction for pipeline entry points.
13359         Removed GstThread.
13360         Removed Schedulers.
13361         Simplified GstQueue for multithreaded core.
13362         Made _link threadsafe, removed old capsnego.
13363         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13364         Added pad blocking functions.
13365         Reworked scheduling functions in GstPad to prepare for
13366         scheduling updates soon.
13367         Moved events out of data stream.
13368         Simplified GstEvent types.
13369         Added return values to push/pull.
13370         Removed clocking from GstElement.
13371         Added prototypes for state change function for next merge.
13372         Removed iterate from bins and state change management.
13373         Fixed some elements, disabled others for now.
13374         Fixed -inspect and -launch.
13375         Added check for GstBus.
13376
13377 2005-03-10  Wim Taymans  <wim@fluendo.com>
13378
13379         * docs/design/part-MT-refcounting.txt:
13380         * docs/design/part-clocks.txt:
13381         * docs/design/part-gstelement.txt:
13382         * docs/design/part-gstobject.txt:
13383         * docs/design/part-standards.txt:
13384         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13385         (gst_bin_remove_func), (gst_bin_remove):
13386         * gst/gstbin.h:
13387         * gst/gstbuffer.c:
13388         * gst/gstcaps.h:
13389         * testsuite/clock/clock1.c: (main):
13390         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13391         (main):
13392         * testsuite/dlopen/loadgst.c: (do_test):
13393         * testsuite/refcounting/bin.c: (add_remove_test1),
13394         (add_remove_test2), (main):
13395         * testsuite/refcounting/element.c: (main):
13396         * testsuite/refcounting/element_pad.c: (main):
13397         * testsuite/refcounting/pad.c: (main):
13398         * tools/gst-launch.c: (sigint_handler_sighandler):
13399         * tools/gst-typefind.c: (main):
13400         Doc updates.
13401         Added doc about clock.
13402         removed gst_bin_iterate_recurse_up(), marked methods
13403         for removal.
13404         Fix more testsuites.
13405
13406 2005-03-09  Wim Taymans  <wim@fluendo.com>
13407
13408         * gst/gstpad.c: (gst_pad_get_direction),
13409         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13410         (gst_pad_collect_valist):
13411         * testsuite/bins/interface.c: (main):
13412         * testsuite/caps/audioscale.c: (test_caps):
13413         * testsuite/caps/caps.c: (test1), (test2), (test3):
13414         * testsuite/caps/deserialize.c: (main):
13415         * testsuite/caps/enumcaps.c: (main):
13416         * testsuite/caps/filtercaps.c: (main):
13417         * testsuite/caps/intersect2.c: (main):
13418         * testsuite/caps/random.c: (main):
13419         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13420         * testsuite/caps/sets.c: (check_caps):
13421         * testsuite/caps/simplify.c: (check_caps), (main):
13422         * testsuite/caps/subtract.c: (check_caps):
13423         Fix _pad_get_direction wrt ghostpads.
13424         Fix caps testsuite.
13425
13426 2005-03-09  Wim Taymans  <wim@fluendo.com>
13427
13428         * check/Makefile.am:
13429         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13430         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13431         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13432         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13433         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13434         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13435         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13436         (bin_element_is_sink), (gst_bin_iterate_sinks),
13437         (gst_bin_iterate_all_by_interface):
13438         * gst/gstbin.h:
13439         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13440         (gst_element_change_state), (gst_element_dispose),
13441         (gst_element_finalize), (gst_element_set_loop_function):
13442         * gst/gstelement.h:
13443         * gst/gstiterator.c: (find_custom_fold_func):
13444         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13445         (gst_pad_collectv), (gst_pad_collect_valist),
13446         (gst_pad_template_new):
13447         * gst/gstpipeline.c: (gst_pipeline_class_init),
13448         (gst_pipeline_dispose), (gst_pipeline_set_property),
13449         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13450         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13451         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13452         * gst/gstutils.h:
13453         * gst/schedulers/entryscheduler.c:
13454         * gst/schedulers/gstbasicscheduler.c:
13455         (gst_basic_scheduler_cothreaded_chain),
13456         (gst_basic_scheduler_chain_add_element):
13457         * testsuite/bins/interface.c: (main):
13458         Added GstBin test.
13459         Added GstSystemClock test.
13460         Implemented clock distribution code in GstBin.
13461         Implemented iterate sinks method for future use.
13462         Rearranged gstelement.h
13463         Fix GstIterator comparison bug.
13464         Moved some code to GstPipeline, mostly clocking related.
13465
13466 2005-03-09  Wim Taymans  <wim@fluendo.com>
13467
13468         * configure.ac:
13469         * gst/gst_private.h:
13470         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13471         (gst_bin_remove_func), (gst_bin_remove),
13472         (gst_bin_get_by_name_recurse_up):
13473         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13474         (gst_clock_id_compare_func), (gst_clock_id_wait),
13475         (gst_clock_id_wait_async), (gst_clock_init),
13476         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13477         * gst/gstelement.h:
13478         * gst/gstinfo.c: (_gst_debug_init):
13479         * gst/gstobject.h:
13480         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13481         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13482         * gst/gstpad.h:
13483         Bump version number, we're now 0.9.0
13484         Add future debugging category.
13485         Fix NULL _unref() in _get_by_name_recurse_up
13486         Rearrange gstpad.h.
13487         Update some docs.
13488
13489 2005-03-08  Wim Taymans  <wim@fluendo.com>
13490
13491         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13492         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13493         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13494         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13495         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13496         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13497         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13498         * gst/elements/gstidentity.c: (gst_identity_class_init):
13499         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13500         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13501         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13502         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13503         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13504         (gst_tee_link):
13505         * gst/gstelement.c: (gst_element_class_init),
13506         (gst_element_base_class_init), (gst_element_init),
13507         (gst_element_get_random_pad), (gst_element_wait_state_change),
13508         (gst_element_change_state), (gst_element_dispose),
13509         (gst_element_finalize), (gst_element_set_loop_function):
13510         * gst/gstelement.h:
13511         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13512         * gst/gstthread.c: (gst_thread_class_init),
13513         (gst_thread_release_children_locks), (gst_thread_change_state):
13514         * gst/schedulers/gstbasicscheduler.c:
13515         (gst_basic_scheduler_loopfunc_wrapper),
13516         (gst_basic_scheduler_chain_wrapper),
13517         (gst_basic_scheduler_src_wrapper),
13518         (gst_basic_scheduler_remove_element):
13519         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13520         Remove threadsafe properties. Fix elements because GObject
13521         complains when installing a property before declaring a
13522         set/get_property handler.
13523         Rearrange gstelement.h file, use STATE macros for state locks.
13524         Free mutexes in the finalize method instead of dispose.
13525
13526 2005-03-08  Wim Taymans  <wim@fluendo.com>
13527
13528         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13529         * gst/gstthread.c: (gst_thread_release_children_locks):
13530         Added parentage check.
13531         Fix build og GstThread again.
13532
13533 2005-03-08  Wim Taymans  <wim@fluendo.com>
13534
13535         * docs/design/part-MT-refcounting.txt:
13536         * docs/design/part-conventions.txt:
13537         * docs/design/part-gstobject.txt:
13538         * docs/design/part-relations.txt:
13539         * docs/design/part-standards.txt:
13540         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13541         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13542         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13543         (gst_bin_iterate_all_by_interface):
13544         * gst/gstbuffer.h:
13545         * gst/gstclock.h:
13546         * gst/gstelement.c: (gst_element_class_init),
13547         (gst_element_change_state), (gst_element_set_loop_function):
13548         * gst/gstelement.h:
13549         * gst/gstiterator.c:
13550         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13551         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13552         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13553         (gst_object_set_parent), (gst_object_unparent),
13554         (gst_object_check_uniqueness):
13555         * gst/gstobject.h:
13556         Docs updates, clean up some headers.
13557
13558 2005-03-07  Wim Taymans  <wim@fluendo.com>
13559
13560         * check/.cvsignore:
13561         * check/Makefile.am:
13562         * check/gst-libs/.cvsignore:
13563         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13564         * check/gst/.cvsignore:
13565         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13566         (START_TEST), (gstbus_suite), (main):
13567         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13568         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13569         (gst_data_suite), (main):
13570         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13571         (add_fold_func), (gstiterator_suite), (main):
13572         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13573         (thread_name_object), (thread_name_object_default),
13574         (gst_object_name_compare), (gst_object_suite), (main):
13575         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13576         (gst_pad_suite), (main):
13577         * check/gstcheck.c: (gst_check_log_message_func),
13578         (gst_check_log_critical_func), (gst_check_init):
13579         * check/gstcheck.h:
13580         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13581         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13582         Added checks.
13583
13584 2005-03-07  Wim Taymans  <wim@fluendo.com>
13585
13586         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13587         (gst_list_iterator_next), (gst_list_iterator_resync),
13588         (gst_list_iterator_free), (gst_iterator_new_list),
13589         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13590         (gst_iterator_free), (gst_iterator_push), (filter_next),
13591         (filter_resync), (filter_uninit), (filter_free),
13592         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13593         (gst_iterator_foreach), (find_custom_fold_func),
13594         (gst_iterator_find_custom):
13595         * gst/gstiterator.h:
13596         Added missing files.
13597
13598 2005-03-07  Wim Taymans  <wim@fluendo.com>
13599
13600         * Makefile.am:
13601         * configure.ac:
13602         * docs/design/part-MT-refcounting.txt:
13603         * docs/design/part-conventions.txt:
13604         * docs/design/part-gstobject.txt:
13605         * docs/design/part-relations.txt:
13606         * examples/mixer/mixer.c: (main):
13607         * examples/thread/thread.c: (eos), (main):
13608         * gst/Makefile.am:
13609         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13610         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13611         (gst_spider_plug_from_srcpad):
13612         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13613         (gst_spider_identity_change_state),
13614         (gst_spider_identity_sink_loop_type_finding):
13615         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13616         * gst/elements/gstidentity.c: (gst_identity_init):
13617         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13618         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13619         * gst/elements/gsttypefindelement.c: (free_entry):
13620         * gst/gst.c:
13621         * gst/gst.h:
13622         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13623         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13624         (gst_bin_set_index), (gst_bin_set_element_sched),
13625         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13626         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13627         (gst_bin_iterate_elements), (iterate_child_recurse),
13628         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13629         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13630         (compare_interface), (gst_bin_get_by_interface),
13631         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13632         * gst/gstbin.h:
13633         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13634         (gst_buffer_default_free), (gst_buffer_default_copy),
13635         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13636         (gst_buffer_create_sub):
13637         * gst/gstbuffer.h:
13638         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13639         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13640         (gst_caps_unref), (gst_static_caps_get),
13641         (gst_caps_remove_and_get_structure), (gst_caps_append),
13642         (gst_caps_append_structure), (gst_caps_remove_structure),
13643         (gst_caps_copy_nth), (gst_caps_set_simple),
13644         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13645         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13646         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13647         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13648         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13649         (gst_caps_structure_figure_out_union),
13650         (gst_caps_switch_structures), (gst_caps_do_simplify),
13651         (gst_caps_replace), (gst_caps_from_string),
13652         (gst_caps_copy_conditional):
13653         * gst/gstcaps.h:
13654         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13655         (_gst_clock_id_free), (gst_clock_id_unref),
13656         (gst_clock_id_compare_func), (gst_clock_id_wait),
13657         (gst_clock_id_wait_async), (gst_clock_class_init),
13658         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13659         (gst_clock_get_time), (gst_clock_set_time_adjust),
13660         (gst_clock_set_property), (gst_clock_get_property):
13661         * gst/gstclock.h:
13662         * gst/gstcompat.h:
13663         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13664         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13665         * gst/gstdata.h:
13666         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13667         (gst_element_requires_clock), (gst_element_provides_clock),
13668         (gst_element_set_clock), (gst_element_clock_wait),
13669         (gst_element_wait), (gst_element_set_time_delay),
13670         (gst_element_is_indexable), (gst_element_add_pad),
13671         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13672         (pad_compare_name), (gst_element_get_static_pad),
13673         (gst_element_request_pad), (gst_element_get_request_pad),
13674         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13675         (gst_element_class_get_pad_template_list),
13676         (gst_element_class_get_pad_template), (gst_element_error_func),
13677         (gst_element_get_random_pad), (gst_element_get_event_masks),
13678         (gst_element_send_event), (gst_element_seek),
13679         (gst_element_get_query_types), (gst_element_query),
13680         (gst_element_get_formats), (gst_element_convert),
13681         (gst_element_is_locked_state), (gst_element_set_locked_state),
13682         (gst_element_sync_state_with_parent), (gst_element_change_state),
13683         (gst_element_finalize), (gst_element_yield),
13684         (gst_element_interrupt), (gst_element_set_scheduler),
13685         (gst_element_get_scheduler), (gst_element_set_loop_function):
13686         * gst/gstelement.h:
13687         * gst/gstevent.h:
13688         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13689         (gst_format_get_by_nick), (gst_format_get_details),
13690         (gst_format_iterate_definitions):
13691         * gst/gstformat.h:
13692         * gst/gstindex.c: (gst_index_gtype_resolver):
13693         * gst/gstinfo.c:
13694         * gst/gstinfo.h:
13695         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13696         (gst_mem_chunk_free):
13697         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13698         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13699         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13700         (gst_object_dispatch_properties_changed),
13701         (gst_object_set_name_default), (gst_object_set_name),
13702         (gst_object_get_name), (gst_object_set_name_prefix),
13703         (gst_object_get_name_prefix), (gst_object_set_parent),
13704         (gst_object_get_parent), (gst_object_unparent),
13705         (gst_object_check_uniqueness), (gst_object_save_thyself),
13706         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13707         (gst_object_set_property), (gst_object_get_property),
13708         (gst_object_get_path_string):
13709         * gst/gstobject.h:
13710         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13711         (gst_real_pad_init), (gst_real_pad_get_property),
13712         (gst_pad_custom_new), (gst_pad_get_direction),
13713         (gst_pad_set_active), (gst_pad_is_active),
13714         (gst_pad_set_event_function), (gst_pad_is_linked),
13715         (gst_pad_link_free), (gst_pad_link_intersect),
13716         (gst_pad_link_fixate), (gst_pad_set_caps),
13717         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13718         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13719         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13720         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13721         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13722         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13723         (gst_pad_realize), (gst_pad_get_allowed_caps),
13724         (gst_real_pad_dispose), (gst_real_pad_finalize),
13725         (gst_pad_collectv), (gst_pad_collect_valist),
13726         (gst_pad_template_dispose), (gst_pad_template_new),
13727         (gst_pad_get_internal_links):
13728         * gst/gstpad.h:
13729         * gst/gstpipeline.c: (gst_pipeline_dispose),
13730         (gst_pipeline_change_state):
13731         * gst/gstpipeline.h:
13732         * gst/gstplugin.c:
13733         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13734         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13735         * gst/gstpluginfeature.h:
13736         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13737         * gst/gstquery.c: (_gst_query_type_initialize),
13738         (gst_query_type_register), (gst_query_type_get_by_nick),
13739         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13740         * gst/gstquery.h:
13741         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13742         * gst/gstscheduler.c: (gst_scheduler_add_element),
13743         (gst_scheduler_factory_create):
13744         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13745         (gst_structure_free), (gst_structure_set_name),
13746         (gst_structure_id_set_value), (gst_structure_set_value),
13747         (gst_structure_set_valist), (gst_structure_remove_field),
13748         (gst_structure_remove_fields),
13749         (gst_structure_remove_fields_valist),
13750         (gst_structure_remove_all_fields), (gst_structure_foreach),
13751         (gst_structure_map_in_place),
13752         (gst_caps_structure_fixate_field_nearest_int),
13753         (gst_caps_structure_fixate_field_nearest_double):
13754         * gst/gststructure.h:
13755         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13756         (gst_system_clock_init), (gst_system_clock_dispose),
13757         (gst_system_clock_async_thread),
13758         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13759         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13760         * gst/gstsystemclock.h:
13761         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13762         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13763         * gst/gsttaginterface.c:
13764         * gst/gstthread.c: (gst_thread_dispose),
13765         (gst_thread_release_children_locks), (gst_thread_change_state),
13766         (gst_thread_main_loop):
13767         * gst/gsttrashstack.h:
13768         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13769         * gst/gsttypes.h:
13770         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13771         (gst_element_request_pad), (gst_element_get_pad_from_template),
13772         (gst_element_request_compatible_pad),
13773         (gst_element_get_compatible_pad_filtered),
13774         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13775         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13776         (gst_element_link_many), (gst_element_link),
13777         (gst_element_link_pads), (gst_element_unlink_pads),
13778         (gst_element_unlink_many), (gst_element_unlink),
13779         (gst_pad_can_link_filtered), (gst_pad_can_link),
13780         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13781         (gst_object_default_error), (gst_bin_add_many),
13782         (gst_bin_remove_many), (gst_element_populate_std_props),
13783         (gst_element_class_install_std_props), (gst_buffer_merge),
13784         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13785         (link_fold_func), (gst_pad_proxy_setcaps):
13786         * gst/gstutils.h:
13787         * gst/gstvalue.c: (gst_value_deserialize_string):
13788         * gst/parse/grammar.y:
13789         * gst/schedulers/gstbasicscheduler.c:
13790         (gst_basic_scheduler_cothreaded_chain),
13791         (gst_basic_scheduler_chain_recursive_add),
13792         (gst_basic_scheduler_pad_link):
13793         * gst/schedulers/gstoptimalscheduler.c:
13794         (get_group_schedule_function),
13795         (gst_opt_scheduler_state_transition),
13796         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13797         * libs/gst/bytestream/bytestream.c:
13798         * libs/gst/dataprotocol/dataprotocol.c:
13799         (gst_dp_header_from_buffer):
13800         * po/nb.po:
13801         * po/ru.po:
13802         * tests/threadstate/threadstate2.c: (eos):
13803         * tools/gst-compprep.c: (main):
13804         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13805         (print_pad_info), (print_children_info):
13806         * tools/gst-launch.c: (idle_func), (main):
13807         * tools/gst-md5sum.c: (idle_func), (main):
13808         * tools/gst-xmlinspect.c: (print_element_info):
13809         First THREADED backport attempt, focusing on adding locks and
13810         making sure the API is threadsafe. Needs more work. More docs
13811         follow this week.
13812
13813 2005-02-24  Andy Wingo  <wingo@pobox.com>
13814
13815         * tests/bench-complexity.scm:
13816         * tests/complexity.gnuplot: New files, good for running complexity
13817         benchmarks.
13818
13819         * tests/Makefile.am:
13820         * tests/complexity.c: New test, sets up N elements, at each level
13821         teeing into M streams per element. Eeeenteresting.
13822
13823         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13824         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13825         running bench-mass_elements.scm.
13826
13827         * tests/bench-mass_elements.scm: New script, runs mass_elements
13828         for various numbers of identities, outputting the results to a
13829         file. Requires guile 1.6. Just for testing.
13830
13831 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13832
13833         * gst/schedulers/fairscheduler.c:
13834           compile with debug disabled
13835
13836 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13837
13838         * configure.ac:
13839           hunting season on 0.9 is now OPEN