gst/gstmessage.c: Don't crash when return location for error/warning debug string...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/gstmessage.c: (gst_message_parse_tag),
4         (gst_message_parse_error), (gst_message_parse_warning):
5           Don't crash when return location for error/warning debug
6           string is NULL; add fact that return locations can be
7           NULL to docs where appropriate.
8
9 2006-01-05  Wim Taymans  <wim@fluendo.com>
10
11         * gst/gstplugin.c: (gst_plugin_load_file):
12         Replace strdup by g_strdup.
13
14 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15
16         * docs/pwg/advanced-types.xml:
17           fix doc borkage
18
19 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20
21         submitted by: Abel Cheung
22
23         * po/LINGUAS:
24         * po/zh_TW.po:
25           Added Chinese (traditional) translation
26
27 2006-01-04  Wim Taymans  <wim@fluendo.com>
28
29         * docs/manual/basics-pads.xml:
30         * docs/plugins/Makefile.am:
31         * docs/plugins/gstreamer-plugins-docs.sgml:
32         * docs/plugins/gstreamer-plugins-sections.txt:
33         * docs/pwg/advanced-clock.xml:
34         * docs/pwg/advanced-scheduling.xml:
35         * docs/pwg/advanced-types.xml:
36         * plugins/elements/gstfdsink.c:
37         * plugins/elements/gstfdsrc.c:
38         * plugins/elements/gstfdsrc.h:
39         * plugins/elements/gstidentity.c: (gst_identity_class_init):
40         * plugins/elements/gstidentity.h:
41         * plugins/elements/gstqueue.h:
42         * plugins/elements/gsttee.c:
43         * plugins/elements/gsttee.h:
44         * plugins/elements/gsttypefindelement.c:
45         (gst_type_find_element_class_init):
46         * plugins/elements/gsttypefindelement.h:
47         Small updates to various docs.
48         Added core plugins to docs.
49
50 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
51
52         * common/gst.supp:
53           add a suppression for liboil's uninitialized variable
54
55 2006-01-02  James Livingston  <jrl at ids dot org dot au>
56
57         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
58
59         * gst/gstutils.h:
60           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
61           macro, so that gcc doesn't complain if the -Wmissing-prototypes
62           compiler switch is being used (#325429).
63
64 >>>>>>> 1.2159
65 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
66
67         * gst/gstbin.c: (gst_bin_query):
68           Disable duration query caching in bins until it gets
69           fixed (see #324807).
70
71 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
72
73         * tools/gst-inspect.c: (print_element_properties_info):
74           Handle properties of POINTER and BOXED type.
75
76 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
77
78         * gst/gst.c: (init_post):
79           Init tags stuff and some other things before loading
80           any static plugins (there may be other static plugins
81           than just the GStreamer ones, and they may want to
82           register their own tags or formats or whatever, and
83           preferably without segfaulting).
84
85         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
86           Print at least a warning in the debug logs if we drop a
87           query just because we don't know how to adjust the value
88           in the particular format.
89
90 2005-12-24  David Schleef  <ds@schleef.org>
91
92         * tools/gstreamer-completion:
93           Replacement for gst-complete written in sh and sed.  Only
94           completes names of features, but that's 90% of what I want
95           it for.  Properties are not available in registry.xml.  (Maybe
96           they should be...)
97
98 === release 0.10.1 ===
99
100 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
101
102         * configure.ac:
103           releasing 0.10.1, "Nollaig chridheil"
104
105 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
106
107         * docs/faq/cvs.xml:
108           Add missing quote, should be make ERROR_CFLAGS="".
109
110 2005-12-20  Wim Taymans  <wim@fluendo.com>
111
112         * docs/design/part-trickmodes.txt:
113         More documentation on trickmodes.
114
115 2005-12-20  Edward Hervey  <edward@fluendo.com>
116
117         * gst/gstcaps.c: (gst_static_caps_get_type):
118         * gst/gstcaps.h:
119           API addition: GST_TYPE_STATIC_CAPS
120         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
121         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
122         * gst/gstpadtemplate.h:
123           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
124         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
125         bindings.
126
127 2005-12-18  Wim Taymans  <wim@fluendo.com>
128
129         * libs/gst/base/gstadapter.c:
130         * libs/gst/base/gstadapter.h:
131         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
132         (gst_base_sink_get_position):
133         * libs/gst/base/gstbasesink.h:
134         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
135         (gst_base_src_default_query), (gst_base_src_default_do_seek),
136         (gst_base_src_do_seek), (gst_base_src_perform_seek),
137         (gst_base_src_send_event), (gst_base_src_update_length),
138         (gst_base_src_get_range), (gst_base_src_loop),
139         (gst_base_src_start):
140         * libs/gst/base/gstbasesrc.h:
141         * libs/gst/base/gstbasetransform.h:
142         * libs/gst/base/gstcollectpads.h:
143         * libs/gst/base/gstpushsrc.c:
144         * libs/gst/base/gstpushsrc.h:
145         * libs/gst/dataprotocol/dataprotocol.c:
146         * libs/gst/dataprotocol/dataprotocol.h:
147         * libs/gst/net/gstnetclientclock.h:
148         * libs/gst/net/gstnettimeprovider.h:
149         Documentation updates.
150
151 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
152
153         * docs/manual/basics-helloworld.xml:
154           Remove superfluous closing bracket in helloworld example.
155
156 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
157
158         * tools/gst-launch.1.in:
159           Update gst-launch man page; add a section with useful
160           environment variables. Fixes #323882.
161
162 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
163
164         * gst/gst.c:
165         * gst/gst_private.h:
166           change some char* into char[]
167
168 2005-12-16  Wim Taymans  <wim@fluendo.com>
169
170         * gst/gstregistryxml.c: (load_feature):
171         Cleanups.
172         Don't use g_object_unref on GstObjects so that we avoid
173         leaks on unsafe glibs.
174
175 2005-12-16  Wim Taymans  <wim@fluendo.com>
176
177         * gst/gstbin.c: (gst_bin_recalc_state):
178         Small doc updates.
179
180 2005-12-16  Wim Taymans  <wim@fluendo.com>
181
182         * common/check.mak:
183         Added make forever target for check.
184
185 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
186
187         * gst/gst.c: (init_post):
188           make the registry cache file HOST_CPU-dependent
189
190 2005-12-16  Andy Wingo  <wingo@pobox.com>
191
192         * plugins/elements/gstbufferstore.c
193         (gst_buffer_store_cleared_func): Pay attention to g_list_append
194         return value.
195
196         * tests/check/gst/gstobject.c
197         (test_fake_object_name_threaded_unique): Pay attention to
198         g_list_sort return value.
199
200 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
201
202         * tools/gst-feedback-m.m:
203           Update for 0.9/0.10 (fixes #323870).
204
205 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
206
207         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
208           Fix lcopy for mini objects, the mini object needs to be ref'ed.
209           
210         * tests/check/gst/gstminiobject.c: (my_foo_init),
211         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
212         (test_value_collection), (gst_mini_object_suite):
213           Add test to ensure refcounts end up as expected when passing
214           GstMiniObjects through g_object_get() and g_object_set().
215
216 2005-12-14  Julien MOUTTE  <julien@moutte.net>
217
218         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
219         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
220         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
221         of collectpads. This version removes a lot of races without
222         touching API/ABI. Yay !
223
224 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
225
226         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
227           Don't allow activation of a srcpad in pull_range if it has no
228           getrange function.
229           Change some debug statements to be a little clearer
230
231         * plugins/elements/gsttypefindelement.c:
232         (gst_type_find_handle_src_query):
233           Check that we have a peer before executing queries thereupon.
234
235         * tests/examples/metadata/read-metadata.c: (message_loop):
236           Use gst_bus_pop instead of gst_bus_poll when we just want it to
237           immediately return us any available message with 0 timeout.
238
239 2005-12-12  Michael Smith  <msmith@fluendo.com>
240
241         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
242           Don't unref factories after calling them.
243         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
244         * plugins/elements/gsttypefindelement.c:
245         (gst_type_find_element_chain):
246           Free lists of factories after using them. Fixing typefinding memory
247           leaks.
248
249 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
250
251         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
252         (gst_plugin_feature_load):
253           more meaningful debug output
254         * configure.ac:
255         * tests/Makefile.am:
256         * tests/old/examples/Makefile.am:
257           make make distcheck happy again
258
259 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
260
261         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
262           Catch the special case where we are operating chain-based,
263           but the downstream peer pad has no chain function. Emit a
264           custom error message in this case instead of letting the
265           core generate one implying that this is some sort of core
266           bug. It's not, it just means that whatever got plugged
267           into the pipeline downstream when we announced the type
268           can only operate pull-based, while our source can only
269           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
270           Error string has not been marked for translation yet, as
271           it probably needs some more work first.
272
273         (gst_type_find_element_get_best_possibility):
274           Add helper function to find the best of all available
275           found possibilities that qualify given the min. threshold.
276
277         (gst_type_find_element_handle_event):
278           Fix the case where we get an EOS while still in TYPEFIND
279           mode (we want to chose the best of all possible types,
280           not just the first type that happens to be in our unsorted
281           list of possible types).
282
283         (gst_type_find_element_chain):
284           Make sure we return GST_FLOW_ERROR when we errored out
285           in stop_typefinding(); also, don't just find the best of
286           all found type entries and then use the last examined
287           type entry, but actually use the best entry.
288
289 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
290
291         * tests/examples/typefind/typefind.c: (type_found):
292         * tests/examples/xml/runxml.c: (xml_loaded):
293           More gcc4 fixes and a mem leak fix.
294
295 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
296
297         * tests/examples/xml/createxml.c: (object_saved):
298           gcc 4 fixes
299
300 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
301
302         * tests/Makefile.am:
303           enable the examples even more
304
305 2005-12-12  Andy Wingo  <wingo@pobox.com>
306
307         * libs/gst/net/gstnettimeprovider.c
308         (gst_net_time_provider_class_init, gst_net_time_provider_init)
309         (gst_net_time_provider_set_property)
310         (gst_net_time_provider_get_property):
311         API addition: Export "active" as a GObject property.
312         (gst_net_time_provider_thread): Only respond to time queries if
313         the time provider is active.
314
315         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
316         NetTimeProvider, preserving binary compat.
317
318 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
319
320         * tests/examples/controller/audio-example.c: (main):
321         * tests/examples/launch/Makefile.am:
322           convert comments again
323
324 2005-12-12  Wim Taymans  <wim@fluendo.com>
325
326         * libs/gst/base/gstpushsrc.c:
327         Fix typo.
328
329 2005-12-12  Wim Taymans  <wim@fluendo.com>
330
331         * docs/libs/gstreamer-libs-sections.txt:
332         Added new symbol to docs.
333
334         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
335         (gst_base_src_init), (gst_base_src_set_format),
336         (gst_base_src_default_query), (gst_base_src_query),
337         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
338         (gst_base_src_perform_seek), (gst_base_src_send_event),
339         (gst_base_src_default_event), (gst_base_src_event_handler),
340         (gst_base_src_set_property), (gst_base_src_get_property),
341         (gst_base_src_wait), (gst_base_src_do_sync),
342         (gst_base_src_update_length), (gst_base_src_get_range),
343         (gst_base_src_check_get_range), (gst_base_src_loop),
344         (gst_base_src_default_negotiate), (gst_base_src_start),
345         (gst_base_src_activate_push), (gst_base_src_activate_pull),
346         (gst_base_src_change_state):
347         * libs/gst/base/gstbasesrc.h:
348         Implement seeking to other formats than _BYTES.
349         Implement more seeking methods correctly.
350         Doc updates.
351         Added query vmethod.
352         Added do_seek vmethod to make life easier for subclasses
353         when seeking.
354         API addition: gst_base_src_set_format()
355
356 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
357
358         * tests/examples/Makefile.am:
359           added that too
360
361 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
362
363         * configure.ac:
364         * docs/random/ensonic/media-device-daemon.txt:
365         * tests/examples/controller/.cvsignore:
366         * tests/examples/controller/Makefile.am:
367         * tests/examples/controller/audio-example.c: (main):
368         * tests/examples/helloworld/.cvsignore:
369         * tests/examples/helloworld/Makefile.am:
370         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
371         * tests/examples/launch/.cvsignore:
372         * tests/examples/launch/Makefile.am:
373         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
374         * tests/examples/metadata/.cvsignore:
375         * tests/examples/metadata/Makefile.am:
376         * tests/examples/metadata/read-metadata.c: (message_loop),
377         (make_pipeline), (print_tag), (main):
378         * tests/examples/queue/.cvsignore:
379         * tests/examples/queue/Makefile.am:
380         * tests/examples/queue/queue.c: (event_loop), (main):
381         * tests/examples/typefind/.cvsignore:
382         * tests/examples/typefind/Makefile.am:
383         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
384         (main):
385         * tests/examples/xml/.cvsignore:
386         * tests/examples/xml/Makefile.am:
387         * tests/examples/xml/createxml.c: (object_saved), (main):
388         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
389         * tests/old/examples/Makefile.am:
390         * tests/old/examples/TODO:
391         * tests/old/examples/controller/.cvsignore:
392         * tests/old/examples/controller/Makefile.am:
393         * tests/old/examples/controller/audio-example.c:
394         * tests/old/examples/helloworld/.cvsignore:
395         * tests/old/examples/helloworld/Makefile.am:
396         * tests/old/examples/helloworld/helloworld.c:
397         * tests/old/examples/launch/.cvsignore:
398         * tests/old/examples/launch/Makefile.am:
399         * tests/old/examples/launch/mp3parselaunch.c:
400         * tests/old/examples/launch/mp3play:
401         * tests/old/examples/manual/Makefile.am:
402         * tests/old/examples/metadata/Makefile.am:
403         * tests/old/examples/metadata/read-metadata.c:
404         * tests/old/examples/queue/.cvsignore:
405         * tests/old/examples/queue/Makefile.am:
406         * tests/old/examples/queue/queue.c:
407         * tests/old/examples/typefind/.cvsignore:
408         * tests/old/examples/typefind/Makefile.am:
409         * tests/old/examples/typefind/typefind.c:
410         * tests/old/examples/xml/.cvsignore:
411         * tests/old/examples/xml/Makefile.am:
412         * tests/old/examples/xml/createxml.c:
413         * tests/old/examples/xml/runxml.c:
414           applied some simple fixing to some examples
415           re-enabled the working examples
416
417 2005-12-12  Wim Taymans  <wim@fluendo.com>
418
419         * gst/gstsegment.c: (gst_segment_init),
420         (gst_segment_set_last_stop), (gst_segment_set_seek),
421         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
422         (gst_segment_to_running_time):
423         Added more documentation.
424         Make sure the last_pos value is updated properly.
425         Make sure to_stream_time and to_running_time don't
426         operate on wrong values.
427
428         * tests/check/gst/gstsegment.c: (GST_START_TEST):
429         Update check.
430
431 2005-12-12  Michael Smith  <msmith@fluendo.com>
432
433         * plugins/elements/gsttypefindelement.c: (free_entry),
434         (gst_type_find_element_chain):
435           Now that we're not leaking factories, make sure we keep references
436           to them while we need them.
437
438 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
439
440         * tests/check/gst/struct_i386.h:
441           ifdef out the XML structs
442
443 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
444
445         * gst/gstvalue.c: (gst_value_transform_double_fraction):
446           floor is not needed, F is always positive; this obviates the
447           need for adding -lm when building without libxml
448
449 2005-12-12  Wim Taymans  <wim@fluendo.com>
450
451         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
452         Take current playback rate into account when reporting
453         the position.
454
455 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
456
457         * docs/manual/mime-world.fig:
458           Let's try this again, this time with a file that is
459           actually in XFig format.
460
461 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
462
463         * docs/manual/mime-world.fig:
464           Add audioconvert element to diagram so that it
465           matches the text and the code (fixes #319526).
466
467 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
468
469         * docs/pwg/building-chainfn.xml:
470         * docs/pwg/building-pads.xml:
471         * docs/pwg/building-state.xml:
472         * docs/pwg/other-source.xml:
473           Update state change stuff for 0.10 (fixes #322969).
474
475 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
476
477         * docs/manual/advanced-dataaccess.xml:
478         * docs/manual/appendix-checklist.xml:
479         * docs/manual/appendix-programs.xml:
480         * docs/manual/basics-pads.xml:
481         * docs/manual/highlevel-components.xml:
482         * docs/manual/manual.xml:
483           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
484           add converters in front of pipelines; remove curly
485           brackets for threads stuff, they no longer exist; use
486           GST_TYPE_FRACTION for framerates; update some pieces of
487           code to 0.10, but there's plenty more to do.
488
489         * docs/manual/appendix-porting.xml:
490           Expand on asynchroneous state changes; s/0.9/0.10/;
491           mention disappearance of gst_init_get_popt_table()
492           (fixes #322916).
493
494 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
495
496         * docs/faq/using.xml:
497           Spider no longer exists, and neither does gst-launch-ext.
498           Update examples to use decodebin and playbin and put
499           converters in front of sinks (fixes #323726).
500
501 2005-12-09  Michael Smith  <msmith@fluendo.com>
502
503         * plugins/elements/gsttypefindelement.c: (find_peek),
504         (gst_type_find_element_chain):
505           Fix leaking element factories in typefinding.
506           Fix problem where we forgot about a probable type on non-seekable
507           files, and thus later mis-typefound it.
508
509 2005-12-09  Michael Smith  <msmith@fluendo.com>
510
511         * common/m4/gst-makecontext.m4:
512         * common/m4/gst-mcsc.m4:
513         * configure.ac:
514         * win32/common/config.h:
515         * win32/common/config.h.in:
516           Remove makecontext stuff; not used in 0.10 and causes problems on
517           HPUX according to bug #322441
518
519 2005-12-07  Wim Taymans  <wim@fluendo.com>
520
521         * tests/check/Makefile.am:
522         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
523         (main):
524         * tests/check/libs/struct_i386.h:
525         Added ABI check for libs
526
527 2005-12-07  Wim Taymans  <wim@fluendo.com>
528
529         * tests/check/Makefile.am:
530         And add the struct_i386.h to dist.
531
532 2005-12-07  Wim Taymans  <wim@fluendo.com>
533
534         * tests/check/Makefile.am:
535         * tests/check/gst/.cvsignore:
536         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
537         (main):
538         * tests/check/gst/struct_i386.h:
539         Added check for ABI compatibility.
540
541 2005-12-07  Wim Taymans  <wim@fluendo.com>
542
543         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
544         (gst_fake_src_get_times), (gst_fake_src_create):
545         Fix broken sync option, fixes #323259
546
547 2005-12-07  Wim Taymans  <wim@fluendo.com>
548
549         * gst/gstbuffer.c:
550         Small docs update.
551
552         * gst/gstcaps.c: (gst_caps_is_equal):
553         Don't assert on NULL <--> X. Fixes #323260
554
555         * gst/gstminiobject.c: (gst_mini_object_replace):
556         If we're doing atomic operations, we might just as well use
557         the proper way to get an atomic pointer.
558
559         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
560         Clean up debugging.
561
562 2005-12-07  Michael Smith  <msmith@fluendo.com>
563
564         * gst/parse/grammar.y:
565           Remove handling of { } for threads.
566
567 2005-12-06  David Schleef  <ds@schleef.org>
568
569         * libs/gst/base/gstbasetransform.c: speling fix.
570
571 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
572
573         * docs/libs/tmpl/gstdataprotocol.sgml:
574         * docs/random/omega/testing/gstobject.c:
575         * gst/gst.c:
576         * gst/gstclock.c:
577         * gst/gstelement.c:
578         * gst/gstelementfactory.c:
579         * gst/gsterror.c:
580         * gst/gstevent.c:
581         * gst/gstghostpad.c:
582         * gst/gstinfo.c:
583         * gst/gstpadtemplate.c:
584         * gst/gstregistryxml.c:
585         * gst/gsttaglist.c:
586         * gst/gsttagsetter.c:
587         * gst/gsttypefind.c:
588         * gst/gstvalue.c:
589         * libs/gst/base/gstbasesrc.c:
590         * libs/gst/net/gstnetclientclock.c:
591         * libs/gst/net/gstnettimeprovider.c:
592         * plugins/elements/gstfakesrc.c:
593         * plugins/elements/gstfdsrc.c:
594         * plugins/elements/gstfilesrc.c:
595         * plugins/elements/gstidentity.c:
596         * plugins/elements/gstqueue.c:
597         * plugins/elements/gsttypefindelement.c:
598         * plugins/indexers/gstfileindex.c:
599         * plugins/indexers/gstmemindex.c:
600         * tests/check/gst/gsttag.c:
601         * tests/old/examples/cutter/cutter.c:
602         * tests/old/examples/mixer/mixer.c:
603         * tests/old/examples/xml/runxml.c: (main):
604         * tests/old/testsuite/caps/normalisation.c:
605         * tests/old/testsuite/debug/global.c:
606         * tests/old/testsuite/parse/parse1.c:
607         * tools/gst-xmlinspect.c:
608         * win32/common/dirent.c:
609           expand tabs
610
611 === release 0.10.0 ===
612
613 2005-12-05   <thomas (at) apestaart (dot) org>
614
615         * configure.ac:
616           releasing 0.10.0, "Maroilles"
617
618 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
619
620         submitted by: Funda Wang <fundawang@linux.net.cn>
621
622         * po/LINGUAS:
623         * po/zh_CN.po:
624           added Chinese (Traditional) translation
625
626 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
627
628         * docs/gst/gstreamer-sections.txt:
629         * docs/libs/tmpl/gstdataprotocol.sgml:
630         * docs/random/thomasvs/TODO:
631         * gst/gstutils.c:
632         * gst/gstutils.h:
633           fix docs
634
635 2005-12-05  Andy Wingo  <wingo@pobox.com>
636
637         patch by: Wim Taymans <wim@fluendo.com>
638
639         * libs/gst/base/gstbasetransform.c
640         (gst_base_transform_prepare_output_buf)
641         (gst_base_transform_buffer_alloc):
642         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
643         alloc_buffer_and_set_caps.
644
645         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
646         set_caps on the source pad.
647         (gst_pad_alloc_buffer_and_set_caps): New function, does what
648         alloc_buffer used to do. Fixes #322874.
649
650         * docs/gst/gstreamer-sections.txt: 
651         * docs/design/part-negotiation.txt: 
652         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
653         changes.
654
655 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
656
657         patch by: Sebastien Moutte
658
659         * win32/MANIFEST:
660         * win32/common/config.h.in:
661         * win32/vs6/libgstcontroller.dsp:
662           win32 build fixes
663
664 2005-12-05  Wim Taymans  <wim@fluendo.com>
665
666         * gst/gstcaps.c: (gst_caps_is_equal):
667         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
668         (gst_fake_src_create):
669         Back out previous code changes, leave doc updates, file bugs 
670         instead. 
671
672 2005-12-05  Wim Taymans  <wim@fluendo.com>
673
674         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
675         (gst_fake_src_get_times), (gst_fake_src_create):
676         * plugins/elements/gstfakesrc.h:
677         Fix broken sync code.
678
679 2005-12-05  Wim Taymans  <wim@fluendo.com>
680
681         * gst/gstcaps.c: (gst_caps_is_equal):
682         Comparing NULL against !NULL yields different caps, not a
683         failure.
684
685 2005-12-05  Wim Taymans  <wim@fluendo.com>
686
687         * gst/gstpipeline.c:
688         Fix small typo in docs.
689
690 2005-12-05  Andy Wingo  <wingo@pobox.com>
691
692         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
693
694         * gst/gst.c (init_post): remove hard-coded 0.9 location for
695         registries/plugins with a MAJORMINOR one.
696         (plugin_desc): Rename library from gstcoreleements to
697         staticelements. Fixes #323222.
698
699 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
700
701         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
702           Change debug category to 'collectpads' from 'collect_pads'
703           (fixes #323250).
704
705 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
706
707         patch by: Sebastien Moutte
708
709         * libs/gst/controller/gstinterpolation.c:
710           use convert function for uint64/double
711         * win32/vs6/libgstcontroller.dsp:
712           link to GLib
713
714 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
715
716         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
717         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
718         * gst/gstutils.h:
719         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
720           add tests that seem to show that the guint64/gdouble conversions
721           are correct.
722
723 2005-12-02  Wim Taymans  <wim@fluendo.com>
724
725         * gst/gstregistry.c: (gst_registry_add_path):
726         * gst/gstregistry.h:
727         * gst/gstregistryxml.c:
728         Fix docs again.
729
730 2005-12-02  Wim Taymans  <wim@fluendo.com>
731
732         * gst/gstutils.c: (gst_util_uint64_scale_int64),
733         (gst_util_uint64_scale_int):
734         Small cleanup.
735
736         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
737         Add debug log line.
738
739         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
740         Add FIXME.
741
742 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
743
744         * win32/MANIFEST:
745         * win32/common/config.h:
746         * win32/vs6/gstreamer.dsw:
747         * win32/vs6/libgstcoreelements.dsp:
748         * win32/vs6/libgstelements.dsp:
749           renamed core elements plugin
750
751 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
752
753         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
754         (get_candidates):
755           do piece-wise major/minor comparison so 0.9 < 0.10
756           also allow .exe extensions for tools
757
758 2005-12-02  Michael Smith  <msmith@fluendo.com>
759
760         * gst/gst.c:
761           Escape a % to make gtkdoc happier; bug 322958.
762
763 === release 0.9.7 ===
764
765 2005-12-01   <thomas (at) apestaart (dot) org>
766
767         * configure.ac:
768           releasing 0.9.7, "My Dog Has No Nose"
769
770 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
771
772         * common/gst-xmlinspect.py:
773         * configure.ac:
774         * docs/libs/tmpl/gstdataprotocol.sgml:
775         * docs/random/release:
776         * po/af.po:
777         * po/az.po:
778         * po/bg.po:
779         * po/ca.po:
780         * po/cs.po:
781         * po/de.po:
782         * po/en_GB.po:
783         * po/fr.po:
784         * po/it.po:
785         * po/nb.po:
786         * po/nl.po:
787         * po/ru.po:
788         * po/sq.po:
789         * po/sr.po:
790         * po/sv.po:
791         * po/tr.po:
792         * po/uk.po:
793         * po/vi.po:
794         * win32/common/config.h:
795         * win32/common/config.h.in:
796         * win32/vs6/gst_inspect.dsp:
797         * win32/vs6/gst_launch.dsp:
798         * win32/vs6/libgstbase.dsp:
799         * win32/vs6/libgstelements.dsp:
800         * win32/vs6/libgstreamer.dsp:
801         * win32/vs7/GStreamer.vcproj:
802         * win32/vs7/gst-inspect.vcproj:
803         * win32/vs7/gst-launch.vcproj:
804         * win32/vs7/libgstbase.vcproj:
805           bump GST_MAJORMINOR to 0.10
806           reset libtool version
807
808 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
809
810         * po/LINGUAS:
811         * po/bg.po:
812           Added Bulgarian translation by (Alexander Shopov)
813
814 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
815
816         * tests/check/gst/gstplugin.c:
817           fix test
818
819 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
820
821         * common/gst-xmlinspect.py:
822         * common/gtk-doc-plugins.mak:
823         * configure.ac:
824         * docs/Makefile.am:
825         * docs/gst/Makefile.am:
826         * docs/gst/gstreamer-docs.sgml:
827         * docs/gst/gstreamer-sections.txt:
828         * docs/gst/gstreamer.types:
829         * docs/gst/gstreamer.types.in:
830         * docs/plugins/Makefile.am:
831         * docs/plugins/gstreamer-plugins-docs.sgml:
832         * docs/plugins/gstreamer-plugins-sections.txt:
833         * docs/plugins/gstreamer-plugins.types:
834         * docs/plugins/inspect.stamp:
835         * docs/plugins/inspect/plugin-coreelements.xml:
836         * docs/plugins/inspect/plugin-coreindexers.xml:
837         * docs/plugins/scanobj-build.stamp:
838         * gstreamer.spec.in:
839         * plugins/elements/Makefile.am:
840         * plugins/elements/gstelements.c:
841         * plugins/elements/gstfakesink.c:
842         * plugins/elements/gstfakesrc.c:
843         * plugins/elements/gstfilesink.c:
844         * plugins/elements/gstfilesrc.c:
845         * plugins/elements/gstqueue.c:
846         * plugins/indexers/Makefile.am:
847         * plugins/indexers/gstindexers.c:
848           document core plugins in a separate document just like all the
849           others
850           rename these plugins to something starting with core
851
852 2005-12-01  Andy Wingo  <wingo@pobox.com>
853
854         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
855         padding here before, but it missed the commit.
856
857 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
858
859         * libs/gst/controller/gstinterpolation.c:
860           whitespace prices have crashed, we should feel free to use some now
861           use gst_guint64_to_gdouble
862
863 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
864
865         * libs/gst/controller/gstcontroller.c:
866         * libs/gst/controller/gsthelper.c:
867         * libs/gst/controller/gstinterpolation.c:
868         * libs/gst/controller/lib.c:
869           wrap config.h include
870
871 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
872
873         * docs/gst/gstreamer-sections.txt:
874           update docs
875
876 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
877
878         * plugins/elements/gstelements.c:
879         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
880         (gst_fd_sink__class_init), (gst_fd_sink__init),
881         (gst_fd_sink__chain), (gst_fd_sink__set_property),
882         (gst_fd_sink__get_property):
883         * plugins/elements/gstfdsink.h:
884         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
885         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
886         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
887         (gst_fd_src_unlock), (gst_fd_src_set_property),
888         (gst_fd_src_get_property), (gst_fd_src_create),
889         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
890         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
891         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
892         (gst_fd_src_uri_handler_init):
893         * plugins/elements/gstfdsrc.h:
894         * plugins/elements/gstqueue.c: (gst_queue_get_type):
895           more anal cleanup
896
897 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
898
899         * docs/gst/Makefile.am:
900         * docs/gst/gstreamer.types.in:
901         * gst/Makefile.am:
902           fix the docs build
903
904 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
905
906         * configure.ac:
907         * gst/Makefile.am:
908         * gst/gst.c:
909         * gst/gstplugin.h:
910         * gst/gstregistry.h:
911         * tests/benchmarks/complexity.c:
912         * tests/benchmarks/mass-elements.c:
913         * tests/check/Makefile.am:
914         * tools/Makefile.am:
915         * tools/gst-inspect.c:
916         * tools/gst-xmlinspect.c:
917           various fixes to make
918           --disable-nls --disable-registry --disable-loadsave
919           --disable-parse --disable-gst-debug
920           work and get the core .so down to 360444 bytes after stripping
921
922 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
923
924         * Makefile.am:
925         * configure.ac:
926           descend into tests
927         * docs/random/thomasvs/TODO:
928         * tests/Makefile.am:
929         * tests/README:
930           add a README
931
932 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
933
934         * win32/GStreamer.vcproj:
935         * win32/MANIFEST:
936         * win32/Makefile:
937         * win32/Makefile.inspect:
938         * win32/Makefile.launch:
939         * win32/Makefile.register:
940         * win32/README.txt:
941         * win32/gst-inspect.vcproj:
942         * win32/gst-launch.vcproj:
943         * win32/gst-register.vcproj:
944         * win32/gstelements.vcproj:
945         * win32/gstgetbits.def:
946         * win32/gstgetbits.vcproj:
947         * win32/gstreamer-dbg.def:
948         * win32/gstreamer.def:
949         * win32/libgstbase.def:
950         * win32/libgstbase.vcproj:
951         * win32/link_oldruntime.c:
952         * win32/mman.c:
953         * win32/mman.h:
954         * win32/mman.inl:
955         * win32/msvc71.sln:
956           move even more stuff, win32/ is nice and clean now
957
958 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
959
960         * libs/gst/control/.cvsignore:
961         * win32/MANIFEST:
962         * win32/config.h:
963         * win32/dirent.c:
964         * win32/dirent.h:
965         * win32/gstbytestream.def:
966         * win32/gstbytestream.vcproj:
967         * win32/gstconfig.h:
968         * win32/gstenumtypes.c:
969         * win32/gstenumtypes.h:
970         * win32/gstoptimalscheduler.vcproj:
971         * win32/gstversion.h:
972         * win32/gtchar.h:
973         * win32/testsuite/bins.vcproj:
974         * win32/testsuite/bytestream.vcproj:
975         * win32/testsuite/caps.vcproj:
976         * win32/testsuite/cleanup.vcproj:
977         * win32/testsuite/clock.vcproj:
978         * win32/testsuite/debug.vcproj:
979         * win32/testsuite/dlopen.vcproj:
980         * win32/testsuite/dynparams.vcproj:
981         * win32/testsuite/elements.vcproj:
982         * win32/testsuite/ghostpads.vcproj:
983         * win32/testsuite/indexers.vcproj:
984         * win32/testsuite/negotiation.vcproj:
985         * win32/testsuite/parse.vcproj:
986         * win32/testsuite/plugin.vcproj:
987         * win32/testsuite/refcounting.vcproj:
988         * win32/testsuite/schedulers.vcproj:
989         * win32/testsuite/states.vcproj:
990         * win32/testsuite/tags.vcproj:
991         * win32/testsuite/threads.vcproj:
992           remove old win32 stuff that isn't maintained and should be
993           reorganized
994
995 2005-11-30  Andy Wingo  <wingo@pobox.com>
996
997         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
998         loading the gst.interfaces python module bork.
999
1000         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1001         available since GLib 2.2. Fixes #318031.
1002
1003 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1004
1005         * Makefile.am:
1006         * check/.cvsignore:
1007         * check/Makefile.am:
1008         * check/elements/.cvsignore:
1009         * check/elements/fakesrc.c:
1010         * check/elements/fdsrc.c:
1011         * check/elements/identity.c:
1012         * check/generic/.cvsignore:
1013         * check/generic/states.c:
1014         * check/gst-libs/.cvsignore:
1015         * check/gst-libs/controller.c:
1016         * check/gst-libs/gdp.c:
1017         * check/gst/.cvsignore:
1018         * check/gst/capslist.h:
1019         * check/gst/gst.c:
1020         * check/gst/gstbin.c:
1021         * check/gst/gstbuffer.c:
1022         * check/gst/gstbus.c:
1023         * check/gst/gstcaps.c:
1024         * check/gst/gstelement.c:
1025         * check/gst/gstevent.c:
1026         * check/gst/gstghostpad.c:
1027         * check/gst/gstiterator.c:
1028         * check/gst/gstmessage.c:
1029         * check/gst/gstminiobject.c:
1030         * check/gst/gstobject.c:
1031         * check/gst/gstpad.c:
1032         * check/gst/gstpipeline.c:
1033         * check/gst/gstplugin.c:
1034         * check/gst/gstsegment.c:
1035         * check/gst/gststructure.c:
1036         * check/gst/gstsystemclock.c:
1037         * check/gst/gsttag.c:
1038         * check/gst/gstutils.c:
1039         * check/gst/gstvalue.c:
1040         * check/net/.cvsignore:
1041         * check/net/gstnetclientclock.c:
1042         * check/net/gstnettimeprovider.c:
1043         * check/pipelines/.cvsignore:
1044         * check/pipelines/cleanup.c:
1045         * check/pipelines/simple_launch_lines.c:
1046         * check/pipelines/stress.c:
1047         * check/states/.cvsignore:
1048         * check/states/sinks.c:
1049         * configure.ac:
1050         * examples/Makefile.am:
1051         * examples/appreader/.cvsignore:
1052         * examples/appreader/Makefile.am:
1053         * examples/appreader/appreader.c:
1054         * examples/controller/.cvsignore:
1055         * examples/controller/Makefile.am:
1056         * examples/controller/audio-example.c:
1057         * examples/cutter/.cvsignore:
1058         * examples/cutter/Makefile.am:
1059         * examples/cutter/cutter.c:
1060         * examples/cutter/cutter.h:
1061         * examples/events/Makefile.am:
1062         * examples/events/seek.c:
1063         * examples/helloworld/.cvsignore:
1064         * examples/helloworld/Makefile.am:
1065         * examples/helloworld/helloworld.c:
1066         * examples/helloworld2/.cvsignore:
1067         * examples/helloworld2/Makefile.am:
1068         * examples/helloworld2/helloworld2.c:
1069         * examples/launch/.cvsignore:
1070         * examples/launch/Makefile.am:
1071         * examples/launch/mp3parselaunch.c:
1072         * examples/launch/mp3play:
1073         * examples/manual/.cvsignore:
1074         * examples/manual/Makefile.am:
1075         * examples/manual/extract.pl:
1076         * examples/metadata/Makefile.am:
1077         * examples/metadata/read-metadata.c:
1078         * examples/mixer/.cvsignore:
1079         * examples/mixer/Makefile.am:
1080         * examples/mixer/mixer.c:
1081         * examples/mixer/mixer.h:
1082         * examples/pingpong/.cvsignore:
1083         * examples/pingpong/Makefile.am:
1084         * examples/pingpong/pingpong.c:
1085         * examples/plugins/.cvsignore:
1086         * examples/plugins/Makefile.am:
1087         * examples/plugins/example.c:
1088         * examples/plugins/example.h:
1089         * examples/pwg/.cvsignore:
1090         * examples/pwg/Makefile.am:
1091         * examples/pwg/extract.pl:
1092         * examples/queue/.cvsignore:
1093         * examples/queue/Makefile.am:
1094         * examples/queue/queue.c:
1095         * examples/queue2/.cvsignore:
1096         * examples/queue2/Makefile.am:
1097         * examples/queue2/queue2.c:
1098         * examples/queue3/.cvsignore:
1099         * examples/queue3/Makefile.am:
1100         * examples/queue3/queue3.c:
1101         * examples/queue4/.cvsignore:
1102         * examples/queue4/Makefile.am:
1103         * examples/queue4/queue4.c:
1104         * examples/retag/.cvsignore:
1105         * examples/retag/Makefile.am:
1106         * examples/retag/retag.c:
1107         * examples/retag/transcode.c:
1108         * examples/thread/.cvsignore:
1109         * examples/thread/Makefile.am:
1110         * examples/thread/thread.c:
1111         * examples/typefind/.cvsignore:
1112         * examples/typefind/Makefile.am:
1113         * examples/typefind/typefind.c:
1114         * examples/xml/.cvsignore:
1115         * examples/xml/Makefile.am:
1116         * examples/xml/createxml.c:
1117         * examples/xml/runxml.c:
1118         * tests/Makefile.am:
1119         * tests/check/Makefile.am:
1120         * testsuite/.cvsignore:
1121         * testsuite/Makefile.am:
1122         * testsuite/Rules:
1123         * testsuite/caps/.cvsignore:
1124         * testsuite/caps/Makefile.am:
1125         * testsuite/caps/app_fixate.c:
1126         * testsuite/caps/audioscale.c:
1127         * testsuite/caps/caps.c:
1128         * testsuite/caps/caps.h:
1129         * testsuite/caps/caps_strings:
1130         * testsuite/caps/compatibility.c:
1131         * testsuite/caps/deserialize.c:
1132         * testsuite/caps/enumcaps.c:
1133         * testsuite/caps/eratosthenes.c:
1134         * testsuite/caps/filtercaps.c:
1135         * testsuite/caps/fixed.c:
1136         * testsuite/caps/fraction-convert.c:
1137         * testsuite/caps/fraction-multiply-and-zero.c:
1138         * testsuite/caps/intersect2.c:
1139         * testsuite/caps/intersection.c:
1140         * testsuite/caps/normalisation.c:
1141         * testsuite/caps/random.c:
1142         * testsuite/caps/renegotiate.c:
1143         * testsuite/caps/sets.c:
1144         * testsuite/caps/simplify.c:
1145         * testsuite/caps/string-conversions.c:
1146         * testsuite/caps/structure.c:
1147         * testsuite/caps/subtract.c:
1148         * testsuite/caps/union.c:
1149         * testsuite/debug/.cvsignore:
1150         * testsuite/debug/Makefile.am:
1151         * testsuite/debug/category.c:
1152         * testsuite/debug/commandline.c:
1153         * testsuite/debug/global.c:
1154         * testsuite/debug/output.c:
1155         * testsuite/debug/printf_extension.c:
1156         * testsuite/dlopen/.cvsignore:
1157         * testsuite/dlopen/Makefile.am:
1158         * testsuite/dlopen/dlopen_gst.c:
1159         * testsuite/dlopen/loadgst.c:
1160         * testsuite/elements/.cvsignore:
1161         * testsuite/elements/Makefile.am:
1162         * testsuite/elements/gst-inspect-check.in:
1163         * testsuite/elements/struct_i386.h:
1164         * testsuite/elements/struct_size.c:
1165         * testsuite/indexers/.cvsignore:
1166         * testsuite/indexers/Makefile.am:
1167         * testsuite/indexers/cache1.c:
1168         * testsuite/indexers/indexdump.c:
1169         * testsuite/parse/.cvsignore:
1170         * testsuite/parse/Makefile.am:
1171         * testsuite/parse/parse1.c:
1172         * testsuite/parse/parse2.c:
1173         * testsuite/plugin/.cvsignore:
1174         * testsuite/plugin/Makefile.am:
1175         * testsuite/plugin/README:
1176         * testsuite/plugin/dynamic.c:
1177         * testsuite/plugin/linked.c:
1178         * testsuite/plugin/loading.c:
1179         * testsuite/plugin/registry.c:
1180         * testsuite/plugin/static.c:
1181         * testsuite/plugin/static2.c:
1182         * testsuite/plugin/testplugin.c:
1183         * testsuite/plugin/testplugin2.c:
1184         * testsuite/plugin/testplugin2_s.c:
1185         * testsuite/plugin/testplugin_s.c:
1186         * testsuite/refcounting/.cvsignore:
1187         * testsuite/refcounting/Makefile.am:
1188         * testsuite/refcounting/bin.c:
1189         * testsuite/refcounting/element.c:
1190         * testsuite/refcounting/element_pad.c:
1191         * testsuite/refcounting/mainloop.c:
1192         * testsuite/refcounting/mem.c:
1193         * testsuite/refcounting/mem.h:
1194         * testsuite/refcounting/object.c:
1195         * testsuite/refcounting/pad.c:
1196         * testsuite/refcounting/sched.c:
1197         * testsuite/refcounting/thread.c:
1198         * testsuite/states/.cvsignore:
1199         * testsuite/states/Makefile.am:
1200         * testsuite/states/bin.c:
1201         * testsuite/states/locked.c:
1202         * testsuite/states/parent.c:
1203         * testsuite/threads/.cvsignore:
1204         * testsuite/threads/159566.c:
1205         * testsuite/threads/159852.c:
1206         * testsuite/threads/Makefile.am:
1207         * testsuite/threads/queue.c:
1208         * testsuite/threads/signals.c:
1209         * testsuite/threads/staticrec.c:
1210         * testsuite/threads/thread.c:
1211         * testsuite/threads/threadb.c:
1212         * testsuite/threads/threadc.c:
1213         * testsuite/threads/threadd.c:
1214         * testsuite/threads/threade.c:
1215         * testsuite/threads/threadf.c:
1216         * testsuite/threads/threadg.c:
1217         * testsuite/threads/threadh.c:
1218         * testsuite/threads/threadi.c:
1219           move all of these under tests
1220
1221 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1222
1223         * configure.ac:
1224         * tests/Makefile.am:
1225           fix distcheck
1226
1227 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1228
1229         * docs/gst/gstreamer-sections.txt:
1230         * tests/sched/.cvsignore:
1231         * tests/sched/Makefile.am:
1232         * tests/sched/cases/(fs-fs).xml:
1233         * tests/sched/cases/(fs-i-fs).xml:
1234         * tests/sched/cases/(fs-i-i-fs).xml:
1235         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1236         * tests/sched/dynamic-pipeline.c:
1237         * tests/sched/interrupt1.c:
1238         * tests/sched/interrupt2.c:
1239         * tests/sched/interrupt3.c:
1240         * tests/sched/runtestcases:
1241         * tests/sched/runxml.c:
1242         * tests/sched/sched-stress.c:
1243         * tests/sched/sort.c:
1244         * tests/sched/testcases:
1245         * tests/sched/testcases1.tc:
1246         * tests/seeking/.cvsignore:
1247         * tests/seeking/Makefile.am:
1248         * tests/seeking/seeking1.c:
1249         * tests/threadstate/.cvsignore:
1250         * tests/threadstate/Makefile.am:
1251         * tests/threadstate/test1.c:
1252         * tests/threadstate/test2.c:
1253         * tests/threadstate/threadstate1.c:
1254         * tests/threadstate/threadstate2.c:
1255         * tests/threadstate/threadstate3.c:
1256         * tests/threadstate/threadstate4.c:
1257         * tests/threadstate/threadstate5.c:
1258           remove obsolete tests
1259         * configure.ac:
1260         * tests/bench-complexity.scm:
1261         * tests/bench-mass_elements.scm:
1262         * tests/complexity.c:
1263         * tests/complexity.gnuplot:
1264         * tests/instantiate/.cvsignore:
1265         * tests/instantiate/Makefile.am:
1266         * tests/instantiate/caps.c:
1267         * tests/mass_elements.c:
1268         * tests/network-clock-utils.scm:
1269         * tests/network-clock.scm:
1270         * tests/plot-data:
1271         First pass at cleaning up tests/ dir before moving the rest
1272         Combined with CVS surgery
1273
1274 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1275
1276         * po/POTFILES.in:
1277           queue has moved, update
1278
1279 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1280
1281         * docs/gst/gstreamer-sections.txt:
1282           remove double entries from the docs
1283         * gst/gst_private.h:
1284         * gst/gstinfo.c: (_gst_debug_init):
1285           remove the THREAD debug category
1286         * gst/Makefile.am:
1287         * gst/gstqueue.c:
1288         * gst/gstqueue.h:
1289         * docs/gst/gstreamer.types:
1290         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1291         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1292           completely move queue and fix up debugging categories
1293
1294 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1295
1296         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1297           make initialization portable, using LL is not
1298
1299 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1300
1301         * win32/common/gstconfig.h:
1302           add large padding
1303
1304 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1305
1306         * win32/common/libgstreamer.def:
1307           rename symbols; sort base section
1308
1309 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1310
1311         * gst/gstclock.c: (do_linear_regression):
1312           remove crack non-portable handrolled DEBUG macro
1313
1314 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1315
1316         * docs/random/release:
1317           update notes
1318         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1319         (gst_object_flags_get_type), (register_gst_bin_flags),
1320         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1321         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1322         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1323         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1324         (gst_caps_flags_get_type), (register_gst_clock_return),
1325         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1326         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1327         (gst_clock_flags_get_type), (register_gst_state),
1328         (gst_state_get_type), (register_gst_state_change_return),
1329         (gst_state_change_return_get_type), (register_gst_state_change),
1330         (gst_state_change_get_type), (register_gst_element_flags),
1331         (gst_element_flags_get_type), (register_gst_core_error),
1332         (gst_core_error_get_type), (register_gst_library_error),
1333         (gst_library_error_get_type), (register_gst_resource_error),
1334         (gst_resource_error_get_type), (register_gst_stream_error),
1335         (gst_stream_error_get_type), (register_gst_event_type_flags),
1336         (gst_event_type_flags_get_type), (register_gst_event_type),
1337         (gst_event_type_get_type), (register_gst_seek_type),
1338         (gst_seek_type_get_type), (register_gst_seek_flags),
1339         (gst_seek_flags_get_type), (register_gst_format),
1340         (gst_format_get_type), (register_gst_index_certainty),
1341         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1342         (gst_index_entry_type_get_type),
1343         (register_gst_index_lookup_method),
1344         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1345         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1346         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1347         (gst_index_flags_get_type), (register_gst_debug_level),
1348         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1349         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1350         (gst_iterator_result_get_type), (register_gst_iterator_item),
1351         (gst_iterator_item_get_type), (register_gst_message_type),
1352         (gst_message_type_get_type), (register_gst_mini_object_flags),
1353         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1354         (gst_pad_link_return_get_type), (register_gst_flow_return),
1355         (gst_flow_return_get_type), (register_gst_activate_mode),
1356         (gst_activate_mode_get_type), (register_gst_pad_direction),
1357         (gst_pad_direction_get_type), (register_gst_pad_flags),
1358         (gst_pad_flags_get_type), (register_gst_pad_presence),
1359         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1360         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1361         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1362         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1363         (gst_plugin_flags_get_type), (register_gst_rank),
1364         (gst_rank_get_type), (register_gst_query_type),
1365         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1366         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1367         (gst_tag_flag_get_type), (register_gst_task_state),
1368         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1369         (gst_alloc_trace_flags_get_type),
1370         (register_gst_type_find_probability),
1371         (gst_type_find_probability_get_type), (register_gst_uri_type),
1372         (gst_uri_type_get_type), (register_gst_parse_error),
1373         (gst_parse_error_get_type):
1374         * win32/common/gstenumtypes.h:
1375         * win32/common/gstversion.h:
1376           update visual studio generated files
1377
1378 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1379
1380         * win32/vs6/libgstbase.dsp:
1381         * win32/vs6/libgstelements.dsp:
1382           update project files for new locations
1383
1384 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1385
1386         * Makefile.am:
1387           remove some files
1388         * README:
1389           reinstate and update
1390         * DEVEL:
1391         * REQUIREMENTS:
1392           removed
1393         * LICENSE:
1394         * docs/random/LICENSE:
1395           moved to random
1396
1397 2005-11-30  Edward Hervey  <edward@fluendo.com>
1398
1399         * gst/gsttypefind.c: (gst_type_find_register):
1400         * gst/gsttypefind.h:
1401         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1402         (gst_type_find_factory_dispose):
1403         * gst/gsttypefindfactory.h:
1404         Fix memory leak in GstTypeFindFactory.
1405
1406 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1407
1408         * gst/gst.c:
1409         * plugins/elements/Makefile.am:
1410         * plugins/elements/gstelements.c:
1411         * plugins/elements/gstqueue.c:
1412           move queue from core to the elements plugin
1413
1414 2005-11-29  Andy Wingo  <wingo@pobox.com>
1415
1416         * libs/gst/base/gstbasetransform.h: 
1417         * libs/gst/base/gstbasesrc.h: 
1418         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1419
1420         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1421         of pointers by which to pad very extensible base classes (like the
1422         ones in libs/gst/base).
1423
1424 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1425
1426         * docs/gst/gstreamer-docs.sgml:
1427         * docs/gst/gstreamer-sections.txt:
1428         * docs/libs/gstreamer-libs-docs.sgml:
1429         * docs/libs/gstreamer-libs-sections.txt:
1430           moving documentation from core to lib
1431
1432 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1433
1434         * check/Makefile.am:
1435         * configure.ac:
1436         * docs/gst/Makefile.am:
1437         * gst/Makefile.am:
1438         * gst/base/.cvsignore:
1439         * gst/base/Makefile.am:
1440         * gst/base/README:
1441         * gst/base/gstadapter.c:
1442         * gst/base/gstadapter.h:
1443         * gst/base/gstbasesink.c:
1444         * gst/base/gstbasesink.h:
1445         * gst/base/gstbasesrc.c:
1446         * gst/base/gstbasesrc.h:
1447         * gst/base/gstbasetransform.c:
1448         * gst/base/gstbasetransform.h:
1449         * gst/base/gstcollectpads.c:
1450         * gst/base/gstcollectpads.h:
1451         * gst/base/gstpushsrc.c:
1452         * gst/base/gstpushsrc.h:
1453         * gst/base/gsttypefindhelper.c:
1454         * gst/base/gsttypefindhelper.h:
1455         * gst/check/Makefile.am:
1456         * gst/check/gstcheck.c:
1457         * gst/check/gstcheck.h:
1458         * gst/net/Makefile.am:
1459         * gst/net/gstnet.h:
1460         * gst/net/gstnetclientclock.c:
1461         * gst/net/gstnetclientclock.h:
1462         * gst/net/gstnettimepacket.c:
1463         * gst/net/gstnettimepacket.h:
1464         * gst/net/gstnettimeprovider.c:
1465         * gst/net/gstnettimeprovider.h:
1466         * libs/gst/Makefile.am:
1467         * libs/gst/base/Makefile.am:
1468         * libs/gst/base/gstbasetransform.c:
1469         * libs/gst/check/Makefile.am:
1470         * plugins/elements/Makefile.am:
1471         * po/POTFILES.in:
1472           CVS surgery + support to move base, check, and net out of gst
1473           and into libs/gst
1474
1475 2005-11-29  Andy Wingo  <wingo@pobox.com>
1476
1477         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1478
1479         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1480         padding.
1481
1482         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1483
1484         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1485
1486         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1487
1488         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1489         padding; reduces object size by about 30%. We don't expect
1490         anything else to go into gstobject.
1491
1492         * gst/gstminiobject.h (struct _GstMiniObject)
1493         (struct _GstMiniObjectClass): Only one pointer of padding; the
1494         payload is only a pointer and two ints anyway. For the class there
1495         are only two methods as well.
1496         
1497         * gst/gstelement.h (struct _GstElementClass): Removed
1498         the state_changed signal callback, it is not used.
1499
1500 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1501
1502         * docs/gst/gstreamer.types:
1503           fix includes, though they are a little dinky
1504
1505 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1506
1507         * check/Makefile.am:
1508           look in the right place for elements, a lot more chance of
1509           success
1510         * gst/Makefile.am:
1511           remove indexers and elements subdirs
1512         * plugins/Makefile.am:
1513           make indexers conditional
1514
1515 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1516
1517         * Makefile.am:
1518         * configure.ac:
1519         * plugins/elements/Makefile.am:
1520         * plugins/elements/gstcapsfilter.c:
1521         * plugins/elements/gstfilesink.c:
1522         * plugins/elements/gstfilesrc.c:
1523         * plugins/elements/gstidentity.c:
1524         * plugins/indexers/Makefile.am:
1525           do CVS surgery and related build fixery to move elements
1526           and indexers in a new gstreamer/plugins directory, out of the
1527           gst/ directory
1528
1529 2005-11-29  Andy Wingo  <wingo@pobox.com>
1530
1531         * check/Makefile.am:
1532         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1533         * pkgconfig/gstreamer-net.pc.in:
1534         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1535         #322257.
1536
1537 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1538
1539         * tools/Makefile.am:
1540         * tools/gst-complete.1.in:
1541         * tools/gst-complete.c:
1542         * tools/gst-compprep.1.in:
1543         * tools/gst-compprep.c:
1544           removing -compprep and -complete
1545
1546 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1547
1548         * gst/gstevent.c: (gst_event_new_new_segment),
1549         (gst_event_parse_new_segment):
1550         * gst/gstevent.h:
1551           fix #320529 - clean up new_segment API and structure.
1552           Let's hope everyone was using the methods, and not the structure.
1553
1554 2005-11-29  Edward Hervey  <edward@fluendo.com>
1555
1556         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1557         (gst_base_sink_event), (gst_base_sink_do_sync),
1558         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1559         Properly handle non GST_FORMAT_TIME segment
1560         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1561         Properly handle non GST_FORMAT_TIME segment
1562         * gst/gstsegment.c:
1563         This function is valid if the accumulator is 0 and the format
1564         is different from the requested format.
1565         
1566 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1567
1568         * docs/gst/gstreamer-sections.txt:
1569         Add gst_query_new_seeking and gst_query_parse_seeking to the
1570         docs.
1571
1572 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1573
1574         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1575           Treat a pad alloc with new caps the same as if we were not
1576           negotiated, in order to allow a changing upstream output
1577           to produce a new format of data.
1578
1579 2005-11-29  Edward Hervey  <edward@fluendo.com>
1580
1581         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1582         (gst_base_transform_event), (gst_base_transform_eventfunc):
1583         The event virtual method is now properly implemented, with a default
1584         handler
1585         Sub classes should call the parent_class event method. They should
1586         return FALSE if they had a problem handling the given event, or don't
1587         want GstBaseTransform to send that even downstream
1588         * gst/elements/gstidentity.c: (gst_identity_class_init),
1589         (gst_identity_init), (gst_identity_event),
1590         (gst_identity_transform_ip), (gst_identity_set_property),
1591         (gst_identity_get_property):
1592         * gst/elements/gstidentity.h:
1593         Added the single-segment boolean property.
1594         If set to TRUE, it will output a single segment of data, starting from
1595         0, will eat up all incoming newsegment, and modify the timestamp of the
1596         buffers accordingly
1597
1598 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1599
1600         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1601           Don't ref NULL target pad (#322751). Improve docs.
1602
1603 2005-11-29  Michael Smith  <msmith@fluendo.com>
1604
1605         * gst/gstregistryxml.c: (load_plugin):
1606           Don't crash if we failed to load a feature from a plugin. 
1607
1608 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1609
1610         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1611         (GST_START_TEST):
1612           use more check API and less GLib API
1613
1614 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1615
1616         * Makefile.am:
1617           don't run checks if we don't have check
1618         * common/check.mak:
1619           remove the registry when running make torture
1620         * docs/gst/gstreamer-sections.txt:
1621           remove second multiply
1622         * gst/gstqueue.c: (gst_queue_loop):
1623           fix a compile warning when disabling debug
1624
1625 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1626
1627         * gst/gstinfo.h:
1628         Hey! Let's print the pad name if the pointer != NULL instead
1629         of when it == NULL :-)
1630
1631 2005-11-28  Wim Taymans  <wim@fluendo.com>
1632
1633         * check/gst/gstutils.c: (GST_START_TEST):
1634         Updated check, add some scaling accuracy checking code.
1635
1636         * gst/gstutils.c: (gst_util_div128_64),
1637         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1638         (gst_util_uint64_scale_int):
1639         Fix 6 times faster division code. Optimize for common 
1640         1/1 and less common X/1 cases.
1641
1642 2005-11-28  Wim Taymans  <wim@fluendo.com>
1643
1644         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1645         More checks.
1646
1647         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1648         (do_linear_regression), (gst_clock_add_observation):
1649         Cleanups.
1650         Release lock when the clock cannot be slaved.
1651         Catch the case where the regression returned an invalid denominator.
1652
1653         * gst/gstutils.c: (gst_util_div128_64_iterate),
1654         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1655         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1656         Add protentially more performant non-iterative 128/64 divide function
1657         that unfortunatly does not work yet.
1658         Shortcut the trivial 0/X = 0 case.
1659         Remove the warnings on overflow.
1660
1661 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1662
1663         * gst/gstplugin.c: (gst_plugin_register_func):
1664           everything causing a plugin not to load should be at least a WARNING
1665
1666 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1667
1668         * docs/random/ensonic/dparams.txt:
1669           some TODOs for the next dev cycle
1670         * libs/gst/controller/gstcontroller.c:
1671         (gst_controlled_property_set_interpolation_mode),
1672         (gst_controlled_property_new):
1673         * libs/gst/controller/gstcontroller.h:
1674           use base type to assign acccessor functions
1675
1676 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1677
1678         * check/Makefile.am:
1679         Oops, that should have been top_srcdir
1680
1681 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1682
1683         * check/Makefile.am:
1684         * check/elements/fdsrc.c: (GST_START_TEST):
1685         Use a cmdline define to specify the location of a file to use for
1686         testing, to avoid breaking distcheck.
1687
1688 2005-11-28  Andy Wingo  <wingo@pobox.com>
1689
1690         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1691
1692 2005-11-28  Edward Hervey  <edward@fluendo.com>
1693
1694         * tools/gst-launch.c: (main):
1695         Clarify the output strings, makes it easier to translate.
1696         Fixes #322626
1697
1698 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1699
1700         * gst/Makefile.am:
1701           don't try and build net if we don't even have <sys/socket.h>
1702
1703 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1704
1705         * check/Makefile.am:
1706         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1707         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1708           Add tests for fdsrc seekability
1709
1710         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1711         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1712         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1713         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1714         * gst/elements/gstfdsrc.h:
1715           fdsrc should not be a 'live' source.
1716           Implement seeking on seekable fd's.
1717
1718         * gst/gstquery.c: (gst_query_new_seeking),
1719         (gst_query_parse_seeking):
1720         * gst/gstquery.h:
1721           Implement SEEKING query functions: 
1722             *_new_seeking and *_parse_seeking
1723
1724 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1725
1726         * gst/gstelement.c: (gst_element_dispose):
1727           don't loop forever
1728
1729         * gst/gstiterator.c:
1730         * gst/gststructure.c:
1731           doc fixes
1732
1733         * libs/gst/controller/gstcontroller.c:
1734         (gst_controlled_property_set_interpolation_mode):
1735         * libs/gst/controller/gstcontroller.h:
1736         * libs/gst/controller/gstinterpolation.c:
1737         (interpolate_none_get_enum_value_array):
1738           support controlling enums
1739
1740 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1741
1742         * gst/gstvalue.c:
1743           Improve documentation for gst_value_union().
1744
1745         * gst/gstvalue.h:
1746           Change return value for union, intersect and subtract functions
1747           from gint to gboolean.
1748
1749 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1750
1751         * gst/gstvalue.c: (gst_value_serialize_any_list),
1752         (gst_value_transform_any_list_string),
1753         (gst_value_deserialize_list), (gst_value_deserialize_array),
1754         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1755         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1756         (gst_value_set_fraction_range_full),
1757         (gst_value_deserialize_fraction_range),
1758         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1759         (gst_value_deserialize_boolean),
1760         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1761         (gst_value_serialize_float), (gst_value_deserialize_float),
1762         (gst_string_wrap), (gst_value_deserialize_string),
1763         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1764         (gst_value_union_int_range_int_range),
1765         (gst_value_intersect_int_range_int_range),
1766         (gst_value_intersect_double_range_double_range),
1767         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1768         (gst_value_subtract_int_range_int_range),
1769         (gst_value_subtract_double_double_range),
1770         (gst_value_subtract_double_range_double_range),
1771         (gst_value_deserialize_fraction):
1772         * gst/gstvalue.h:
1773           Use gint, gdouble and gchar in our API instead of int, double and
1774           char (and make usage in gstvalue.c more consistent).
1775
1776 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1777
1778         * check/Makefile.am:
1779         * libs/gst/controller/Makefile.am:
1780         * libs/gst/dataprotocol/Makefile.am:
1781           fix up Makefile.am and remove GST_ENABLE_NEW
1782
1783 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1784
1785         * configure.ac:
1786         * gst/Makefile.am:
1787         * gst/base/Makefile.am:
1788         * gst/check/Makefile.am:
1789         * gst/elements/Makefile.am:
1790         * gst/net/Makefile.am:
1791           update LDFLAGS use some more
1792
1793 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1794
1795         * common/m4/gst-doc.m4:
1796           Fixes #312589
1797
1798 2005-11-26  Edward Hervey  <edward@fluendo.com>
1799
1800         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1801         This shouldn't issue a g_warning since it returns NULL if it
1802         couldn't find the plugin, and all functions using this behave
1803         properly on a NULL return. Switching to a GST_WARNING.
1804
1805 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1806
1807         * gst/gstbin.c: (gst_bin_handle_message_func):
1808         Don't leak clock messages.
1809
1810 2005-11-25  Wim Taymans  <wim@fluendo.com>
1811
1812         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1813         (gst_util_uint64_scale_int):
1814         Optimisations, remove unneeded vars.
1815
1816 2005-11-25  Wim Taymans  <wim@fluendo.com>
1817
1818         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1819         Added more checks for the high precision uint64 cases.
1820
1821         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1822         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1823         Implement high precision (guint64 * guint64) / guint64.
1824
1825 2005-11-24  Wim Taymans  <wim@fluendo.com>
1826
1827         * gst/base/gstbasesrc.c: (gst_base_src_query):
1828         Fix wrong percentage query.
1829
1830         * gst/gstutils.c: (gst_util_uint64_scale),
1831         (gst_util_uint64_scale_int):
1832         Add some more common cases that can be handled 
1833         efficiently to _scale.
1834
1835 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1836
1837         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1838         (gst_mini_object_suite):
1839           don't use check calls from threads; check probably isn't
1840           threadsafe and using a lock to make it threadsafe would
1841           defeat the purpose of this check
1842         * gst/check/gstcheck.c:
1843         * gst/check/gstcheck.h:
1844           use GST_DEBUG some more
1845
1846 2005-11-24  Wim Taymans  <wim@fluendo.com>
1847
1848         * gst/gstutils.c: (gst_util_uint64_scale),
1849         (gst_util_uint64_scale_int):
1850         Chain trivial case to _scale_int.
1851
1852 2005-11-24  Wim Taymans  <wim@fluendo.com>
1853
1854         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1855         Added test for scaling.
1856
1857         * gst/gstclock.h:
1858         Small doc fix.
1859
1860         * gst/gstutils.c: (gst_util_uint64_scale_int):
1861         Implemented high precision scaling code.
1862
1863 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1864
1865         * gst/gstinfo.h:
1866           do not crash on pad==NULL
1867
1868 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1869
1870         Patch by: Stefan Kost
1871
1872         * common/gtk-doc.mak:
1873         * docs/gst/Makefile.am:
1874         * docs/libs/Makefile.am:
1875           Fix distcheck issues for the libraries docs build
1876           Closes #319599.
1877
1878 2005-11-24  Michael Smith <msmith@fluendo.com>
1879
1880         * docs/manual/basics-helloworld.xml:
1881           Fix bug #315027: memory leak in example code in docs.
1882
1883 2005-11-24  Michael Smith <msmith@fluendo.com>
1884
1885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1886           Unlock the PREROLL_LOCK in a failure case.
1887
1888 2005-11-24  Wim Taymans  <wim@fluendo.com>
1889
1890         * docs/gst/gstreamer-sections.txt:
1891         * gst/base/gstadapter.h:
1892         * gst/base/gstbasesink.h:
1893         * gst/base/gstbasesrc.h:
1894         * gst/base/gstbasetransform.h:
1895         * gst/base/gstpushsrc.h:
1896         * gst/elements/gstfakesink.h:
1897         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1898         * gst/elements/gstfakesrc.h:
1899         * gst/elements/gstfilesink.h:
1900         * gst/elements/gstfilesrc.h:
1901         * gst/gst.c:
1902         * gst/gstbin.c:
1903         * gst/gstbuffer.c: (_gst_buffer_copy):
1904         * gst/gstbus.h:
1905         * gst/gstcaps.c:
1906         * gst/gstchildproxy.c:
1907         * gst/gstclock.c:
1908         * gst/gstelement.c:
1909         * gst/gstelementfactory.c:
1910         * gst/gstelementfactory.h:
1911         * gst/gstevent.c:
1912         * gst/gstghostpad.h:
1913         * gst/gstindex.h:
1914         * gst/gstinterface.h:
1915         * gst/gstminiobject.c:
1916         * gst/gstminiobject.h:
1917         * gst/gstpad.c:
1918         * gst/gstpad.h:
1919         * gst/gstpadtemplate.h:
1920         * gst/gstpipeline.h:
1921         * gst/gstpluginfeature.h:
1922         * gst/gstquery.h:
1923         * gst/gstqueue.h:
1924         * gst/gsttaglist.c:
1925         * gst/gsttaglist.h:
1926         * gst/gsttagsetter.c:
1927         * gst/gsttagsetter.h:
1928         * gst/gsttrace.c:
1929         * gst/gsttrace.h:
1930         * gst/gsttypefind.h:
1931         * gst/gsturi.h:
1932         * gst/gstvalue.c:
1933         * gst/net/gstnetclientclock.c:
1934         * gst/net/gstnetclientclock.h:
1935         * gst/net/gstnettimepacket.c:
1936         * gst/net/gstnettimeprovider.c:
1937         * gst/net/gstnettimeprovider.h:
1938         Doc fixes.
1939
1940 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1941
1942         * configure.ac: back to HEAD
1943
1944 === release 0.9.6 ===
1945
1946 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1947
1948         * configure.ac:
1949           releasing 0.9.6, "Always On Time"
1950
1951 2005-11-23  Wim Taymans  <wim@fluendo.com>
1952
1953         * docs/gst/gstreamer-sections.txt:
1954         * gst/glib-compat.c:
1955         * gst/gsttagsetter.c:
1956         * gst/gstvalue.c:
1957         * gst/net/gstnetclientclock.c:
1958         * gst/net/gstnettimepacket.h:
1959         Doc updates.
1960
1961 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1962
1963         * docs/faq/using.xml:
1964         * docs/libs/tmpl/gstcontrol.sgml:
1965         * docs/manual/advanced-dparams.xml:
1966         * docs/manual/appendix-checklist.xml:
1967         * docs/manual/basics-elements.xml:
1968         * docs/pwg/other-source.xml:
1969         * docs/random/moving-plugins:
1970         * gst/gstpad.c:
1971         * tools/gst-launch.1.in:
1972           remove mentions of sinesrc
1973
1974 2005-11-23  Michael Smith <msmith@fluendo.com>
1975
1976         * docs/gst/gstreamer-sections.txt:
1977           Update for new API and API changes.
1978         * gst/gstobject.h:
1979           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1980         * gst/gstvalue.c:
1981           Documentation typo fix.
1982         * gst/net/gstnettimepacket.c:
1983           Documentation fixes for arguments.
1984
1985 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1986
1987         * gst/gststructure.c: (gst_structure_get_fraction),
1988         (gst_structure_parse_value),
1989         (gst_structure_fixate_field_nearest_fraction):
1990         * gst/gststructure.h:
1991         * gst/gstutils.c: (gst_util_uint64_scale_int):
1992         * gst/gstutils.h:
1993         * scripts/update-funcnames:
1994         API Changes. 
1995         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1996         Make gst_structure_fixate_field_nearest_fraction take a numerator
1997         and denominator argument instead of a GValue
1998         add gst_structure_get_fraction helper function.
1999
2000 2005-11-23  Wim Taymans  <wim@fluendo.com>
2001
2002         * docs/design/part-TODO.txt:
2003         Update TODO.
2004
2005         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2006         * gst/net/gstnetclientclock.h:
2007         Use parent fields for timeout and window_size.
2008
2009 2005-11-23  Andy Wingo  <wingo@pobox.com>
2010
2011         * check/net/gstnetclientclock.c (test_functioning): Adjust to
2012         rate_num/rate_denom change.
2013
2014         * gst/net/gstnetclientclock.c
2015         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2016         OBJECT_LOCK. Don't call add_observation with the lock.
2017
2018         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2019         fraction.
2020         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2021         rate fraction.
2022         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2023         deal with rate as a fraction whose numerator and denominator are
2024         GstClockTime values.
2025         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2026         master; the other fields are protected by the SLAVE_LOCK.
2027         (do_linear_regression): Note that this must be called with the
2028         SLAVE_LOCK.
2029         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2030         OBJECT_LOCK. Call set_calibration instead of touching the
2031         variables directly.
2032         (gst_clock_set_property, gst_clock_get_property): Protect
2033         master/slave parameters with the SLAVE_LOCK.
2034
2035         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2036         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2037         note that all of the instance variables that add_observation and
2038         the set_master functions use are protected by that lock and not
2039         the OBJECT_LOCK.
2040         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2041
2042         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2043         the caller to take the object lock.
2044
2045 2005-11-23  Wim Taymans  <wim@fluendo.com>
2046
2047         * gst/gsterror.c: (_gst_core_errors_init):
2048         * gst/gsterror.h:
2049         Add error for clock stuff.
2050
2051         * gst/gstpipeline.c: (gst_pipeline_change_state),
2052         (gst_pipeline_set_clock):
2053         Post clock error when clock cannot be used in a pipeline.
2054
2055 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2056
2057         * docs/gst/gstreamer-sections.txt:
2058           make two symbols from gstinfo private for the docs
2059         * gst/base/gstcollectpads.h:
2060         * gst/gstutils.c:
2061           fix doc typos, update docs
2062
2063 2005-11-22  Wim Taymans  <wim@fluendo.com>
2064
2065         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2066         (gst_base_sink_wait), (gst_base_sink_do_sync),
2067         (gst_base_sink_handle_event):
2068         * gst/base/gstbasesink.h:
2069         No need to store the clock, the parent element class already
2070         has it.
2071
2072         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2073         Updates for clock_set returning a gboolean
2074
2075         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2076         (gst_clock_id_wait_async), (gst_clock_class_init),
2077         (gst_clock_init), (gst_clock_finalize),
2078         (gst_clock_get_internal_time), (gst_clock_get_time),
2079         (gst_clock_slave_callback), (gst_clock_set_master),
2080         (gst_clock_get_master), (do_linear_regression),
2081         (gst_clock_add_observation), (gst_clock_set_property),
2082         (gst_clock_get_property):
2083         * gst/gstclock.h:
2084         Implement master/slave. When setting a clock as a slave, a
2085         periodic timeout is scheduled to sample master and slave times.
2086         Then the slave clock is recalibrated to match offset and rate
2087         of the master clock.
2088         Update logging a bit.
2089         Add flag so that a clock can state that is cannot be slaved to
2090         another clock.
2091
2092         * gst/gstelement.c: (gst_element_set_clock):
2093         * gst/gstelement.h:
2094         The set clock returns a gboolean for when an element cannot
2095         deal with the selected clock in the pipeline. 
2096
2097         * gst/gstpipeline.c: (gst_pipeline_change_state),
2098         (gst_pipeline_set_clock):
2099         * gst/gstpipeline.h:
2100         Handle the case where the selected clock cannot be set on
2101         the pipeline.
2102
2103         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2104         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2105         (gst_net_client_clock_set_property),
2106         (gst_net_client_clock_get_property),
2107         (gst_net_client_clock_observe_times):
2108         * gst/net/gstnetclientclock.h:
2109         Use regression code in GstClock parent, remove duplicated
2110         functionality.
2111
2112 2005-11-22  Michael Smith <msmith@fluendo.com>
2113
2114         * gst/gstutils.c: (gst_util_clock_time_scale):
2115         * gst/gstutils.h:
2116         * docs/gst/gstreamer-sections.txt:
2117           Rename method to have extra underscore.
2118
2119 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2120
2121         * gst/elements/Makefile.am:
2122         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2123         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2124         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2125         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2126         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2127         * gst/elements/gstfakesrc.h:
2128         * gst/gstqueue.c: (queue_leaky_get_type):
2129           correctly fix GEnumValues so that nick is the short lowercase
2130           dashed tag
2131         * tools/gst-inspect.c: (print_element_properties_info):
2132           also show the nick, since it's useful to use from parse_launch
2133           syntax
2134           Fixes #322139
2135
2136 2005-11-22  Michael Smith <msmith@fluendo.com>
2137
2138         * gst/gstutils.c: (gst_util_clocktime_scale):
2139         * gst/gstutils.h:
2140         * docs/gst/gstreamer-sections.txt:
2141           Add util method for scaling a clocktime by a fraction. Useful 
2142           implementation is left as an exercise for the reader.
2143
2144 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2145
2146         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2147         If needed, allocate storage in the destination value during
2148         collection.
2149
2150 2005-11-22  Edward Hervey  <edward@fluendo.com>
2151
2152         * docs/gst/gstreamer-sections.txt:
2153         * gst/Makefile.am:
2154         * gst/gst.h:
2155         * gst/gsturitype.c:
2156         * gst/gsturitype.h:
2157         * gst/gstutils.c: (gst_util_set_object_arg):
2158         * tools/gst-compprep.c: (main):
2159         * tools/gst-inspect.c: (print_element_properties_info):
2160         Removed GstURI, closes bug #321061
2161
2162 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2163
2164         * check/gst/gststructure.c: (GST_START_TEST):
2165         * gst/gststructure.c: (gst_structure_parse_value):
2166           Oops, broke automatic string type parsing.
2167           Add a test to catch it in future.
2168
2169 2005-11-22  Andy Wingo  <wingo@pobox.com>
2170
2171         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2172         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2173         Actually rename the function implementations. Grr.
2174
2175 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2176
2177         * check/gst/capslist.h:
2178           Comment test cases
2179         * check/gst/gststructure.c: (GST_START_TEST),
2180         (gst_structure_suite):
2181           Test automatic value type detection in gst_structure_from_string.
2182         * gst/gststructure.c: (gst_structure_parse_value):
2183           Add fraction as a type we try and guess automatically in
2184           caps/structure strings.
2185
2186 2005-11-22  Andy Wingo  <wingo@pobox.com>
2187
2188         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2189
2190         * gst/gsttagsetter.h:
2191         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2192         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2193         (gst_tag_setter_add_tag_valist)
2194         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2195         _add_values, _add_valist, and _add_valist_values. Since this is an
2196         interface the function suffixes should be more explicit so
2197         language binding don't end up with element.add_valist ->
2198         gst_tag_setter_add_valist, for example. Fixes #322069.
2199
2200 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2201
2202         * check/gst/gstcaps.c: (GST_START_TEST):
2203           Extend caps string tests to check that a caps to string
2204           conversion is reversible and produces the same caps.
2205
2206         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2207           Output "fraction" as the generic type fraction range, so caps
2208           serialisation and deserialisation works.
2209         * check/gst/capslist.h:
2210         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2211           Support 'MIN' and 'MAX' for deserialising fractions.
2212
2213 2005-11-22  Andy Wingo  <wingo@pobox.com>
2214
2215         * gst/gstevent.h (gst_event_new_new_segment)
2216         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2217         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2218         Renamed from *_newsegment, *_buffersize, *_notarget.
2219
2220         * scripts/update-funcnames: New script, performs the changes
2221         listed above.
2222
2223 2005-11-22  Wim Taymans  <wim@fluendo.com>
2224
2225         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2226         Make sure the GstFlowReturn is returned.
2227
2228         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2229         (gst_bus_add_signal_watch):
2230         * gst/gstbus.h:
2231         add gst_bus_add_signal_watch_full.
2232
2233         * gst/gstplugin.c: (gst_plugin_load_file):
2234         Small style cleanup.
2235
2236 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2237
2238         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2239           Block the fakesrc srcpad when we send an event, to avoid
2240           contention on the stream_lock causing random test failures.
2241
2242 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2243
2244         * check/gst/gstvalue.c: (GST_START_TEST):
2245         * gst/gstvalue.c: (gst_value_fraction_subtract):
2246           Fix subtraction.
2247
2248 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2249
2250         * gst/gst.h:
2251           include "gstchildproxy.h"
2252         * gst/gstchildproxy.h:
2253         * libs/gst/controller/gstcontroller.h:
2254           use G_GNUC_NULL_TERMINATED
2255
2256 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2257
2258         * check/gst/capslist.h:
2259         * check/gst/gstcaps.c: (GST_START_TEST):
2260         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2261         * gst/gststructure.c: (gst_structure_parse_range),
2262         (gst_structure_fixate_field_nearest_fraction):
2263         * gst/gststructure.h:
2264         * gst/gstvalue.c: (gst_value_init_fraction_range),
2265         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2266         (gst_value_collect_fraction_range),
2267         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2268         (gst_value_set_fraction_range_full),
2269         (gst_value_get_fraction_range_min),
2270         (gst_value_get_fraction_range_max),
2271         (gst_value_serialize_fraction_range),
2272         (gst_value_transform_fraction_range_string),
2273         (gst_value_compare_fraction_range),
2274         (gst_value_deserialize_fraction_range),
2275         (gst_value_intersect_fraction_fraction_range),
2276         (gst_value_intersect_fraction_range_fraction_range),
2277         (gst_value_subtract_fraction_fraction_range),
2278         (gst_value_subtract_fraction_range_fraction),
2279         (gst_value_subtract_fraction_range_fraction_range),
2280         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2281         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2282         (gst_value_transform_string_fraction), (_gst_value_initialize):
2283         * gst/gstvalue.h:
2284           Implement fraction ranges and extend GstFraction to support
2285           arithmetic subtraction, as well as deserialization from integer
2286           strings such as "100"
2287           Add a testsuite as for int and double range set operations
2288
2289 2005-11-21  Andy Wingo  <wingo@pobox.com>
2290
2291         * gst/gsttaglist.h: 
2292         * gst/gstcaps.h: 
2293         * gst/gststructure.h: Add glib-compat.h.
2294
2295 2005-11-21  Wim Taymans  <wim@fluendo.com>
2296
2297         * gst/gstbin.c: (gst_bin_change_state_func):
2298         Fix for #321595
2299
2300 2005-11-21  Wim Taymans  <wim@fluendo.com>
2301
2302         * gst/gstsegment.h:
2303         And add a nice define too.
2304
2305 2005-11-21  Wim Taymans  <wim@fluendo.com>
2306
2307         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2308         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2309         (gst_segment_set_duration), (gst_segment_set_last_stop),
2310         (gst_segment_set_seek), (gst_segment_set_newsegment),
2311         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2312         (gst_segment_clip):
2313         * gst/gstsegment.h:
2314         Make binding friendly.
2315
2316 2005-11-21  Andy Wingo  <wingo@pobox.com>
2317
2318         * gst/gsttagsetter.h: 
2319         * gst/gsttaglist.h: 
2320         * gst/gststructure.h: 
2321         * gst/gstcaps.h: 
2322         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2323         #319940.
2324
2325         * gst/gsterror.c (_gst_core_errors_init):
2326         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2327         category.
2328
2329         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2330         (noinst_HEADERS): noinst the -private.
2331
2332 2005-11-21  Michael Smith <msmith@fluendo.com>
2333
2334         * gst/gstplugin.h:
2335         * gst/gstregistry.h:
2336           Remove unimplemented declarations for which we can see no sensible
2337           use.
2338
2339 2005-11-21  Andy Wingo  <wingo@pobox.com>
2340
2341         * gst/gst.h: Include glib-compat.h.
2342
2343         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2344
2345         * gst/glib-compat.c: Include the public and the private header.
2346
2347         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2348
2349         * gst/gstvalue.c: 
2350         * gst/gstpad.c: 
2351         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2352
2353         * check/gst/gstevent.c (create_custom_events): Check that
2354         FLUSH_STOP is serialized.
2355
2356         * check/elements/identity.c (event_func): 
2357         * check/elements/fakesrc.c (event_func): No stream lock, the core
2358         takes it.
2359
2360         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2361         stream lock taking, yay.
2362
2363         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2364         ensure that core takes the stream lock.
2365
2366         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2367         lock name change.
2368
2369         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2370         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2371         it already. For the flush start we do take it though so we get the
2372         right preroll state change messages.
2373
2374         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2375         the stream lock here, the core does it for us.
2376
2377         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2378         GST_STREAM_GET_LOCK.
2379         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2380         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2381         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2382         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2383         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2384         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2385
2386         * gst/gstpad.c: Update for stream lock name change.
2387
2388         * gst/base/gstbasesink.c: Update for preroll lock name change.
2389
2390 2005-11-21  Wim Taymans  <wim@fluendo.com>
2391
2392         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2393         (gst_clock_get_master):
2394         * gst/gstclock.h:
2395         * gst/gstsystemclock.c: (gst_system_clock_init):
2396         Convert Clock flags to object flags.
2397         Added methods to manage master/slave clocks.
2398
2399 2005-11-21  Wim Taymans  <wim@fluendo.com>
2400
2401         * check/gst/gstsegment.c: (GST_START_TEST):
2402         * docs/design/part-TODO.txt:
2403         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2404         (gst_base_sink_event), (gst_base_sink_do_sync),
2405         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2406         (gst_base_sink_query), (gst_base_sink_change_state):
2407         * gst/base/gstbasesink.h:
2408         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2409         (gst_base_src_default_newsegment),
2410         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2411         (gst_base_src_get_range), (gst_base_src_loop),
2412         (gst_base_src_change_state):
2413         * gst/base/gstbasesrc.h:
2414         * gst/base/gstbasetransform.c:
2415         (gst_base_transform_prepare_output_buf),
2416         (gst_base_transform_event), (gst_base_transform_change_state):
2417         * gst/base/gstbasetransform.h:
2418         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2419         (gst_collect_pads_event):
2420         * gst/base/gstcollectpads.h:
2421         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2422         (gst_fake_src_create):
2423         * gst/elements/gstfakesrc.h:
2424         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2425         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2426         (gst_segment_set_last_stop), (gst_segment_set_seek),
2427         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2428         (gst_segment_to_running_time), (gst_segment_clip):
2429         * gst/gstsegment.h:
2430         More segment updates, replace code in plugins with segment
2431         helper functions.
2432
2433 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2434
2435         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2436         Don't ignore sscanf results
2437
2438 2005-11-21  Andy Wingo  <wingo@pobox.com>
2439
2440         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2441
2442         * *.h:
2443         * *.c: Ran scripts/update-macros. Oh yes.
2444
2445         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2446         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2447         GST_GET_LOCK, etc.
2448
2449         * scripts/update-macros: New script. Run it on your files to
2450         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2451         well.
2452
2453 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2454
2455         * docs/gst/Makefile.am:
2456         * docs/gst/gstreamer-docs.sgml:
2457         * docs/gst/gstreamer-sections.txt:
2458         * docs/gst/gstreamer.types:
2459         * gst/gstinfo.h:
2460           more docs fixes, add new api to the docs
2461
2462 2005-11-21  Andy Wingo  <wingo@pobox.com>
2463
2464         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2465         state_broadcast call.
2466
2467         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2468
2469 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2470
2471         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2472         function calls for arrays.
2473
2474 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2475
2476         * docs/random/ensonic/media-device-daemon.txt:
2477           wild idea, can this be done?
2478         * docs/gst/gstreamer-sections.txt:
2479         * gst/gsterror.h:
2480         * gst/gstfilter.c:
2481         * gst/gstfilter.h:
2482         * gst/gstplugin.h:
2483         * gst/gstpluginfeature.c:
2484         * gst/gsttrace.c:
2485         * gst/gstvalue.c:
2486         * gst/gstvalue.h:
2487           doc fixes and additions
2488
2489 2005-11-21  Andy Wingo  <wingo@pobox.com>
2490
2491         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2492         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2493         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2494         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2495         private to the basesrc implementation.
2496
2497         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2498         behalf of event function if necessary. It should no longer be
2499         necessary to take the stream lock in pad's event functions. Fixes
2500         #320299.
2501
2502 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2503         * docs/gst/gstreamer-sections.txt:
2504         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2505         (gst_structure_fixate_field_nearest_double),
2506         (gst_structure_fixate_field_boolean):
2507         * gst/gststructure.h:
2508         * win32/common/libgstreamer.def:
2509         * win32/gstreamer.def:
2510
2511         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2512         (#322027)
2513
2514 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2515
2516         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2517         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2518         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2519         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2520         (gst_fdsrc_uri_handler_init):
2521         * gst/elements/gstfdsrc.h:
2522           Port fd:// URI handler from 0.8 to fdsrc
2523
2524 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2525
2526         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2527         (gst_value_serialize_fourcc):
2528         * gst/gstvalue.h:
2529           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2530           consistent with our other format defines (#320324).
2531
2532 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2533
2534         * gst/gstvalue.c: (gst_value_is_fixed):
2535           Revert previous commit. Value lists are by definition
2536           not fixed, as they are a list of possible values.
2537
2538 2005-11-21  Andy Wingo  <wingo@pobox.com>
2539
2540         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2541         during the stable series if we need it. Fixes #319178.
2542
2543         * gst/gstevent.c (gst_event_new_filler): Removed.
2544
2545         * check/gst/gstevent.c: Update comment about filler events.
2546
2547 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2548
2549         * gst/gstvalue.c: (gst_value_is_fixed):
2550           Should handle both value arrays and value lists.
2551
2552 2005-11-21  Andy Wingo  <wingo@pobox.com>
2553
2554         patch by: Alessandro Dessina <alessandro nnva org>
2555
2556         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2557         functions to access arrays. Fixes #321962.
2558
2559 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2560
2561         * docs/gst/gstreamer.types:
2562           gst_collectpads_get_type => gst_collect_pads_get_type.
2563           
2564         * gst/base/gstbasetransform.c:
2565           Remove unused SIGNAL_HANDOFF enum.
2566
2567 2005-11-21  Andy Wingo  <wingo@pobox.com>
2568
2569         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2570         the event type (upstream, downstream, serialized). Renamed
2571         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2572         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2573         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2574
2575         * gst/gstevent.c: Update for new CUSTOM event names.
2576
2577         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2578
2579         * gst/gstevent.h:
2580         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2581         bug #319392.
2582
2583 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2584
2585         * docs/gst/gstreamer-sections.txt:
2586         * win32/common/libgstbase.def:
2587         * win32/libgstbase.def:
2588         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2589         (gst_collect_pads_class_init), (gst_collect_pads_init),
2590         (gst_collect_pads_finalize), (gst_collect_pads_new),
2591         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2592         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2593         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2594         (gst_collect_pads_start), (gst_collect_pads_stop),
2595         (gst_collect_pads_peek), (gst_collect_pads_pop),
2596         (gst_collect_pads_available), (gst_collect_pads_read),
2597         (gst_collect_pads_flush), (gst_collect_pads_event),
2598         (gst_collect_pads_chain):
2599         * gst/base/gstcollectpads.h:
2600           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2601           unimplemented functions as unimplemented. Add padding to
2602           GstCollectData. (#320766, #320423)
2603
2604 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2605
2606         * gst/gstmessage.c:
2607           Improve docs for DURATION message (usage of duration parameter)
2608           (#320113)
2609
2610 2005-11-20  Wim Taymans  <wim@fluendo.com>
2611
2612         * check/Makefile.am:
2613         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2614         (main):
2615         * gst/Makefile.am:
2616         * gst/gst.h:
2617         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2618         (gst_segment_set_seek), (gst_segment_set_newsegment),
2619         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2620         (gst_segment_clip):
2621         * gst/gstsegment.h:
2622         Added segment helper structure and methods. Not fully implemented
2623         yet.
2624         Added segment check.
2625
2626 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2627
2628         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2629           Add a deserialisation test for fractions
2630         * examples/metadata/read-metadata.c: (message_loop),
2631         (make_pipeline), (main):
2632           Fix up metadata reading sample.
2633         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2634           Debug format fix
2635         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2636           Don't try and fixate empty caps
2637         * gst/gst_private.h:
2638           Wrap in G_BEGIN_DECLS/G_END_DECLS
2639         * gst/gstvalue.c: (gst_value_collect_fraction),
2640         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2641         (gst_value_transform_string_fraction),
2642         (gst_value_compare_fraction):
2643           Add some extra guards to ensure that we don't end up 
2644           with an invalid denominator of 0 in a gstfraction and
2645           that fractions always get reduced.
2646
2647 2005-11-20  Wim Taymans  <wim@fluendo.com>
2648
2649         * docs/gst/gstreamer-sections.txt:
2650         * gst/gstbuffer.h:
2651         * gst/gstelement.c:
2652         * gst/gstformat.c:
2653         * gst/gstformat.h:
2654         * gst/gstindex.h:
2655         * gst/gstquery.c:
2656         * gst/gstquery.h:
2657         * gst/gstvalue.c:
2658         Doc fixes.
2659
2660 2005-11-20  Wim Taymans  <wim@fluendo.com>
2661
2662         * docs/design/part-TODO.txt:
2663         * gst/gstcaps.h:
2664         Make a proper enum of the flag.
2665
2666 2005-11-19  Wim Taymans  <wim@fluendo.com>
2667
2668         * docs/design/part-TODO.txt:
2669         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2670         (gst_format_to_quark), (gst_format_register):
2671         * gst/gstformat.h:
2672         * gst/gstquery.c: (_gst_query_initialize),
2673         (gst_query_type_get_name), (gst_query_type_to_quark),
2674         (gst_query_type_register):
2675         * gst/gstquery.h:
2676         Add type to quark and type to string conversions.
2677
2678 2005-11-19  Andy Wingo  <wingo@pobox.com>
2679
2680         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2681         #320097.
2682
2683 2005-11-19  Wim Taymans  <wim@fluendo.com>
2684
2685         * docs/design/part-TODO.txt:
2686         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2687         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2688         (gst_bin_handle_message_func):
2689         * gst/gstbin.h:
2690         Make message handling overridable.
2691
2692 2005-11-19  Andy Wingo  <wingo@pobox.com>
2693
2694         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2695
2696         * gst/gstclock.h:
2697         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2698         be a GstClockTime.
2699         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2700         is a GstClockTime. Fixes #321710.
2701
2702         * gst/gstclock.h (GstClock): Remove offset property. Add
2703         internal_calibration and external_calibration. Fix padding. Pad
2704         also by GstClockTime so we don't run into problems.
2705
2706         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2707         (gst_clock_get_rate_offset): Remove.
2708         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2709
2710         * gst/gstutils.h:
2711         * gst/gstutils.c (g_static_rec_cond_wait)
2712         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2713
2714         * gst/gstbin.c: Remove terrible continue_state prototype.
2715
2716         * gst/gstelement.h (gst_element_continue_state): Make public.
2717
2718         * gst/gstelement.h:
2719         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2720         by continue_state. Fixes #319389.
2721
2722         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2723         Really fixes #168438. However I don't see anywhere where the
2724         filter function is called... stupid GStreamer...
2725         
2726         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2727         don't have a dispose function, so it won't get called when the
2728         object is unreffed, but oh well!
2729
2730         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2731         allows a destroy function to be set so user_data can be freed.
2732         Fixes #168438.
2733         (gst_index_set_filter): Call gst_index_set_filter_full.
2734
2735         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2736
2737         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2738         string should produce an error, given the lack of a way to
2739         represent NULL strings. Fixes #165650.
2740         
2741         * gst/gstvalue.h: 
2742         * gst/gstvalue.c (gst_value_array_append_value) 
2743         (gst_value_array_prepend_value, gst_value_array_get_size) 
2744         (gst_value_array_get_value): New API, copied from
2745         gst_value_list_*, only operates on arrays.
2746         (gst_value_list_append_value, gst_value_list_prepend_value) 
2747         (gst_value_list_concat, gst_value_list_get_size) 
2748         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2749
2750         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2751         init_list, because it works on both.
2752         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2753         (gst_value_copy_list_or_array): Renamed from copy_list.
2754         (gst_value_free_list_or_array): Renamed from free_list.
2755         (gst_value_collect_list_or_array): Renamed from collect_list.
2756         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2757         (gst_value_list_or_array_peek_pointer): Renamed from
2758         list_peek_pointer.
2759         (_gst_value_array_value_table, _gst_value_list_value_table):
2760         Update value table functions.
2761         (gst_value_compare_list_or_array): Renamed from compare_list.
2762
2763         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2764         some constness.
2765
2766         * gst/gsttaglist.c:
2767         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2768         GstTagList*. Fixes #143472.
2769
2770         * gst/gststructure.h: Clarify what the foreach/map functions can
2771         or can't do to their arguments.
2772
2773 2005-11-18  Wim Taymans  <wim@fluendo.com>
2774
2775         * gst/gstclock.c: (gst_clock_set_calibration),
2776         (gst_clock_get_calibration):
2777         Doc and API fixes.
2778         Calibration can be set with internal time equal to current
2779         internal time too.
2780
2781 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2782
2783         * gst/gsterror.c:
2784         * gst/gsterror.h:
2785           document
2786
2787 2005-11-18  Andy Wingo  <wingo@pobox.com>
2788
2789         * configure.ac: 
2790         * pkgconfig/gstreamer-net.pc.in:
2791         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2792         * pkgconfig/Makefile.am: Add net pkgconfig files.
2793
2794 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2795
2796         * gst/gstcaps.c:
2797         * gst/gstghostpad.c:
2798         * gst/gsttrace.c:
2799         * gst/gstvalue.c:
2800         * gst/gstvalue.h:
2801           docs fixes
2802
2803 2005-11-18  Andy Wingo  <wingo@pobox.com>
2804
2805         * gst/net/gstnetclientclock.c: Turn off debugging.
2806
2807         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2808         times connverge somewhat. Can't make a real test.
2809
2810         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2811         integer arithmetic. Return the minimum of the domain, which can be
2812         set as "internal" for gst_clock_set_calibration.
2813         (gst_net_client_clock_observe_times): Call _set_calibration.
2814         (gst_net_client_clock_new): Call _set_calibration instead of
2815         rate_offset.
2816
2817         * check/net/gstnetclientclock.c (test_functioning): Use the right
2818         adjustment api.
2819
2820         * gst/gstclock.h:
2821         * gst/gstclock.c (gst_clock_get_calibration) 
2822         (gst_clock_set_calibration): New functions, obsolete the ones I
2823         added yesterday. Doh. Precision issues mean we have to extrapolate
2824         from a point in the more recent past than 1970.
2825         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2826         obsolete.
2827         (gst_clock_adjust_unlocked): Use the right calibration data.
2828
2829 2005-11-18  Edward Hervey  <edward@fluendo.com>
2830
2831         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2832         Also reset the ->current_* values in READY->PAUSED
2833
2834 2005-11-18  Andy Wingo  <wingo@pobox.com>
2835
2836         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2837         Whoops, check the right fd. Also add some debugging.
2838         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2839         (do_linear_regression): Add a crapload of debugging. Subtract off
2840         the minimum values from the input series to discard unneeded bits.
2841         Use only int arithmetic. There is still double arithmetic when
2842         calculating the intercept that needs fixing. Return boolean to
2843         indicate success; FALSE would mean the domain or range is too
2844         great. Still needs fixes.
2845
2846 2005-11-18  Wim Taymans  <wim@fluendo.com>
2847
2848         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2849         For the current position in stream time, we need to subtract
2850         accumulated time.
2851         
2852         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2853         Release lock before calling the callback function of async
2854         entries.
2855
2856 2005-11-18  Andy Wingo  <wingo@pobox.com>
2857
2858         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2859         Port goes all the way to MAXUINT16.
2860
2861         * gst/net/gstnettimeprovider.c: Make the port range the same as
2862         for the kernel: 0 assigns, otherwise ports are less than
2863         MAXUINT16.
2864
2865         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2866         port change.
2867
2868         * check/net/gstnetclientclock.c (test_functioning): Add the start
2869         of another test. 
2870
2871 2005-11-18  Wim Taymans  <wim@fluendo.com>
2872
2873         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2874         (gst_bin_remove_func), (bin_bus_handler):
2875         * gst/gstbin.h:
2876         Removing a clock provider from a bin, triggers a clock lost message
2877         so that a new clock will be selected.
2878         Adding a clock to a bin triggers a clock provider message.
2879         Make sure we reselect a clock when we received a clock lost message.
2880         Keep a reference to the element that provided the clock.
2881
2882 2005-11-18  Andy Wingo  <wingo@pobox.com>
2883
2884         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2885         the clock initially so it produces values around the base time.
2886         (gst_net_client_clock_class_init): Typo fix.
2887         (gst_net_client_clock_thread): Add note on when the socket gets
2888         closed.
2889
2890 2005-11-17  Wim Taymans  <wim@fluendo.com>
2891
2892         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2893         Free remote and local time arrays.
2894
2895 2005-11-17  Wim Taymans  <wim@fluendo.com>
2896
2897         * gst/net/gstnetclientclock.c: (do_linear_regression),
2898         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2899         Fix compilation, uninitialized vars and a forgotten continue.
2900
2901 2005-11-17  Andy Wingo  <wingo@pobox.com>
2902
2903         * check/Makefile.am (check_PROGRAMS): 
2904         * check/net/gstnetclientclock.c: Add a most minimal test for the
2905         net client clock. More to come later.
2906
2907         * gst/net/gstnet.h: 
2908         * gst/net/Makefile.am: Add netclientclock.
2909
2910         * gst/net/gstnetclientclock.h:
2911         * gst/net/gstnetclientclock.c: New files, implement an untested
2912         GstClock that takes its time from a network time provider.
2913         Implements the algorithm in network-clock.scm.
2914
2915         * tests/network-clock.scm (*window-size*): Rename from
2916         *queue-length*.
2917         * tests/network-clock.scm (network-time): 
2918         * tests/network-clock-utils.scm (q-push): Update callers.
2919
2920 2005-11-17  Wim Taymans  <wim@fluendo.com>
2921
2922         * gst/gstbin.c: (gst_bin_provide_clock_func),
2923         (gst_bin_sort_iterator_new):
2924         And unref the child too..
2925
2926 2005-11-17  Wim Taymans  <wim@fluendo.com>
2927
2928         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2929         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2930         Refactor the sort iterator so it can be used while holding the
2931         LOCK too.
2932         Make clock selection select a clock closest to the source.
2933
2934 2005-11-17  Michael Smith <msmith@fluendo.com>
2935
2936         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2937         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2938         * gst/gstclock.h:
2939           Anonymous structs are a gcc (and some other compilers) extension, so
2940           don't use them. Since this is only for ABI-compatibility, and our
2941           API/ABI freeze is over in a few days, this whole thing will only
2942           last a few days, so don't bother trying to think up a meaningful
2943           name for the struct.
2944
2945 2005-11-17  Andy Wingo  <wingo@pobox.com>
2946
2947         * gst/gstclock.h (GstClock): Add rate and offset properties,
2948         preserving ABI stability. Add rate/offset accessors. Will file bug
2949         for the freeze break.
2950
2951         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2952         and offset, trying to keep precision and avoiding
2953         underflow/overflow.
2954         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2955         functions. Make gst_clock_set_time_adjust obsolete.
2956         (gst_clock_set_time_adjust): Note that this function is obsolete.
2957         Will file bug soon.
2958
2959         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2960         greppable by using GST_PADDING-1+1.
2961
2962 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2963
2964         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2965
2966         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2967           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2968
2969         * gst/gstpadtemplate.h:
2970         * gst/gstpluginfeature.h:
2971           Don't use c++ style comments in headers (#321638).
2972
2973 2005-11-16  Andy Wingo  <wingo@pobox.com>
2974
2975         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2976         buffer.
2977
2978         * check/net/gstnettimeprovider.c: Check to see that the time
2979         provider actually provides times. Works, yo!
2980
2981 2005-11-16  Wim Taymans  <wim@fluendo.com>
2982
2983         * check/Makefile.am:
2984         Enable more tests.
2985
2986         * check/elements/fakesrc.c: (GST_START_TEST):
2987         Set element to NULL before disposing it.
2988
2989 2005-11-16  Andy Wingo  <wingo@pobox.com>
2990
2991         * gst/net/Makefile.am:
2992         * gst/net/gstnet.h:
2993         * gst/net/gstnettimeprovider.c: 
2994         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2995         provider, include it from gstnet.h, and add it to the build.
2996
2997         * gst/net/gstnettimepacket.h: 
2998         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2999         sending and receiving.
3000
3001 2005-11-16  Wim Taymans  <wim@fluendo.com>
3002
3003         * check/Makefile.am:
3004         Enable valgrind check.
3005
3006         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3007         (gst_fake_src_alloc_buffer):
3008         Fix memleak.
3009
3010 2005-11-16  Wim Taymans  <wim@fluendo.com>
3011
3012         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3013         Call parent finalize too.
3014
3015 2005-11-16  Wim Taymans  <wim@fluendo.com>
3016
3017         * check/Makefile.am:
3018         Enable valgrind check that should work fine now.
3019
3020         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3021         * gst/gstqueue.c: (gst_queue_init):
3022         Fix memleaks in pad allocation.
3023
3024 2005-11-16  Andy Wingo  <wingo@pobox.com>
3025
3026         * gst/net/Makefile.am:
3027         * gst/net/gstnet.h: New part of core to hold network elements and
3028         objects. Put in core because it exposes API that applications want
3029         to use. The library is named libgstnet-tempname right now because
3030         of the existing libgstnet in gst-plugins-base. Solution is
3031         probably to rename the one in plugins-base; will file a bug for
3032         the freeze break.
3033
3034         * gst/net/gstnettimeprovider.c: 
3035         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3036         get_time call over the network.
3037
3038         * configure.ac: 
3039         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3040
3041         * check/Makefile.am:
3042         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3043         get additions shortly.
3044
3045 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3046
3047         * gst/gstpad.c: (gst_pad_new_from_static_template):
3048         * gst/gstpad.h:
3049           add gst_pad_new_from_static_template functions
3050         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3051         (gst_check_setup_sink_pad):
3052         * gst/elements/gsttee.c: (gst_tee_init):
3053           and use them
3054
3055 2005-11-16  Wim Taymans  <wim@fluendo.com>
3056
3057         * gst/gstpad.c: (gst_pad_pause_task):
3058         Removed warning, it's not really an error either.
3059
3060 2005-11-16  Wim Taymans  <wim@fluendo.com>
3061
3062         * gst/base/gstbasetransform.c:
3063         (gst_base_transform_prepare_output_buf),
3064         (gst_base_transform_event):
3065         Check if the caps are NULL, this can happen if the element
3066         is shutting down and the pad caps are set to NULL.
3067
3068 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3069
3070         * gst/elements/gsttee.c: (gst_tee_init):
3071           fix pad template leak in tee
3072
3073 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3074
3075         * gst/glib-compat.c: (g_value_dup_gst_object):
3076         * gst/glib-compat.h:
3077         * gst/gstpad.c: (gst_pad_set_property):
3078           use gst_object_ref when setting the pad template; this will
3079           trigger the pad template leaks on GLib 2.6 and the slaves
3080
3081 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3082
3083         * gst/glib-compat.c: (gst_flags_get_first_value):
3084         * gst/glib-compat.h:
3085         * gst/gstregistryxml.c:
3086           remove functions copied from GLib 2.6
3087
3088 2005-11-16  Michael Smith <msmith@fluendo.com>
3089
3090         * gst/Makefile.am:
3091           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3092           do, but only breaks with newer valgrind versions. We're not a
3093           valgrind tool, we have no link-time dependencies on libcoregrind.
3094
3095 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3096
3097         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3098           some debug changes
3099         * gst/gstmessage.h:
3100           typo fixes
3101
3102 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3103
3104         * gst/base/gstbasesrc.c: (gst_base_src_init):
3105         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3106         * gst/gstqueue.c: (gst_queue_init):
3107         * gst/gstregistryxml.c: (load_feature):
3108           Revert all these unrefs, they don't even pass make check !
3109
3110 2005-11-15  Johan Dahlin  <johan@gnome.org>
3111
3112         * gst/base/gstbasesrc.c: (gst_base_src_init):
3113         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3114         * gst/gstqueue.c: (gst_queue_init): 
3115         Free pad templates, fixes a couple of leaks.
3116
3117 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3118
3119         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3120
3121         * gst/gstpad.c: (gst_pad_get_property):
3122           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3123           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3124           (#321452)
3125
3126 2005-11-15  Wim Taymans  <wim@fluendo.com>
3127
3128         * gst/gstevent.c:
3129         Small doc update.
3130
3131 2005-11-15  Andy Wingo  <wingo@pobox.com>
3132
3133         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3134
3135         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3136         using GST_CLOCK_TIME_NONE to disable base time management.
3137         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3138         time if it was NONE before.
3139         (gst_pipeline_change_state): Only munge the base time if
3140         stream_time != GST_CLOCK_TIME_NONE.
3141
3142         * check/gst/gstpipeline.c (test_base_time): Punt around the
3143         problem of the probe not being called, because that's not the
3144         issue I'm looking at. Add a check that setting stream_time to NONE
3145         disables base time management.
3146         
3147 2005-11-15  Wim Taymans  <wim@fluendo.com>
3148
3149         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3150         segment_stop == -1 at startup.
3151
3152         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3153         (gst_base_transform_change_state):
3154         Init segment values at start.
3155
3156 2005-11-15  Wim Taymans  <wim@fluendo.com>
3157
3158         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3159         0 segment values are 0 in any format.
3160
3161         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3162         * gst/base/gstbasetransform.h:
3163         Parse newsegment correctly in basetransform
3164
3165         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3166         Sync to clock using updated segment values.
3167
3168 2005-11-15  Andy Wingo  <wingo@pobox.com>
3169
3170         * check/gst/gstpipeline.c (test_base_time): Add check that the
3171         base time and stream time are reset correctly.
3172
3173 2005-11-15  Wim Taymans  <wim@fluendo.com>
3174
3175         * docs/design/part-TODO.txt:
3176         Some more TODO items.
3177
3178 2005-11-15  Andy Wingo  <wingo@pobox.com>
3179
3180         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3181         error if the user selected "no clock" as the clocking method.
3182
3183         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3184         timestamps with live capture.
3185
3186         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3187         is 0 but we are a live source, timestamp the buffers using the
3188         element's clock.
3189
3190 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3191
3192         * docs/gst/gstreamer-sections.txt:
3193         * gst/gsterror.c:
3194         * gst/gstghostpad.c:
3195         * gst/gstobject.h:
3196         * gst/gstxml.c:
3197           more section docs
3198
3199 2005-11-14  Wim Taymans  <wim@fluendo.com>
3200
3201         * common/gst.supp:
3202           add suppressions from Wim's Debian machine
3203
3204 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3205
3206         * common/gst.supp:
3207           add suppressions from Andy's AMD64 Ubuntu machine
3208
3209 2005-11-14  Andy Wingo  <wingo@pobox.com>
3210
3211         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3212         STATE_LOCK not necessary. Fixes #311489.
3213
3214         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3215         #305291.
3216
3217         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3218         this function is not implemented.
3219
3220 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3221
3222         * gst/base/gstbasetransform.c:
3223         (gst_base_transform_prepare_output_buf):
3224         Ref the source pad caps while we need them.
3225         Fixes (#321386)
3226
3227 2005-11-11  Wim Taymans  <wim@fluendo.com>
3228
3229         * docs/gst/gstreamer-sections.txt:
3230         Added some docs for GstCollectData.
3231
3232         * gst/base/gstadapter.c:
3233         Some small code example fix.
3234
3235         * gst/base/gstcollectpads.c:
3236         * gst/base/gstcollectpads.h:
3237         Document some more.
3238
3239 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3240
3241         * configure.ac: back to HEAD
3242
3243 === release 0.9.5 ===
3244
3245 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3246
3247         * configure.ac:
3248           releasing 0.9.5, "Bike Lunch Day"
3249
3250 2005-11-11  Wim Taymans  <wim@fluendo.com>
3251
3252         * gst/gstbuffer.c: (_gst_buffer_copy):
3253         Copy more flags.
3254
3255         * gst/gstcaps.c: (gst_caps_is_equal):
3256         Fix some docs.
3257         Make _is_equal fast in the trivial cases.
3258
3259         * gst/gstminiobject.c:
3260         * gst/gstminiobject.h:
3261         More docs. Spifify .h file.
3262
3263         * gst/gstutils.c:
3264         Small doc update.
3265
3266 2005-11-11  Wim Taymans  <wim@fluendo.com>
3267
3268         * gst/base/gstbasetransform.c:
3269         (gst_base_transform_prepare_output_buf),
3270         (gst_base_transform_handle_buffer):
3271         Small cleanups.
3272         If we're processing a buffer and need to allocate an output
3273         buffer, we cannot accept a format change. If we did get a 
3274         format change, we have to alloc a buffer ourselves of the 
3275         right size.
3276
3277 2005-11-11  Wim Taymans  <wim@fluendo.com>
3278
3279         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3280         While checking the flag for reentrancy in the gstcaps function
3281         is nice to detect recursive invocations, it also makes it 
3282         impossible to call getcaps from multiple threads, which must be
3283         possible. So, checking for recursive calls has to go.
3284
3285 2005-11-11  Michael Smith <msmith@fluendo.com>
3286
3287         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3288           Don't sync on buffers that fall partially outside our current
3289           segment. Prevents an assertion failure/abort playing some files.
3290
3291 2005-11-10  Andy Wingo  <wingo@pobox.com>
3292
3293         * check/gst/gstbin.c (test_message_state_changed_children): Style
3294         fix..
3295
3296         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3297         gst_bus_poll with the signal watch. Ensures that poll and a signal
3298         watch see the same messages.
3299
3300         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3301         a poll and a watch at the same time get the same messages.
3302
3303 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3304
3305         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3306         * gst/gstcaps.c: (gst_caps_intersect):
3307           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3308           and it's not needed.
3309
3310 2005-11-10  Wim Taymans  <wim@fluendo.com>
3311
3312         * docs/design/part-TODO.txt:
3313         Updated todo.
3314
3315 2005-11-10  Wim Taymans  <wim@fluendo.com>
3316
3317         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3318         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3319         (gst_base_src_do_sync), (gst_base_src_get_range):
3320         Implement clock sync in base class.
3321
3322 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3323
3324         patch by: Tim-Philipp Müller <tim at centricular dot net>
3325
3326         * gst/gststructure.c: (gst_structure_parse_field),
3327         (gst_structure_from_string):
3328           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3329           so that gst_parse_launch() can deal with spaces in filtered link
3330           caps (fixes #164479)
3331         * check/gst/capslist.h:
3332         * check/gst/gststructure.c: (GST_START_TEST):
3333           add unit tests for this change
3334
3335 2005-11-10  Wim Taymans  <wim@fluendo.com>
3336
3337         * docs/gst/gstreamer-sections.txt:
3338         * gst/gstelement.c:
3339         * gst/gstelement.h:
3340         Fix docs, move some STATE macros to private.
3341
3342 2005-11-10  Wim Taymans  <wim@fluendo.com>
3343
3344         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3345         Added check for bug #317341
3346
3347         * gst/gstbuffer.c:
3348         * gst/gstbuffer.h:
3349         Some more spiffifying.
3350
3351         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3352         Call peer linkfunction if we are a source pad. Totally fixes
3353         #317341
3354
3355         * gst/gstpad.c:
3356         Update docs, source pads should call the peer linkfunction
3357         so they can atomically perform the pad link.
3358
3359 2005-11-09  Wim Taymans  <wim@fluendo.com>
3360
3361         * gst/gstbuffer.c:
3362         * gst/gstbuffer.h:
3363         Uber-spiffy-spiffify some more.
3364
3365 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3366
3367         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3368         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3369         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3370         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3371         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3372         * gst/gstpad.c: (gst_pad_init):
3373           Use GST_DEBUG_FUNCPTR() more extensively.
3374
3375 2005-11-09  Wim Taymans  <wim@fluendo.com>
3376
3377         * gst/gstobject.c: (gst_object_class_init):
3378         * gst/gstobject.h:
3379         Documentation fixes.
3380
3381 2005-11-09  Edward Hervey  <edward@fluendo.com>
3382
3383         * gst/gsttypefindfactory.c:
3384         Fix docs.
3385         
3386 2005-11-09  Edward Hervey  <edward@fluendo.com>
3387
3388         * gst/base/gsttypefindhelper.c:
3389         * gst/gsttypefind.c:
3390         * gst/gsttypefind.h:
3391         Fix docs.
3392
3393 2005-11-09  Wim Taymans  <wim@fluendo.com>
3394
3395         * gst/gstiterator.c:
3396         Fix revision data.
3397
3398         * gst/gsttask.c:
3399         * gst/gsttask.h:
3400         Fix docs.
3401
3402 2005-11-09  Wim Taymans  <wim@fluendo.com>
3403
3404         * gst/gstevent.h:
3405         * gst/gsturi.h:
3406         Fix docs.
3407
3408 2005-11-09  Wim Taymans  <wim@fluendo.com>
3409
3410         * docs/gst/gstreamer-sections.txt:
3411         Moved the message async delivery private lock and cond
3412         to the private section.
3413
3414         * gst/gstmessage.c:
3415         * gst/gstmessage.h:
3416         Fixed docs.
3417
3418 2005-11-09  Edward Hervey  <edward@fluendo.com>
3419
3420         * docs/gst/gstreamer-sections.txt:
3421         * gst/gsturi.c:
3422         * gst/gsturi.h:
3423         Document GstURIHandler
3424
3425 2005-11-09  Wim Taymans  <wim@fluendo.com>
3426
3427         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3428         (gst_iterator_find_custom):
3429         * gst/gstiterator.h:
3430         Fix iterator docs.
3431
3432 2005-11-09  Wim Taymans  <wim@fluendo.com>
3433
3434         * gst/gstbin.h:
3435         Document another field.
3436
3437         * gst/gststructure.c:
3438         * gst/gststructure.h:
3439         Document.
3440
3441 2005-11-09  Wim Taymans  <wim@fluendo.com>
3442
3443         * gst/gstbin.h:
3444         Documented structs.
3445
3446 2005-11-09  Wim Taymans  <wim@fluendo.com>
3447
3448         * docs/gst/gstreamer-sections.txt:
3449         Added some new macros.
3450
3451         * gst/gstclock.c:
3452         * gst/gstclock.h:
3453         * gst/gstobject.h:
3454         Docs updates.
3455
3456 2005-11-09  Wim Taymans  <wim@fluendo.com>
3457
3458         * docs/design/part-TODO.txt:
3459         Some more items for the TODO
3460
3461         * gst/gstcaps.c:
3462         * gst/gstcaps.h:
3463         Document GstCaps.
3464
3465 2005-11-09  Andy Wingo  <wingo@pobox.com>
3466
3467         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3468         to work on something else now tho...
3469
3470         * gst/base/gstadapter.c: More adapter docs.
3471
3472         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3473         (gst_file_sink_stop): New functions, replace the state change
3474         handler.
3475         (gst_file_sink_class_init): Hook up the start and stop functions.
3476         (gst_file_sink_base_init): Don't set the state change handler any
3477         more. It was a bit ugly too, being set from here...
3478         (gst_file_sink_get_property, gst_file_sink_set_property):
3479         Cleanups...
3480         (gst_file_sink_set_location): More robust check that doesn't call
3481         GST_STATE. Ugggggg.
3482
3483 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3484
3485         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3486           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3487
3488 2005-11-08  Wim Taymans  <wim@fluendo.com>
3489
3490         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3491         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3492         (gst_base_sink_chain), (gst_base_sink_change_state):
3493         * gst/base/gstbasesink.h:
3494         * gst/base/gstbasesrc.h:
3495         * gst/gstelement.h:
3496         * gst/gstevent.h:
3497         Avoid excessive typechecking in macros.
3498
3499         * gst/gstminiobject.c: (gst_mini_object_get_type),
3500         (gst_mini_object_init), (gst_mini_object_new),
3501         (gst_mini_object_free):
3502         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3503         (gst_object_finalize):
3504         Remove cruft code, optimize alloc_trace.
3505
3506 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3507
3508         * docs/faq/gst-uninstalled:
3509           fix up PS1 for systems that try to reset it
3510
3511 2005-11-07  Wim Taymans  <wim@fluendo.com>
3512
3513         * gst/base/gstbasesrc.c: (gst_base_src_init),
3514         (gst_base_src_get_range):
3515         Set the segment_end to -1 initially. Fixed typefind.
3516
3517 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3518
3519         * gst/base/gstadapter.c:
3520           Debug category should be 'adapter', not 'GstAdapter'.
3521           
3522         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3523         (gst_collectpads_class_init), (gst_collectpads_init),
3524         (gst_collectpads_peek), (gst_collectpads_pop),
3525         (gst_collectpads_event), (gst_collectpads_chain):
3526           Add debug category and some debugging output. Use boilerplate
3527           macros. Remove some extraneous words from docs.
3528
3529 2005-11-05  Andy Wingo  <wingo@pobox.com>
3530
3531         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3532         macro.
3533
3534 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3535
3536         * docs/gst/gstreamer-sections.txt:
3537         * gst/gstcaps.h:
3538         * gst/gstinfo.c:
3539         * gst/gstminiobject.h:
3540         * gst/gstobject.h:
3541         * gst/gstutils.h:
3542           more docs added
3543
3544 2005-11-04  Wim Taymans  <wim@fluendo.com>
3545
3546         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3547         Small update to stop at the configured segment_end
3548         position.
3549
3550 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3551
3552         * gst/gstregistry.c:
3553         * gst/gstregistry.h:
3554           added missing docs
3555
3556 2005-11-04  Edward Hervey  <edward@fluendo.com>
3557
3558         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3559         Check if we are doing a segment seek and have arrived at the
3560         end of that segment.
3561
3562 2005-11-04  Wim Taymans  <wim@fluendo.com>
3563
3564         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3565         Don't leak a mutex unlock in case of an error.
3566
3567         * gst/gstbus.h:
3568         Doc fixes.
3569
3570 2005-11-04  Wim Taymans  <wim@fluendo.com>
3571
3572         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3573         (gst_bus_post):
3574         Get the context to wake up only once.
3575
3576 2005-11-03  Wim Taymans  <wim@fluendo.com>
3577
3578         * check/states/sinks.c: (GST_START_TEST):
3579         Uncomment fixed check.
3580
3581         * docs/design/part-TODO.txt:
3582         Updated TODO.
3583
3584         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3585         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3586         (gst_base_sink_get_position):
3587         If we are going to PLAYING, post the right pending state
3588         when we post the intermediate paused message.
3589
3590         * gst/gstelement.c: (gst_element_continue_state),
3591         (gst_element_set_state_func), (gst_element_change_state):
3592         Don't post state changes that were between the same state
3593         and were not ASYNC.
3594
3595 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3596
3597         * docs/gst/gstreamer-sections.txt:
3598         * gst/gstcaps.h:
3599         * gst/gstinfo.c:
3600         * gst/gstminiobject.h:
3601         * gst/gstobject.h:
3602         * gst/gstutils.h:
3603           more docs and doc style fixes
3604
3605 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3606
3607         * docs/gst/gstreamer-sections.txt:
3608         * gst/gstelement.c:
3609         * gst/gstminiobject.c:
3610         doc fixes
3611
3612 2005-11-03  Andy Wingo  <wingo@pobox.com>
3613
3614         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3615         state-changed messages actually have the right order and the right
3616         values.
3617
3618 2005-11-03  Wim Taymans  <wim@fluendo.com>
3619
3620         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3621         Added some more checks. Specifically the case where NO_PREROLL
3622         elements are in the pipeline.
3623
3624         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3625         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3626         (gst_base_sink_get_position):
3627         Post READY->PAUSED state change messages too.
3628         Fix bug where VOID was posted as pending state...
3629
3630         * gst/gstbin.c: (gst_bin_recalc_state):
3631         use _element_continue_state() to continue the state change.
3632
3633         * gst/gstelement.c: (gst_element_continue_state),
3634         (gst_element_commit_state), (gst_element_set_state_func),
3635         (gst_element_change_state), (gst_element_change_state_func):
3636         Lots of state change cleanups, assign the STATE_RETURN in
3637         a new continue_state() function that also propagates the
3638         last return value from a state change to the app.
3639         Update some debug statements with proper category.
3640
3641 2005-11-03  Wim Taymans  <wim@fluendo.com>
3642
3643         * docs/design/part-events.txt:
3644         * docs/design/part-gstpipeline.txt:
3645         * docs/design/part-messages.txt:
3646         * docs/design/part-overview.txt:
3647         * docs/design/part-seeking.txt:
3648         * docs/design/part-states.txt:
3649         * docs/design/part-trickmodes.txt:
3650         * docs/manual/advanced-position.xml:
3651         Small docs updates.
3652
3653         * gst/gstobject.h:
3654         People think !! is ugly, this looks better.
3655
3656         * gst/gstpad.c: (gst_pad_set_blocked_async):
3657         Remove !! since it's fixed elsewhere now.
3658
3659 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3660
3661         * gst/gstminiobject.h:
3662         * gst/gstobject.h:
3663           Add !! to _FLAG_IS_SET macros to make the result boolean.
3664
3665 2005-11-03  Edward Hervey  <edward@fluendo.com>
3666
3667         * gst/gstpad.c: (gst_pad_set_blocked_async):
3668         comparing a flag and a gboolean rarely returns coherent results...
3669         Added two characters (!!) to make that work correctly.
3670         
3671 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3672
3673         * gst/gstbus.c: (gst_bus_class_init):
3674           Fix some typos.
3675           
3676         * gst/gstqueue.c: (gst_queue_loop):
3677           Don't assume a miniobject that isn't a buffer is an
3678           event (it could be that there is a refcounting
3679           problem somewhere and the pointer is stale and
3680           refers to an already destroyed miniobject).
3681
3682 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3683
3684         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3685
3686 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3687
3688         * docs/manual/advanced-position.xml:
3689           Update seek example and explanations to current 0.9 API.
3690
3691         * gst/elements/gsttypefindelement.c:
3692         (gst_type_find_element_activate):
3693           Remove FIXME comment now that the found caps
3694           are unreffed.
3695
3696 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3697
3698         * gst/gstregistryxml.c: (load_feature):
3699           Add another GST_STR_NULL instance
3700
3701 2005-11-02  Edward Hervey  <edward@fluendo.com>
3702
3703         * gst/gstpad.c: (handle_pad_block):
3704         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3705         
3706 2005-11-02  Wim Taymans  <wim@fluendo.com>
3707
3708         * gst/gstbin.c:
3709         Fix typo in docs.
3710
3711         * gst/gstelement.c: (gst_element_commit_state):
3712         Remove unused value.
3713
3714         * gst/gstiterator.c:
3715         Mention that the returned element is reffed in the docs.
3716
3717 2005-11-02  Wim Taymans  <wim@fluendo.com>
3718
3719         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3720         (gst_pad_push), (gst_pad_push_event):
3721         Unlock blocked pads when they are flushed.
3722
3723 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3724
3725         * docs/README:
3726         * docs/gst/gstreamer-sections.txt:
3727         * gst/gstbin.c:
3728           doc updates
3729         * gst/gstregistry.c: (gst_registry_scan_path_level):
3730           fix for a nasty little missed situation where an installed plug-in
3731           which was in the cache did not get overridden by an uninstalled one
3732           which was earlier in the plugin path because the newly created plugin
3733           for the uninstalled one (not in the registry) didn't get its
3734           ->registered set to TRUE
3735
3736 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3737
3738         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3739         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3740         (gst_collectpads_is_active), (gst_collectpads_collect),
3741         (gst_collectpads_collect_range), (gst_collectpads_start),
3742         (gst_collectpads_stop), (gst_collectpads_peek),
3743         (gst_collectpads_pop), (gst_collectpads_available),
3744         (gst_collectpads_read), (gst_collectpads_flush):
3745           Guard public API with assertions.
3746         
3747         * gst/gstpad.c:
3748           Fix docs for gst_pad_set_link_function().
3749
3750 2005-11-02  Johan Dahlin  <johan@gnome.org>
3751
3752         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3753         Unref found_caps after we used it.
3754
3755 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3756
3757         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3758           Don't try to ref NULL.
3759
3760 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3761
3762         * win32/common/config.h.in:
3763           provide a GST_FUNCTION that just gives a string for now
3764
3765 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3766
3767         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3768         (gst_object_flags_get_type), (register_gst_bin_flags),
3769         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3770         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3771         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3772         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3773         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3774         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3775         (gst_clock_flags_get_type), (register_gst_state),
3776         (gst_state_get_type), (register_gst_state_change_return),
3777         (gst_state_change_return_get_type), (register_gst_state_change),
3778         (gst_state_change_get_type), (register_gst_element_flags),
3779         (gst_element_flags_get_type), (register_gst_core_error),
3780         (gst_core_error_get_type), (register_gst_library_error),
3781         (gst_library_error_get_type), (register_gst_resource_error),
3782         (gst_resource_error_get_type), (register_gst_stream_error),
3783         (gst_stream_error_get_type), (register_gst_event_type),
3784         (gst_event_type_get_type), (register_gst_seek_type),
3785         (gst_seek_type_get_type), (register_gst_seek_flags),
3786         (gst_seek_flags_get_type), (register_gst_format),
3787         (gst_format_get_type), (register_gst_index_certainty),
3788         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3789         (gst_index_entry_type_get_type),
3790         (register_gst_index_lookup_method),
3791         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3792         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3793         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3794         (gst_index_flags_get_type), (register_gst_debug_level),
3795         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3796         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3797         (gst_iterator_result_get_type), (register_gst_iterator_item),
3798         (gst_iterator_item_get_type), (register_gst_message_type),
3799         (gst_message_type_get_type), (register_gst_mini_object_flags),
3800         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3801         (gst_pad_link_return_get_type), (register_gst_flow_return),
3802         (gst_flow_return_get_type), (register_gst_activate_mode),
3803         (gst_activate_mode_get_type), (register_gst_pad_direction),
3804         (gst_pad_direction_get_type), (register_gst_pad_flags),
3805         (gst_pad_flags_get_type), (register_gst_pad_presence),
3806         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3807         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3808         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3809         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3810         (gst_plugin_flags_get_type), (register_gst_rank),
3811         (gst_rank_get_type), (register_gst_query_type),
3812         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3813         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3814         (gst_tag_flag_get_type), (register_gst_task_state),
3815         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3816         (gst_alloc_trace_flags_get_type),
3817         (register_gst_type_find_probability),
3818         (gst_type_find_probability_get_type), (register_gst_uri_type),
3819         (gst_uri_type_get_type), (register_gst_parse_error),
3820         (gst_parse_error_get_type):
3821         * win32/common/gstversion.h:
3822           update win32 copies
3823
3824 2005-11-01  Luca Ognibene  <luogni@tin.it>
3825
3826         * gst/gst.c:
3827           fix docs. popt is dead, long live GOption.
3828
3829 2005-10-31  Wim Taymans  <wim@fluendo.com>
3830
3831         * gst/gstbuffer.h:
3832         Small doc fix.
3833
3834 2005-10-31  Andy Wingo  <wingo@pobox.com>
3835
3836         * Boo!
3837
3838         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3839
3840         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3841         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3842         the possibility of deadlocks here if code calling notify() or
3843         set() has a lock that can be taken in another notify handler (ABBA
3844         with class lock and e.g. python GIL state lock).
3845
3846 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3847
3848         * gst/gstbus.c: Doc updates.
3849
3850 2005-10-28  Wim Taymans  <wim@fluendo.com>
3851
3852         * docs/design/part-TODO.txt:
3853         * gst/gstiterator.c:
3854         * gst/gstsystemclock.c:
3855         * gst/gstsystemclock.h:
3856         Doc updates.
3857
3858 2005-10-28  Edward Hervey  <edward@fluendo.com>
3859
3860         * docs/gst/gstreamer-docs.sgml:
3861         * docs/gst/gstreamer-sections.txt:
3862         the GstURIType documentation page is private, it only defines GstURIType
3863         which should be defined in the GstURIHandler page
3864         
3865 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3866
3867         * gst/gstbin.c: (gst_bin_class_init):
3868         * gst/gstbin.h:
3869         * gst/gstutils.c:
3870         Documentation updates.
3871
3872 2005-10-28  Wim Taymans  <wim@fluendo.com>
3873
3874         * docs/gst/gstreamer-sections.txt:
3875         * gst/gstclock.c:
3876         * gst/gstclock.h:
3877         Documented the clocks.
3878
3879 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3880
3881         * docs/gst/gstreamer-sections.txt:
3882           move some macros to private sections
3883         * gst/gstminiobject.c:
3884         * gst/gstminiobject.h:
3885           add descriptions provided by ds and some more
3886         * gst/gstpad.h:
3887           mark macro as to be removed
3888
3889 2005-10-28  Wim Taymans  <wim@fluendo.com>
3890
3891         * docs/design/part-TODO.txt:
3892         Add an item to TODO.
3893
3894         * gst/gstiterator.c: (gst_iterator_fold),
3895         (gst_iterator_find_custom):
3896         * gst/gstiterator.h:
3897         Add iterator docs.
3898
3899 2005-10-28  Wim Taymans  <wim@fluendo.com>
3900
3901         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3902         (gst_base_transform_init):
3903         Don't leak class.
3904
3905         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3906         An EOS event marks the queue as completely filled.
3907
3908 2005-10-27  Wim Taymans  <wim@fluendo.com>
3909
3910         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3911         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3912         Some more debugging.
3913
3914         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3915         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3916         (gst_base_transform_event), (gst_base_transform_getrange),
3917         (gst_base_transform_chain):
3918         * gst/base/gstbasetransform.h:
3919         Fix debugging,
3920         Protect transform and concurrent buffer alloc with a new lock.
3921         Try not to break ABI/API.
3922
3923 2005-10-27  Wim Taymans  <wim@fluendo.com>
3924
3925         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3926         (gst_base_src_init), (gst_base_src_query),
3927         (gst_base_src_default_newsegment),
3928         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3929         (gst_base_src_send_event), (gst_base_src_event_handler),
3930         (gst_base_src_pad_get_range), (gst_base_src_loop),
3931         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3932         (gst_base_src_start), (gst_base_src_deactivate),
3933         (gst_base_src_activate_push), (gst_base_src_change_state):
3934         Move some stuff around and cleanup things.
3935
3936 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3937
3938         * gst/base/gstbasesrc.c: (gst_base_src_query):
3939           Add missing break statements.
3940
3941 2005-10-27  Wim Taymans  <wim@fluendo.com>
3942
3943         * check/gst/gstbin.c: (GST_START_TEST):
3944         An extra refcount is taken in basesrc.
3945
3946         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3947         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3948         (gst_base_src_loop):
3949         Small cleanups, check for flushing after being unlocked from the 
3950         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3951         Don't send out EOS when going to READY.
3952
3953 2005-10-27  Wim Taymans  <wim@fluendo.com>
3954
3955         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3956         (gst_base_sink_get_position):
3957         Some more debug.
3958
3959         * gst/gstbin.c: (message_check), (bin_replace_message),
3960         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3961         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3962         (bin_query_duration_init), (bin_query_duration_fold),
3963         (bin_query_duration_done), (bin_query_generic_fold),
3964         (gst_bin_query):
3965         * tools/gst-launch.c: (main):
3966         Remove old option.
3967
3968 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3969
3970         * examples/controller/audio-example.c: (main):
3971         * examples/queue/queue.c: (event_loop):
3972         * gst/base/gstbasetransform.h:
3973         * gst/gstelement.c: (gst_element_send_event):
3974         * gst/gstevent.h:
3975         * gst/gstpad.c: (gst_pad_send_event):
3976           fixing examples
3977           fixing docs typos
3978           changing log priority in error situations
3979
3980 2005-10-25  Wim Taymans  <wim@fluendo.com>
3981
3982         * gst/gstbin.c: (message_check), (bin_replace_message),
3983         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3984         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3985         (bin_query_duration_init), (bin_query_duration_fold),
3986         (bin_query_duration_done), (bin_query_generic_fold),
3987         (gst_bin_query):
3988         Some doc and debug updates.
3989         Cache previously requested query DURATION for speed. invalidate
3990         cached duration if element posts a DURATION message.
3991
3992 2005-10-25  Wim Taymans  <wim@fluendo.com>
3993
3994         * docs/design/part-TODO.txt:
3995         Update TODO.
3996
3997         * gst/gstbin.c: (message_check), (bin_replace_message),
3998         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3999         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4000         (bin_query_duration_init), (bin_query_duration_fold),
4001         (bin_query_duration_done), (bin_query_generic_fold),
4002         (gst_bin_query):
4003         Handle SEGMENT_START/DONE messages correctly.
4004         More evolved query algorithm that handles duration queries
4005         correctly.
4006
4007         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4008         (gst_element_get_state_func), (gst_element_abort_state),
4009         (gst_element_commit_state), (gst_element_lost_state):
4010         Some more debugging.
4011
4012         * gst/gstmessage.h:
4013         Added doc.
4014
4015 2005-10-25  Wim Taymans  <wim@fluendo.com>
4016
4017         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4018         Don't use invalid stream_time.
4019
4020         * gst/gstevent.c: (gst_event_new_newsegment):
4021         stream_time in newsegment cannot be undefined.
4022
4023 2005-10-24  Wim Taymans  <wim@fluendo.com>
4024
4025         * gst/gstbus.c:
4026         Doc fix.
4027
4028         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4029         (gst_queue_loop):
4030         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4031
4032 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4033
4034         * docs/libs/tmpl/gstdparam.sgml:
4035         * docs/libs/tmpl/gstdplinint.sgml:
4036         * docs/libs/tmpl/gstdpman.sgml:
4037         * docs/libs/tmpl/gstdpsmooth.sgml:
4038         * docs/libs/tmpl/gstunitconvert.sgml:
4039           these are obsolete
4040
4041 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4042
4043         * configure.ac:
4044           back to HEAD
4045
4046 === release 0.9.4 ===
4047
4048 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4049
4050         * configure.ac:
4051           releasing 0.9.4, "Tyrannosaurus Rex"
4052
4053 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4054
4055         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4056         (gst_file_sink_get_current_offset):
4057           Use fseeko() and ftello() if available. When falling back on
4058           lseek() to get the current offset, fflush() first to make sure
4059           everything is up-to-date and we get the right offset.
4060
4061 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4062
4063         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4064         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4065         * gst/gsterror.c: (_gst_stream_errors_init):
4066         * gst/gsterror.h:
4067         * gst/gstqueue.c: (gst_queue_loop):
4068         * po/POTFILES.in:
4069           remove prematurely added error category and clean up the instances
4070
4071 2005-10-21  Wim Taymans  <wim@fluendo.com>
4072
4073         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4074         (gst_base_sink_get_position), (gst_base_sink_query),
4075         (gst_base_sink_change_state):
4076         Simply set the right flag when going to playing, that's all
4077         we need to do instead of calling a function inside the object
4078         lock (that could take the lock as well and deadlock)
4079
4080 2005-10-21  Wim Taymans  <wim@fluendo.com>
4081
4082         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4083         (gst_base_src_loop):
4084         Don't warn, the peer element knows what to do best when
4085         the seek failed, it might try something else.
4086
4087 2005-10-21  Wim Taymans  <wim@fluendo.com>
4088
4089         * gst/base/gstbasesrc.c: (gst_base_src_init),
4090         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4091         Fix seeking.
4092
4093 2005-10-21  Wim Taymans  <wim@fluendo.com>
4094
4095         * docs/design/part-segments.txt:
4096         More docs.
4097
4098         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4099         Correctly set caps, even on the subbufer.
4100
4101 2005-10-21  Wim Taymans  <wim@fluendo.com>
4102
4103         * docs/gst/gstreamer-docs.sgml:
4104         * docs/gst/gstreamer-sections.txt:
4105         * gst/gstelement.h:
4106         * gst/gstevent.c:
4107         * gst/gstevent.h:
4108         * gst/gstmessage.h:
4109         * gst/gstpad.h:
4110         * gst/gstparse.h:
4111         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4112         * gst/gsttask.h:
4113         * gst/gstutils.c:
4114         * gst/gstutils.h:
4115         And 2% more doc coverage.
4116
4117 2005-10-21  Andy Wingo  <wingo@pobox.com>
4118
4119         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4120         position reporting.
4121
4122 2005-10-20  Wim Taymans  <wim@fluendo.com>
4123
4124         * gst/gsterror.c: (gst_error_get_message):
4125         * gst/gstparse.h:
4126         * gst/gstquery.h:
4127         * gst/gststructure.c:
4128         * gst/gsttrace.c:
4129         * gst/gstutils.c:
4130         More docs.
4131
4132 2005-10-20  Wim Taymans  <wim@fluendo.com>
4133
4134         * gst/gstbuffer.h:
4135         * gst/gstpad.c:
4136         * gst/gstparse.c:
4137         Another 1% more coverage.
4138
4139 2005-10-20  Wim Taymans  <wim@fluendo.com>
4140
4141         * docs/gst/gstreamer-sections.txt:
4142         * gst/gstelement.c: (gst_element_get_state_func),
4143         (gst_element_abort_state), (gst_element_commit_state),
4144         (gst_element_lost_state):
4145         * gst/gstevent.h:
4146         * gst/gstquery.c: (gst_query_set_position),
4147         (gst_query_parse_position), (gst_query_set_duration),
4148         (gst_query_parse_duration), (gst_query_new_convert):
4149         * gst/gstutils.c:
4150         Yay! 1% more docs coverage.
4151
4152 2005-10-20  Wim Taymans  <wim@fluendo.com>
4153
4154         * gst/gstpad.h:
4155         * gst/gstquery.c: (gst_query_set_position),
4156         (gst_query_parse_position), (gst_query_set_duration),
4157         (gst_query_parse_duration), (gst_query_new_convert):
4158         * gst/gstquery.h:
4159         * gst/gstutils.c: (gst_element_query_convert):
4160         * gst/gstutils.h:
4161         Docs and consistency fixes.
4162
4163 2005-10-20  Wim Taymans  <wim@fluendo.com>
4164
4165         * gst/gsttask.c:
4166         * gst/gsttask.h:
4167         More docs.
4168
4169 2005-10-20  Wim Taymans  <wim@fluendo.com>
4170
4171         * gst/gstbin.c: (message_check), (bin_replace_message),
4172         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4173         (update_degree), (gst_bin_sort_iterator_next),
4174         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4175         Reworked the message handling a bit, cache the messages instead of
4176         only the senders. alows us to do more in the future.
4177
4178 2005-10-20  Wim Taymans  <wim@fluendo.com>
4179
4180         * docs/design/part-TODO.txt:
4181         Update TODO
4182
4183         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4184         (gst_base_sink_query):
4185         Don't use clock time to report position when in EOS.
4186
4187 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4188
4189         * tools/gst-inspect.c: (print_interfaces),
4190         (print_element_properties_info), (print_element_info):
4191           Fix interface output with gst-inspect -a; don't print
4192           newlines after double/float properties.
4193
4194 2005-10-20  Wim Taymans  <wim@fluendo.com>
4195
4196         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4197         (gst_base_sink_query):
4198         Speed up current position calculation.
4199
4200         * gst/base/gstbasesrc.c: (gst_base_src_query),
4201         (gst_base_src_default_newsegment):
4202         Correctly set stream position in newsegment.
4203
4204         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4205         (update_degree), (gst_bin_sort_iterator_next),
4206         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4207         * gst/gstmessage.c: (gst_message_new_custom):
4208         Clean up debugging info
4209
4210         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4211         (gst_queue_loop), (gst_queue_handle_src_query):
4212         Pause task faster.
4213
4214 2005-10-19  Wim Taymans  <wim@fluendo.com>
4215
4216         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4217         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4218         Fix query handling again.
4219
4220 2005-10-19  Wim Taymans  <wim@fluendo.com>
4221
4222         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4223         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4224         * gst/base/gstbasesrc.c: (gst_base_src_query):
4225         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4226         * gst/elements/gsttypefindelement.c:
4227         (gst_type_find_handle_src_query), (find_element_get_length),
4228         (gst_type_find_element_activate):
4229         API change fix.
4230
4231         * gst/gstquery.c: (gst_query_new_position),
4232         (gst_query_set_position), (gst_query_parse_position),
4233         (gst_query_new_duration), (gst_query_set_duration),
4234         (gst_query_parse_duration), (gst_query_set_segment),
4235         (gst_query_parse_segment):
4236         * gst/gstquery.h:
4237         Bundling query position/duration is not a good idea since duration
4238         does not change much and we don't want to recalculate it for every
4239         position query, so they are separated again..
4240         Base value in segment query is not needed.
4241
4242         * gst/gstqueue.c: (gst_queue_handle_src_query):
4243         * gst/gstutils.c: (gst_element_query_position),
4244         (gst_element_query_duration), (gst_pad_query_position),
4245         (gst_pad_query_duration):
4246         * gst/gstutils.h:
4247         Updates for query API change.
4248         Added some docs here and there.
4249
4250 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4251
4252         * check/gst/gstbin.c: (GST_START_TEST):
4253         * check/gst/gstghostpad.c: (GST_START_TEST):
4254         * check/pipelines/cleanup.c: (GST_START_TEST):
4255           wait on thread to die so we can check refcount correctly
4256
4257 2005-10-18  Wim Taymans  <wim@fluendo.com>
4258
4259         * check/pipelines/stress.c: (GST_START_TEST):
4260         Make check a little more time consuming.
4261
4262 2005-10-18  Wim Taymans  <wim@fluendo.com>
4263
4264         * check/Makefile.am:
4265         * check/pipelines/stress.c: (GST_START_TEST),
4266         (simple_launch_lines_suite), (main):
4267         Small state change torture test.
4268
4269         * docs/design/part-states.txt:
4270         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4271         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4272         (gst_base_sink_change_state):
4273         Never take state lock from streaming thread, clean up ugly
4274         hacks. Unfortunatly core does not yet support nice ways to
4275         async commit state.
4276         
4277         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4278         (bin_bus_handler):
4279         Start state recalc if a STATE_DIRTY message is posted, but only
4280         on the toplevel bin.
4281
4282         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4283         (gst_element_get_state_func), (gst_element_abort_state),
4284         (gst_element_commit_state), (gst_element_lost_state),
4285         (gst_element_set_state_func), (gst_element_change_state):
4286         * gst/gstelement.h:
4287         State variables are now protected with the LOCK, the state
4288         lock is only used to serialize _set_state().
4289
4290 2005-10-18  Wim Taymans  <wim@fluendo.com>
4291
4292         * check/gst/gstbin.c: (GST_START_TEST):
4293         * check/gst/gstmessage.c: (GST_START_TEST):
4294         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4295         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4296         (bin_bus_handler):
4297         * gst/gstelement.c: (gst_element_abort_state),
4298         (gst_element_commit_state), (gst_element_lost_state):
4299         * gst/gstmessage.c: (gst_message_new_state_changed),
4300         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4301         (gst_message_new_segment_done), (gst_message_new_duration),
4302         (gst_message_parse_state_changed),
4303         (gst_message_parse_segment_start),
4304         (gst_message_parse_segment_done), (gst_message_parse_duration):
4305         * gst/gstmessage.h:
4306         * tools/gst-launch.c: (event_loop):
4307         Seriously, this is better than a previous commit as we only need
4308         to notify the fact that an element changed state in a streaming
4309         thread, marking the state of the parents dirty, hence the 
4310         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4311         message.
4312
4313 2005-10-18  Wim Taymans  <wim@fluendo.com>
4314
4315         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4316         (gst_bin_recalc_func):
4317         * gst/gstelement.c: (gst_element_set_clock),
4318         (gst_element_abort_state), (gst_element_lost_state):
4319         Cleanups, prepare for state change fixes.
4320
4321 2005-10-18  Wim Taymans  <wim@fluendo.com>
4322
4323         * gst/gstbin.h:
4324         * gst/gstelement.c: (gst_element_class_init),
4325         (gst_element_set_state), (gst_element_set_state_func):
4326         * gst/gstelement.h:
4327         Pending ABI changes.
4328         GThreadPool in GstBinClass to monitor async state changes.
4329         state_cookie in GstElement to detect concurrent gst/set state.
4330         set_state is now virtual too in case a very complicated element
4331         has to be constructed.
4332
4333 2005-10-18  Wim Taymans  <wim@fluendo.com>
4334
4335         * check/gst/gstbin.c: (GST_START_TEST):
4336         * check/gst/gstmessage.c: (GST_START_TEST):
4337         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4338         * gst/gstbin.c: (bin_bus_handler):
4339         * gst/gstelement.c: (gst_element_commit_state),
4340         (gst_element_lost_state):
4341         * gst/gstmessage.c: (gst_message_new_state_changed),
4342         (gst_message_new_segment_start), (gst_message_new_segment_done),
4343         (gst_message_new_duration), (gst_message_parse_state_changed),
4344         (gst_message_parse_segment_start),
4345         (gst_message_parse_segment_done), (gst_message_parse_duration):
4346         * gst/gstmessage.h:
4347         * tools/gst-launch.c: (event_loop):
4348         Make messages future proof.
4349         state-change gets a flag if it was a message comming from the
4350         streaming thread.
4351         segment-start/stop can also be specified in other formats.
4352         A message to notify an app that a pipeline changed playback 
4353         duration.
4354         Also fix a GstMessage leak in -launch
4355
4356 2005-10-18  Andy Wingo  <wingo@pobox.com>
4357
4358         * gst/gstelement.c (gst_element_dispose): More helpful message.
4359
4360 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4361
4362         reviewed by: <delete if not using a buddy>
4363
4364         * common/gtk-doc.mak:
4365
4366 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4367
4368         * gst/gstregistry.c: (gst_registry_scan_path_level):
4369           unref a plug-in we get that was already initialized
4370
4371 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4372
4373         * docs/gst/gstreamer-sections.txt:
4374         * docs/libs/gstreamer-libs-sections.txt:
4375         * gst/gstelement.h:
4376           add new api entries
4377           hide internal macro
4378
4379 2005-10-17  Andy Wingo  <wingo@pobox.com>
4380
4381         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4382         cleanup.
4383
4384         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4385
4386         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4387
4388         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4389         (gst_element_get_state_func): Better debug message.
4390         (gst_element_commit_state): s/INFO/DEBUG/.
4391         (gst_element_lost_state, gst_element_change_state): 
4392
4393         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4394         (gst_message_new_custom): s/INFO/LOG/.
4395
4396 2005-10-17  Michael Smith <msmith@fluendo.com>
4397
4398         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4399           Check if end time is valid using end time, not start time.
4400
4401 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4402
4403         * check/gst-libs/controller.c: (GST_START_TEST),
4404         (gst_controller_suite):
4405         * libs/gst/controller/gstcontroller.c:
4406         (gst_controlled_property_set_interpolation_mode):
4407         * libs/gst/controller/gstcontroller.h:
4408         * libs/gst/controller/gstinterpolation.c:
4409         * testsuite/controller/.cvsignore:
4410         * testsuite/controller/Makefile.am:
4411         * testsuite/controller/interpolator.c:
4412           merge controller testsuites
4413           fix broken tests
4414           remove mem-chunk from docs
4415
4416 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4417
4418         * gst/gstmemchunk.c:
4419         * gst/gstmemchunk.h:
4420         * gst/gsttrashstack.c:
4421         * gst/gsttrashstack.h:
4422           out.  get out.  you're fired.  to the Attic !
4423
4424 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4425
4426         * gst/gstcaps.c: (gst_caps_intersect):
4427           fix signedness issues in a (hopefully) correct way
4428         * gst/gstelement.c: (gst_element_pads_activate):
4429           some debugging
4430         * gst/gstobject.c: (gst_object_set_parent):
4431           some debugging
4432
4433 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4434
4435         * gst/gstvalue.h: Fix prototypes.
4436
4437 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4438
4439         * docs/gst/gstreamer-sections.txt:
4440         * gst/gst.c: (gst_version_string):
4441         * gst/gst.h:
4442         * gst/gstversion.h.in:
4443         * win32/common/libgstreamer.def:
4444           add gst_version_string ()
4445
4446 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4447
4448         * configure.ac:
4449           clean up further
4450         * gst/gst.c: (init_post):
4451         * win32/common/config.h.in:
4452           it's PLUGINDIR now
4453         * gst/gstcaps.c: (gst_caps_intersect):
4454           use gint64, the range could be bigger than a guint
4455
4456 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4457
4458         * gst/gstclock.h:
4459           document potential problem in 2038
4460
4461 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4462
4463         * gst/gstcaps.c: (gst_caps_intersect):
4464           Fix guint j diving under 0
4465
4466 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4467
4468         * configure.ac:
4469         * win32/common/config.h:
4470         * win32/common/config.h.in:
4471           check for process.h, declares getpid() on Windows
4472         * gst/gstinfo.c:
4473           include process.h if we have it
4474         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4475         * gst/gstmemchunk.h:
4476           fix signedness issues
4477         * win32/common/libgstreamer.def:
4478           fix get_type's
4479
4480 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4481
4482         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4483         fix. Because of unsigned ints, caps intersection was going nuts and
4484         trying to access structures with G_MAXUINT index. That fixes
4485         videotestsrc ! ffmpegcolorspace ! fakesink
4486         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4487         consistency.
4488
4489 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4490
4491         * configure.ac:
4492           use the gettext macro
4493         * gst/elements/gstelements.c:
4494         * gst/gst.c:
4495         * gst/indexers/gstindexers.c:
4496           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4497         * win32/common/config.h:
4498           updated config.h
4499         * win32/common/config.h.in:
4500           add the template to generate config.h
4501         * win32/common/gstenumtypes.c:
4502         * win32/common/gstversion.h:
4503           updated copies
4504
4505 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4506
4507         * gst/gst.c: (gst_version):
4508         * gst/gstversion.h.in:
4509           add the nano
4510
4511 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4512
4513         * gst/gstevent.h:
4514           Oops, add missing closing bracket.
4515
4516 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4517
4518         * configure.ac:
4519           use common m4's for argument checking
4520
4521 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4522
4523         * docs/gst/gstreamer-sections.txt:
4524         * gst/gstevent.h:
4525           Add GST_EVENT_TYPE_NAME() macro.
4526
4527 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4528
4529         * gst/gstinfo.c:
4530         * gst/gstpluginfeature.c:
4531         * gst/gsttask.c:
4532           privatize more symbols
4533
4534 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4535
4536         * configure.ac:
4537           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4538           everything that uses GStreamer API should have the includes
4539
4540 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4541
4542         * docs/gst/gstreamer-sections.txt:
4543         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4544         * gst/gstvalue.h:
4545           give each value a _get_type, removes the DATA exports
4546
4547 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4548
4549         * gst/gst.c:
4550         * gst/gst.h:
4551           remove _gst_registry_auto_load, not used anymore
4552         * gst/gstbin.c: (gst_bin_get_type):
4553         * gst/gstbin.h:
4554         * gst/gstelement.c: (gst_element_get_type):
4555         * gst/gstelement.h:
4556         * gst/gstobject.c: (gst_object_get_type):
4557         * gst/gstobject.h:
4558         * gst/gstpad.c: (gst_pad_get_type):
4559         * gst/gstpad.h:
4560           make _get_type functions similar, fixes data export from library
4561
4562 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4563
4564         * configure.ac:
4565           correctly make conditionals
4566         * gst/elements/Makefile.am:
4567         * gst/elements/gstelements.c:
4568           fix typo causing fdsrc not to build
4569
4570 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4571
4572         * testsuite/Makefile.am:
4573         * testsuite/bytestream/.cvsignore:
4574         * testsuite/bytestream/Makefile.am:
4575         * testsuite/bytestream/filepadsink.c:
4576         * testsuite/bytestream/gstbstest.c:
4577         * testsuite/bytestream/test1.c:
4578         * testsuite/bytestream/testfile1:
4579         * testsuite/caps/normalisation.c:
4580         * testsuite/caps/random.c: (main):
4581         * testsuite/cleanup/.cvsignore:
4582         * testsuite/cleanup/Makefile.am:
4583         * testsuite/cleanup/cleanup1.c:
4584         * testsuite/cleanup/cleanup2.c:
4585         * testsuite/cleanup/cleanup3.c:
4586         * testsuite/cleanup/cleanup4.c:
4587         * testsuite/cleanup/cleanup5.c:
4588         * testsuite/controller/interpolator.c:
4589         * testsuite/debug/printf_extension.c: (main):
4590         * testsuite/elements/tee.c:
4591         * testsuite/negotiation/.cvsignore:
4592         * testsuite/negotiation/Makefile.am:
4593         * testsuite/negotiation/pad_link.c:
4594         * testsuite/pad/Makefile.am:
4595         * testsuite/pad/chainnopull.c:
4596         * testsuite/pad/getnopush.c:
4597         * testsuite/pad/link.c:
4598         * testsuite/refcounting/sched.c: (create_pipeline):
4599         * testsuite/registry/Makefile.am:
4600         * testsuite/registry/gst-print-formats.c:
4601         * testsuite/schedulers/.cvsignore:
4602         * testsuite/schedulers/142183-2.c:
4603         * testsuite/schedulers/142183.c:
4604         * testsuite/schedulers/143777-2.c:
4605         * testsuite/schedulers/143777.c:
4606         * testsuite/schedulers/147713.c:
4607         * testsuite/schedulers/147819.c:
4608         * testsuite/schedulers/147894-2.c:
4609         * testsuite/schedulers/147894.c:
4610         * testsuite/schedulers/Makefile.am:
4611         * testsuite/schedulers/group_link.c:
4612         * testsuite/schedulers/queue_link.c:
4613         * testsuite/schedulers/relink.c:
4614         * testsuite/schedulers/unlink.c:
4615         * testsuite/schedulers/unref.c:
4616         * testsuite/schedulers/useless_iteration.c:
4617         * testsuite/states/bin.c:
4618           clean out/remove some stuff from the testsuite directories
4619
4620 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4621
4622         * configure.ac:
4623           check for some headers
4624         * gst/elements/Makefile.am:
4625         * gst/elements/gstelements.c:
4626           don't compile fdsrc without sys/socket.h
4627         * gst/indexers/Makefile.am:
4628         * gst/indexers/gstindexers.c: (plugin_init):
4629           don't compile fileindex without mmap
4630
4631 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4632
4633         * configure.ac:
4634           reorganize
4635           clean up
4636           document more
4637           remove cruft
4638         * check/Makefile.am:
4639         * docs/gst/Makefile.am:
4640         * examples/helloworld/Makefile.am:
4641         * gst/Makefile.am:
4642         * gst/base/Makefile.am:
4643         * gst/check/Makefile.am:
4644         * gst/elements/Makefile.am:
4645         * gst/indexers/Makefile.am:
4646         * gst/parse/Makefile.am:
4647         * libs/gst/controller/Makefile.am:
4648         * libs/gst/dataprotocol/Makefile.am:
4649         * examples/helloworld/helloworld.c: (event_loop):
4650           compile fixes, though it's not being compiled currently
4651
4652 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4653
4654         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4655           Add some simple tests for the new taglist date API.
4656
4657 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4658
4659         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4660         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4661           Beautify 'last-message' output: print 'none' for buffer timestamps
4662           and durations if none is set; improve alignment with next messages.
4663
4664 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4665
4666         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4667         * gst/gstpluginfeature.h:
4668         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4669         * gst/gstregistry.h:
4670         * docs/gst/gstreamer-sections.txt:
4671           Add new API to check plugin feature version requirements.
4672
4673         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4674           Some basic tests for the above.         
4675
4676 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4677
4678         * gst/gststructure.c: (gst_structure_to_string):
4679           guard against NULL printf - happens when for example
4680           a message structure with GstClock gets serialized
4681
4682 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4683
4684         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4685           Fix presumable copy'n'pasto.
4686
4687 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4688
4689         * gst/elements/gstfakesrc.h:
4690         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4691         * gst/elements/gsttypefindelement.c:
4692           fix some signedness
4693         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4694           I wonder if this could actually write +2GB files before
4695
4696 2005-10-13  Andy Wingo  <wingo@pobox.com>
4697
4698         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4699         Fix Timmeke Waymans bug.
4700         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4701         string of the proper length to gst_caps_from_string. There's a
4702         potential for, before this fix, that this could cause someone
4703         connecting over the network to cause a segfault if the payload is
4704         not NUL-terminated.
4705
4706 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4707
4708         * docs/design/draft-push-pull.txt:
4709         * docs/design/part-overview.txt:
4710         * docs/random/TODO-pre-0.9:
4711         * docs/random/old/ChangeLog.gstreamer:
4712         * gst/base/gstpushsrc.c:
4713         * gst/gstclock.c:
4714           fixed typos
4715
4716 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4717
4718         * gst/glib-compat.c: (gst_flags_get_first_value):
4719         * gst/glib-compat.h:
4720         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4721         (gst_value_compare_double), (gst_value_serialize_flags):
4722           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4723           infinite loop
4724
4725 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4726
4727         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4728         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4729           fix up debugging
4730         * tools/gst-launch.c: (event_loop):
4731           print out clock nicely
4732
4733 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4734
4735         * docs/gst/gstreamer-sections.txt:
4736         * gst/gsttaglist.h:
4737         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4738         (gst_tag_list_get_date_index):
4739           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4740           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4741
4742 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4743
4744         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4745         (gst_collectpads_chain):
4746         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4747         in CollectData.
4748
4749 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4750
4751         * docs/gst/gstreamer-sections.txt:
4752         * gst/gst.c:
4753         * gst/gsterror.h:
4754         * tools/gst-inspect.c: (main):
4755         * tools/gst-launch.c: (main):
4756         * tools/gst-run.c: (main):
4757         * tools/gst-xmlinspect.c: (main):
4758           fix GOption context leaks
4759           doc fixes
4760
4761 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4762
4763         * gst/gstbus.c:
4764           use HAVE_UNISTD_H
4765         * win32/common/config.h:
4766           update config
4767         * win32/vs6/grammar.dsp:
4768         * win32/vs6/libgstelements.dsp:
4769         * win32/vs6/libgstreamer.dsp:
4770           update vs6 files
4771
4772 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4773
4774         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4775         * gst/base/gstbasesrc.c: (gst_base_src_query):
4776           fix more guint64<->gdouble conversions
4777
4778 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4779
4780         * Makefile.am:
4781           add win32-update target
4782         * win32/common/gstconfig.h:
4783         * win32/common/gstenumtypes.c:
4784         * win32/common/gstenumtypes.h:
4785         * win32/common/gstversion.h:
4786           add files that visual studio can't generate
4787
4788 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4789
4790         * Makefile.am:
4791           add a win32-update target
4792         * configure.ac:
4793
4794 2005-10-12  Wim Taymans  <wim@fluendo.com>
4795
4796         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4797         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4798         * gst/gstelement.c: (gst_element_commit_state),
4799         (gst_element_set_state):
4800         Protect flags with proper lock.
4801         unref provided cached clock in dispose.
4802
4803 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4804
4805         * gst/gst.c:
4806         * gst/gstminiobject.h:
4807         * gst/gstpad.h:
4808         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4809           removed unused flags from miniobject
4810           doc fixes
4811
4812 2005-10-12  Wim Taymans  <wim@fluendo.com>
4813
4814         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4815         (gst_file_sink_event), (gst_file_sink_render):
4816         Flush before seeking.
4817
4818 2005-10-12  Andy Wingo  <wingo@pobox.com>
4819
4820         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4821         always been the case.
4822
4823 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4824
4825         * check/gst/gstbin.c: (GST_START_TEST):
4826         * docs/gst/gstreamer-sections.txt:
4827         * gst/base/gstbasesink.c: (gst_base_sink_init):
4828         * gst/base/gstbasesrc.c: (gst_base_src_init),
4829         (gst_base_src_get_range), (gst_base_src_check_get_range),
4830         (gst_base_src_start), (gst_base_src_stop):
4831         * gst/base/gstbasesrc.h:
4832         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4833         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4834         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4835         (bin_bus_handler):
4836         * gst/gstbin.h:
4837         * gst/gstbuffer.h:
4838         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4839         * gst/gstbus.h:
4840         * gst/gstelement.c: (gst_element_is_locked_state),
4841         (gst_element_set_locked_state), (gst_element_commit_state),
4842         (gst_element_set_state):
4843         * gst/gstelement.h:
4844         * gst/gstindex.c: (gst_index_init):
4845         * gst/gstindex.h:
4846         * gst/gstminiobject.h:
4847         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4848         (gst_object_set_parent):
4849         * gst/gstobject.h:
4850         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4851         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4852         * gst/gstpad.h:
4853         * gst/gstpadtemplate.h:
4854         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4855         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4856         * gst/gstpipeline.h:
4857         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4858         (gst_file_index_commit):
4859         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4860         * testsuite/pad/link.c: (gst_test_src_init),
4861         (gst_test_filter_init), (gst_test_sink_init):
4862         * testsuite/states/locked.c: (main):
4863           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4864           moved bitshift from macro to enum definition
4865
4866 2005-10-12  Wim Taymans  <wim@fluendo.com>
4867
4868         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4869         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4870         (gst_file_sink_render):
4871         Some more debugging info.
4872
4873 2005-10-12  Wim Taymans  <wim@fluendo.com>
4874
4875         * docs/design/part-states.txt:
4876         * tools/gst-launch.c: (main):
4877         Some doc updates.
4878         Revert non-intentional change.
4879
4880 2005-10-12  Wim Taymans  <wim@fluendo.com>
4881
4882         * check/gst/gstbin.c: (GST_START_TEST):
4883         * check/gst/gstelement.c: (GST_START_TEST):
4884         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4885         * check/gst/gstghostpad.c: (GST_START_TEST):
4886         * check/gst/gstpipeline.c: (GST_START_TEST):
4887         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4888         * check/states/sinks.c: (GST_START_TEST):
4889         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4890         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4891         (gst_bin_remove_func), (gst_bin_get_state_func),
4892         (gst_bin_recalc_state), (gst_bin_change_state_func),
4893         (bin_bus_handler):
4894         * gst/gstelement.c: (gst_element_get_state_func),
4895         (gst_element_get_state), (gst_element_abort_state),
4896         (gst_element_commit_state), (gst_element_set_state),
4897         (gst_element_change_state), (gst_element_change_state_func):
4898         * gst/gstelement.h:
4899         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4900         (gst_pipeline_provide_clock_func):
4901         * gst/gstutils.c: (gst_element_link_pads_filtered):
4902         * tools/gst-launch.c: (main):
4903         * tools/gst-typefind.c: (main):
4904         Use GstClockTime in _get_state() instead of GTimeVal.
4905         Remove old code in gstutils.c
4906
4907 2005-10-12  Andy Wingo  <wingo@pobox.com>
4908
4909         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4910         removed.
4911
4912         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4913         there is no task. Shouldn't affect any code, as nothing in our
4914         plugins checks this return value.
4915         (gst_pad_stop_task): Also take the stream lock if the pad has no
4916         task. Docs updated.
4917
4918 2005-10-12  Wim Taymans  <wim@fluendo.com>
4919
4920         * gst/gstpad.c: (pre_activate), (post_activate),
4921         (gst_pad_activate_pull), (gst_pad_activate_push):
4922         Cleanup activation code. Reset old state if
4923         activation failed.
4924
4925 2005-10-12  Wim Taymans  <wim@fluendo.com>
4926
4927         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4928         (gst_base_sink_change_state):
4929         No need to prerol after receiving EOS.
4930
4931         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4932         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4933         * gst/elements/gstidentity.c: (gst_identity_event):
4934         Print events more verbosely.
4935
4936 2005-10-12  Wim Taymans  <wim@fluendo.com>
4937
4938         * check/Makefile.am:
4939         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4940         * check/states/sinks2.c:
4941         Moved sinks2 testcode in sinks check.
4942
4943         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4944         (gst_bin_remove_func), (gst_bin_recalc_state),
4945         (gst_bin_change_state_func), (bin_bus_handler):
4946         Fix potential race condition when _get_state() iterated over an
4947         ASYNC element right before it posted a state completion.
4948
4949         * gst/gstclock.h:
4950         Do proper cast here.
4951
4952         * gst/gstevent.c: (gst_event_new_newsegment),
4953         (gst_event_parse_newsegment):
4954         A playback rate of 0.0 is not allowed.
4955
4956 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4957
4958         * win32/common/config.h:
4959         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4960         (_trewinddir), (_ttelldir), (_tseekdir):
4961         * win32/common/dirent.h:
4962         * win32/common/gtchar.h:
4963         * win32/common/libgstbase.def:
4964         * win32/common/libgstreamer.def:
4965         * win32/vs6/grammar.dsp:
4966         * win32/vs6/gst_inspect.dsp:
4967         * win32/vs6/gst_launch.dsp:
4968         * win32/vs6/gstreamer.dsw:
4969         * win32/vs6/libgstbase.dsp:
4970         * win32/vs6/libgstelements.dsp:
4971         * win32/vs6/libgstreamer.dsp:
4972           Visual Studio 6 project files, and a new common directory.
4973           Phear.
4974
4975 2005-10-11  Wim Taymans  <wim@fluendo.com>
4976
4977         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4978         (gst_base_sink_do_sync), (gst_base_sink_query),
4979         (gst_base_sink_change_state):
4980         * gst/base/gstbasesink.h:
4981         Correctly parse newsegment info.
4982
4983 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4984
4985         * gst/gst.c: (init_post):
4986           split plugin paths correctly
4987
4988 2005-10-11  Wim Taymans  <wim@fluendo.com>
4989
4990         * check/gst/gstevent.c: (GST_START_TEST):
4991         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4992         (gst_base_sink_change_state):
4993         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4994         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4995         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4996         * gst/gstevent.c: (gst_event_new_newsegment),
4997         (gst_event_parse_newsegment):
4998         * gst/gstevent.h:
4999         Added extra flag to newsegment for future API freeze.
5000         Updated check and base elements.
5001
5002 2005-10-11  Julien MOUTTE  <julien@moutte.net>
5003
5004         * gst/base/gstcollectpads.c: (gst_collectpads_init),
5005         (gst_collectpads_add_pad), (gst_collectpads_pop),
5006         (gst_collectpads_event), (gst_collectpads_chain):
5007         * gst/base/gstcollectpads.h: Handle EOS correctly.
5008
5009 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5010
5011         * tools/gst-launch.c: (main):
5012           more null protecting
5013
5014 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5015
5016         * gst/gst-i18n-lib.h:
5017           check for ENABLE_NLS, not GETTEXT_PACKAGE
5018         * gst/gstregistry.c: (gst_registry_add_plugin),
5019         (gst_registry_scan_path_level),
5020         (_gst_registry_remove_cache_plugins):
5021           protect possibly NULL strings
5022         * gst/parse/types.h:
5023           config.h already included before
5024         * tools/gst-inspect.c: (main):
5025           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5026           check for ENABLE_NLS, not GETTEXT_PACKAGE
5027         * tools/gst-launch.c: (main):
5028           check for ENABLE_NLS, not GETTEXT_PACKAGE
5029
5030 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5031
5032         * configure.ac:
5033           if we don't have glib, fail before testing 2.8
5034         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5035           fix a leak, should fix plugins-base testsuite
5036
5037 2005-10-11  Andy Wingo  <wingo@pobox.com>
5038
5039         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5040         take the mode we're going to as an arg. Go head and set the mode
5041         and flushing flags now, so that if the activate function starts a
5042         thread all the flags will be in the right state.
5043         (post_activate): Renamed also. Just handle making sure streaming
5044         finishes for the deactivation case, and setting the deactivated
5045         mode.
5046         (gst_pad_set_active): Complain loudly if deactivation fails.
5047         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5048         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5049         remove the terrible hack.
5050
5051 2005-10-11  Wim Taymans  <wim@fluendo.com>
5052
5053         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5054         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5055         (gst_bin_recalc_state), (gst_bin_change_state_func),
5056         (gst_bin_dispose), (bin_bus_handler):
5057         * gst/gstbin.h:
5058         Prepare to make current EOS message queue more generic.
5059         Fix some typos.
5060
5061         * gst/gstevent.c: (gst_event_new_newsegment),
5062         (gst_event_parse_newsegment):
5063         * gst/gstevent.h:
5064         Rename base to stream_time.
5065
5066         * gst/gstmessage.h:
5067         Fix typo in docs.
5068
5069 2005-10-11  Wim Taymans  <wim@fluendo.com>
5070
5071         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5072         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5073         (gst_bin_change_state_func), (bin_bus_handler):
5074         * gst/gstbin.h:
5075         Work on proper clock selection.
5076
5077 2005-10-11  Edward Hervey  <edward@fluendo.com>
5078
5079         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5080         * libs/gst/controller/gstcontroller.h:
5081         Added GList* version of _remove_properties() in order to be able to wrap
5082         it in bindings.
5083
5084 2005-10-11  Wim Taymans  <wim@fluendo.com>
5085
5086         * docs/design/part-states.txt:
5087         Some more docs.
5088
5089         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5090         (gst_bin_change_state_func), (bin_bus_handler):
5091         Doc updates. Don't distribute the same clock over and over again.
5092
5093         * gst/gstclock.c:
5094         * gst/gstclock.h:
5095         Doc updates.
5096
5097         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5098         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5099         (gst_pad_send_event):
5100         * gst/gstpad.h:
5101         Make probe emission threadsafe again.
5102         Register quarks and move _get_name() from utils.
5103         Doc updates.
5104
5105         * gst/gstpipeline.c: (gst_pipeline_class_init),
5106         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5107         Only redistribute the clock of it changed.
5108
5109         * gst/gstsystemclock.h:
5110         Doc updates. 
5111
5112         * gst/gstutils.c:
5113         * gst/gstutils.h:
5114         Moved the _flow_get_name() to GstPad.
5115
5116 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5117
5118         * check/gst-libs/gdp.c: (GST_START_TEST):
5119         * check/gst/gstcaps.c: (GST_START_TEST):
5120         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5121         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5122         (gst_dp_packet_from_caps):
5123           fix more valgrind warnings before turning up the heat
5124
5125 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5126
5127         * gst/parse/grammar.y:
5128           some cleanup before the hacking
5129
5130 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5131
5132         * gst/base/gstbasesrc.c: (gst_base_src_query):
5133           use conversions
5134         * gst/gstutils.c: (gst_guint64_to_gdouble),
5135         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5136         * gst/gstutils.h:
5137           externalize, basesrc uses it
5138           obviously the implementation needs testing
5139
5140 2005-10-10  Wim Taymans  <wim@fluendo.com>
5141
5142         * tests/sched/Makefile.am:
5143         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5144         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5145
5146 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5147
5148         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5149           apparently converting from guint64 to double is not implemented
5150           on MSVC
5151
5152 2005-10-10  Wim Taymans  <wim@fluendo.com>
5153
5154         * check/Makefile.am:
5155         * check/generic/states.c: (GST_START_TEST):
5156         * check/gst/gstbin.c: (GST_START_TEST):
5157         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5158         * check/states/sinks.c: (GST_START_TEST):
5159         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5160         (main):
5161         Check fixes, use API as stated in design docs, remove hacks.
5162
5163         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5164         (gst_base_sink_change_state):
5165         Catch stopping our task while we're shutting down.
5166
5167         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5168         (gst_bin_remove_func), (gst_bin_get_state_func),
5169         (gst_bin_recalc_state), (gst_bin_change_state_func),
5170         (bin_bus_handler):
5171         * gst/gstbin.h:
5172         * gst/gstelement.c: (gst_element_init),
5173         (gst_element_get_state_func), (gst_element_abort_state),
5174         (gst_element_commit_state), (gst_element_lost_state),
5175         (gst_element_set_state), (gst_element_change_state),
5176         (gst_element_change_state_func):
5177         * gst/gstelement.h:
5178         New state change algorithm (see #318116)
5179
5180         * gst/gstpipeline.c: (gst_pipeline_class_init),
5181         (gst_pipeline_init), (gst_pipeline_set_property),
5182         (gst_pipeline_get_property), (do_pipeline_seek),
5183         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5184         * gst/gstpipeline.h:
5185         Remove crude state change hacks.
5186
5187         * gst/gstutils.h:
5188         Remove crude hacks.
5189
5190         * tools/gst-launch.c: (main):
5191         Fixes for state change. Needs some more work to fully use the
5192         new stuff.
5193
5194 2005-10-10  Andy Wingo  <wingo@pobox.com>
5195
5196         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5197
5198         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5199         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5200         issue.
5201
5202 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5203
5204         * gst/gstiterator.c: (gst_iterator_new):
5205           Fix my previous commit: GTypes passed to gst_iterator_new()
5206           can be fundamental types.
5207
5208 2005-10-10  Wim Taymans  <wim@fluendo.com>
5209
5210         * gst/gstelement.c: (gst_element_iterate_pad_list),
5211         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5212         (gst_element_iterate_sink_pads):
5213         Use src/sink pads lists for the respective iterators instead
5214         of filtering.
5215
5216 2005-10-10  Andy Wingo  <wingo@pobox.com>
5217
5218         Merged in popt removal + GOption addition patch from Ronald, bug
5219         #169772.
5220
5221         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5222         GstElement macros around, remove popt-related symbols, add goption
5223         stuff.
5224
5225         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5226         
5227         * docs/gst/Makefile.am:
5228         * docs/libs/Makefile.am: No POPT_CFLAGS.
5229         
5230         * examples/manual/Makefile.am:
5231         * docs/manual/basics-init.xml: Doc updates with an example.
5232         
5233         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5234         (gst_init), (parse_one_option), (parse_goption_arg):
5235         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5236         bit of hand merging and debugging to get the GOption stuff working
5237         tho.
5238         
5239         * tests/Makefile.am:
5240         * tools/Makefile.am:
5241         * tools/gst-inspect.c: (main):
5242         * tools/gst-launch.c: (main):
5243         * tools/gst-run.c: (main):
5244         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5245
5246 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5247
5248         * gst/gstiterator.c: (gst_iterator_new):
5249           Add assertions to make sure passed GType is likely to really
5250           be a GType (as the compiler won't catch it if the size and
5251           GType arguments get mixed up, see #318447).
5252
5253 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5254
5255         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5256
5257         * gst/gstbin.c: (gst_bin_iterate_sorted):
5258           Pass GType and size arguments to gst_iterator_new() in the right
5259           order (maybe we should make _new() take the GType as first argument
5260           just like _new_list()?) (#318447).
5261           
5262
5263 2005-10-10  Wim Taymans  <wim@fluendo.com>
5264
5265         * gst/gstelement.c: (gst_element_finalize):
5266         And free the GStaticRecMutex too
5267
5268 2005-10-10  Andy Wingo  <wingo@pobox.com>
5269
5270         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5271         Allocate and free the mutex properly.
5272
5273         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5274         New macros.
5275         (GstElement): The state_lock is now recursive. Rebuild your
5276         plugins, suckers. Old macros adapted.
5277
5278         * docs/gst/gstreamer-sections.txt: Doc updates.
5279
5280         * gst/gstutils.h:
5281         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5282         (g_static_rec_cond_wait): Ported from state changes patch, while
5283         we wait on bug #317802 to be solved in a well-distributed GLib.
5284
5285         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5286         gst_element_change_state, variable name changes.
5287         (gst_element_change_state): Split out of gst_element_set_state in
5288         preparation for the state change merge. Doesn't pay attention to
5289         the 'transition' argument.
5290         (gst_element_set_state): Updates, hopefully purely cosmetic.
5291         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5292         state change patch.
5293         (gst_element_get_state_func): Renamed from get_state, cosmetic
5294         changes.
5295
5296 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5297
5298         * gst/elements/gstelements.c:
5299         * win32/GStreamer.vcproj:
5300         * win32/config.h:
5301         * win32/dirent.c: (_tseekdir):
5302         * win32/gst-inspect.vcproj:
5303         * win32/gst-launch.vcproj:
5304         * win32/gstconfig.h:
5305         * win32/gstelements.vcproj:
5306         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5307         * win32/gstreamer.def:
5308         * win32/msvc71.sln:
5309           updates for the win32 build (patch from Sebastien Moutte)
5310
5311 2005-10-10  Andy Wingo  <wingo@pobox.com>
5312
5313         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5314         gst_bin_get_state, cleaned up (but no logic changes).
5315         (bin_element_is_sink): Comment updates.
5316         (sink_iterator_filter): Remove needless cast.
5317         (gst_bin_iterate_sinks): Doc update.
5318         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5319         cleaned up (but no logic changes).
5320
5321         * check/states/sinks.c (test_src_sink): Cleanups from the state
5322         change patch.
5323         (test_livesrc_sink): Sync on the state.
5324
5325         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5326         the state change patch.
5327
5328         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5329         change patch.
5330
5331         * check/gst/gstbin.c: Merge in some style fixes and additional
5332         checks from Wim's state change patch.
5333
5334 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5335
5336         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5337         (gst_type_find_helper):
5338           Check whether we have the requested data already in our list of
5339           cached buffers before pulling a new buffer; also make the buffer
5340           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5341
5342 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5343
5344         * gst/gstcaps.c:
5345         * gst/gstevent.c:
5346           doc updates
5347         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5348           don't use long long, it's not portable.  Replacing with
5349           gint64 seems to work; let's hope no skeletons fall out of the closet.
5350
5351 2005-10-10  Andy Wingo  <wingo@pobox.com>
5352
5353         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5354
5355 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5356
5357         * docs/gst/gstreamer-sections.txt:
5358         * gst/gstevent.c:
5359         * gst/gstevent.h:
5360         * gst/gstinfo.c:
5361         * gst/gstinfo.h:
5362         * gst/gstmessage.c: (gst_message_parse_state_changed):
5363         * gst/gstpad.c:
5364         * gst/gstpad.h:
5365           more docs, fix compilation
5366
5367 2005-10-09  Philippe Khalaf <burger@speedy.org>
5368         * gst/gstmessage.c:
5369           Fixed a few forgotten variables on previous commit
5370
5371 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5372
5373         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5374           Fix evil typefind crasher: getrange() might return a short
5375           buffer at the end of a file, but gst_type_find_peek() must
5376           either return the full data as requested or NULL, but
5377           never a short buffer.
5378
5379 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5380
5381         * gst/gstmessage.c: (gst_message_new_state_changed),
5382         (gst_message_parse_state_changed):
5383         * gst/gstmessage.h:
5384           don't use "new", it's a C++ keyword
5385
5386 2005-10-08  Wim Taymans  <wim@fluendo.com>
5387
5388         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5389         * gst/gstelement.c: (gst_element_post_message):
5390         * gst/gstpipeline.c: (gst_pipeline_change_state):
5391         Small docs and debug updates.
5392
5393 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5394
5395         * docs/gst/gstreamer-sections.txt:
5396         * gst/gstelementfactory.c:
5397         * gst/gstevent.c:
5398         * gst/gsttaglist.c:
5399           more docs
5400
5401 2005-10-08  Wim Taymans  <wim@fluendo.com>
5402
5403         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5404         (gst_bin_dispose), (bin_bus_handler):
5405         Fix typos, add comments.
5406         Clear EOS list when going to PAUSED from any direction and do it
5407         in a threadsafe way.
5408         Get base time in a threadsafe way too.
5409         Fix confusing debug in the change_state function.
5410         Various other small cleanups.
5411         
5412         * gst/gstelement.c: (gst_element_post_message):
5413         Fix very verbose bus posting code.
5414
5415         * gst/gstpipeline.c: (gst_pipeline_class_init),
5416         (gst_pipeline_set_property), (gst_pipeline_get_property),
5417         (gst_pipeline_change_state):
5418         Small ARG_ -> PROP_ cleanup
5419
5420 2005-10-08  Wim Taymans  <wim@fluendo.com>
5421
5422         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5423         Do a less CPU demanding EOS check because we can.
5424
5425 2005-10-08  Wim Taymans  <wim@fluendo.com>
5426
5427         * libs/gst/dataprotocol/dataprotocol.c:
5428         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5429         (gst_dp_packet_from_event):
5430         * libs/gst/dataprotocol/dataprotocol.h:
5431         * libs/gst/dataprotocol/dp-private.h:
5432         It's about time we bump the version number.
5433         Since event types don't fit in the guint8 anymore describing
5434         the payload type, make payload type 16 bits wide.
5435
5436 2005-10-08  Wim Taymans  <wim@fluendo.com>
5437
5438         * docs/design/part-TODO.txt:
5439         * docs/design/part-clocks.txt:
5440         * docs/design/part-events.txt:
5441         * docs/design/part-gstbin.txt:
5442         * docs/design/part-gstelement.txt:
5443         * docs/design/part-gstpipeline.txt:
5444         * docs/design/part-live-source.txt:
5445         * docs/design/part-messages.txt:
5446         * docs/design/part-overview.txt:
5447         * docs/design/part-states.txt:
5448         Many doc updates.
5449
5450 2005-10-08  Wim Taymans  <wim@fluendo.com>
5451
5452         * gst/gstevent.c:
5453         * gst/gstevent.h:
5454         Fix event quark registration.
5455         Add some space between events so we can insert them in the
5456         right groups.
5457
5458 2005-10-08  Wim Taymans  <wim@fluendo.com>
5459
5460         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5461         (gst_base_sink_handle_buffer):
5462         Better log message.
5463
5464         * gst/gstbus.h:
5465         * gst/gstelement.h:
5466         More docs.
5467
5468         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5469         (gst_queue_set_property), (gst_queue_get_property):
5470         * gst/gstqueue.h:
5471         Remove old unused properties.
5472
5473 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5474         * docs/gst/gstreamer-sections.txt:
5475         * gst/gstmessage.c:
5476         * gst/gstmessage.h:
5477         * gst/gstminiobject.c:
5478         * gst/gstminiobject.h:
5479         * gst/gstobject.h:
5480         * gst/gstpad.h:
5481         * gst/gstutils.h:
5482           lots of new docs and doc fixes
5483
5484 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5485
5486         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5487         * gst/gstplugin.h:
5488         * gst/gstregistry.c: (gst_registry_lookup_locked),
5489         (gst_registry_scan_path_level):
5490         * gst/gstregistryxml.c: (load_plugin):
5491           Only ever load one plugin for a given plugin basename.
5492           This ensures correct overriding of GST_PLUGIN_PATH over
5493           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5494           system installed plugins.
5495
5496 2005-10-08  Wim Taymans  <wim@fluendo.com>
5497
5498         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5499         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5500         Prepare for doing QOS.
5501
5502 2005-10-08  Wim Taymans  <wim@fluendo.com>
5503
5504         * check/gst/gstbin.c: (GST_START_TEST):
5505         * check/pipelines/cleanup.c: (GST_START_TEST):
5506         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5507         Allow new clock message too.
5508
5509 2005-10-08  Wim Taymans  <wim@fluendo.com>
5510
5511         * gst/gstmessage.c: (gst_message_new_error),
5512         (gst_message_new_warning), (gst_message_new_tag),
5513         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5514         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5515         (gst_message_new_segment_start), (gst_message_new_segment_done),
5516         (gst_message_parse_state_changed),
5517         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5518         (gst_message_parse_new_clock):
5519         * gst/gstmessage.h:
5520         Also carry the clock in question.
5521
5522 2005-10-08  Wim Taymans  <wim@fluendo.com>
5523
5524         * gst/gstmessage.c: (gst_message_new_custom),
5525         (gst_message_new_eos), (gst_message_new_error),
5526         (gst_message_new_warning), (gst_message_new_tag),
5527         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5528         (gst_message_new_new_clock), (gst_message_new_segment_start),
5529         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5530         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5531         * gst/gstmessage.h:
5532         Clean up.
5533         Added clock related messages.
5534
5535         * gst/gstpipeline.c: (gst_pipeline_change_state):
5536         Post message when the clock changed.
5537
5538         * tools/gst-launch.c: (event_loop):
5539         Print new clock.
5540
5541 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5542
5543         * tools/gst-inspect.c: (print_element_properties_info):
5544           Can't pass NULL strings to g_print() on windows.
5545
5546 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5547
5548         * docs/Makefile.am:
5549         * docs/gst/Makefile.am:
5550         * docs/gst/gstreamer-docs.sgml:
5551         * docs/gst/running.xml:
5552         * docs/version.entities.in:
5553           add a chapter on running GStreamer.
5554           document GST_DEBUG and GST_PLUGIN* env vars
5555
5556 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5557
5558         * Makefile.am:
5559           remove include dir
5560         * configure.ac:
5561           remove PLUGINS_BUILDDIR stuff
5562         * gst/gst.c: (init_post):
5563           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5564         * idiottest.mak:
5565           remove, it was condescending and not needed
5566
5567 2005-10-08  Wim Taymans  <wim@fluendo.com>
5568
5569         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5570         (gst_base_sink_handle_object), (gst_base_sink_event),
5571         (gst_base_sink_wait), (gst_base_sink_handle_event),
5572         (gst_base_sink_change_state):
5573         * gst/base/gstbasesink.h:
5574         Repost EOS message while going to PLAYING if still EOS.
5575         Make sure that when receiving a FLUSH_START we don't attempt
5576         to sync on the clock anymore.
5577
5578 2005-10-08  Wim Taymans  <wim@fluendo.com>
5579
5580         * tools/gst-launch.c: (event_loop):
5581         Better message printout.
5582
5583 2005-10-08  Wim Taymans  <wim@fluendo.com>
5584
5585         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5586         (gst_bin_child_proxy_get_children_count):
5587         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5588         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5589         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5590         (gst_child_proxy_set_valist):
5591         * gst/parse/grammar.y:
5592         Make ChildProxy threadsafe and fix mem leaks.
5593
5594 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5595
5596         * gst/gst.c: (init_post):
5597           debug the GST_PLUGIN_ env vars
5598
5599 2005-10-08  Wim Taymans  <wim@fluendo.com>
5600
5601         * check/gst/gstbin.c: (GST_START_TEST):
5602         * check/gst/gstmessage.c: (GST_START_TEST):
5603         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5604         * gst/gstelement.c: (gst_element_commit_state),
5605         (gst_element_lost_state):
5606         * gst/gstmessage.c: (gst_message_new_state_changed),
5607         (gst_message_parse_state_changed):
5608         * gst/gstmessage.h:
5609         * tools/gst-launch.c: (event_loop):
5610         Added extra field to STATE_CHANGE message with the pending
5611         state, which will be different from the new state soon.
5612
5613 2005-10-08  Wim Taymans  <wim@fluendo.com>
5614
5615         * gst/gstbus.c: (gst_bus_pop):
5616         * gst/gstclock.c:
5617         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5618         Small cleanups and doc updates.
5619
5620 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5621
5622         * gst/gst.c: (init_pre):
5623         * gst/gstbin.c: (gst_bin_add_func):
5624           log distributing clocks and base time
5625         * gst/gstregistry.c: (gst_registry_add_plugin),
5626         (gst_registry_scan_path_level), (gst_registry_scan_path):
5627           clean up the debugging output a little
5628         * gst/gstutils.c: (gst_element_state_get_name):
5629           warn about a memleak (I've actually seen this be used, though
5630           it was probably a bug)
5631
5632 2005-10-07  Wim Taymans  <wim@fluendo.com>
5633
5634         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5635         (gst_base_src_init), (gst_base_src_default_newsegment),
5636         (gst_base_src_newsegment), (gst_base_src_do_seek),
5637         (gst_base_src_loop), (gst_base_src_start):
5638         * gst/base/gstbasesrc.h:
5639         Make the newsegment event customizable by subclasses.
5640
5641 2005-10-07  Wim Taymans  <wim@fluendo.com>
5642
5643         * gst/gstevent.c: (gst_event_new_buffersize),
5644         (gst_event_parse_buffersize):
5645         * gst/gstevent.h:
5646         New event for future idea.
5647
5648 2005-10-07  Andy Wingo  <wingo@pobox.com>
5649
5650         * gst/gstelement.c (gst_element_post_message): Doc update.
5651
5652         * docs/gst/gstreamer-sections.txt: Update.
5653
5654         * gst/gstmessage.c (gst_message_new_application): Made into a
5655         function like honest API calls.
5656         (gst_message_new_element): New message type.
5657
5658         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5659
5660         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5661         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5662         times.
5663
5664         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5665         NO_PREROLL from gst_element_change_state to fall through.
5666
5667 2005-10-07  Wim Taymans  <wim@fluendo.com>
5668
5669         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5670         (gst_ghost_pad_do_activate_push):
5671         Activating a ghostpad with no internal pad in push mode
5672         is ok.
5673
5674 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5675
5676         * gst/gstobject.h:
5677           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5678           Fixes compilation on Windows.
5679
5680 2005-10-07  Michael Smith <msmith@fluendo.com>
5681
5682         * tools/gst-inspect.c:
5683           Print out feature and plugin count at the end when printing out
5684           all features.
5685
5686 2005-10-04  Michael Smith <msmith@fluendo.com>
5687
5688         * gst/gsterror.c: (_gst_stream_errors_init):
5689           Add another error string used in a few existing plugins.
5690
5691         * gst/gstplugin.c:
5692         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5693         * tools/gst-inspect.c: (print_element_info):
5694           When a feature disappears from a plugin (and the feature exists in
5695           the cached registry file), things went horribly wrong. This isn't a
5696           complete fix, we should actually be removing the 'missing' features
5697           from the features list when we load the actual plugin. That's not
5698           yet implemented. 
5699
5700 2005-10-04  Johan Dahlin  <johan@gnome.org>
5701
5702         * check/gst/gstiterator.c: (GST_START_TEST):
5703         * gst/gstbin.c: (gst_bin_iterate_elements),
5704         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5705         * gst/gstelement.c: (gst_element_iterate_pads):
5706         * gst/gstformat.c: (gst_format_iterate_definitions):
5707         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5708         (gst_iterator_new_list), (gst_iterator_filter):
5709         * gst/gstiterator.h:
5710         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5711         Add a GType to GstIterator, update callsites and tests.
5712
5713 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5714
5715         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5716           give events a chance to be handled by event probes when the pad
5717           is not linked
5718
5719 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5720
5721         * gst/gstevent.c: (gst_event_type_get_name),
5722         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5723         * gst/gstevent.h:
5724           add string representations for event types
5725
5726 2005-10-06  Wim Taymans  <wim@fluendo.com>
5727
5728         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5729         Don't use NULL pointers.
5730
5731 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5732
5733         * gst/gst_private.h:
5734         * gst/gstbus.c:
5735         * gst/gstelement.c:
5736         * gst/gstinfo.c:
5737         * gst/gstpluginfeature.c:
5738           widen the debug category in output to fit the biggest one we have
5739           add a bus category and use it
5740           play with the colors
5741           fix up some categories
5742
5743 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5744
5745         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5746           add push activation of sink ghost pads.
5747           Andye, please verify
5748
5749 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5750
5751         * gst/gstutils.c: (gst_element_link_pads):
5752           fix a bug in the case where neither element has a pad
5753         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5754           add a test for that case
5755
5756 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5757
5758         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5759           emit have-data before checking for peers.  This allows
5760           for probe handlers to connect elements.  This helps autopluggers.
5761         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5762         (gst_pad_suite):
5763           add six checks, linked/unlinked with no/true/false probe
5764
5765 2005-10-04  Wim Taymans  <wim@fluendo.com>
5766
5767         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5768         (gst_fake_sink_event), (gst_fake_sink_preroll),
5769         (gst_fake_sink_render), (gst_fake_sink_change_state):
5770         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5771         (gst_fake_src_get_property), (gst_fake_src_create),
5772         (gst_fake_src_stop):
5773         * gst/elements/gstidentity.c: (gst_identity_stop):
5774         Protect last_message with lock.
5775
5776 2005-10-04  Edward Hervey  <edward@fluendo.com>
5777
5778         * gst/gstformat.h: 
5779         Added precision in the comments for GST_FORMAT_DEFAULT
5780
5781 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5782
5783         * tools/gst-launch.c: (main):
5784           Don't try to run erroneous pipelines.
5785
5786 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5787
5788         * gst/gstbus.c: We don't need this header.
5789
5790 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5791
5792         * configure.ac:
5793           back to development
5794
5795 === release 0.9.3 ===
5796
5797 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5798
5799         * README:
5800         * configure.ac:
5801           Releasing 0.9.3, "Unregistered"
5802
5803 2005-10-03  Andy Wingo  <wingo@pobox.com>
5804
5805         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5806         whereby calling a pad's activatepush() function can start a thread
5807         that starts to push or pull before the pad gets the FLUSHING flag
5808         unset. Hack around it by holding the stream lock until the flag is
5809         set. Need to replace this with a proper solution. Together with
5810         the ghost pad fixes, this fixes mp3 playing/tagreading.
5811
5812         * docs/design/part-gstghostpad.txt: Add a note about activation of
5813         proxy pads outside of ghost pads.
5814
5815         * gst/gstghostpad.c: Implement the ghost pad activation design.
5816
5817 2005-10-02  Andy Wingo  <wingo@pobox.com>
5818
5819         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5820         It is volatile, after all.
5821
5822         * docs/design/part-gstghostpad.txt: Flesh out activation with
5823         ghost pads.
5824
5825         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5826         GST_DEBUG_FUNCPTR.
5827
5828 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5829
5830         * configure.ac:
5831           Fix (unused) AM_CONDITIONAL tests.
5832
5833 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5834
5835         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5836
5837         * gst/gstutils.c: (gst_pad_query_convert):
5838           Add assertion that makes sure src_val is >=0, just like
5839           gst_query_new_convert() has. (#315895)
5840
5841 2005-09-30  Edward Hervey  <edward@fluendo.com>
5842
5843         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5844         Let's not iterate pads we're not interested in, it avoids getting 
5845         sky-high refcounts on sinkpad.
5846
5847 2005-09-30  Wim Taymans  <wim@fluendo.com>
5848
5849         * gst/gstelement.c: (gst_element_set_state),
5850         (gst_element_change_state):
5851         Small tweak, element in ASYNC remains ASYNC.
5852
5853 2005-09-30  Wim Taymans  <wim@fluendo.com>
5854
5855         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5856         Only error is an error.
5857
5858         * gst/gstbin.c: (gst_bin_change_state):
5859         Better debugging.
5860
5861         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5862         Also call pad_block in pad alloc.
5863
5864         * gst/gstutils.c: (gst_flow_get_name):
5865         Better debugging.
5866
5867 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5868
5869         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5870         (gst_base_src_get_range):
5871           Fix documentation typos. Add some more debug info.
5872
5873 2005-09-29  David Schleef  <ds@schleef.org>
5874
5875         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5876           more end-user friendly.
5877         * tools/gst-inspect.c: (main): Check if command-line argument is
5878           a file and attempt to load that file as a plugin.
5879
5880 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5881
5882         * check/gst/gstbin.c:
5883         * check/states/sinks.c:
5884           fix tests for the new warning
5885         * check/gst/gstpipeline.c:
5886           add a test for pipeline and bus interaction
5887         * gst/gstelement.c:
5888           elements should be NULL if they get disposed; add a warning if not
5889
5890 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5891
5892         * gst/gstobject.c:
5893           for 2.6 refcounting, make debug log more correct by printing
5894           the actual refcounts at the time of swap (Wim)
5895
5896 2005-09-29  Andy Wingo  <wingo@pobox.com>
5897
5898         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5899         removes signal watches previously added via
5900         gst_bus_add_signal_watch.
5901         (gst_bus_add_signal_watch): Don't return the source id, just store
5902         it on the bus if there wasn't an id already.
5903
5904         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5905         add_signal_watch and remove_signal_watch.
5906
5907 2005-09-29  Edward Hervey  <edward@fluendo.com>
5908
5909         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5910         Better if we actually iterate the list :)
5911
5912 2005-09-29  Wim Taymans  <wim@fluendo.com>
5913
5914         * check/gst/gstbin.c: (GST_START_TEST):
5915         Change for new bus API.
5916
5917         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5918         (send_messages), (GST_START_TEST), (gstbus_suite):
5919         Change for new bus signal API.
5920
5921         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5922         (gst_bus_source_prepare), (gst_bus_source_check),
5923         (gst_bus_create_watch), (gst_bus_add_watch_full),
5924         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5925         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5926         * gst/gstbus.h:
5927         Remove support for multiple GSources operating on different
5928         message types as it is too complex and unneeded when using
5929         signals.
5930         Added support for receiving signals from the bus.
5931
5932 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5933
5934         * docs/libs/tmpl/gstdataprotocol.sgml:
5935         * docs/manual/advanced-dataaccess.xml:
5936         * gst/elements/gstcapsfilter.c:
5937         * gst/gstutils.c:
5938           rename filter-caps to caps property
5939
5940 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5941
5942         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5943           More robust fraction string parsing.
5944
5945         * docs/pwg/appendix-porting.xml:
5946           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5947
5948 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5949
5950         * gst/gstcaps.c: (gst_caps_do_simplify):
5951           Thou shalt not free a structure and then continue using it
5952           in the next loop iteration.
5953
5954         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5955         (gst_caps_suite):
5956           Add test case for caps simplification.
5957
5958 2005-09-29  Wim Taymans  <wim@fluendo.com>
5959
5960         * check/gst/gstbin.c: (GST_START_TEST):
5961         Oops.
5962
5963 2005-09-29  Wim Taymans  <wim@fluendo.com>
5964
5965         * check/gst/gstbin.c: (GST_START_TEST):
5966         Add bus to bin.
5967
5968         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5969         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5970         (find_element), (gst_bin_sort_iterator_next),
5971         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5972         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5973         (gst_bin_change_state), (gst_bin_dispose):
5974         A bin does not have a bus, it gets the bus from the parent.
5975
5976         * gst/gstelement.c: (gst_element_requires_clock),
5977         (gst_element_provides_clock), (gst_element_is_indexable),
5978         (gst_element_is_locked_state), (gst_element_change_state),
5979         (gst_element_set_bus_func):
5980         Small cleanups.
5981
5982         * gst/gstpipeline.c: (gst_pipeline_class_init),
5983         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5984         The pipeline provides a bus.
5985
5986 2005-09-28  Johan Dahlin  <johan@gnome.org>
5987
5988         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5989         gst_structure_get_enum instead of gst_structure_get_int
5990
5991         * gst/gststructure.c (gst_structure_get_enum): Impl.
5992
5993         * gst/gststructure.h (gst_structure_get_enum): Add
5994
5995         * docs/gst/gstreamer-sections.txt: Ditto
5996
5997         * gst/gstmessage.c (gst_message_new_state_changed): Use
5998         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5999         which does introspection.
6000         Reviewed by Christian Schaller
6001
6002 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6003
6004         * gst/gstinfo.c: (gst_debug_log_default):
6005           don't do dummy g_strdup()s
6006         * libs/gst/controller/gstcontroller.c:
6007         (on_object_controlled_property_changed),
6008         (gst_controlled_property_new), (gst_controller_new_valist),
6009         (gst_controller_new_list),
6010         (gst_controller_remove_properties_valist), (gst_controller_set),
6011         (gst_controller_get), (gst_controller_sync_values),
6012         (gst_controller_get_value_array), (_gst_controller_class_init),
6013         (gst_controller_get_type):
6014         * libs/gst/controller/gstcontroller.h:
6015         * libs/gst/controller/gstinterpolation.c:
6016         (gst_controlled_property_find_timed_value_node):
6017           convert // to /**/ comments
6018
6019 2005-09-28  Wim Taymans  <wim@fluendo.com>
6020
6021         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6022         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6023         (gst_bus_sync_signal_handler):
6024         * gst/gstbus.h:
6025         Added async-message and sync-message signals to the bus.
6026         Added helper BusFunc to emit signals for all posted messages.
6027
6028         * gst/gstmessage.c: (gst_message_type_get_name),
6029         (gst_message_type_to_quark), (gst_message_get_type):
6030         * gst/gstmessage.h:
6031         Register quarks for message names.
6032
6033 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6034
6035         * docs/libs/gstreamer-libs-sections.txt:
6036         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6037         (gst_controller_new_list):
6038         * libs/gst/controller/gstcontroller.h:
6039           added another constructor for language bindings
6040
6041 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6042
6043         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6044           add another check
6045         * gst/gstbus.c:
6046           add some doc
6047         * gst/gstinfo.c: (_gst_debug_init):
6048           slightly more readable color for refcount debugging
6049
6050 2005-09-28  Wim Taymans  <wim@fluendo.com>
6051
6052         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6053         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6054         (find_element), (gst_bin_sort_iterator_next),
6055         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6056         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6057         (gst_bin_change_state), (gst_bin_dispose):
6058         Small doc fixes. get_clock -> provide_clock.
6059
6060         * gst/gstelement.c: (gst_element_class_init),
6061         (gst_element_provides_clock), (gst_element_provide_clock),
6062         (gst_element_get_clock), (gst_element_commit_state),
6063         (gst_element_lost_state):
6064         * gst/gstelement.h:
6065         Make get/set_clock() symetric. Add provide_clock vmethod since
6066         that is actually what this function does.
6067
6068         * gst/gstpipeline.c: (gst_pipeline_class_init),
6069         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6070         (gst_pipeline_get_clock):
6071         get_clock -> provide_clock.
6072
6073 2005-09-28  Andy Wingo  <wingo@pobox.com>
6074
6075         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6076         lieu of real docs...
6077
6078         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6079
6080 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6081
6082         * gst/elements/gstcapsfilter.c:
6083         * gst/elements/gstfakesink.c:
6084         * gst/elements/gstfakesrc.c:
6085         * gst/elements/gstfdsink.c:
6086         * gst/elements/gstfdsrc.c:
6087         * gst/elements/gstfilesink.c:
6088         * gst/elements/gstfilesrc.c:
6089         * gst/elements/gstidentity.c:
6090         * gst/elements/gsttee.c:
6091         * gst/elements/gsttypefindelement.c:
6092           Make element details static.
6093
6094 2005-09-28  Wim Taymans  <wim@fluendo.com>
6095
6096         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6097         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6098         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6099         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6100         (gst_bin_change_state), (gst_bin_dispose):
6101         Some documentation updates.
6102         Clean up dispose handlers.
6103
6104         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6105         * gst/gstpad.c: (gst_pad_dispose):
6106         Clean up dispose handler.
6107
6108         * gst/gstpipeline.c: (gst_pipeline_change_state):
6109         Removed spurious UNLOCK.
6110
6111 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6112
6113         * docs/gst/gstreamer-sections.txt:
6114         * gst/base/gstbasesrc.h:
6115         * gst/gstelement.h:
6116         * gst/gstevent.h:
6117         * gst/gstobject.h:
6118         * gst/gstpad.h:
6119         * gst/gstpipeline.c:
6120         * gst/gstpipeline.h:
6121         * gst/gstutils.h:
6122         * gst/gstxml.h:
6123           added two new functions to the docs
6124                 documents all undocumented GstXXXFlags
6125                 completed some incomplete docs 
6126
6127 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6128
6129         * gst/gstbin.c: (gst_bin_dispose):
6130         * gst/gstelement.c: (gst_element_dispose):
6131           remove now useless and leaky resurrection code in dispose
6132         * gst/base/gstbasesrc.c: (gst_base_src_init):
6133         * gst/gstelementfactory.c: (gst_element_factory_create):
6134         * gst/gstobject.c: (gst_object_set_parent):
6135           add some debugging
6136
6137 2005-09-27  Wim Taymans  <wim@fluendo.com>
6138
6139         * docs/design/part-TODO.txt:
6140         Update TODO.
6141
6142         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6143         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6144         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6145         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6146         (gst_bin_change_state):
6147         * gst/gstelement.h:
6148         Remove element variable, we keep element info in the iterator now.
6149
6150 2005-09-27  Andy Wingo  <wingo@pobox.com>
6151
6152         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6153         values.
6154
6155 2005-09-27  Wim Taymans  <wim@fluendo.com>
6156
6157         * check/gst/gstbin.c: (GST_START_TEST):
6158         Enable check that works now.
6159
6160         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6161         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6162         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6163         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6164         (gst_bin_change_state):
6165         * gst/gstbin.h:
6166         Redid the state change algorithm using a topological sort algo.
6167         Handles all cases correctly.
6168         Exposed iterator for state change order.
6169
6170         * gst/gstelement.h:
6171         Temp storage for state changes. Need to get rid of this soon.
6172
6173 2005-09-27  Wim Taymans  <wim@fluendo.com>
6174
6175         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6176         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6177         (link_fold_func), (gst_pad_proxy_setcaps):
6178         Leak fixes, the fold functions need to unref the passed object and
6179         _get_parent_*() returns ref to parent.
6180
6181 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6182
6183         * check/gst/gstbuffer.c: (test_make_writable):
6184           Plug leak in test case and fix 'make check-valgrind'
6185
6186 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6187
6188         * gst/gstbuffer.c: (gst_subbuffer_init):
6189           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6190           works correctly in all circumstances (we could have just copied
6191           the parent buffer's readonly flag, but conceptually it seems
6192           cleaner to mark all subbuffers as read-only). (based on patch
6193           by Alessandro Decina, #314710).
6194         
6195         * check/gst/gstbuffer.c: (create_read_only_buffer),
6196         (test_make_writable), (test_subbuffer_make_writable),
6197         (gst_test_suite):
6198           Add some tests for gst_buffer_make_writable().
6199
6200 2005-09-27  Wim Taymans  <wim@fluendo.com>
6201
6202         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6203         use gst_object_has_ancestor().
6204
6205         * gst/gstobject.c: (gst_object_has_ancestor):
6206         * gst/gstobject.h:
6207         gst_object_has_ancestor() copied from gstbin.c as it is a
6208         usefull function.
6209
6210         * tests/instantiate/create.c: (create_all_elements):
6211         * tests/lat.c: (handoff_src), (handoff_sink):
6212         * tests/sched/runxml.c: (main):
6213         * tests/seeking/seeking1.c: (main):
6214         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6215         (main):
6216         Fix compilation of some tests.
6217
6218 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6219
6220         * gst/gsterror.h:
6221           Remove comment. GST_TYPE_G_ERROR is here to stay,
6222           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6223           (#316961, #300610).
6224
6225 2005-09-26  Wim Taymans  <wim@fluendo.com>
6226
6227         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6228         Added check that shows error in state change order.
6229
6230 2005-09-26  Wim Taymans  <wim@fluendo.com>
6231
6232         * gst/gstbin.c: (gst_bin_change_state):
6233         Make state change function use 3 queues again, we were
6234         adding elements in the wrong order.
6235
6236         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6237         Some debug info,
6238
6239         * gst/gstpad.c: (gst_pad_dispose):
6240         Added some debug info first.
6241
6242 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6243
6244         * docs/design/draft-push-pull.txt:
6245         * docs/design/part-events.txt:
6246         * docs/design/part-overview.txt:
6247         * docs/design/part-scheduling.txt:
6248           Replace all _pull_region() with _pull_range()
6249           
6250 2005-09-26  Andy Wingo  <wingo@pobox.com>
6251
6252         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6253
6254         * check/gst-libs/controller.c: Update for controller api change.
6255
6256         * configure.ac: 
6257         * tests/Makefile.am:
6258         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6259         over by GLib bug 118439.
6260         
6261         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6262         routines to a function.
6263
6264         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6265
6266         * libs/gst/controller/gsthelper.c:
6267         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6268         (gst_object_sync_values): Renamed from sink_values. Ugh.
6269
6270         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6271
6272         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6273         Renamed from controller_key, as it is exported.
6274
6275         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6276
6277 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6278
6279         * gst/Makefile.am:
6280         * gst/gst.h:
6281         * gst/gstpad.h:
6282         * gst/gstpadtemplate.h:
6283         * gst/gstquery.c:
6284         * gst/gstquery.h:
6285         * gst/gstqueryutils.c:
6286         * gst/gstqueryutils.h:
6287           remove queryutils headers after moving the two used functions
6288           to gstquery.  also fixes build problem for gstsiddec
6289
6290 2005-09-26  Michael Smith <msmith@fluendo.com>
6291
6292         * tools/gst-launch.1.in:
6293         Correct documentation in manpage of debug syntax
6294
6295 2005-09-26  Wim Taymans  <wim@fluendo.com>
6296
6297         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6298         (gst_base_src_is_seekable), (gst_base_src_change_state):
6299         Some more debugging info.
6300
6301 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6302
6303         * docs/gst/gstreamer-sections.txt:
6304         * gst/base/gstbasetransform.h:
6305         * gst/gstindex.h:
6306           added more docs
6307
6308 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6309
6310         * docs/gst/.cvsignore:
6311         * docs/gst/tmpl/.cvsignore:
6312         * docs/gst/tmpl/gstpipeline.sgml:
6313         * docs/gst/tmpl/gstplugin.sgml:
6314         * gst/gstpipeline.c:
6315         * gst/gstplugin.c:
6316         * gst/gstplugin.h:
6317           inlined the last two docs files
6318           removed the tmpl directory from cvs (no more conflicts here!)
6319
6320 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6321
6322         * docs/gst/gstreamer-sections.txt:
6323         * docs/gst/tmpl/.cvsignore:
6324         * docs/gst/tmpl/gstpad.sgml:
6325         * docs/gst/tmpl/gstpadtemplate.sgml:
6326         * gst/Makefile.am:
6327         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6328         (gst_pad_finalize), (gst_pad_set_pad_template):
6329         * gst/gstpad.h:
6330         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6331         (gst_pad_template_class_init), (gst_pad_template_init),
6332         (gst_pad_template_dispose), (name_is_valid),
6333         (gst_static_pad_template_get), (gst_pad_template_new),
6334         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6335         (gst_pad_template_pad_created):
6336         * gst/gstpadtemplate.h:
6337           inlined two more docs
6338           factored gstpadtemplate out of gstpad
6339
6340 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6341
6342         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6343         (test_children_state_change_order_semi_sink):
6344           Fix test case: we can't rely on a fixed state change order when
6345           going from READY => PAUSED because the sink might commit its 
6346           new state first when the first buffer created by the source 
6347           reaches the sink before the source has finished its change state.
6348           (Test case still fails at times, see #316856, comment 5 onwards)
6349
6350 2005-09-24  Wim Taymans  <wim@fluendo.com>
6351
6352         * docs/design/part-events.txt:
6353         * docs/design/part-gstbus.txt:
6354         * docs/design/part-gstpipeline.txt:
6355         * docs/design/part-messages.txt:
6356         * docs/design/part-overview.txt:
6357         * docs/design/part-segments.txt:
6358         * gst/gstbin.c:
6359         * gst/gstbuffer.c:
6360         * gst/gstclock.c:
6361         * gst/gstelement.c:
6362         * gst/gstevent.c:
6363         * gst/gstfilter.c:
6364         * gst/gstiterator.c:
6365         Various documentation updates.
6366
6367 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6368
6369         * gst/gstclock.h:
6370           Well, that's embarassing.  Luckily we weren't using
6371           GST_CLOCK_DIFF anywhere.
6372
6373 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6374
6375         * common/gtk-doc.mak:
6376           don't fail on building XML, FC4 slave shows a bunch of doc
6377           missing bits that I don't get
6378         * gst/gstpad.c:
6379         * gst/gstpipeline.c:
6380         * gst/gststructure.c:
6381           some doc updates
6382
6383 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6384
6385         * docs/design/part-gstbin.txt:
6386         * docs/design/part-gstbus.txt:
6387         * gst/gstbus.c:
6388           Add blurb about how the bus goes into flushing mode and
6389           drops all messages when its bin goes from READY into NULL 
6390           state.
6391
6392 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6393
6394         * docs/gst/gstreamer-sections.txt:
6395         * gst/gststructure.c: (gst_structure_get_clock_time):
6396         * gst/gststructure.h:
6397           add a method to get a GstClockTime out of a structure
6398
6399 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6400
6401         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6402         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6403           Added test to check state change order in bins (can still be made
6404           to fail here under heavy disk load; bails out with 'Push on pad
6405           fakesink:sink0, but it was not activated in push mode').
6406
6407         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6408           Fix state change order when there is only a semi sink (#316856)
6409
6410         * gst/gstbus.c: (gst_bus_class_init):
6411           Use _class_peek_parent(), not _class_ref(); fix docs to say
6412           'default main context' instead of 'mainloop' where that is
6413           what's meant.
6414
6415         * gst/gstelement.c: (gst_element_commit_state),
6416         (gst_element_set_state):
6417           Fix typos in debug messages
6418
6419 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6420
6421         * docs/README:
6422         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6423         * gst/gstpluginfeature.c:
6424         * gst/gstutils.c:
6425           various doc updates
6426         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6427           change an assert into an error until it gets fixed properly
6428
6429 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6430
6431         * docs/gst/gstreamer-sections.txt:
6432         * docs/gst/tmpl/.cvsignore:
6433         * docs/gst/tmpl/gstelement.sgml:
6434         * docs/gst/tmpl/gstinfo.sgml:
6435         * docs/gst/tmpl/gstobject.sgml:
6436         * gst/gstelement.c:
6437         * gst/gstelement.h:
6438         * gst/gstinfo.c:
6439         * gst/gstinfo.h:
6440         * gst/gstobject.c: (gst_object_class_init):
6441         * gst/gstobject.h:
6442           inlined 3 more biiiig doc files and added some missing docs on the fly
6443
6444 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6445
6446         * check/gst/.cvsignore:
6447         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6448         * gst/gstregistryxml.c: (load_plugin),
6449         (gst_registry_xml_save_plugin):
6450           put back source in registry.  add checks for find_plugin.
6451         * testsuite/states/bin.c: (assert_state), (empty_bin),
6452         (test_adding_one_element), (main):
6453         * testsuite/states/locked.c: (main):
6454           some compile/run fixes
6455
6456 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6457
6458         * check/gst/gstvalue.c: (GST_START_TEST):
6459           fix leaks in the test itself
6460
6461 2005-09-22  Wim Taymans  <wim@fluendo.com>
6462
6463         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6464         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6465         (gst_base_sink_query):
6466         Prepare for more accurate position reporting and query
6467         handling.
6468
6469         * gst/gstelement.c: (gst_element_send_event),
6470         (gst_element_set_state):
6471         Add some comment.
6472
6473 2005-09-22  Wim Taymans  <wim@fluendo.com>
6474
6475         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6476         (gst_query_parse_segment):
6477         * gst/gstquery.h:
6478         More documentation.
6479         Add segment query for future use.
6480
6481 2005-09-22  Wim Taymans  <wim@fluendo.com>
6482
6483         * gst/gstbin.c: (gst_bin_add_func):
6484         Some more debug info.
6485
6486         * gst/gstelement.c: (gst_element_send_event):
6487         Simplify send_event
6488
6489         * gst/gstelement.h:
6490         Don't know how flags got broken.
6491
6492         * gst/gstquery.h:
6493         Added new query.
6494
6495 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6496
6497         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6498           Add simplistic test suite for GST_TYPE_DATE serialisation and
6499           deserialisation.
6500
6501 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6502
6503         * docs/gst/gstreamer-sections.txt:
6504         * gst/gststructure.c: (gst_structure_set_valist),
6505         (gst_structure_get_date):
6506         * gst/gststructure.h:
6507         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6508         (gst_date_copy), (gst_value_compare_date),
6509         (gst_value_serialize_date), (gst_value_deserialize_date),
6510         (gst_value_transform_date_string),
6511         (gst_value_transform_string_date), (_gst_value_initialize):
6512         * gst/gstvalue.h:
6513           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6514           bunch of utility functions along with a hack that checks that
6515           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6516           is required. Part of the grand scheme in #170777.
6517
6518 2005-09-22  Andy Wingo  <wingo@pobox.com>
6519
6520         * gst/gstconfig.h.in: Psych out gtk-doc.
6521
6522         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6523
6524         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6525
6526         * tools/gst-inspect.c (print_element_list): Plug some
6527         inconsequential leaks.
6528
6529         * gst/gstregistry.c (gst_registry_get_default): Doc.
6530
6531         * check/gst/gstplugin.c: 
6532         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6533         * gst/gstelementfactory.c (gst_element_factory_create): 
6534         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6535         refcount changes.
6536
6537         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6538         (gst_plugin_feature_load): Doc, don't eat refs.
6539
6540         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6541         (gst_plugin_list_free): Doc.
6542         (gst_plugin_load_file): Doc updates.
6543
6544         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6545         accessors returning refcounted objects, return a ref.
6546
6547         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6548         accessor for caps. IDEMPOTENCE. Oh yes.
6549
6550 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6551
6552         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6553
6554         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6555         (_gst_debug_register_funcptr):
6556           Add mutex to serialise access to the hash table with
6557           the function pointer => function name string mapping;
6558           make that hash table static scope (#316809).
6559
6560         * gst/registries/.cvsignore:
6561           Remove left-over file.
6562
6563 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6564
6565         * docs/pwg/appendix-porting.xml:
6566           And something about newsegment events and caps-on-buffers to
6567           the porting guide (feel free to improve).
6568
6569 2005-09-21  Andy Wingo  <wingo@pobox.com>
6570
6571         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6572         data and event probes on the same pad.
6573         (test_buffer_probe_once): Test that removing probes from within
6574         the probe functions works.
6575
6576 2005-09-21  Andy Wingo  <wingo@pobox.com>
6577
6578         * check/gst/gstutils.c: New file.
6579         (test_buffer_probe_n_times): A simple buffer probe test. More to
6580         come, foolios.
6581
6582         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6583         have-data::buffer, not have-data.
6584         (gst_pad_add_event_probe): Likewise for have-data::event.
6585         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6586         peer' isn't quite right yet though.
6587         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6588         (gst_pad_remove_data_probe): Change to take the guint handler_id
6589         as their arg, not the function+data, which is more glib-like.
6590
6591         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6592         the signal emission to indicate if the data is a buffer or an
6593         event.
6594         (gst_pad_get_type): Initialize buffer and event quarks.
6595         (gst_pad_class_init): have-data is now a detailed signal, yes it
6596         is.
6597
6598 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6599
6600         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6601         * gst/gstutils.c: (gst_util_set_value_from_string),
6602         (gst_util_set_object_arg):
6603           Don't put functional code in g_return_if_fail() or
6604           g_return_val_if_fail() statements, otherwise things will 
6605           break when G_DISABLE_CHECKS is defined during compilation.
6606
6607 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6608
6609         * docs/gst/tmpl/.cvsignore:
6610         * docs/gst/tmpl/gstvalue.sgml:
6611         * gst/gstvalue.c:
6612         * gst/gstvalue.h:
6613           inlied another one and added  some obvious docs
6614
6615 2005-09-21  Wim Taymans  <wim@fluendo.com>
6616
6617         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6618         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6619         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6620         (gst_fdsrc_get_property), (gst_fdsrc_create):
6621         * gst/elements/gstfdsrc.h:
6622         Properly implement fdsrc. Removed signal and timeout,
6623         better implemented somewhere else.
6624
6625 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6626
6627         * docs/gst/tmpl/.cvsignore:
6628         * docs/gst/tmpl/gstimplementsinterface.sgml:
6629         * gst/gstinterface.c:
6630           inlined more docs
6631
6632 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6633
6634         * docs/gst/gstreamer-sections.txt:
6635         * docs/gst/tmpl/.cvsignore:
6636         * docs/gst/tmpl/gstenumtypes.sgml:
6637           remove obsolete doc file
6638
6639 2005-09-21  David Schleef  <ds@schleef.org>
6640
6641         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6642         little beer, fix a little leak.
6643
6644 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6645
6646         * docs/gst/gstreamer-docs.sgml:
6647         * docs/gst/gstreamer-sections.txt:
6648         * docs/gst/tmpl/.cvsignore:
6649         * gst/Makefile.am:
6650         * gst/gst.h:
6651         * gst/gstbin.c:
6652         * gst/gstelement.h:
6653         * gst/gstindex.c: (gst_index_class_init):
6654         * gst/gstindex.h:
6655         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6656         (gst_index_factory_class_init), (gst_index_factory_init),
6657         (gst_index_factory_finalize), (gst_index_factory_new),
6658         (gst_index_factory_destroy), (gst_index_factory_find),
6659         (gst_index_factory_create), (gst_index_factory_make):
6660         * gst/gstindexfactory.h:
6661         * gst/gstpluginfeature.c:
6662         * gst/gstpluginfeature.h:
6663         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6664           more docs inlined, splitted gstindex.{c,h}
6665
6666 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6667
6668         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6669           fix a leak
6670
6671 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6672
6673         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6674           Set sync to FALSE by default.
6675
6676 2005-09-20  Wim Taymans  <wim@fluendo.com>
6677
6678         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6679         (gst_base_sink_init):
6680         Make sync property settable from subclass.
6681
6682         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6683         (gst_fake_sink_change_state):
6684         Set sync to FALSE by default.
6685
6686 2005-09-20  Wim Taymans  <wim@fluendo.com>
6687
6688         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6689         * tools/gst-launch.c: (main):
6690         The timeout handler should have lower priority than the source
6691         so we don't timeout before popping a message with 0 timeout.
6692         Dump error messages after failed state change.
6693
6694 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6695
6696         * tools/gst-inspect.c: (print_element_properties_info):
6697           Fix two typos.
6698
6699 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6700
6701         * check/gst/gstevent.c:
6702         * gst/elements/gstfakesink.c:
6703         * gst/elements/gstfakesink.h:
6704           remove the sync property from fakesink.
6705           has the side effect of setting sync TRUE
6706           for fakesink, which is a change.  Anyone who knows how
6707           to fix this nicely in a GObject-y way, feel free.
6708
6709 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6710
6711         * docs/gst/gstreamer-docs.sgml:
6712           remove probe refsection
6713
6714 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6715
6716         * check/Makefile.am:
6717           disable valgrinding the controller test again
6718         * docs/gst/gstreamer-sections.txt:
6719           update for api-changes
6720
6721 2005-09-20  Wim Taymans  <wim@fluendo.com>
6722
6723         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6724         (gst_base_sink_set_property), (gst_base_sink_get_property),
6725         (gst_base_sink_do_sync):
6726         * gst/base/gstbasesink.h:
6727         Added sync property to basesink to disable clock sync.
6728
6729 2005-09-20  Andy Wingo  <wingo@pobox.com>
6730
6731         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6732         eating the caller's refcount.
6733
6734         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6735         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6736         refcount.
6737
6738         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6739         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6740         of GLib 2.8 public, so we can know which refcount to check in
6741         tests.
6742
6743         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6744         (gst_object_init): Only set the gst refcount if we're going ahead
6745         with the refcount hack.
6746
6747 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6748
6749         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6750         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6751           more leaks plumbed, added more debug-logging
6752         * gst/gstmacros.h:
6753           whitespace fix
6754
6755 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6756
6757         * gst/gstmessage.c:
6758           remove include of gstmemchunk.h
6759
6760 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6761
6762         * gst/gstclock.c: (_gst_clock_id_free):
6763           Commit from the Political Party For More Atomic CVS Commits,
6764           so that people don't waste too much of their day fishing
6765           out obvious leaks out of massive commits.
6766           Oh, and fix a pretty damn obvious leak in the memchunk
6767           removal code.
6768
6769 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6770
6771         * check/Makefile.am:
6772         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6773           plug mem-leak, re-add to valgrindable tests
6774
6775 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6776
6777         * gst/gstplugin.h:
6778           unbreak the build for those who have chronic arthritis
6779           and typing "make check" is just too taxing on the hands
6780
6781 2005-09-20  Andy Wingo  <wingo@pobox.com>
6782
6783         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6784         really want it out, you should fix plugins at the same time.
6785
6786 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6787
6788         * configure.ac:
6789         * docs/gst/gstreamer-sections.txt:
6790         * gst/gstobject.c:
6791           added missing symbols to api docs
6792           disable ref-count hack if we have glib >= 2.8
6793
6794 2005-09-19  David Schleef  <ds@schleef.org>
6795
6796         * docs/gst/Makefile.am: Ignore a few more internal headers
6797         * docs/gst/gstreamer-docs.sgml: Remove old sections
6798         * docs/gst/gstreamer-sections.txt: Remove old sections
6799         * docs/gst/tmpl/gstobject.sgml: update
6800         * docs/gst/tmpl/gstplugin.sgml: update
6801         * docs/gst/tmpl/gstpluginfeature.sgml: update
6802         * docs/random/ds/0.9-suggested-changes: update.
6803         * gst/Makefile.am: remove memchunk and trashstack, since they're
6804           not used.
6805         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6806         * gst/gst.h: don't include some headers
6807         * gst/gstchildproxy.c: add gstmarshal.h
6808         * gst/gstclock.c: Don't use memchunks
6809         * gst/gstminiobject.c: Add some docs
6810         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6811         * gst/gstobject.h: same
6812         * gst/gstplugin.c: include gstmacros.h
6813         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6814         * gst/gstquery.c: don't use memchunks
6815         * gst/gstregistry.c: rename gst_registry_deinit()
6816         * gst/gstregistry.h: same
6817
6818 2005-09-19  David Schleef  <ds@schleef.org>
6819
6820         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6821         * docs/libs/gstreamer-libs-sections.txt:
6822         * docs/libs/tmpl/gstgetbits.sgml:
6823         * docs/libs/tmpl/gstputbits.sgml:
6824
6825 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6826
6827         * win32/gstenumtypes.c:
6828         * win32/gstenumtypes.h:
6829           Update.
6830
6831 2005-09-19  Wim Taymans  <wim@fluendo.com>
6832
6833         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6834         Automatically PAUSE and RESUME a pipeline when a flushing seek
6835         is performed.
6836
6837 2005-09-19  Andy Wingo  <wingo@pobox.com>
6838
6839         * gst/gstregistry.h: Spacing fixen.
6840
6841 2005-09-19  Wim Taymans  <wim@fluendo.com>
6842
6843         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6844         Handle state change failure more correctly.
6845
6846 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6847
6848         * check/Makefile.am:
6849         * check/pipelines/cleanup.c: (run_pipeline):
6850         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6851         (GST_START_TEST):
6852           enable cleanup again after fixing the leak
6853         * docs/README:
6854           some more info on docs
6855
6856 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6857
6858         * check/Makefile.am:
6859           re-enable tests now that leaks are plugged
6860         * check/gst/gst.c:
6861         * check/gst/gstbin.c:
6862         * check/gst/gstpipeline.c:
6863           add some more tests while fixing leaks
6864         * common/check.mak:
6865           make sure binaries are uptodate when valgrinding/gdbing
6866         * gst/gst.c:
6867         * gst/gstelementfactory.c:
6868           remove a ref too many, and add a FIXME for when we get
6869           round to disposing of classes
6870         * gst/gstplugin.c:
6871           fix the refcounting when loading a plugin from a file and
6872           the code pretends that the pointer is the same even though
6873           of course it can change
6874         * gst/gstpluginfeature.c:
6875           unref plugins marked cached (a bit confusing as a name)
6876           as the docs state should be done
6877           various doc additions to explain refcounting
6878         * gst/gstregistry.c:
6879         * gst/gstregistryxml.c:
6880           debugging
6881
6882 2005-09-19  Wim Taymans  <wim@fluendo.com>
6883
6884         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6885         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6886         (send_messages), (GST_START_TEST), (gstbus_suite):
6887         * check/gst/gstpipeline.c: (GST_START_TEST):
6888         * check/pipelines/cleanup.c: (run_pipeline):
6889         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6890         (GST_START_TEST):
6891         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6892         (gst_bus_source_check), (gst_bus_source_dispatch),
6893         (gst_bus_create_watch), (gst_bus_add_watch_full),
6894         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6895         * gst/gstbus.h:
6896         * tools/gst-launch.c: (event_loop):
6897         * tools/gst-md5sum.c: (event_loop):
6898         GstBusHandler -> GstBusFunc, return value has the same meaning as
6899         any other GSource (FALSE == remove source).
6900         _add_watch() and _add_watch_full() now take a MessageType mask to
6901         only handle specific types of messages.
6902         _poll() returns the GstMessage instead of the message type to avoid
6903         race conditions.
6904         _have_pending() takes a MessageType mask now too.
6905         Added testsuite for multiple bus watches.
6906         Fix testsuites and applications for new bus API.
6907
6908 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6909
6910         * check/Makefile.am:
6911           mark a bunch of the tests as to fix until we fix them
6912
6913 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6914
6915         * common/check.mak:
6916           use GST_PLUGIN settings for valgrind tests as well, so we're
6917           valgrinding the correct thing
6918         * gst/gst.c: (init_post):
6919           plug another leak
6920
6921 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6922
6923         * gst/gst.c: (init_post), (gst_deinit):
6924         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6925         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6926         * gst/gstindex.c: (gst_index_factory_class_init),
6927         (gst_index_factory_finalize):
6928         * gst/gstobject.c: (gst_object_dispose):
6929         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6930         (gst_plugin_load_file), (gst_plugin_desc_free):
6931         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6932         (gst_plugin_feature_finalize):
6933         * gst/gstregistry.c: (gst_registry_class_init),
6934         (gst_registry_init), (gst_registry_finalize),
6935         (gst_registry_get_default), (gst_registry_deinit):
6936         * gst/gstregistry.h:
6937         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6938           various cleanups and memleak plugging.  make valgrind is happy now.
6939
6940 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6941
6942         * common/check.mak:
6943           add a check-valgrind target
6944
6945 2005-09-18  David Schleef  <ds@schleef.org>
6946
6947         * tools/gst-inspect.c: Revert the GOption code.
6948
6949 2005-09-17  David Schleef  <ds@schleef.org>
6950
6951         * check/Makefile.am: Fix environment variables.
6952         * check/gst/gstplugin.c: Fix for API changes.
6953         * tools/gst-inspect.c: Fix for API changes.
6954         * tools/gst-xmlinspect.c: Fix for API changes.
6955         * gst/gstelementfactory.c:
6956         * gst/gstplugin.c:
6957         * gst/gstplugin.h:
6958         * gst/gstpluginfeature.c:
6959         * gst/gstpluginfeature.h:
6960         * gst/gstregistry.c:
6961         * gst/gstregistry.h:
6962         * gst/gstregistryxml.c:
6963         * gst/gsttypefind.c:
6964         * gst/gsttypefindfactory.c:
6965         * gst/indexers/gstfileindex.c:
6966         * gst/indexers/gstmemindex.c:
6967         * gst/schedulers/Makefile.am:
6968           Change registry to keep track of both plugins and features,
6969           removing the feature tracking from plugins themselves.
6970
6971 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6972
6973         * check/Makefile.am:
6974         * tools/gst-register.1.in:
6975           remove gst-register
6976
6977 2005-09-15  David Schleef  <ds@schleef.org>
6978
6979         * check/gst/gstplugin.c:
6980         * gst/gstelementfactory.c:
6981         * gst/gstplugin.c:
6982         * gst/gstpluginfeature.c:
6983         * gst/gstregistry.c:
6984           Getting tired of debugging.  Disabled all the unreffing of
6985           plugins and features, which fixes the segfaults, but of
6986           course leaks like crazy.  At least playbin works.
6987
6988 2005-09-15  David Schleef  <ds@schleef.org>
6989
6990         * check/gst/gstplugin.c: (register_check_elements),
6991         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6992         More testing
6993         * gst/elements/gsttypefindelement.c: Fix refcounting.
6994         * gst/gsttypefind.c:
6995         * gst/gsttypefindfactory.c:
6996         * gst/gsttypefindfactory.h:
6997
6998 2005-09-15  David Schleef  <ds@schleef.org>
6999
7000         * gst/gstindex.c: get refcounting correct.
7001         * gst/gstregistry.c: Handle the case where a feature/plugin is
7002           not found.
7003
7004 2005-09-15  David Schleef  <ds@schleef.org>
7005
7006         * check/Makefile.am:
7007         * check/gst/gstplugin.c: Add test
7008         * gst/gstplugin.c: Fix problems noticed by testsuite
7009         * gst/gstplugin.h:
7010         * gst/gstregistry.c: 
7011         * gst/gstregistry.h:
7012
7013 2005-09-15  David Schleef  <ds@schleef.org>
7014
7015         * gst/gstplugin.c: Implement semi-decent recounting and locking
7016           in plugins and plugin features.
7017         * gst/gstplugin.h:
7018         * gst/gstpluginfeature.c:
7019         * gst/gstpluginfeature.h:
7020         * gst/gstregistry.c:
7021
7022 2005-09-15  Michael Smith <msmith@fluendo.com>
7023
7024         * gst/gstregistry.c: (gst_registry_get_feature_list):
7025           Implement this. Makes oggdemux work; decodebin still broken.
7026
7027 2005-09-14  David Schleef  <ds@schleef.org>
7028
7029         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7030           #316076)
7031         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7032         * gst/check/Makefile.am:
7033         * libs/gst/controller/Makefile.am:
7034         * libs/gst/dataprotocol/Makefile.am:
7035
7036 2005-09-14  David Schleef  <ds@schleef.org>
7037
7038         * configure.ac: Remove getbits library.  Nothing uses it, and
7039           it should be in something like liboil if someone did want
7040           to use it.
7041         * libs/gst/Makefile.am:
7042         * libs/gst/getbits/Makefile.am:
7043         * libs/gst/getbits/gbtest.c:
7044         * libs/gst/getbits/getbits.c:
7045         * libs/gst/getbits/getbits.h:
7046         * libs/gst/getbits/gstgetbits_generic.c:
7047         * libs/gst/getbits/gstgetbits_i386.s:
7048         * libs/gst/getbits/gstgetbits_inl.h:
7049
7050 2005-09-14  David Schleef  <ds@schleef.org>
7051
7052         * gst/Makefile.am: Dist glib-compat.h
7053
7054 2005-09-14  David Schleef  <ds@schleef.org>
7055
7056         * configure.ac: Remove gst/registries, since it's no longer used.
7057         * gst/registries/Makefile.am:
7058         * gst/registries/gstlibxmlregistry.c:
7059         * gst/registries/gstlibxmlregistry.h:
7060         * gst/registries/gstxmlregistry.c:
7061         * gst/registries/gstxmlregistry.h:
7062         * gst/registries/registrytest.c:
7063
7064 2005-09-14  David Schleef  <ds@schleef.org>
7065
7066         * gst/glib-compat.h:
7067         * gst/gstregistryxml.c:
7068           Convergence is near.  Seriously.
7069
7070 2005-09-14  David Schleef  <ds@schleef.org>
7071
7072         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7073         * gst/glib-compat.h:
7074           Attempt #4 to appease the buildbots.
7075
7076 2005-09-14  David Schleef  <ds@schleef.org>
7077
7078         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7079           Attempt #3.
7080
7081 2005-09-14  David Schleef  <ds@schleef.org>
7082
7083         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7084         Attempt #2.
7085
7086 2005-09-14  David Schleef  <ds@schleef.org>
7087
7088         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7089           the new functions.
7090
7091 2005-09-14  David Schleef  <ds@schleef.org>
7092
7093         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7094         * gst/glib-compat.h: Add some functions that are in newer versions
7095           of glib than we care to require.
7096         * gst/gstregistryxml.c: Use them.
7097
7098 2005-09-14  David Schleef  <ds@schleef.org>
7099
7100         * po/POTFILES.in: remove gst-register.c
7101
7102 2005-09-14  David Schleef  <ds@schleef.org>
7103
7104         * docs/gst/gstreamer-docs.sgml:
7105         * docs/gst/gstreamer-sections.txt:
7106         * docs/gst/gstreamer.types:
7107         * docs/gst/tmpl/gstelement.sgml:
7108         * docs/gst/tmpl/gstplugin.sgml:
7109         * docs/gst/tmpl/gstpluginfeature.sgml:
7110           Documentation updates for registry changes.
7111
7112 2005-09-14  David Schleef  <ds@schleef.org>
7113
7114         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7115           because we don't require glib-2.8.
7116
7117 2005-09-14  David Schleef  <ds@schleef.org>
7118
7119         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7120           registries directory.
7121
7122 2005-09-14  David Schleef  <ds@schleef.org>
7123
7124         * check/Makefile.am:
7125         * check/generic/states.c:
7126         * gst/Makefile.am:
7127         * gst/gst.c:
7128         * gst/gst.h:
7129         * gst/gst_private.h:
7130         * gst/gstelementfactory.c:
7131         * gst/gstindex.c:
7132         * gst/gstinfo.c:
7133         * gst/gstplugin.c:
7134         * gst/gstplugin.h:
7135         * gst/gstpluginfeature.c:
7136         * gst/gstpluginfeature.h:
7137         * gst/gstregistry.c:
7138         * gst/gstregistry.h:
7139         * gst/gstregistrypool.c: remove
7140         * gst/gstregistrypool.h: remove
7141         * gst/gsttypefind.c:
7142         * gst/gsttypefindfactory.c:
7143         * gst/gsturi.c:
7144         * tools/Makefile.am:
7145         * tools/gst-compprep.c:
7146         * tools/gst-inspect.c:
7147         * tools/gst-register.c: remove
7148         * tools/gst-xmlinspect.c:
7149           Registry rewrite.  Changes registry from being a file created
7150           by a tool into a simple cache file created automatically by 
7151           libgstreamer.  Removed gst-register (because it's no longer
7152           needed).  Remove registry pools, because we only have one
7153           registry implementation (XML).  Fix up other subsystems as
7154           necessary.
7155
7156 2005-09-13  Michael Smith <msmith@fluendo.com>
7157
7158         * gst/gstconfig.h.in:
7159           Don't Use windows linking attributes for MinGW. Fixes #316157
7160
7161 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7162
7163         * gst/gstutils.c: (set_state_async_thread_func),
7164         (gst_element_set_state_async):
7165           Apparently people think it's better if this function doesn't
7166           try to set the state to whatever state was asked for on the first
7167           call to this function for any object.  Seriously.
7168
7169 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7170
7171         * check/gst/gstpipeline.c: (GST_START_TEST):
7172         * docs/gst/gstreamer-sections.txt:
7173         * gst/gstutils.c: (set_state_async_thread_func),
7174         (gst_element_set_state_async):
7175         * gst/gstutils.h:
7176           add a "gst_element_set_state_async" method that
7177           sets the state and starts a thread to make sure the state
7178           change completes as best as it can
7179
7180 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7181
7182         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7183           codify design+behaviour in testsuite after discussion
7184
7185 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7186
7187         * docs/gst/tmpl/gstelement.sgml:
7188         * docs/manual/appendix-quotes.xml:
7189           add a quote
7190         * gst/gstelement.c: (gst_element_set_state):
7191           add some debug
7192
7193 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7194
7195         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7196         (gst_base_transform_prepare_output_buf),
7197         (gst_base_transform_handle_buffer):
7198         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7199         (gst_capsfilter_prepare_buf):
7200           Remove the requirement for sub-classes to call the parent
7201           implementation of prepare_output_buffer with a wrapper function.
7202           
7203         * gst/gsttaglist.h:
7204         * gst/gsttagsetter.h:
7205           Fix #define wrapper
7206
7207 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7208
7209         * docs/gst/gstreamer-sections.txt:
7210           more doc cleanups
7211
7212 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7213
7214         * docs/gst/gstreamer-sections.txt:
7215         * docs/gst/tmpl/gstelement.sgml:
7216         * docs/gst/tmpl/gstplugin.sgml:
7217         * gst/gstminiobject.c:
7218         * gst/gstvalue.h:
7219           docs now stop throwing warnings
7220
7221 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7222
7223         * docs/gst/gstreamer-sections.txt:
7224         * docs/gst/gstreamer.types:
7225         * docs/gst/tmpl/gstpad.sgml:
7226         * docs/gst/tmpl/gsttypes.sgml:
7227         * gst/base/gstadapter.h:
7228         * gst/base/gstbasesink.h:
7229         * gst/base/gstbasesrc.h:
7230         * gst/gstbin.h:
7231         * gst/gstbuffer.h:
7232         * gst/gstbus.h:
7233         * gst/gstcaps.h:
7234         * gst/gstclock.h:
7235         * gst/gstelement.h:
7236         * gst/gstevent.h:
7237         * gst/gstmessage.h:
7238         * gst/gstpad.h:
7239         * gst/gststructure.c:
7240         * gst/registries/gstlibxmlregistry.h:
7241           various documentation fixes
7242
7243 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7244
7245         * docs/gst/gstreamer-sections.txt:
7246         * docs/gst/tmpl/gstvalue.sgml:
7247           rearrange gstvalue section
7248         * gst/gstutils.c: (gst_element_state_get_name):
7249           NONE -> VOID
7250         * gst/gstvalue.c: (_gst_value_initialize):
7251         * gst/gstvalue.h:
7252           doc updates
7253
7254 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7255
7256         * check/gst-libs/controller.c:
7257           Header include fix.
7258         * gst/base/gstbasetransform.c:
7259         (gst_base_transform_default_prepare_buf),
7260         (gst_base_transform_handle_buffer):
7261         * gst/base/gstbasetransform.h:
7262           Some more basetransform changes and fixes to enable sub-classes
7263           that modify buffer metadata only.
7264         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7265         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7266         (gst_capsfilter_prepare_buf):
7267           If the output pad has fixed allowed caps and input buffers 
7268           don't have any, set the fixed caps on outgoing buffers.
7269
7270 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7271         * check/elements/identity.c: (GST_START_TEST):
7272           Make the error a little clearer when the test fails because
7273           identity made a copy of the buffer.
7274         * docs/gst/gstreamer-sections.txt:
7275           New symbols in gstbasetransform.h
7276         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7277         (gst_base_transform_init), (gst_base_transform_transform_size),
7278         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7279         (gst_base_transform_default_prepare_buf),
7280         (gst_base_transform_get_unit_size),
7281         (gst_base_transform_buffer_alloc),
7282         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7283         (gst_base_transform_change_state),
7284         (gst_base_transform_set_passthrough),
7285         (gst_base_transform_set_in_place),
7286         (gst_base_transform_is_in_place):
7287         * gst/base/gstbasetransform.h:
7288           Change BaseTransform to separate in_place operate from same_caps
7289           output. in_place implies that the element can perform the transform
7290           on incoming buffers in-place, even if the caps on the output are
7291           different.
7292           Sub-class elements can now implement special buffer allocation
7293           methods for outgoing buffers if they wish to.
7294           Big documentation addition.
7295         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7296         * gst/elements/gstelements.c:
7297           Changes for basetransform modifications.
7298         * gst/elements/Makefile.am:
7299         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7300           Compile fix. Extra debug output.
7301
7302 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7303
7304         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7305         (gst_pad_suite):
7306           add tests for valid pad naming
7307         * gst/check/gstcheck.c: (gst_check_log_message_func),
7308         (gst_check_log_critical_func):
7309           add ASSERT_WARNING
7310           remove printing of code, it is fragile when the code contains
7311           % and the line number is enough info
7312         * gst/check/gstcheck.h:
7313         * gst/gstpad.c: (gst_pad_template_new):
7314           fix memleaks
7315
7316 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7317
7318         * configure.ac:
7319           say what CHECK flags we use
7320         * docs/libs/gstreamer-libs.types:
7321         * libs/gst/controller/Makefile.am:
7322         * libs/gst/controller/gst-controller.c:
7323         * libs/gst/controller/gst-controller.h:
7324         * libs/gst/controller/gst-helper.c:
7325         * libs/gst/controller/gst-interpolation.c:
7326         * libs/gst/controller/gstcontroller.c:
7327         * libs/gst/controller/gsthelper.c:
7328         * libs/gst/controller/gstinterpolation.c:
7329         * tools/gst-inspect.c: (print_plugin_info):
7330           we don't use dashes in header names
7331
7332 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7333
7334         * check/Makefile.am:
7335         * check/gst/.cvsignore:
7336         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7337         (gst_pipeline_suite), (main):
7338           adding a test for pipelines and state changes
7339         * gst/gstutils.c: (get_state_func):
7340           add some debugging
7341         * gstreamer.spec.in:
7342           fix up spec file
7343
7344 2005-09-08  Michael Smith <msmith@fluendo.com>
7345
7346         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7347         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7348         (gst_file_src_is_seekable), (gst_file_src_get_size),
7349         (gst_file_src_start):
7350         * gst/elements/gstfilesrc.h:
7351           Various fixes for unseekable, unmmapable, and non-normal files, so
7352           that fallback to read() rather than mmap() works.
7353         * gst/gstevent.c: (gst_event_new_newsegment):
7354           Allow newsegment events with segment_start == segment_end, as will
7355           correctly happen if you use filesrc on a zero-size file, for
7356           example.
7357
7358 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7359
7360         * gst/gstplugin.c: (gst_plugin_load_file):
7361           Call g_module_close when we don't load the module
7362
7363         * gst/registries/gstlibxmlregistry.c:
7364         (gst_xml_registry_get_property):
7365           Port leak fix from 0.8
7366
7367 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7368
7369         * docs/gst/gstreamer-docs.sgml:
7370         * docs/gst/tmpl/.cvsignore:
7371         * docs/gst/tmpl/gsttrace.sgml:
7372         * docs/gst/tmpl/gsttrashstack.sgml:
7373         * gst/Makefile.am:
7374         * gst/gst.h:
7375         * gst/gstelement.h:
7376         * gst/gstevent.h:
7377         * gst/gstmessage.c:
7378         * gst/gstmessage.h:
7379         * gst/gsttag.c:
7380         * gst/gsttag.h:
7381         * gst/gsttaginterface.c:
7382         * gst/gsttaginterface.h:
7383         * gst/gsttaglist.c:
7384         * gst/gsttaglist.h:
7385         * gst/gsttagsetter.c:
7386         * gst/gsttagsetter.h:
7387         * gst/gsttrace.c:
7388         * gst/gsttrace.h:
7389         * gst/gsttrashstack.c:
7390           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7391           inlined docs for gsttrace, gsttrashstack
7392
7393 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7394
7395         * gst/Makefile.am:
7396         * gst/elements/gstbufferstore.h:
7397         * gst/elements/gsttypefindelement.c:
7398         * gst/elements/gsttypefindelement.h:
7399         * gst/gst.h:
7400         * gst/gsttypefind.c:
7401         * gst/gsttypefind.h:
7402         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7403         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7404         (gst_type_find_factory_dispose),
7405         (gst_type_find_factory_unload_thyself),
7406         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7407         (gst_type_find_factory_get_caps),
7408         (gst_type_find_factory_get_extensions),
7409         (gst_type_find_factory_call_function):
7410         * gst/gsttypefindfactory.h:
7411         * gst/registries/gstlibxmlregistry.c:
7412         * gst/registries/gstxmlregistry.c:
7413           splitted gsttypefind into gsttypefind, gsttypefindfactory
7414
7415 2005-09-07  Andy Wingo  <wingo@pobox.com>
7416
7417         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7418         condition whereby the pad's task function is entered before the
7419         pad_mode variable was set.
7420
7421 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7422
7423         * gst/gstpad.c: (gst_pad_alloc_buffer):
7424           Catch misbehaving pad_alloc functions that don't
7425           set up caps and do it for them.
7426
7427 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7428
7429         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7430           test for pipe!=NULL
7431         * docs/gst/tmpl/.cvsignore:
7432         * docs/gst/tmpl/gstmemchunk.sgml:
7433         * docs/gst/tmpl/gstparse.sgml:
7434         * docs/gst/tmpl/gsttaglist.sgml:
7435         * docs/gst/tmpl/gsttagsetter.sgml:
7436         * docs/gst/tmpl/gsttypefind.sgml:
7437         * docs/gst/tmpl/gsttypefindfactory.sgml:
7438         * gst/gstmemchunk.c:
7439         * gst/gstparse.c:
7440         * gst/gsttag.c:
7441         * gst/gsttaginterface.c:
7442         * gst/gsttypefind.c:
7443         * gst/gsttypefind.h:
7444           inlined more docs
7445
7446 === release 0.9.2 ===
7447
7448 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7449
7450         * NEWS:
7451         * RELEASE:
7452         * configure.ac:
7453           releasing 0.9.2, "South"
7454
7455 2005-09-05  Andy Wingo  <wingo@pobox.com>
7456
7457         * gst/registries/gstxmlregistry.h:
7458         * gst/registries/gstxmlregistry.c: Um... resurrect...
7459         
7460         * gst/registries/gstxmlregistry.h:
7461         * gst/registries/gstxmlregistry.c: and update to newer API.
7462         Incidentally they should be a bit faster now that they don't have
7463         to parse the caps.
7464         
7465 2005-09-05  Andy Wingo  <wingo@pobox.com>
7466
7467         * gst/registries/gstxmlregistry.h:
7468         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7469         replaced by the libxml registry a while back
7470
7471 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7472
7473         * docs/gst/tmpl/gstplugin.sgml:
7474         * gst/elements/gstelements.c:
7475         * gst/gst.c:
7476         * gst/gstplugin.c: (gst_plugin_register_func),
7477         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7478         (gst_plugin_get_source):
7479         * gst/gstplugin.h:
7480         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7481         (gst_xml_registry_save_plugin):
7482         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7483         (gst_xml_registry_save_plugin):
7484         * tools/gst-inspect.c: (print_plugin_info):
7485           add a "source" plugin description field, to represent the source
7486           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7487           will set it to PACKAGE, which is automake's idea of the name of
7488           the source project.
7489
7490 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7491
7492         * Makefile.am:
7493         * autogen.sh:
7494         * configure.ac:
7495         * docs/Makefile.am:
7496         * docs/faq/Makefile.am:
7497         * docs/gst/tmpl/gstelement.sgml:
7498         * docs/gst/tmpl/gsttypes.sgml:
7499         * docs/htmlinstall.mak:
7500         * docs/manual/Makefile.am:
7501         * docs/pwg/Makefile.am:
7502           reorganize doc build a little
7503           split out docbook and gtk-doc stuff
7504           have two separate --enable's and enable them through autogen
7505           but disable by default in configure (to be similar to other
7506           projects)
7507         * gstreamer.spec.in:
7508           clean up docs install
7509         * po/af.po:
7510         * po/az.po:
7511         * po/ca.po:
7512         * po/cs.po:
7513         * po/de.po:
7514         * po/en_GB.po:
7515         * po/fr.po:
7516         * po/it.po:
7517         * po/nb.po:
7518         * po/nl.po:
7519         * po/ru.po:
7520         * po/sq.po:
7521         * po/sr.po:
7522         * po/sv.po:
7523         * po/tr.po:
7524         * po/uk.po:
7525         * po/vi.po:
7526           translation updates
7527
7528 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7529
7530         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7531           Add comment.
7532           
7533         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7534         (gst_fake_sink_change_state):
7535           Make state change function thread-safe.
7536           
7537         * gst/gstpad.c: (gst_pad_alloc_buffer):
7538           Set offset on generic buffer allocated by fallback.
7539
7540 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7541
7542         * docs/gst/gstreamer-sections.txt:
7543         * docs/gst/tmpl/gstelement.sgml:
7544         * gst/gstpad.c:
7545         * libs/gst/controller/gst-controller.c:
7546         (gst_controlled_property_set_interpolation_mode),
7547         (gst_controlled_property_new),
7548         (gst_controller_find_controlled_property):
7549          run the wingo-magic script against the docs
7550
7551 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7552
7553         * docs/gst/gstreamer-docs.sgml:
7554         * docs/gst/gstreamer-sections.txt:
7555         * docs/gst/tmpl/.cvsignore:
7556         * docs/gst/tmpl/gstelementdetails.sgml:
7557         * docs/gst/tmpl/gstelementfactory.sgml:
7558         * gst/gst.c:
7559         * gst/gstbus.c:
7560         * gst/gstelementfactory.c:
7561         * gst/gstelementfactory.h:
7562           merged elementdetails docs into elementfactory docs
7563           inlined both
7564
7565 2005-09-02  Andy Wingo  <wingo@pobox.com>
7566
7567         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7568         consider this enum an enum and not a flags.
7569
7570 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7571
7572         * docs/gst/gstreamer-docs.sgml:
7573         * docs/gst/tmpl/.cvsignore:
7574         * docs/gst/tmpl/gstghostpad.sgml:
7575         * docs/gst/tmpl/gstiterator.sgml:
7576         * docs/gst/tmpl/gstmacros.sgml:
7577         * docs/gst/tmpl/gstrealpad.sgml:
7578         * docs/gst/tmpl/gstregistry.sgml:
7579         * docs/gst/tmpl/gstregistrypool.sgml:
7580         * docs/gst/tmpl/gststructure.sgml:
7581         * docs/gst/tmpl/gstsystemclock.sgml:
7582         * docs/gst/tmpl/gsttrace.sgml:
7583         * gst/gstghostpad.c:
7584         * gst/gstmacros.h:
7585         * gst/gstmemchunk.c:
7586         * gst/gstmemchunk.h:
7587         * gst/gstqueue.c:
7588         * gst/gstregistry.c:
7589         * gst/gstregistrypool.c:
7590         * gst/gststructure.c:
7591         * gst/gstsystemclock.c:
7592           more docs inlined
7593
7594 2005-09-02  Andy Wingo  <wingo@pobox.com>
7595
7596         * gst/gstelement.h (GstState): Renamed from GstElementState,
7597         changed to be a normal enum instead of flags.
7598         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7599         munged to be GST_STATE_CHANGE_*.
7600         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7601         work with the new state representation.
7602         (GstStateChange): New enumeration of possible state transitions.
7603         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7604         (GstElementClass::change_state): Pass the GstStateChange along as
7605         an argument. Helps language bindings, so they don't have to use
7606         tricky lock-needing macros like GST_STATE_CHANGE ().
7607
7608         * scripts/update-states (file): New script. Run it on a file to
7609         update it for state naming and API changes. Updates files in
7610         place.
7611
7612         * All files updated for the new API.
7613
7614 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7615
7616         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7617         * gst/gstutils.c: (gst_util_set_value_from_string),
7618         (gst_util_set_object_arg):
7619           fix a bunch of unchecked return values
7620         * tools/gst-complete.c: (main):
7621         * gstreamer.spec.in:
7622           clean up a little
7623
7624 2005-09-01  Wim Taymans  <wim@fluendo.com>
7625
7626         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7627         (gst_base_sink_event), (gst_base_sink_do_sync),
7628         (gst_base_sink_handle_event):
7629         * gst/base/gstbasesink.h:
7630         Handle newsegments more correctly.
7631
7632         * gst/gstbus.c:
7633         Fix docs.
7634
7635         * gst/gstevent.c: (gst_event_new_newsegment):
7636         A newsegment cannot have a start_time of -1
7637
7638 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7639
7640         * win32/gstenumtypes.c:
7641         * win32/gstenumtypes.h:
7642           Update
7643
7644 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7645
7646         * libs/gst/controller/gst-controller.c:
7647         (gst_controlled_property_set_interpolation_mode),
7648         (gst_controlled_property_new):
7649          fixed boolean again
7650
7651 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7652
7653         * docs/faq/gst-uninstalled:
7654           add -good
7655         * gst/gstevent.c:
7656         * gst/gstevent.h:
7657           remove wrong docs
7658         * gst/gstutils.c: (gst_element_link_filtered):
7659         * gst/gstutils.h:
7660           add gst_element_link_filtered
7661
7662 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7663
7664         * docs/gst/gstreamer-docs.sgml:
7665         * docs/gst/gstreamer-sections.txt:
7666         * docs/gst/tmpl/.cvsignore:
7667         * docs/gst/tmpl/gsterror.sgml:
7668         * docs/gst/tmpl/gstfilter.sgml:
7669         * docs/gst/tmpl/gsturihandler.sgml:
7670         * docs/gst/tmpl/gsturitype.sgml:
7671         * docs/gst/tmpl/gstutils.sgml:
7672         * docs/gst/tmpl/gstxml.sgml:
7673         * gst/gsterror.c:
7674         * gst/gsterror.h:
7675         * gst/gstfilter.c:
7676         * gst/gsturi.c:
7677         * gst/gsturitype.c:
7678         * gst/gstutils.c:
7679         * gst/gstxml.c:
7680           inlined more docs, fixed double id-ref
7681
7682 2005-08-31  Wim Taymans  <wim@fluendo.com>
7683
7684         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7685         (gst_base_transform_handle_buffer):
7686         Passthrough elements don't need the caps as they don't care.
7687
7688 2005-08-31  Wim Taymans  <wim@fluendo.com>
7689
7690         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7691         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7692         Don't leak refcounts on buffers.
7693
7694 2005-08-31  Wim Taymans  <wim@fluendo.com>
7695
7696         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7697         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7698         (gst_base_transform_chain), (gst_base_transform_change_state):
7699         * gst/base/gstbasetransform.h:
7700         Handle the case where we are not negotiated more gracefully.
7701
7702 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7703
7704         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7705         (gst_file_src_map_region):
7706           Set READONLY flag on mmap'ed buffers, otherwise
7707           gst_buffer_make_writable() won't work properly (#314708).
7708
7709 2005-08-31  Wim Taymans  <wim@fluendo.com>
7710
7711         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7712         passthrough elements can even do inplace on non writable
7713         buffers (as they don't touch them).
7714
7715 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7716
7717         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7718         (gst_test_mono_source_set_property),
7719         (gst_test_mono_source_class_init), (GST_START_TEST),
7720         (gst_controller_suite):
7721           more tests (hehe I have the most)
7722         * gst/gstbus.c:
7723           describe popping messages whenusing mulltiple sources
7724         * libs/gst/controller/gst-controller.c:
7725         (gst_controlled_property_set_interpolation_mode),
7726         (gst_controlled_property_new):
7727         * libs/gst/controller/gst-controller.h:
7728         * libs/gst/controller/gst-interpolation.c:
7729           implement boolean properties
7730
7731 2005-08-31  Wim Taymans  <wim@fluendo.com>
7732
7733         * gst/gstminiobject.c: (gst_mini_object_ref):
7734         Cannot assert that the refcount has to be positive
7735         since a disposed object can be resurrected.
7736
7737 2005-08-31  Wim Taymans  <wim@fluendo.com>
7738
7739         * gst/gstpad.c: (gst_pad_init):
7740         Revert change, need to first fix badly behaving 
7741         apps.
7742
7743 2005-08-30  Wim Taymans  <wim@fluendo.com>
7744
7745         * check/elements/fakesrc.c: (setup_fakesrc):
7746         * check/elements/identity.c: (setup_identity):
7747         Activate pads before using them.
7748
7749 2005-08-30  Wim Taymans  <wim@fluendo.com>
7750
7751         * gst/base/gstadapter.c: (gst_adapter_flush):
7752         Flushing out 0 bytes is ok for this function.
7753
7754         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7755         no newsegment gives a warning and sets the start/stop to 
7756         invalid.
7757
7758         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7759         (gst_base_transform_set_passthrough):
7760         Some debug info.
7761
7762         * gst/gstminiobject.c: (gst_mini_object_ref):
7763         Check refcount here too.
7764
7765         * gst/gstpad.c: (gst_pad_init):
7766         Pads are initially flushing and refusing data.
7767
7768         * gst/gstutils.c: (gst_element_link_pads_filtered):
7769         When adding a capsfilter element make sure it has the
7770         same state as the parent bin.
7771
7772 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7773
7774         * docs/gst/tmpl/.cvsignore:
7775         * docs/gst/tmpl/gstformat.sgml:
7776         * docs/gst/tmpl/gstversion.sgml:
7777         * gst/gstbus.h:
7778         * gst/gstformat.c:
7779         * gst/gstformat.h:
7780         * gst/gstversion.h.in:
7781           more docs and two more inlined
7782
7783 2005-08-30  Wim Taymans  <wim@fluendo.com>
7784
7785         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7786         Don't sync to clock.
7787
7788 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7789
7790         * docs/gst/gstreamer-sections.txt:
7791           ultral33t func10ns deserve to appear in the docs actually
7792         * docs/gst/tmpl/.cvsignore:
7793         * docs/gst/tmpl/gstcompat.sgml:
7794         * docs/gst/tmpl/gstconfig.sgml:
7795         * gst/check/gstcheck.c:
7796         * gst/gstcompat.h:
7797         * gst/gstconfig.h.in:
7798           inlined more docs
7799
7800 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7801
7802         * docs/gst/tmpl/.cvsignore:
7803         * docs/gst/tmpl/gstquery.sgml:
7804         * docs/gst/tmpl/gstutils.sgml:
7805         * gst/gstquery.c:
7806         * gst/gstquery.h:
7807           inlined and extended docs
7808
7809 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7810
7811         * check/gst-libs/controller.c: (GST_START_TEST),
7812         (gst_controller_suite):
7813           more tests
7814         * docs/gst/tmpl/gstutils.sgml:
7815         * docs/libs/gstreamer-libs-sections.txt:
7816         * docs/libs/tmpl/gstdataprotocol.sgml:
7817           include path fixes
7818         * examples/controller/audio-example.c: (main):
7819           controller example works now
7820         * gst/gstclock.h:
7821           doc fixes
7822         * tools/gst-inspect.c: (print_element_properties_info):
7823           show param spec flags
7824
7825 2005-08-29  Andy Wingo  <wingo@pobox.com>
7826
7827         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7828
7829 2005-08-28  Andy Wingo  <wingo@pobox.com>
7830
7831         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7832         as having two arguments instead of just one. Allows superclasses
7833         to access information on subclasses -- see the terrible for() loop
7834         in gtype.c:g_type_create_instance for the reason why. All callers
7835         changed.
7836
7837 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7838
7839         * docs/design/part-messages.txt:
7840           update info
7841         * docs/gst/tmpl/.cvsignore:
7842         * docs/gst/tmpl/gstcaps.sgml:
7843         * docs/gst/tmpl/gstclock.sgml:
7844         * gst/gstbus.c:
7845         * gst/gstcaps.c:
7846         * gst/gstcaps.h:
7847         * gst/gstclock.c:
7848         * gst/gstclock.h:
7849         * gst/gstmessage.c:
7850           added descriptions for bus and message
7851           inline caps and clock docs
7852
7853 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7854
7855         * gst/gstmessage.c:
7856         * gst/gstmessage.h:
7857           doc fixes
7858
7859 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7860
7861         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7862           fix div-by-zero
7863
7864 2005-08-26  Andy Wingo  <wingo@pobox.com>
7865
7866         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7867         element_set_state's return val.
7868         (test_2_elements): Add test that's been disabled for months.
7869
7870         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7871         can-activate-pull properties.
7872
7873         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7874         can-activate-pull properties. Implement is_seekable so fakesrc can
7875         operate in pull mode.
7876
7877         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7878         properties.
7879         (gst_base_sink_activate, gst_base_sink_activate_pull)
7880         (gst_base_sink_activate_push): Make activation mode choosing work.
7881         Cleanups.
7882         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7883         is right. Make pull mode work. Post an eos before pausing in pull
7884         mode.
7885         (gst_base_sink_change_state): Pay attention to the core's
7886         change_state() return val.
7887         
7888         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7889         has-getrange properties. Cleanups.
7890         
7891         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7892         has_getrange and replace with can_activate_pull and
7893         can_activate_push.
7894
7895         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7896         locking comments. Remove has_loop, has_chain and replace with
7897         can_activate_pull and can_activate_push.
7898
7899 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7900
7901         * configure.ac:
7902         * examples/Makefile.am:
7903         * examples/metadata/Makefile.am:
7904         * examples/metadata/read-metadata.c: (message_loop),
7905         (have_pad_handler), (make_pipeline), (print_tag), (main):
7906           Add metadata reading example that loops over a list of filenames,
7907           dumping any tags found.
7908
7909         * gst/gstbus.c: (gst_bus_dispose):
7910         * gst/gstelement.c: (gst_element_dispose):
7911           Release a few potentially-held references in dispose.
7912
7913 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7914
7915         * docs/gst/tmpl/gstminiobject.sgml:
7916           do *not* add tmpl/*.sgml files to CVS!
7917
7918 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7919
7920         * libs/gst/bytestream/.cvsignore:
7921         * libs/gst/bytestream/Makefile.am:
7922         * libs/gst/bytestream/adapter.c:
7923         * libs/gst/bytestream/adapter.h:
7924         * libs/gst/bytestream/bytestream.c:
7925         * libs/gst/bytestream/bytestream.h:
7926         * libs/gst/bytestream/filepad.c:
7927         * libs/gst/bytestream/filepad.h:
7928           removing obsolete files
7929
7930 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7931
7932         * docs/gst/gstreamer-docs.sgml:
7933         * docs/libs/gstreamer-libs-docs.sgml:
7934           disabed additional index entries again, as this makes docs-gen just
7935           slow and they aren't useful yet
7936         * docs/libs/gstreamer-libs-sections.txt:
7937           little -section.txt cleanup for libs
7938
7939 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7940
7941         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7942         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7943           fix up some debugging
7944         (gst_base_transform_get_unit_size),
7945         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7946         (gst_base_transform_handle_buffer):
7947         * gst/base/gstbasetransform.h:
7948           handle and store timed NEWSEGMENT events so that subclasses that
7949           calculate time by counting samples have a segment_start time they
7950           need to add to their timestamps - see audioresample
7951
7952 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7953
7954         * gst/gstbin.h:
7955           removed ';' from the end of macro defs
7956         * docs/gst/gstreamer-docs.sgml:
7957         * docs/gst/gstreamer-sections.txt:
7958         * docs/gst/tmpl/.cvsignore:
7959         * gst/gstbus.h:
7960         * gst/gstelement.c: (gst_element_class_init),
7961         (gst_element_set_state), (activate_pads),
7962         (gst_element_save_thyself):
7963         * gst/gstevent.c: (gst_event_new_newsegment):
7964         * gst/gstevent.h:
7965         * gst/gstiterator.c:
7966         * gst/gstiterator.h:
7967         * gst/gstpad.c:
7968         * gst/gstprobe.h:
7969         * gst/gstutils.c: (gst_pad_query_convert):
7970         * gst/gstutils.h:
7971           fixed parameter name mismatches between source, header and docs
7972           added some more docs, resolved the last batch of unused elements in
7973           docs (now someone needs to doc them)
7974
7975 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7976
7977         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7978         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7979           don't walk through the plugins backwards.  Where is all this
7980           reversed logic coming from ?
7981
7982 2005-08-25  Wim Taymans  <wim@fluendo.com>
7983
7984         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7985         (gst_base_transform_transform_size),
7986         (gst_base_transform_configure_caps),
7987         (gst_base_transform_get_unit_size),
7988         (gst_base_transform_buffer_alloc),
7989         (gst_base_transform_change_state):
7990         * gst/base/gstbasetransform.h:
7991         Cache caps unit_size.
7992         Make sure we cannot negotiate up and downstream at the
7993         same time.
7994
7995 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7996
7997         * gst/gst.c: (init_pre), (init_post):
7998           register the installed plugin path after the env var
7999         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8000         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8001           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8002           directories, so the tests can prefer uninstalled over installed
8003
8004 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8005
8006         * gst/base/gstbasetransform.h:
8007           comment
8008         * gst/gstpad.c:
8009           add to docs
8010
8011 2005-08-25  Wim Taymans  <wim@fluendo.com>
8012
8013         * gst/gstbin.c: (bin_bus_handler):
8014         Be a bit more conservative about the posted message.
8015         
8016         * gst/gstbus.c: (gst_bus_post):
8017         Some cleanups, warn wrong return values.
8018
8019 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8020
8021         * check/gst/gstbin.c: (GST_START_TEST):
8022         * gst/gstbin.c: (bin_bus_handler):
8023         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8024         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8025         (gst_message_new_warning), (gst_message_new_tag),
8026         (gst_message_new_state_changed), (gst_message_new_segment_start),
8027         (gst_message_new_segment_done), (gst_message_new_custom):
8028         * gst/gstmessage.h:
8029         * tools/gst-launch.c: (event_loop):
8030         * tools/gst-md5sum.c: (event_loop):
8031           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8032
8033 2005-08-25  Wim Taymans  <wim@fluendo.com>
8034
8035         * check/generic/states.c: (GST_START_TEST):
8036         Cleanup can be done at the end.
8037
8038         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8039         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8040         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8041         Oh boy.. Thanks for finding this, Thomas. 
8042
8043 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8044
8045         * docs/gst/gstreamer.types:
8046           added missing types
8047
8048 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8049
8050         * docs/gst/gstreamer-docs.sgml:
8051         * docs/gst/gstreamer-sections.txt:
8052         * docs/gst/tmpl/.cvsignore:
8053         * gst/gstbin.c:
8054         * gst/gstiterator.c:
8055         * gst/gstutils.c:
8056         * gst/registries/gstxmlregistry.h:
8057           added missing classes and symbols (123 more to go)
8058           removed removed symbols from section file
8059           fixed many doc-comments
8060
8061 2005-08-24  Wim Taymans  <wim@fluendo.com>
8062
8063         * check/generic/states.c: (GST_START_TEST):
8064         Make sure all tasks are stopped.
8065
8066         * check/gst/gstbin.c: (GST_START_TEST):
8067         Unref after usage for proper valgrinding.
8068
8069         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8070         Really wait for the task to stop before destroying the
8071         mutex.
8072
8073         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8074         (gst_queue_src_activate_push):
8075         Small cleanups. Don't stop the task when we did not start
8076         it.
8077
8078         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8079         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8080         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8081         (gst_task_join):
8082         * gst/gsttask.h:
8083         Protect the stream lock with the object lock.
8084         Disallow setting the stream lock when running.
8085         Add cleanup_all to wait for the threadpool to finish.
8086         Remove code to autoallocate a mutex if none was provided.
8087         Add _join() to wait for a task to stop.
8088         Protect the thread pool with a global lock.
8089
8090 2005-08-24  Wim Taymans  <wim@fluendo.com>
8091
8092         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8093         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8094         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8095         * gst/base/gstbasesink.h:
8096         Handle newsegment events correctly.
8097         Drop buffers out of the segment range.
8098
8099 2005-08-22  Andy Wingo  <wingo@pobox.com>
8100
8101         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8102         macro, implements an interface and gstimplementsinterface for a
8103         new type.
8104
8105 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8106
8107         * check/Makefile.am:
8108         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8109           add a test that does a bunch of state changes on elements
8110           needs some fixing for valgrind
8111         * check/states/sinks.c: (gst_object_suite):
8112           whitespace
8113         * gst/gstcaps.h:
8114           add prototype for gst_caps_is_equal_fixed
8115         * gst/gstplugin.c:
8116         * gst/gstregistrypool.c:
8117           doc fixes
8118
8119 2005-08-24  Andy Wingo  <wingo@pobox.com>
8120
8121         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8122         convert a negative value. Doesn't make much sense. Mostly this is
8123         here to force callers to ensure -1 maps to -1.
8124
8125 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8126
8127         * docs/pwg/advanced-types.xml:
8128           Well done to Michael for catching my deliberate introduction
8129           of this spelling mistake. 
8130         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8131         * gst/gstelement.h:
8132           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8133           unlink pads before removing the element from the bin.
8134
8135 2005-08-24  Andy Wingo  <wingo@pobox.com>
8136
8137         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8138         the same thing as GST_DEBUG=*:4.
8139         (parse_debug_level, parse_debug_category): New helper parsers.
8140
8141 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8142
8143         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8144         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8145         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8146         (gst_base_transform_buffer_alloc),
8147         (gst_base_transform_handle_buffer):
8148           use gboolean return values and pointers to size so we can use the
8149           full GST_BUFFER_SIZE range (guint) for buffer sizes
8150           use GstPadDirection for transform_caps
8151         * gst/base/gstbasetransform.h:
8152           rename get_size to get_unit_size since that's what it is
8153         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8154           use GstPadDirection for transform_caps
8155         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8156         * gst/gstutils.h:
8157           cleanup and debugging
8158
8159 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8160
8161         * gst/gstelement.c: (gst_element_class_init),
8162         (gst_element_set_state), (activate_pads),
8163         (gst_element_save_thyself):
8164         * tools/gst-compprep.c: (main):
8165         * tools/gst-inspect.c: (print_element_properties_info):
8166         * tools/gst-xmlinspect.c: (print_element_properties):
8167           Fixed long standing mem-leak
8168
8169 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8170
8171         * check/gst/gstbin.c: (GST_START_TEST):
8172         * gst/gstbin.c: (bin_bus_handler):
8173         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8174         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8175         (gst_message_new_warning), (gst_message_new_tag),
8176         (gst_message_new_state_changed), (gst_message_new_segment_start),
8177         (gst_message_new_segment_done), (gst_message_new_custom):
8178         * gst/gstmessage.h:
8179         * tools/gst-launch.c: (event_loop):
8180         * tools/gst-md5sum.c: (event_loop):
8181           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8182           that applications can sensibly post custom messages with references
8183           to their own objects.
8184
8185 2005-08-24  Andy Wingo  <wingo@pobox.com>
8186
8187         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8188         already.
8189
8190 2005-08-24  Wim Taymans  <wim@fluendo.com>
8191
8192         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8193         (gst_base_transform_transform_caps),
8194         (gst_base_transform_transform_size),
8195         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8196         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8197         (gst_base_transform_handle_buffer):
8198         * gst/base/gstbasetransform.h:
8199         Many fixes and new features added by Thomas. Can now also do
8200         transforms with variable sizes and a custom fixate_caps function.
8201
8202 2005-08-24  Wim Taymans  <wim@fluendo.com>
8203
8204         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8205         Some debugging.
8206
8207         * gst/gstclock.h:
8208         Cast to ClockTime before formatting to time.
8209
8210         * gst/gstutils.h:
8211         Cleanups.
8212
8213 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8214
8215         * check/gst-libs/controller.c: (GST_START_TEST),
8216         (gst_controller_suite):
8217         * docs/gst/tmpl/gstcaps.sgml:
8218         * docs/gst/tmpl/gstghostpad.sgml:
8219         * docs/gst/tmpl/gstquery.sgml:
8220         * docs/gst/tmpl/gstutils.sgml:
8221         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8222         (gst_object_sink_values), (gst_object_get_value_arrays),
8223         (gst_object_get_value_array):
8224           gracefully handle helper method calls to objects that are not beeing
8225           controlled, added test case for that          
8226
8227 2005-08-23  Wim Taymans  <wim@fluendo.com>
8228
8229         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8230         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8231         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8232         (gst_event_parse_qos), (gst_event_new_seek),
8233         (gst_event_parse_seek):
8234         * gst/gstevent.h:
8235         Some more debugging output and doc cleanups.
8236
8237         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8238         Fix possible deadlock.
8239
8240 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8241
8242         * docs/gst/gstreamer-docs.sgml:
8243         * docs/gst/gstreamer-sections.txt:
8244         * docs/gst/gstreamer.types:
8245         * docs/gst/tmpl/.cvsignore:
8246         * gst/gstbin.h:
8247         * gst/gstbus.c:
8248         * gst/gstelement.c:
8249         * gst/gstevent.h:
8250           added 100 symbols from gstreamer-unused.txt to the right sections
8251           fixed more broken comments
8252           added GstBus to docs
8253
8254 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8255
8256         * docs/gst/gstreamer-sections.txt:
8257         * docs/gst/tmpl/.cvsignore:
8258         * docs/gst/tmpl/gstbin.sgml:
8259         * docs/gst/tmpl/gstbuffer.sgml:
8260         * gst/base/gstbasesrc.c:
8261         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8262         * gst/gstbuffer.c:
8263         * gst/gstbuffer.h:
8264         * tools/gst-launch.1.in:
8265           inlined more doc comments, added missing comments and fixed comments
8266           fixed typos
8267
8268 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8269
8270         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8271           some debugging
8272         * gst/gstcaps.h:
8273           whitespace fixes
8274         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8275           more debugging
8276         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8277         * gst/gststructure.h:
8278           add a fixate function for booleans; add a FIXME that these func
8279           names should probably be gst_structure_fixate_*
8280
8281 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8282
8283         * docs/gst/gstreamer-docs.sgml:
8284         * docs/gst/gstreamer-sections.txt:
8285         * gst/Makefile.am:
8286         * gst/gstbin.c: (gst_bin_get_type),
8287         (gst_bin_child_proxy_get_child_by_index),
8288         (gst_bin_child_proxy_get_children_count),
8289         (gst_bin_child_proxy_init):
8290         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8291         (gst_child_proxy_get_child_by_index),
8292         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8293         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8294         (gst_child_proxy_get), (gst_child_proxy_set_property),
8295         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8296         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8297         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8298         * gst/gstchildproxy.h:
8299         * gst/parse/grammar.y:
8300         * tools/gst-inspect.c: (print_interfaces),
8301         (print_element_properties_info), (print_element_info):
8302           ported gstchildproxy over from 0.8
8303           ported gst-inspect fixes and enhancements over from 0.8
8304
8305 2005-08-22  Wim Taymans  <wim@fluendo.com>
8306
8307         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8308         (gst_base_transform_handle_buffer):
8309         Also call the transform function if we have ANY caps.
8310
8311         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8312         Fix debug info.
8313
8314 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8315
8316         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8317           Don't pretend to handle seek events if the source is not seekable
8318
8319 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8320
8321         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8322           Remove extra parameter to debug output
8323
8324         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8325         (gst_base_src_do_seek), (gst_base_src_activate_push):
8326           Fix seek event handling.
8327
8328         * gst/gstpipeline.c: (gst_pipeline_change_state):
8329         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8330         (gst_queue_src_activate_push):
8331           Don't start the src pad task on FLUSH_STOP if the pad
8332           isn't linked.
8333           Debug changes.
8334
8335 2005-08-22  Wim Taymans  <wim@fluendo.com>
8336
8337         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8338         Added check for gst_static_caps_get() refcounting.
8339
8340 2005-08-22  Wim Taymans  <wim@fluendo.com>
8341
8342         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8343         Make _static_caps_get() refcounting sane.
8344         
8345         * gst/gstelement.c: (gst_element_set_state):
8346         Add g_return_val_if_fail() to protect against segfaults.
8347
8348 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8349
8350         * docs/gst/tmpl/gstevent.sgml:
8351         * gst/gstevent.c:
8352         * gst/gstevent.h:
8353           inlined remaining docs, added missing doc comments
8354
8355 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8356
8357         * check/gst/gstbin.c: (GST_START_TEST):
8358           since we don't know when preroll is done, use refcount range
8359           check for the sink
8360         * gst/check/gstcheck.h:
8361           add macro for checking refcount range
8362
8363 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8364
8365         * check/Makefile.am:
8366           clean up environment for when registry gets built versus
8367           when actual tests are run; valgrind seems to not report
8368           leaks if GST_PLUGIN_PATH is set to some specific values
8369         * check/gst/gstbin.c: (GST_START_TEST):
8370           add more refcounting checks; maybe this exposes a
8371           preroll lock bug ?
8372         * common/check.mak:
8373         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8374         * gst/check/gstcheck.h:
8375         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8376         (gst_bin_change_state):
8377         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8378           add/fix debugging/whitespace
8379
8380 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8381
8382         * check/gst/gstevent.c: (event_probe), (test_event),
8383         (GST_START_TEST):
8384          Er, don't call gst_bin_watch_for_state_change you idiot.
8385
8386 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8387
8388         * check/Makefile.am:
8389           Use CHECK_CFLAGS and CHECK_LIBS
8390         * check/gst/gstevent.c: (event_probe), (test_event),
8391         (GST_START_TEST):
8392           Don't leak events.
8393         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8394         (gst_base_src_start), (gst_base_src_stop),
8395         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8396         (gst_base_src_change_state):
8397           Sprinkle gst_base_src_stop liberally around error paths to fix
8398           problems reusing a source after failed state changes.
8399         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8400         (helper_find_suggest), (gst_type_find_helper):
8401           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8402         * gst/gstevent.h:
8403         * docs/gst/tmpl/gstevent.sgml:
8404           Migrate part of the docs from the SGML file. Wait for ensonic to
8405           tell me how I did it wrong ;)
8406         * tools/gst-typefind.c: (main):
8407           Extra robustness to state changes between files.
8408
8409 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8410
8411         * check/Makefile.am:
8412           don't valgrind the controller test - it's leaking - Stefan, HELP
8413         * gst/check/gstcheck.c: (gst_check_message_error),
8414         (gst_check_chain_func), (gst_check_setup_element),
8415         (gst_check_teardown_element), (gst_check_setup_src_pad),
8416         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8417         (gst_check_teardown_sink_pad):
8418         * gst/check/gstcheck.h:
8419           add a bunch of methods to set up elements, and src and sink pads
8420         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8421         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8422         (GST_START_TEST):
8423           use them
8424         * gst/gstmessage.c:
8425         * gst/gsttag.h:
8426           whitespace/doc fixes
8427
8428 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8429
8430         * gst/gstelement.h:
8431           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8432           be handled by the application and not always printed as well
8433
8434 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8435
8436         * check/Makefile.am:
8437           set GST_TOOLS_DIR
8438         * gst/check/gstcheck.c: (gst_check_message_error):
8439         * gst/check/gstcheck.h:
8440           add a fail_unless_equals_int
8441           add fail_unless for error messages
8442
8443 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8444
8445         * check/Makefile.am:
8446         * check/gst.supp:
8447         * common/Makefile.am:
8448         * common/check.mak:
8449         * common/gst.supp:
8450           factor out some of the common stuff so we can use it
8451
8452 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8453
8454         * check/Makefile.am:
8455         * check/gst/gstiterator.c: (GST_START_TEST):
8456         * check/gst/gstsystemclock.c: (GST_START_TEST),
8457         (gst_systemclock_suite):
8458         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8459         * gst/gstclock.c:
8460           valgrind more tests
8461
8462 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8463
8464         * check/elements/.cvsignore:
8465         * check/elements/gstfakesrc.c:
8466           rename to name of element
8467         * check/elements/identity.c: (chain_func), (event_func),
8468         (setup_identity), (cleanup_identity), (GST_START_TEST),
8469         (identity_suite), (main):
8470           add a test for identity
8471         * check/Makefile.am:
8472         * pkgconfig/Makefile.am:
8473         * pkgconfig/gstreamer-check.pc.in:
8474         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8475         * gst/check:
8476         * gst/Makefile.am:
8477         * configure.ac:
8478           move the check stuff to a library that gets installed
8479         * check/gst-libs/controller.c: (GST_START_TEST):
8480         * check/gst-libs/gdp.c:
8481         * check/gst/gst.c: (GST_START_TEST):
8482         * check/gst/gstbin.c:
8483         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8484         * check/gst/gstbus.c:
8485         * check/gst/gstcaps.c: (GST_START_TEST):
8486         * check/gst/gstelement.c:
8487         * check/gst/gstghostpad.c:
8488         * check/gst/gstiterator.c:
8489         * check/gst/gstmessage.c:
8490         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8491         * check/gst/gstobject.c:
8492         * check/gst/gstpad.c: (GST_START_TEST):
8493         * check/gst/gststructure.c: (GST_START_TEST):
8494         * check/gst/gstsystemclock.c: (GST_START_TEST),
8495         (gst_systemclock_suite):
8496         * check/gst/gsttag.c: (gst_tag_suite):
8497         * check/gst/gstvalue.c:
8498         * check/pipelines/cleanup.c:
8499         * check/pipelines/simple_launch_lines.c:
8500         * check/states/sinks.c:
8501           change include statement
8502
8503         * docs/gst/gstreamer-sections.txt:
8504         * docs/gst/tmpl/gstpad.sgml:
8505           document more pad stuff
8506         * gst/gstminiobject.c: (gst_mini_object_ref),
8507         (gst_mini_object_unref):
8508           debug refcounting
8509
8510 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8511
8512         * docs/gst/tmpl/gst.sgml:
8513         * gst/gst.c:
8514           eliminate another tmpl file, fix spelling in the long-description
8515
8516 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8517
8518         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8519         (test_event), (timediff), (gstevents_suite):
8520           Should fix build on 64-bit arch's
8521
8522 2005-08-18  Andy Wingo  <wingo@pobox.com>
8523
8524         Make sure that when a pipeline goes to PLAYING, that data has
8525         actually hit the sink.
8526
8527         * check/states/sinks.c (test_sink): A sink that doesn't get any
8528         data shouldn't return SUCCESS for going to either PLAYING or
8529         PAUSED. Test also the return values on the way back down.
8530
8531         * gst/gstelement.c (gst_element_set_state): When changing the
8532         state of an element currently changing state asynchronously, go to
8533         lost-state after commiting the pending state. Makes future calls
8534         to get_state continue to return ASYNC.
8535
8536         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8537         ASYNC when going to PLAYING if we still don't have preroll, as can
8538         happen with live sources.
8539
8540 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8541
8542         * docs/pwg/advanced-types.xml:
8543           Hack long paragraph into 2 chunks as a workaround for buggy
8544           jadetex version in sid and breezy that loops infinitely and
8545           eats all RAM.
8546
8547 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8548
8549         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8550         (test_event), (timediff), (gstevents_suite):
8551           Provide more error margin in clock measurements to allow for 
8552           g_get_current_time inaccuracies.
8553
8554 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8555
8556         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8557         (test_event), (timediff), (gstevents_suite):
8558            Fix error message output so I might be able to tell why the
8559            test works here but fails on the build farm.
8560
8561 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8562
8563         * check/Makefile.am:
8564         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8565         (test_event), (timediff), (gstevents_suite), (main):
8566           I wrote a test!
8567
8568         * docs/design/part-seeking.txt:
8569           Spelling correction
8570
8571         * docs/gst/tmpl/gstevent.sgml:
8572         * docs/gst/tmpl/gstfakesrc.sgml:
8573           Docs updates.
8574
8575         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8576           Treat a buffer-without-newsegment the same as a receiving 
8577           a newsegment not in time format, and disable syncing to the clock
8578           with a warning.
8579
8580         * gst/gstbus.c: (gst_bus_set_sync_handler):
8581           Assert if anyone tries to replace the existing sync_handler for bus, 
8582           as only the owner should be setting it.
8583
8584         * gst/gstevent.h:
8585           Have a fixed set of custom event enums with events identified by
8586           their structure name (as in 0.8), rather than a free-for-all
8587           allowing collisions between enum values from different plugins.
8588
8589         * gst/gstpad.c: (gst_pad_class_init):
8590           Docs change.
8591           
8592         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8593           Handle out-of-band downstream events from the sending thread.
8594
8595 2005-08-17  Andy Wingo  <wingo@pobox.com>
8596
8597         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8598         play-timeout==0 to mean no timeout at all. In that case, don't
8599         bother with a get_state or a warning, just return directly, even
8600         if it's ASYNC.
8601
8602         * gst/base/gstbasetransform.c: Debug changes.
8603
8604         * gst/gstutils.h:
8605         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8606         ensure bins post state change messages. A bit of a hack but I can't
8607         think of a way to avoid it.
8608
8609         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8610
8611 2005-08-16  Andy Wingo  <wingo@pobox.com>
8612
8613         * gst/base/gstadapter.h:
8614         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8615         peek() but you own the data. Not terribly efficient atm.
8616
8617 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8618
8619         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8620         (gst_element_found_tags):
8621         * gst/gstutils.h:
8622           Add two utility functions for tag handling.
8623
8624 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8625
8626         * docs/manual/advanced-dataaccess.xml:
8627         * docs/manual/basics-helloworld.xml:
8628           Fix docs to use _bin_add() before _link(), which fixes the examples
8629           with recent core versions (reported by Madhan Raj M
8630           <raj_madan@rediffmail.com>, #313199).
8631
8632 2005-08-16  Wim Taymans  <wim@fluendo.com>
8633
8634         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8635         Added subtract checks.
8636
8637         * docs/design/part-events.txt:
8638         Some more docs about newsegment
8639
8640         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8641         Fix FIXME
8642
8643         * gst/gstcaps.c: (gst_caps_to_string):
8644         Add comments, cleanups.
8645         
8646         * gst/gstelement.c: (gst_element_save_thyself):
8647         cleanups
8648         
8649         * gst/gstvalue.c: (gst_value_collect_int_range),
8650         (gst_string_unwrap), (gst_value_union_int_int_range),
8651         (gst_value_union_int_range_int_range),
8652         (gst_value_intersect_int_int_range),
8653         (gst_value_intersect_int_range_int_range),
8654         (gst_value_intersect_double_double_range),
8655         (gst_value_intersect_double_range_double_range),
8656         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8657         (gst_value_subtract_int_range_int),
8658         (gst_value_subtract_double_range_double),
8659         (gst_value_subtract_double_range_double_range),
8660         (gst_value_subtract_from_list), (gst_value_subtract_list),
8661         (gst_value_can_compare), (gst_value_compare_fraction):
8662         Cleanups, add comments, remove unneeded asserts.
8663
8664 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8665
8666         * tools/gst-launch.c: (event_loop):
8667           don't convert NULL structures to strings
8668
8669 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8670
8671         * docs/gst/gstreamer-sections.txt:
8672           made some defines private
8673         * docs/gst/tmpl/gstconfig.sgml:
8674         * docs/gst/tmpl/gstqueue.sgml:
8675         * docs/gst/tmpl/gsttaglist.sgml:
8676         * docs/gst/tmpl/gsttypes.sgml:
8677         * docs/gst/tmpl/gstutils.sgml:
8678         * docs/pwg/appendix-porting.xml:
8679         * gst/base/gstbasesink.h:
8680         * gst/base/gstbasesrc.c:
8681         * gst/base/gstbasesrc.h:
8682         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8683         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8684         * gst/gstelement.c: (gst_element_class_init):
8685         * gst/gstpad.c: (gst_pad_class_init):
8686         * gst/gstqueue.c: (gst_queue_class_init):
8687         * gst/gstxml.c: (gst_xml_class_init):
8688           documented all undocumented signal inline
8689         * libs/gst/controller/gst-controller.h:
8690           added padding
8691
8692 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8693
8694         * docs/pwg/appendix-porting.xml:
8695           Document _set_link_function -> _set_setcaps_function.
8696
8697 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8698
8699         * check/Makefile.am:
8700           add a .check target for running the check
8701         * check/gst-libs/controller.c: (GST_START_TEST):
8702           cosmetic fixups
8703         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8704           complete checks for gstbuffer; would be nice if I could get the
8705           gcov stuff to work so I can see if I actually completed gstbuffer.c
8706         * check/gstcheck.h:
8707           add ASSERT_BUFFER_REFCOUNT
8708
8709 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8710
8711         * docs/gst/gstreamer-sections.txt:
8712         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8713         * gst/gsttag.h:
8714           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8715           spew out a warning if a tag that is already registered
8716           is re-registered, unless it is re-registered with a 
8717           different type (#308438).
8718
8719 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8720
8721         * docs/pwg/appendix-porting.xml:
8722         * docs/pwg/building-state.xml:
8723           Add some paragraphs about state changes in 0.9 to the PWG
8724           and the porting guide, in particular about the new meaning
8725           of GST_STATE_PAUSED and how to write state change functions
8726           with concurrent access by multiple threads in mind.
8727
8728 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8729
8730         * docs/gst/gstreamer-docs.sgml:
8731         * docs/libs/gstreamer-libs-docs.sgml:
8732           added deprecation and since indexes
8733         * libs/gst/controller/gst-controller.c:
8734         * libs/gst/controller/gst-helper.c:
8735           added since tags
8736
8737
8738 2005-08-11  Wim Taymans  <wim@fluendo.com>
8739
8740         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8741         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8742         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8743         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8744         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8745         (gst_ghost_pad_set_target):
8746         Actually implement (re)setting the target on a ghostpad
8747         as described in the docs.
8748
8749 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8750
8751         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8752           Check whether GST_DEBUG_NO_COLOR environment variable is
8753           set and disable coloured debug output if that is the case.
8754
8755 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8756
8757         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8758         (gst_type_find_helper):
8759           The memory returned by gst_type_find_peek() needs to
8760           stay valid until the end of a typefind function, and
8761           typefind functions may keep results from different 
8762           offsets around, so we can't just unref the buffer from
8763           the previous _peek(), but have to save all buffers 
8764           returned by _peek() until typefinding is done and only
8765           free them then.
8766
8767 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8768
8769         * docs/gst/gstreamer-sections.txt:
8770         * gst/gstutils.h:
8771           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8772
8773 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8774
8775         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8776           Fix a pretty good memleak.
8777
8778 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8779
8780         * gst/gstiterator.h:
8781           Fix wrong include and 'make distcheck'.
8782
8783 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8784
8785         * gst/gstbin.c: (bin_bus_handler):
8786           Use gst_element_post_message() instead.
8787
8788 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8789
8790         * gst/base/gstadapter.h:
8791         * gst/base/gstbasesink.h:
8792         * gst/base/gstbasesrc.h:
8793         * gst/base/gstbasetransform.h:
8794         * gst/base/gstcollectpads.h:
8795         * gst/base/gstpushsrc.h:
8796         * gst/gstiterator.h:
8797           Add padding to our base elements' class and instance structs and
8798           to GstIterator (you will need to rebuild all plugins and apps!)
8799
8800 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8801
8802         * gst/gstbin.c: (bin_bus_handler):
8803           Make default message forwarding from child->bus to bin->bus
8804           threadsafe and make it not emit warnings if the parent has no bus.
8805
8806 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8807
8808         * gst/gstelement.c: (activate_pads):
8809           On paused->ready, set pad->caps to NULL, as is the documented
8810           behaviour in this state change. Fixes playback of series of
8811           media files when visualization is enabled in Totem.
8812
8813 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8814
8815         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8816           Allow NULL as filter-caps (which means "any").
8817
8818 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8819
8820         * docs/libs/gstreamer-libs-sections.txt:
8821         * libs/gst/controller/gst-controller.c:
8822         * libs/gst/controller/gst-controller.h:
8823         * libs/gst/controller/gst-helper.c:
8824           adding more entries to the docs and fix small doc-bugs
8825
8826 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8827
8828         * docs/gst/gstreamer-docs.sgml:
8829         * docs/gst/gstreamer-sections.txt:
8830         * docs/gst/gstreamer.types:
8831         * docs/gst/tmpl/gstbasesink.sgml:
8832         * docs/gst/tmpl/gstbasesrc.sgml:
8833         * docs/gst/tmpl/gstbasetransform.sgml:
8834         * docs/gst/tmpl/gstfakesrc.sgml:
8835         * gst/base/gstcollectpads.c:
8836         * gst/base/gstcollectpads.h:
8837         * libs/gst/controller/gst-controller.c:
8838         * libs/gst/controller/gst-controller.h:
8839         * libs/gst/controller/gst-helper.c:
8840         * libs/gst/controller/gst-interpolation.c:
8841         * libs/gst/controller/lib.c:
8842           added long/short desc for controller docs
8843           added collectpads base class docs
8844           added correct includes to base-class docs
8845
8846 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8847
8848         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8849         (gst_test_mono_source_set_property),
8850         (gst_test_mono_source_class_init), (GST_START_TEST),
8851         (gst_controller_suite):
8852         * docs/gst/gstreamer-docs.sgml:
8853         * docs/gst/gstreamer-sections.txt:
8854         * docs/gst/gstreamer.types:
8855         * docs/libs/gstreamer-libs-docs.sgml:
8856         * docs/libs/gstreamer-libs-sections.txt:
8857         * gst/base/gstadapter.c:
8858         * libs/gst/controller/gst-controller.c:
8859         (gst_controlled_property_new), (gst_controlled_property_free),
8860         (gst_controller_new_valist),
8861         (gst_controller_remove_properties_valist),
8862         (gst_controller_sink_values), (_gst_controller_finalize):
8863         * libs/gst/controller/gst-controller.h:
8864         * libs/gst/controller/gst-helper.c:
8865         (gst_object_control_properties), (gst_object_uncontrol_properties),
8866         (gst_object_get_controller), (gst_object_set_controller),
8867         (gst_object_sink_values), (gst_object_get_value_arrays),
8868         (gst_object_get_value_array):
8869           more tests (and fixes) for the controller
8870           more docs for the controller
8871           integrated companies docs for the adapter 
8872
8873 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8874
8875         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8876         (GST_START_TEST), (fakesrc_suite):
8877           add tests for sizetype
8878
8879 2005-08-04  Andy Wingo  <wingo@pobox.com>
8880
8881         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8882         fixes buffer_alloc proxying among other things.
8883
8884         * gst/base/gstbasetransform.c:
8885         * gst/base/gstbasetransform.h:
8886         Revert patch to gstbasetransform from 7-28 removing
8887         delay_configure.
8888
8889         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8890         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8891         Semantics changed, should return not the size of the output buffer
8892         but the byte size of a buffer with a given caps.
8893
8894         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8895         debug object.
8896         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8897         out) are not the pad caps until setcaps finishes.
8898         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8899         not-in-place case as well. Deal with changing from in-place to
8900         not-in-place within calling pad_alloc_buffer. Still a bit
8901         concerned about the overhead here...
8902
8903 2005-08-03  Andy Wingo  <wingo@pobox.com>
8904
8905         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8906         fixating is an error.
8907
8908 2005-08-04  Edward Hervey  <edward@fluendo.com>
8909
8910         * gst/base/gstadapter.h: 
8911         Added gst_adapter_get_type() to the header
8912
8913 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8914
8915         * check/Makefile.am:
8916         * check/gst-libs/controller.c:
8917         * libs/gst/controller/gst-controller.c:
8918         (gst_controller_new_valist):
8919           added check test suite for the controller
8920         * gst/base/gstpushsrc.c:
8921           fixed a doc typo
8922
8923 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8924
8925         * docs/gst/Makefile.am:
8926         * docs/gst/gstreamer-docs.sgml:
8927         * docs/gst/gstreamer-sections.txt:
8928         * docs/gst/gstreamer.types:
8929         * docs/gst/tmpl/gstfakesrc.sgml:
8930         * gst/base/README:
8931         * gst/base/gstbasesink.c:
8932         * gst/base/gstbasesink.h:
8933         * gst/base/gstbasesrc.c:
8934         * gst/base/gstbasesrc.h:
8935         * gst/base/gstbasetransform.c:
8936         * gst/base/gstpushsrc.c:
8937         * gst/base/gstpushsrc.h:
8938           add short/long description docs to base classes
8939           add pushsrc to the docs
8940           remove consolidated doc fragments
8941
8942 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8943
8944         * configure.ac:
8945         * docs/libs/Makefile.am:
8946         * docs/libs/gstreamer-libs-docs.sgml:
8947         * docs/libs/gstreamer-libs-sections.txt:
8948         * docs/libs/gstreamer-libs.types:
8949         * examples/Makefile.am:
8950         * examples/controller/.cvsignore:
8951         * examples/controller/Makefile.am:
8952         * examples/controller/audio-example.c: (main):
8953         * libs/gst/Makefile.am:
8954         * libs/gst/controller/.cvsignore:
8955         * libs/gst/controller/Makefile.am:
8956         * libs/gst/controller/gst-controller.c:
8957         (on_object_controlled_property_changed), (gst_timed_value_compare),
8958         (gst_timed_value_find),
8959         (gst_controlled_property_set_interpolation_mode),
8960         (gst_controlled_property_new), (gst_controlled_property_free),
8961         (gst_controller_find_controlled_property),
8962         (gst_controller_new_valist), (gst_controller_new),
8963         (gst_controller_remove_properties_valist),
8964         (gst_controller_remove_properties), (gst_controller_set),
8965         (gst_controller_set_from_list), (gst_controller_unset),
8966         (gst_controller_get), (gst_controller_get_all),
8967         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8968         (gst_controller_get_value_array),
8969         (gst_controller_set_interpolation_mode),
8970         (_gst_controller_finalize), (_gst_controller_init),
8971         (_gst_controller_class_init), (gst_controller_get_type):
8972         * libs/gst/controller/gst-controller.h:
8973         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8974         (g_object_uncontrol_properties), (g_object_get_controller),
8975         (g_object_set_controller), (g_object_sink_values),
8976         (g_object_get_value_arrays), (g_object_get_value_array):
8977         * libs/gst/controller/gst-interpolation.c:
8978         (gst_controlled_property_find_timed_value_node),
8979         (interpolate_none_get), (interpolate_trigger_get),
8980         (interpolate_trigger_get_value_array):
8981         * libs/gst/controller/lib.c: (gst_controller_init):
8982         * pkgconfig/Makefile.am:
8983         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8984         * pkgconfig/gstreamer-control.pc.in:
8985         * testsuite/Makefile.am:
8986         * testsuite/controller/.cvsignore:
8987         * testsuite/controller/Makefile.am:
8988         * testsuite/controller/interpolator.c: (main):
8989           added controller code
8990           removed dparam pc files
8991
8992 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8993         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8994         (gst_collectpads_stop):
8995           Broadcast the condition when shutting down, to make sure we wake all
8996           threads up. Shut down pads on finalize, for safety.
8997
8998 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8999         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9000         (gst_base_transform_handle_buffer),
9001         (gst_base_transform_change_state):
9002           Handle PAUSED->READY->PAUSED transition after negotiation
9003           occurred already.
9004         * gst/gstmessage.c: (gst_message_init):
9005           Extra piece of debug for new messages.
9006
9007 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
9008
9009         * configure.ac:
9010         * docs/gst/tmpl/gstbasesrc.sgml:
9011         * docs/gst/tmpl/gstelement.sgml:
9012         * docs/gst/tmpl/gstevent.sgml:
9013         * docs/gst/tmpl/gstfakesrc.sgml:
9014         * docs/gst/tmpl/gstformat.sgml:
9015         * docs/gst/tmpl/gstghostpad.sgml:
9016         * docs/gst/tmpl/gstpad.sgml:
9017         * docs/gst/tmpl/gstquery.sgml:
9018         * docs/gst/tmpl/gststructure.sgml:
9019         * docs/gst/tmpl/gsttaglist.sgml:
9020         * docs/gst/tmpl/gstvalue.sgml:
9021         * docs/libs/gstreamer-libs-docs.sgml:
9022         * docs/libs/gstreamer-libs-sections.txt:
9023         * docs/libs/gstreamer-libs.types:
9024         * libs/gst/Makefile.am:
9025         * libs/gst/control/.cvsignore:
9026         * libs/gst/control/Makefile.am:
9027         * libs/gst/control/control.c:
9028         * libs/gst/control/control.h:
9029         * libs/gst/control/dparam.c:
9030         * libs/gst/control/dparam.h:
9031         * libs/gst/control/dparam_smooth.c:
9032         * libs/gst/control/dparam_smooth.h:
9033         * libs/gst/control/dparamcommon.h:
9034         * libs/gst/control/dparammanager.c:
9035         * libs/gst/control/dparammanager.h:
9036         * libs/gst/control/dplinearinterp.c:
9037         * libs/gst/control/dplinearinterp.h:
9038         * libs/gst/control/unitconvert.c:
9039         * libs/gst/control/unitconvert.h:
9040         * testsuite/Makefile.am:
9041         * testsuite/dynparams/.cvsignore:
9042         * testsuite/dynparams/Makefile.am:
9043         * testsuite/dynparams/dparamstest.c:
9044         * tools/Makefile.am:
9045         * tools/gst-inspect.c: (print_element_info), (main):
9046         * tools/gst-xmlinspect.c: (print_element_info), (main):
9047           deactivate and remove dparams (libgstcontrol)
9048
9049 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9050
9051         * gst/elements/gsttypefindelement.c:
9052         (gst_type_find_element_have_type), (gst_type_find_element_init),
9053         (stop_typefinding), (gst_type_find_element_handle_event),
9054         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9055         * gst/elements/gsttypefindelement.h:
9056           Set caps on all outgoing buffers, not just the first one.
9057
9058 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9059
9060         * gst/elements/gsttypefindelement.c:
9061         (gst_type_find_element_have_type),
9062         (gst_type_find_element_check_set_buffer_caps),
9063         (gst_type_find_element_init), (stop_typefinding),
9064         (gst_type_find_element_handle_event),
9065         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9066         * gst/elements/gsttypefindelement.h:
9067           Set caps on first outgoing buffer when we've found the type.
9068
9069 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9070
9071         * docs/gst/gstreamer-docs.sgml:
9072         * docs/gst/gstreamer-sections.txt:
9073         * docs/gst/tmpl/gstscheduler.sgml:
9074         * docs/gst/tmpl/gstschedulerfactory.sgml:
9075           Remove some old cruft from docs.
9076
9077 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9078
9079         * gst/gstpad.h:
9080           Fix inline docs for GstPadLinkReturn.
9081           
9082         * gst/gststructure.c: (gst_structure_has_name):
9083         * gst/gststructure.h:
9084         * docs/gst/gstreamer-sections.txt:
9085           New API: gst_structure_has_name().
9086
9087 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9088
9089         * configure.ac:
9090           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9091           and _LARGEFILE_SOURCE in config.h as required. Do not 
9092           export those flags in our .pc files any longer (#142209).
9093
9094           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9095
9096         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9097         (gst_file_sink_do_seek), (gst_file_sink_event),
9098         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9099           Redo seek/tell calls with large file support in mind; add some
9100           debugging messages; add log message that tells us when large
9101           file support is unavailable or not enabled for some reason.
9102
9103         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9104           Add log message that tells us when large file support 
9105           is unavailable or not enabled for some reason.
9106
9107 2005-07-29  Wim Taymans  <wim@fluendo.com>
9108
9109         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9110         Added test for removing an element with ghostpad from a bin.
9111         Fixed test as current implementation does the right thing.
9112
9113         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9114         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9115         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9116         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9117         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9118         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9119         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9120         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9121         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9122         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9123         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9124         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9125         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9126         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9127         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9128         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9129         * gst/gstghostpad.h:
9130         Clean up ghostpads, remove properties for internal stuff.
9131         Make threadsafe.
9132         Fix refcounting.
9133         Prepare for switching targets, not all use cases work yet.
9134
9135 2005-07-29  Wim Taymans  <wim@fluendo.com>
9136
9137         * docs/design/part-gstghostpad.txt:
9138         Small update.
9139
9140         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9141         (gst_bin_remove_func):
9142         Unlinking pads while holding the bin LOCK is not a good
9143         idea.
9144
9145         * gst/gstpad.c: (gst_pad_class_init),
9146         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9147         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9148         No prob setting template after creating the pad.
9149
9150 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9151
9152         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9153         (gst_bus_peek), (gst_bus_source_dispatch),
9154         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9155         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9156           gst_bus_poll may be called from other threads. Handle
9157           this nicely by not making poll_data disappear off the
9158           stack once gst_bus_poll returns.
9159           gst_bus_peek now increments the refcount on the returned
9160           message.
9161
9162 2005-07-29  Wim Taymans  <wim@fluendo.com>
9163
9164         * docs/design/part-gstghostpad.txt:
9165         Overview of current GhostPad datastructures and use
9166         cases for changing the target.
9167
9168 2005-07-28  Wim Taymans  <wim@fluendo.com>
9169
9170         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9171         Added checks for hierarchy consistency whan adding linked
9172         elements to bins.
9173
9174         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9175         Added check to test element scheduling without bin/pipeline.
9176
9177         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9178         First add elements to bin, then link.
9179         
9180         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9181         (gst_bin_remove_func):
9182         Unlink pads from elements added/removed from bin to maintain
9183         hierarchy consistency.
9184
9185 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9186
9187         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9188         (gst_base_transform_handle_buffer):
9189         * gst/base/gstbasetransform.h:
9190           Remove broken delay_configure (fixes renegotiation of software
9191           scaling pipelines); remove some leftover printf()s.
9192
9193 2005-07-28  Wim Taymans  <wim@fluendo.com>
9194
9195         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9196         Added some more tests for wrong hierarchy
9197
9198         * docs/design/part-overview.txt:
9199         Some updates.
9200
9201         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9202         Cleanups.
9203
9204         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9205         (gst_element_dispose):
9206         Some more cleanups.
9207
9208         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9209         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9210         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9211         (gst_pad_set_caps), (gst_pad_send_event):
9212         Check for correct hierarchy when linking pads. Moving to
9213         strict requirement for ghostpads when linking elements in
9214         different bins.
9215
9216         * gst/gstpad.h:
9217         Clean ups. Added WRONG_HIERARCHY return value.
9218
9219 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9220
9221         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9222           Better debug if no transform is possible.
9223
9224 2005-07-27  Wim Taymans  <wim@fluendo.com>
9225
9226         * docs/random/wtay/network-transp:
9227         Some old doc I had.
9228
9229 2005-07-27  Wim Taymans  <wim@fluendo.com>
9230
9231         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9232         (gst_dp_event_from_packet):
9233         Fix serialization of seek events.
9234
9235 2005-07-27  Wim Taymans  <wim@fluendo.com>
9236
9237         * check/gst-libs/gdp.c: (GST_START_TEST):
9238         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9239         Fix compilation and fix event serialization.
9240
9241 2005-07-27  Wim Taymans  <wim@fluendo.com>
9242
9243         * CHANGES-0.9:
9244         * docs/design/part-TODO.txt:
9245         * docs/design/part-events.txt:
9246         Some docs updates
9247
9248         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9249         (gst_base_sink_event), (gst_base_sink_do_sync),
9250         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9251         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9252         (gst_base_src_do_seek), (gst_base_src_event_handler),
9253         (gst_base_src_loop):
9254         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9255         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9256         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9257         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9258         (gst_base_transform_set_passthrough),
9259         (gst_base_transform_is_passthrough):
9260         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9261         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9262         Event updates.
9263
9264         * gst/gstbuffer.h:
9265         Use faster casts.
9266
9267         * gst/gstelement.c: (gst_element_seek):
9268         * gst/gstelement.h:
9269         Update gst_element_seek.
9270
9271         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9272         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9273         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9274         (gst_event_new_eos), (gst_event_new_newsegment),
9275         (gst_event_parse_newsegment), (gst_event_new_tag),
9276         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9277         (gst_event_parse_qos), (gst_event_new_seek),
9278         (gst_event_parse_seek), (gst_event_new_navigation):
9279         * gst/gstevent.h:
9280         Make GstEvent use GstStructure. Add parsing code, make sure the
9281         API is sufficiently generic.
9282         Mark possible directions of events and serialization.
9283
9284         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9285         (_gst_message_copy), (gst_message_new_segment_start),
9286         (gst_message_new_segment_done), (gst_message_new_custom),
9287         (gst_message_parse_segment_start),
9288         (gst_message_parse_segment_done):
9289         Small cleanups.
9290
9291         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9292         (gst_pad_set_caps), (gst_pad_send_event):
9293         Update for new events. 
9294         Catch events sent in wrong directions.
9295
9296         * gst/gstqueue.c: (gst_queue_link_src),
9297         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9298         (gst_queue_handle_src_query):
9299         Event updates.
9300
9301         * gst/gsttag.c:
9302         * gst/gsttag.h:
9303         Remove event code from this file.
9304
9305         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9306         (gst_dp_event_from_packet):
9307         Event updates.
9308
9309 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9310
9311         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9312         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9313         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9314           Make debugging actually useful.
9315
9316 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9317
9318         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9319         (gst_pad_fixate_caps):
9320           Implement default fixation once again, so that gst_pad_fixate()
9321           actually does anything at all. This probably needs to be some
9322           sort of a last resort, and use profile-based fixation first, but
9323           since that doesn't exist yet, this is the best we have. Fixes
9324           visualization in Totem.
9325
9326 2005-07-22  Wim Taymans  <wim@fluendo.com>
9327
9328         * docs/design/part-events.txt:
9329         Small update.
9330
9331         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9332         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9333         (gst_base_sink_activate_pull):
9334         Some more comments.
9335
9336         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9337         (gst_fake_src_create):
9338         Fix handoff marshall.
9339
9340         * gst/elements/gstidentity.c: (gst_identity_class_init),
9341         (gst_identity_transform_ip):
9342         We're a real inplace element.
9343
9344         * gst/gstbus.c: (gst_bus_post):
9345         Added some comments.
9346
9347         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9348         * tests/muxing/case1.c: (main):
9349         * tests/sched/dynamic-pipeline.c: (main):
9350         * tests/sched/interrupt1.c: (main):
9351         * tests/sched/interrupt2.c: (main):
9352         * tests/sched/interrupt3.c: (main):
9353         * tests/sched/runxml.c: (main):
9354         * tests/sched/sched-stress.c: (main):
9355         * tests/seeking/seeking1.c: (event_received), (main):
9356         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9357         (main):
9358         * tests/threadstate/threadstate3.c: (main):
9359         * tests/threadstate/threadstate4.c: (main):
9360         * tests/threadstate/threadstate5.c: (main):
9361         Fix the tests.
9362
9363 2005-07-21  Wim Taymans  <wim@fluendo.com>
9364
9365         * docs/design/part-seeking.txt:
9366         Some small additions.
9367
9368         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9369         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9370         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9371         * gst/base/gstbasesink.h:
9372         discont values are gint64, handle the math correctly.
9373
9374         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9375         Make the basesrc report error if the source pad is not linked.
9376
9377         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9378         (gst_queue_loop), (gst_queue_handle_src_query),
9379         (gst_queue_src_activate_push):
9380         Make queue collect data even if the srcpad is not linked.
9381         Start pushing out data as soon as it is linked.
9382
9383         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9384         * gst/gstutils.h:
9385         Added gst_flow_get_name() to ease error reporting.
9386
9387 2005-07-20  Wim Taymans  <wim@fluendo.com>
9388
9389         * gst/gstmessage.c: (gst_message_new_segment_start),
9390         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9391         (gst_message_parse_segment_done):
9392         * gst/gstmessage.h:
9393         Added a bunch of messages for advanced seeking.
9394
9395         * gst/parse/grammar.y:
9396         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9397         (gst_dpman_state_changed):
9398         Fix some new-pad -> pad-added signals
9399
9400 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9401
9402         * docs/manual/appendix-porting.xml:
9403         * docs/pwg/appendix-porting.xml:
9404           Document new-pad/state-change signal renames and the FixedList
9405           type rename.
9406
9407 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9408
9409         * docs/manual/advanced-autoplugging.xml:
9410         * docs/manual/basics-helloworld.xml:
9411         * docs/manual/basics-pads.xml:
9412         * docs/random/ds/0.9-suggested-changes:
9413         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9414         * gst/gstelement.h:
9415         * gst/gstevent.h:
9416         * gst/gstformat.h:
9417         * gst/gstquery.h:
9418         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9419         (gst_structure_parse_array), (gst_structure_parse_value):
9420         * gst/gstvalue.c: (gst_type_is_fixed),
9421         (gst_value_list_prepend_value), (gst_value_list_append_value),
9422         (gst_value_list_get_size), (gst_value_list_get_value),
9423         (gst_value_transform_array_string), (gst_value_serialize_array),
9424         (gst_value_deserialize_array), (gst_value_intersect_array),
9425         (gst_value_is_fixed), (_gst_value_initialize):
9426         * gst/gstvalue.h:
9427           GstElement::new-pad -> pad-added, GstElement::state-change ->
9428           state-changed, GstValueFixedList -> GstValueArray, add format and
9429           flags as their own arguments in gst_element_seek() (should improve
9430           "bindeability"), remove function generators since they don't work
9431           under a whole bunch of compilers (they were deprecated already
9432           anyway).
9433
9434 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9435
9436         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9437         (_gst_debug_register_funcptr):
9438         * gst/gstinfo.h:
9439           Fix illegal cast on some platforms (#309253).
9440
9441 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9442
9443         * gst/gstmessage.c: (gst_message_new_custom):
9444         * gst/gstmessage.h:
9445           Add _new_custom, make _new_application a macro to _new_custom.
9446
9447 2005-07-20  Wim Taymans  <wim@fluendo.com>
9448
9449         * gst/base/gstbasesrc.c: (gst_base_src_init),
9450         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9451         * gst/base/gstbasesrc.h:
9452         Add a gboolean to decide when to push out a discont.
9453
9454         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9455         (gst_queue_loop), (gst_queue_handle_src_query),
9456         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9457         (gst_queue_set_property), (gst_queue_get_property):
9458         Some cleanups.
9459
9460         * tests/threadstate/threadstate1.c: (main):
9461         Make a thread test compile and run... very silly..
9462
9463
9464 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9465
9466         * docs/manual/appendix-porting.xml:
9467           Mention removal of libgstgconf-0.9.la and existence of gconf
9468           elements.
9469
9470 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9471
9472         * docs/pwg/advanced-clock.xml:
9473         * docs/pwg/appendix-porting.xml:
9474         * docs/pwg/intro-preface.xml:
9475         * docs/pwg/other-base.xml:
9476         * docs/pwg/other-manager.xml:
9477         * docs/pwg/other-nton.xml:
9478         * docs/pwg/other-ntoone.xml:
9479         * docs/pwg/other-oneton.xml:
9480         * docs/pwg/pwg.xml:
9481           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9482           demuxer), remove n-to-n (was never written), fix some code examples
9483           and links and update the porting section to include all this.
9484
9485 2005-07-19  Wim Taymans  <wim@fluendo.com>
9486
9487         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9488         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9489         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9490         (gst_queue_src_activate_push), (gst_queue_change_state),
9491         (gst_queue_get_property):
9492         * gst/gstqueue.h:
9493         Propagate GstFlowReturn more intelligently upstream and output
9494         an ERROR/EOS when streaming stopped due to fatal error.
9495
9496 2005-07-19  Wim Taymans  <wim@fluendo.com>
9497
9498         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9499         Don't block forever for the state change to complete, the
9500         pipeline already did with a sensible timeout.
9501
9502 2005-07-19  Wim Taymans  <wim@fluendo.com>
9503
9504         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9505         Make sure we never call the create function is we
9506         got deactivated.
9507
9508 2005-07-19  Andy Wingo  <wingo@pobox.com>
9509
9510         * gst/parse/parse.l: Attempt to solve bug #172815.
9511
9512 2005-07-19  Wim Taymans  <wim@fluendo.com>
9513
9514         * docs/design/part-clocks.txt:
9515         * docs/design/part-events.txt:
9516         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9517         Small docs updates.
9518         Only update the seeking values when we are not
9519         busy streaming.
9520
9521 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9522
9523         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9524           Oops, ignore the result of gst_pad_push_event here.
9525
9526 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9527
9528         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9529         (gst_base_src_activate_push):
9530           Send discont event from the loop function, as pads
9531           aren't activated yet in the activate_push handler.
9532
9533         * gst/gstbin.c: (bin_bus_handler):
9534           Don't leak element name.
9535
9536 2005-07-18  Andy Wingo  <wingo@pobox.com>
9537
9538         * configure.ac: Use AS_LIBTOOL_TAGS.
9539
9540 2005-07-18  Wim Taymans  <wim@fluendo.com>
9541
9542         * docs/gst/gstreamer.types:
9543         Remove deleted types.
9544
9545 2005-07-18  Wim Taymans  <wim@fluendo.com>
9546
9547         * check/elements/gstfakesrc.c: (GST_START_TEST):
9548         * configure.ac:
9549         * gst/Makefile.am:
9550         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9551         (init_popt_callback):
9552         * gst/gst.h:
9553         * gst/gst_private.h:
9554         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9555         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9556         * gst/gstbin.h:
9557         * gst/gstbus.h:
9558         * gst/gstconfig.h.in:
9559         * gst/gstelement.c: (gst_element_class_init),
9560         (gst_element_set_base_time), (gst_element_get_base_time),
9561         (iterator_fold_with_resync), (gst_element_change_state),
9562         (gst_element_dispose), (gst_element_get_bus):
9563         * gst/gstelement.h:
9564         * gst/gstelementfactory.h:
9565         * gst/gsterror.c: (_gst_core_errors_init):
9566         * gst/gsterror.h:
9567         * gst/gstevent.h:
9568         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9569         * gst/gstindex.c:
9570         * gst/gstinfo.c: (_gst_debug_init):
9571         * gst/gstmessage.c: (_gst_message_copy):
9572         * gst/gstmessage.h:
9573         * gst/gstminiobject.h:
9574         * gst/gstobject.c:
9575         * gst/gstobject.h:
9576         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9577         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9578         * gst/gstpad.h:
9579         * gst/gstparse.h:
9580         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9581         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9582         (gst_pipeline_get_last_stream_time):
9583         * gst/gstpipeline.h:
9584         * gst/gstpluginfeature.h:
9585         * gst/gstquery.h:
9586         * gst/gstscheduler.c:
9587         * gst/gstscheduler.h:
9588         * gst/gststructure.h:
9589         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9590         (gst_task_finalize), (gst_task_func), (gst_task_create),
9591         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9592         (gst_task_stop), (gst_task_pause):
9593         * gst/gsttask.h:
9594         * gst/gsttypefind.h:
9595         * gst/gsttypes.h:
9596         * gst/registries/gstlibxmlregistry.c: (load_feature),
9597         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9598         * gst/registries/gstxmlregistry.c:
9599         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9600         * gst/schedulers/threadscheduler.c:
9601         * libs/gst/control/dparammanager.h:
9602         * tools/gst-inspect.c: (print_element_list),
9603         (print_plugin_features), (print_element_features):
9604         * tools/gst-xmlinspect.c: (print_element_list),
9605         (print_plugin_info), (main):
9606         Removed plugable schedulers.
9607         Removed Scheduler/Manager from elements.
9608         Removed gsttypes.h, rearranged includes.
9609         Removed dependency pad<->element, element<>pipeline, and
9610         various others,  fix includes.
9611         implement gst_pad_get_parent() with gst_object_get_parent()
9612         Make GstTask sefcontained.
9613         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9614         timeout.
9615         Fix endless loop in iterator_fold_with_resync.
9616
9617
9618 2005-07-18  Wim Taymans  <wim@fluendo.com>
9619
9620         * gst/Makefile.am:
9621         * gst/gstarch.h:
9622         Remove old file.
9623
9624 2005-07-18  Wim Taymans  <wim@fluendo.com>
9625
9626         * gst/Makefile.am:
9627         No more cothreads.h
9628
9629 2005-07-18  Wim Taymans  <wim@fluendo.com>
9630
9631         * gst/cothreads.c:
9632         * gst/cothreads.h:
9633         Let's remove these.
9634
9635 2005-07-18  Wim Taymans  <wim@fluendo.com>
9636
9637         * docs/design/part-dynamic.txt:
9638         * docs/design/part-events.txt:
9639         * docs/design/part-seeking.txt:
9640         Some more docs in the works.
9641
9642         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9643         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9644         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9645         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9646         (gst_base_transform_handle_buffer),
9647         (gst_base_transform_sink_activate_push),
9648         (gst_base_transform_src_activate_pull),
9649         (gst_base_transform_set_passthrough),
9650         (gst_base_transform_is_passthrough):
9651         Refcounting fixes.
9652
9653         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9654         Cleanups.
9655
9656         * gst/gstevent.c: (gst_event_finalize):
9657         Set SRC to NULL.
9658
9659         * gst/gstutils.c: (gst_element_unlink),
9660         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9661         (gst_pad_proxy_setcaps):
9662         * gst/gstutils.h:
9663         Add _get_parent_element() to get a pads parent as an element.
9664
9665 2005-07-18  Wim Taymans  <wim@fluendo.com>
9666
9667         * check/gst/gstbin.c: (GST_START_TEST):
9668         Remove bogus test.
9669
9670 2005-07-18  Wim Taymans  <wim@fluendo.com>
9671
9672         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9673         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9674         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9675         (gst_base_sink_event), (gst_base_sink_do_sync),
9676         (gst_base_sink_chain), (gst_base_sink_loop),
9677         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9678         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9679         Refcounting fixes.
9680         Fix logic for returning ASYNC when not prerolled.
9681
9682 2005-07-18  Wim Taymans  <wim@fluendo.com>
9683
9684         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9685         Fix nasty refcount bug.
9686
9687 2005-07-16 Philippe Khalaf <burger@speedy.org>
9688
9689         * gst/elements/gstfdsrc.c:
9690         * gst/elements/gstfdsrc.h:
9691         * gst/elements/gstelements.c:
9692         * gst/elements/Makefile.am:
9693         Ported fdsrc to 0.9.
9694
9695 2005-07-16  Wim Taymans  <wim@fluendo.com>
9696
9697         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9698         (gst_base_sink_do_sync):
9699         Fix compile error.
9700
9701 2005-07-16  Wim Taymans  <wim@fluendo.com>
9702
9703         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9704         (gst_base_sink_event), (gst_base_sink_get_times),
9705         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9706         * gst/base/gstbasesink.h:
9707         Store and use discont values when syncing buffers as described
9708         in design docs.
9709         
9710         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9711         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9712         (gst_base_src_activate_push):
9713         Push discont event when starting.
9714
9715         * gst/elements/gstidentity.c: (gst_identity_transform):
9716         Small cleanups.
9717
9718         * gst/gstbin.c: (gst_bin_change_state):
9719         Small cleanups in base_time  distribution.
9720
9721         * gst/gstelement.c: (gst_element_set_base_time),
9722         (gst_element_get_base_time), (gst_element_change_state):
9723         * gst/gstelement.h:
9724         Added methods for the base_time of the element.
9725         Some MT fixes.
9726
9727         * gst/gstpipeline.c: (gst_pipeline_send_event),
9728         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9729         (gst_pipeline_get_last_stream_time):
9730         * gst/gstpipeline.h:
9731         MT fixes.
9732         Handle seeking as described in design doc, remove stream_time
9733         hack.
9734         Cleanups clock and stream_time selection code. Added accessors
9735         for the stream_time.
9736         
9737
9738 2005-07-16  Andy Wingo  <wingo@pobox.com>
9739
9740         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9741         (#305291).
9742
9743 2005-07-16  Wim Taymans  <wim@fluendo.com>
9744
9745         * check/gst/gstbin.c: (GST_START_TEST):
9746         Make elements silent as the deep_notify refs the
9747         parent, which might make the test fail.
9748
9749         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9750         Don't hold the lock for too long.
9751
9752 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9753
9754         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9755           Don't unref the caps we passed to gst_caps_make_writable() after
9756           passing them. gst_caps_make_writable() will do that for us.
9757
9758 2005-07-15  Andy Wingo  <wingo@pobox.com>
9759
9760         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9761         (#157311).
9762
9763         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9764         own marshalling function for the handoff signal. Properly type the
9765         buffer as a buffer. Fixes some warnings. Should do a more general
9766         solution.
9767         (gst_identity_class_init): Plug into the right marshaller.
9768
9769 2005-07-15  Wim Taymans  <wim@fluendo.com>
9770
9771         * docs/design/part-TODO.txt:
9772         * docs/design/part-clocks.txt:
9773         * docs/design/part-element-sink.txt:
9774         * docs/design/part-events.txt:
9775         * docs/design/part-gstpipeline.txt:
9776         Updated docs, mostly DISCONT related.
9777
9778 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9779
9780         * docs/pwg/building-pads.xml:
9781           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9782
9783 2005-07-15  Andy Wingo  <wingo@pobox.com>
9784
9785         * tools/gst-typefind.c: Update, add copyright block.
9786
9787         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9788         Normalize and truncate caps before fixation.
9789
9790         * gst/gstcaps.h:
9791         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9792         discards all but the first structure from its argument.
9793
9794 2005-07-15  Wim Taymans  <wim@fluendo.com>
9795
9796         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9797         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9798         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9799         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9800         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9801         (gst_base_transform_chain), (gst_base_transform_change_state),
9802         (gst_base_transform_set_passthrough),
9803         (gst_base_transform_is_passthrough):
9804         * gst/base/gstbasetransform.h:
9805         Make passthrough work using the bufferpools.
9806         Changed API a bit, subclasses have to write into a buffer
9807         provided by the base class.
9808         More debug info in nego functions.
9809         
9810         * gst/elements/gstidentity.c: (gst_identity_init),
9811         (gst_identity_transform):
9812         Port to new base class.
9813
9814 2005-07-15  Wim Taymans  <wim@fluendo.com>
9815
9816         * gst/gstmessage.c: (gst_message_new_state_changed):
9817         * tools/gst-launch.c: (event_loop), (main):
9818         Totally dump messages in -launch with the -m option.
9819         Fix message name for State messages,
9820
9821 2005-07-14  Wim Taymans  <wim@fluendo.com>
9822
9823         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9824         Post error messages on errors.
9825
9826 2005-07-14  Wim Taymans  <wim@fluendo.com>
9827
9828         * gst/gstcaps.c: (gst_caps_do_simplify):
9829         Remove debug info.
9830
9831         * gst/gsterror.h:
9832         Define error for stream stopped.
9833
9834         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9835         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9836         Do proper return values.
9837
9838         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9839         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9840         (gst_pad_get_range):
9841         Better return values.
9842
9843         * gst/gstpad.h:
9844         Reorganise return values, add macro to check for fatal errors.
9845
9846         * gst/gstqueue.c: (gst_queue_chain):
9847         Return proper GstFlowReturn values,
9848
9849 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9850
9851         * docs/gst/gstreamer-sections.txt:
9852         * docs/gst/gstreamer.types:
9853         * docs/gst/tmpl/gst.sgml:
9854         * docs/gst/tmpl/gstbasesink.sgml:
9855         * docs/gst/tmpl/gstbasesrc.sgml:
9856         * docs/gst/tmpl/gstbasetransform.sgml:
9857         * docs/gst/tmpl/gstbin.sgml:
9858         * docs/gst/tmpl/gstbuffer.sgml:
9859         * docs/gst/tmpl/gstcaps.sgml:
9860         * docs/gst/tmpl/gstclock.sgml:
9861         * docs/gst/tmpl/gstcompat.sgml:
9862         * docs/gst/tmpl/gstconfig.sgml:
9863         * docs/gst/tmpl/gstelement.sgml:
9864         * docs/gst/tmpl/gstelementdetails.sgml:
9865         * docs/gst/tmpl/gstelementfactory.sgml:
9866         * docs/gst/tmpl/gstenumtypes.sgml:
9867         * docs/gst/tmpl/gsterror.sgml:
9868         * docs/gst/tmpl/gstevent.sgml:
9869         * docs/gst/tmpl/gstfakesink.sgml:
9870         * docs/gst/tmpl/gstfakesrc.sgml:
9871         * docs/gst/tmpl/gstfilesink.sgml:
9872         * docs/gst/tmpl/gstfilesrc.sgml:
9873         * docs/gst/tmpl/gstfilter.sgml:
9874         * docs/gst/tmpl/gstformat.sgml:
9875         * docs/gst/tmpl/gstghostpad.sgml:
9876         * docs/gst/tmpl/gstimplementsinterface.sgml:
9877         * docs/gst/tmpl/gstindex.sgml:
9878         * docs/gst/tmpl/gstindexfactory.sgml:
9879         * docs/gst/tmpl/gstinfo.sgml:
9880         * docs/gst/tmpl/gstiterator.sgml:
9881         * docs/gst/tmpl/gstmacros.sgml:
9882         * docs/gst/tmpl/gstmemchunk.sgml:
9883         * docs/gst/tmpl/gstminiobject.sgml:
9884         * docs/gst/tmpl/gstobject.sgml:
9885         * docs/gst/tmpl/gstpad.sgml:
9886         * docs/gst/tmpl/gstpadtemplate.sgml:
9887         * docs/gst/tmpl/gstparse.sgml:
9888         * docs/gst/tmpl/gstpipeline.sgml:
9889         * docs/gst/tmpl/gstplugin.sgml:
9890         * docs/gst/tmpl/gstpluginfeature.sgml:
9891         * docs/gst/tmpl/gstquery.sgml:
9892         * docs/gst/tmpl/gstqueue.sgml:
9893         * docs/gst/tmpl/gstregistry.sgml:
9894         * docs/gst/tmpl/gstregistrypool.sgml:
9895         * docs/gst/tmpl/gstscheduler.sgml:
9896         * docs/gst/tmpl/gstschedulerfactory.sgml:
9897         * docs/gst/tmpl/gststructure.sgml:
9898         * docs/gst/tmpl/gstsystemclock.sgml:
9899         * docs/gst/tmpl/gsttaglist.sgml:
9900         * docs/gst/tmpl/gsttagsetter.sgml:
9901         * docs/gst/tmpl/gsttrace.sgml:
9902         * docs/gst/tmpl/gsttrashstack.sgml:
9903         * docs/gst/tmpl/gsttypefind.sgml:
9904         * docs/gst/tmpl/gsttypefindfactory.sgml:
9905         * docs/gst/tmpl/gsttypes.sgml:
9906         * docs/gst/tmpl/gsturihandler.sgml:
9907         * docs/gst/tmpl/gsturitype.sgml:
9908         * docs/gst/tmpl/gstutils.sgml:
9909         * docs/gst/tmpl/gstvalue.sgml:
9910         * docs/gst/tmpl/gstversion.sgml:
9911         * docs/gst/tmpl/gstxml.sgml:
9912         * docs/libs/tmpl/gstcontrol.sgml:
9913         * docs/libs/tmpl/gstdataprotocol.sgml:
9914         * docs/libs/tmpl/gstdparam.sgml:
9915         * docs/libs/tmpl/gstdplinint.sgml:
9916         * docs/libs/tmpl/gstdpman.sgml:
9917         * docs/libs/tmpl/gstdpsmooth.sgml:
9918         * docs/libs/tmpl/gstgetbits.sgml:
9919         * docs/libs/tmpl/gstunitconvert.sgml:
9920         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9921         (gst_push_src_base_init), (gst_push_src_class_init),
9922         (gst_push_src_init), (gst_push_src_create):
9923         * gst/base/gstpushsrc.h:
9924         * gst/elements/gstelements.c:
9925         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9926         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9927         (gst_fake_sink_init), (gst_fake_sink_set_property),
9928         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9929         (gst_fake_sink_event), (gst_fake_sink_preroll),
9930         (gst_fake_sink_render), (gst_fake_sink_change_state):
9931         * gst/elements/gstfakesink.h:
9932         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9933         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9934         (gst_fake_src_base_init), (gst_fake_src_class_init),
9935         (gst_fake_src_init), (gst_fake_src_event_handler),
9936         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9937         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9938         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9939         (gst_fake_src_create_buffer), (gst_fake_src_create),
9940         (gst_fake_src_start), (gst_fake_src_stop):
9941         * gst/elements/gstfakesrc.h:
9942         * gst/elements/gstfilesink.c: (_do_init),
9943         (gst_file_sink_base_init), (gst_file_sink_class_init),
9944         (gst_file_sink_init), (gst_file_sink_dispose),
9945         (gst_file_sink_set_location), (gst_file_sink_set_property),
9946         (gst_file_sink_get_property), (gst_file_sink_open_file),
9947         (gst_file_sink_close_file), (gst_file_sink_query),
9948         (gst_file_sink_event), (gst_file_sink_render),
9949         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9950         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9951         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9952         * gst/elements/gstfilesink.h:
9953         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9954         (gst_file_src_class_init), (gst_file_src_init),
9955         (gst_file_src_finalize), (gst_file_src_set_location),
9956         (gst_file_src_set_property), (gst_file_src_get_property),
9957         (gst_file_src_map_region), (gst_file_src_map_small_region),
9958         (gst_file_src_create_mmap), (gst_file_src_create_read),
9959         (gst_file_src_create), (gst_file_src_is_seekable),
9960         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9961         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9962         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9963         (gst_file_src_uri_handler_init):
9964         * gst/elements/gstfilesrc.h:
9965           more autistic cleanliness in functions/names/defines
9966
9967 2005-07-13  Andy Wingo  <wingo@pobox.com>
9968
9969         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9970         source couldn't negotiate.
9971
9972         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9973         connections again.
9974
9975         * gst/gstutils.h:
9976         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9977         function. I am channeling Hades. Put your boots on suckers!!!
9978
9979 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9980
9981         * testsuite/caps/Makefile.am:
9982         * testsuite/caps/value_compare.c:
9983         * testsuite/caps/value_intersect.c:
9984         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9985           move two testsuite apps over to the check dir
9986
9987 2005-07-12  Wim Taymans  <wim@fluendo.com>
9988
9989         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9990         Added more debug info in the negotiate process.
9991
9992         * gst/gstmessage.h:
9993         Prepare for segment playback.
9994
9995         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9996         Better debugging.
9997
9998         * gst/gstutils.c:
9999         Some more docs.
10000
10001         * tools/gst-launch.c: (main):
10002         NULL pipeline on errors.
10003
10004 2005-07-12  Andy Wingo  <wingo@pobox.com>
10005
10006         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10007         not it comes from a malloc region. Make sure our copy gets freed.
10008
10009 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10010
10011         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10012         * check/gst/gstmessage.c: (GST_START_TEST):
10013         * check/gst/gststructure.c: (GST_START_TEST),
10014         (gst_structure_suite), (main):
10015           more testing
10016         * gst/gstelement.c: (gst_element_message_full):
10017           clean up GError and debug string now that they get copied
10018         * gst/gstmessage.c: (gst_message_new_error),
10019         (gst_message_new_warning), (gst_message_parse_error),
10020         (gst_message_parse_warning):
10021           use GST_TYPE_G_ERROR for structure_new, and take copies of
10022           arguments, so that we don't mess up refcounting
10023
10024 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10025
10026         * check/Makefile.am:
10027           add per-test valgrind targets
10028         * check/gst-libs/gdp.c: (GST_START_TEST),
10029         (gst_data_protocol_suite), (main):
10030           clean up
10031
10032 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10033
10034         * check/Makefile.am:
10035           instate more valgrindable tests
10036         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10037         (GST_START_TEST), (fakesrc_suite):
10038         * check/gst/gstpad.c: (GST_START_TEST):
10039         * check/gst/gststructure.c: (GST_START_TEST):
10040           fix test leaks
10041         * docs/gst/tmpl/gstminiobject.sgml:
10042         * gst/gstpad.c: (gst_pad_finalize):
10043           fix the static mutex leak
10044
10045 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10046
10047         * check/Makefile.am:
10048           add two more tests for valgrinding
10049         * check/gst/gstvalue.c: (GST_START_TEST):
10050           test refcount of deserialized buffer, found a leak
10051         * docs/gst/gstreamer-docs.sgml:
10052         * docs/gst/gstreamer-sections.txt:
10053         * docs/gst/gstreamer.types:
10054         * docs/gst/tmpl/gstminiobject.sgml:
10055           add miniobject to docs
10056         * gst/gstminiobject.c:
10057           add some docs
10058         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10059         (gst_string_unwrap):
10060           fix a hard-to-find invalid write for one of the tests
10061           fix a leak for deserialized buffers
10062
10063 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10064
10065         * docs/pwg/advanced-events.xml:
10066         * docs/pwg/advanced-request.xml:
10067         * docs/pwg/advanced-scheduling.xml:
10068         * docs/pwg/appendix-porting.xml:
10069         * docs/pwg/building-boiler.xml:
10070         * docs/pwg/intro-preface.xml:
10071         * docs/pwg/other-ntoone.xml:
10072           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10073           of example code and explanation for pad activation, loop() and
10074           getrange() functions and a bit more. Remove old comments pointing
10075           to loop-functions.
10076         * examples/pwg/Makefile.am:
10077           Add loop/getrange examples.
10078
10079 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10080
10081         * configure.ac:
10082           check for valgrind binary + some fixes
10083         * check/gst.supp:
10084           valgrind suppressions for the tests
10085         * check/Makefile.am:
10086           add a valgrind: target that valgrinds the unit tests
10087         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10088         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10089         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10090         * check/gst/gstghostpad.c:
10091           added some cleanup
10092         * check/gst/gstdata.c:
10093           removed
10094         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10095         (thread_unref), (gst_mini_object_suite), (main):
10096           added
10097         * gst/gst.c: (gst_deinit):
10098         * gst/gst.h:
10099           add a method to clean up.
10100         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10101         (gst_system_clock_obtain):
10102           allow for disposing the system clock.
10103         * tools/gst-launch.c: (main):
10104           deinit
10105
10106 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10107
10108         * docs/gst/tmpl/gstbasesrc.sgml:
10109         * docs/gst/tmpl/gstfakesrc.sgml:
10110         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10111         (gst_base_src_init), (gst_base_src_set_property),
10112         (gst_base_src_get_property), (gst_base_src_get_range),
10113         (gst_base_src_start):
10114         * gst/base/gstbasesrc.h:
10115           add num-buffers property
10116         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10117         (gst_fakesrc_init), (gst_fakesrc_set_property),
10118         (gst_fakesrc_get_property), (gst_fakesrc_create),
10119         (gst_fakesrc_start):
10120           remove num-buffers property
10121
10122 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10123
10124         * docs/gst/gstreamer-sections.txt:
10125         * docs/gst/tmpl/gstbasesink.sgml:
10126         * docs/gst/tmpl/gstbasesrc.sgml:
10127         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10128         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10129         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10130         (gst_base_sink_set_property), (gst_base_sink_get_property),
10131         (gst_base_sink_handle_object), (gst_base_sink_event),
10132         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10133         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10134         (gst_base_sink_loop), (gst_base_sink_deactivate),
10135         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10136         (gst_base_sink_change_state):
10137         * gst/base/gstbasesink.h:
10138         * gst/base/gstbasesrc.h:
10139         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10140         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10141         (gst_filesink_init):
10142           more macro splitting
10143
10144 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10145
10146         * gst/gstelement.c: (gst_element_get_bus):
10147           add debug
10148         * tools/gst-launch.c: (check_intr), (event_loop):
10149           fix bus leaks
10150
10151 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10152
10153         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10154           fix a caps leak
10155
10156 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10157
10158         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10159         (gst_base_src_finalize):
10160           add finalize method and clean up properly
10161         * gst/gstpipeline.c: (gst_pipeline_dispose):
10162           add debug
10163
10164 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10165
10166         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10167         (gst_bin_suite):
10168           add more things to check
10169         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10170         * gst/gstelement.c:
10171           more debug
10172
10173 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10174
10175         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10176         (GST_START_TEST), (fakesrc_suite):
10177         * check/gst-libs/gdp.c: (GST_START_TEST):
10178         * check/gst/gst.c: (GST_START_TEST):
10179         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10180         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10181         * check/gst/gstbus.c: (GST_START_TEST):
10182         * check/gst/gstcaps.c: (GST_START_TEST):
10183         * check/gst/gstdata.c: (GST_START_TEST):
10184         * check/gst/gstelement.c: (GST_START_TEST):
10185         * check/gst/gstghostpad.c: (GST_START_TEST):
10186         * check/gst/gstiterator.c: (GST_START_TEST):
10187         * check/gst/gstmessage.c: (GST_START_TEST):
10188         * check/gst/gstobject.c: (GST_START_TEST):
10189         * check/gst/gstpad.c: (GST_START_TEST):
10190         * check/gst/gststructure.c: (GST_START_TEST):
10191         * check/gst/gstsystemclock.c: (GST_START_TEST),
10192         (gst_systemclock_suite):
10193         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10194         * check/gst/gstvalue.c: (GST_START_TEST):
10195         * check/pipelines/cleanup.c: (GST_START_TEST):
10196         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10197         * check/states/sinks.c: (GST_START_TEST):
10198         * check/gstcheck.c: (gst_check_init):
10199         * check/gstcheck.h:
10200           add debugging category
10201           use GST_START_TEST now, so we add a debug line
10202
10203 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10204
10205         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10206           add test for state change message on a bin
10207         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10208           add another test
10209         * gst/gstbin.c: (gst_bin_init):
10210         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10211         * gst/gstelement.c: (gst_element_post_message),
10212         (gst_element_set_state):
10213         * gst/gstelementfactory.c: (gst_element_factory_create):
10214         * gst/gstmessage.c: (gst_message_new):
10215         * gst/gstscheduler.c:
10216           various debugging additions and cleanups
10217
10218 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10219
10220         * check/Makefile.am:
10221         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10222         (main):
10223           adding tests for elements
10224         * gst/gstelement.c: (gst_element_dispose):
10225
10226 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10227
10228         * gst/registries/gstlibxmlregistry.c: (load_feature):
10229           plug more leaks.  A simple gst_init() now is leakfree, yay.
10230
10231 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10232
10233         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10234         (gst_xml_registry_load):
10235           plug another memleak
10236
10237 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10238
10239         * configure.ac:
10240           use GST_SET_ERROR_CFLAGS
10241         * docs/faq/cvs.xml:
10242           change to ERROR_CFLAGS
10243
10244 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10245
10246         * configure.ac:
10247           make GST_ERROR_CFLAGS overridable and re-enable Werror
10248         * docs/faq/cvs.xml:
10249           add a note about error CFLAGS
10250         * docs/gst/tmpl/gstfakesrc.sgml:
10251         * gst/elements/gstfakesrc.c:
10252           comment out some unused code
10253         * gst/gst.c: (split_and_iterate):
10254         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10255         (load_feature):
10256           plug some memleaks
10257
10258 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10259
10260         * common/Makefile.am:
10261         * common/gtk-doc.mak:
10262         * docs/gst/Makefile.am:
10263           factor out gtk-doc.mak
10264
10265 2005-07-07  Wim Taymans  <wim@fluendo.com>
10266
10267         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10268         (gst_thread_scheduler_dispose):
10269         Unlock the STREAM_LOCK completely.
10270
10271 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10272
10273         * check/Makefile.am:
10274         * check/elements/.cvsignore:
10275         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10276         (START_TEST), (fakesrc_suite), (main):
10277         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10278         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10279         (gst_fakesrc_create), (gst_fakesrc_start):
10280         * gst/elements/gstfakesrc.h:
10281           adding a first element test
10282
10283 2005-07-07  Andy Wingo  <wingo@pobox.com>
10284
10285         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10286         debug message.
10287
10288 2005-07-07  Wim Taymans  <wim@fluendo.com>
10289
10290         * gst/gstquery.c:
10291         * gst/gstquery.h:
10292         Remove old types
10293
10294 2005-07-07  Wim Taymans  <wim@fluendo.com>
10295
10296         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10297         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10298         Allow subclasses to implement their own negotiation.
10299
10300 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10301
10302         * docs/design/part-gstbin.txt:
10303         * docs/design/part-gstpipeline.txt:
10304           Update design notes to reflect the movement of
10305           responsibility for bus handling from GstPipeline to
10306           GstBin
10307
10308 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10309
10310         * configure.ac:
10311           Remove unnecessary queue2/3/4 examples.
10312
10313 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10314
10315         * examples/Makefile.am:
10316         * examples/helloworld/helloworld.c: (event_loop), (main):
10317         * examples/queue/queue.c: (event_loop), (main):
10318         * examples/queue2/queue2.c: (main):
10319           Update a couple of the examples to work again.
10320
10321         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10322         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10323          Spelling corrections and extra debug.
10324         
10325         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10326         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10327         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10328         * gst/gstbin.h:
10329         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10330         (gst_pipeline_change_state):
10331         * gst/gstpipeline.h:
10332           Move the bus handler for children to the GstBin, and create a
10333           separate bus for receiving messages from children to the one the
10334           bus sends 'upwards' on.
10335
10336 2005-07-06  Wim Taymans  <wim@fluendo.com>
10337
10338         * gst/base/README:
10339         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10340         (gst_base_sink_handle_object), (gst_base_sink_loop),
10341         (gst_base_sink_change_state):
10342         * gst/base/gstbasesink.h:
10343         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10344         (gst_base_src_init), (gst_base_src_setcaps),
10345         (gst_base_src_getcaps), (gst_base_src_loop),
10346         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10347         (gst_base_src_start), (gst_base_src_change_state):
10348         * gst/base/gstbasesrc.h:
10349         Make basesrc negotiate.
10350         Handle the case where preroll fails in basesink.
10351         Update README.
10352
10353 2005-07-06  Wim Taymans  <wim@fluendo.com>
10354
10355         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10356         Implement the fixate function.
10357         Clean up acceptcaps.
10358
10359 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10360
10361         * docs/pwg/building-filterfactory.xml:
10362         * docs/pwg/pwg.xml:
10363           Remove never-written filter-factory chapter; I'll add the various
10364           base classes to part 4 ("other element types") later on.
10365
10366 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10367
10368         * docs/pwg/advanced-negotiation.xml:
10369         * docs/pwg/building-boiler.xml:
10370         * docs/pwg/building-pads.xml:
10371         * docs/pwg/pwg.xml:
10372         * examples/pwg/Makefile.am:
10373           Add a chapter on caps negotiation, simplify the original code
10374           samples a bit w.r.t. caps negotiation, add link to the advanced
10375           section. Add a bunch of examples showing different use cases of
10376           different types of caps negotiation. Upstream renegotiation isn't
10377           fully documented yet since nobody knows how that works.
10378
10379 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10380
10381         * check/gst/gstpad.c:
10382         * check/gstcheck.c:
10383         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10384           if pad has no parent, return NULL as list of internal links
10385
10386 2005-07-05  Andy Wingo  <wingo@pobox.com>
10387
10388         * gst/elements/gstfilesrc.c:
10389         * gst/elements/gstfakesrc.c: 
10390         * gst/base/gstpushsrc.c:
10391         * gst/base/gstbasesrc.h: 
10392         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10393         
10394 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10395
10396         * Makefile.am:
10397           better report generation target (lcov needs a patch)
10398
10399 2005-07-05  Andy Wingo  <wingo@pobox.com>
10400
10401         * gst/elements, testsuite: Null if we got it...
10402
10403 2005-07-05  Wim Taymans  <wim@fluendo.com>
10404
10405         * configure.ac:
10406         * libs/gst/dataprotocol/Makefile.am:
10407         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10408         * libs/gst/dataprotocol/dataprotocol.h:
10409         * pkgconfig/Makefile.am:
10410         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10411         * pkgconfig/gstreamer-dataprotocol.pc.in:
10412         Ported dataprotol to 0.9. 
10413         Added pkgconfig files.
10414
10415 2005-07-05  Andy Wingo  <wingo@pobox.com>
10416
10417         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10418         Default to returning TRUE for the case when tranform_caps returns
10419         a fixed caps, like for identity or volume.
10420
10421         * check/gst/gstbus.c (pound_bus_with_messages): 
10422         * check/gst/gstmessage.c (START_TEST): 
10423         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10424         message API change.
10425
10426         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10427         logic weaks here: always run transform_caps, trying passthrough
10428         operation only if the original caps intersects with the transform.
10429
10430         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10431         source and sink caps.
10432
10433         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10434         Intersect the peer caps with the pad template before going into
10435         transform_caps.
10436         (gst_base_transform_transform_caps): More debugging.
10437
10438         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10439         src argument.
10440
10441 2005-07-04  Edward Hervey  <edward@fluendo.com>
10442
10443         * gst/gstutils.c:
10444         * gst/gstutils.h:
10445         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10446         in bindings.
10447
10448 2005-07-04  Andy Wingo  <wingo@pobox.com>
10449
10450         * check/gst/gstpad.c: Only set explicit caps on pads.
10451
10452 2005-07-01  Andy Wingo  <wingo@pobox.com>
10453
10454         * tests/network-clock.scm: Commentary update.
10455
10456         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10457         Didn't really make sense, not implementable with basetransform,
10458         etc.
10459         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10460         attempt at implementing the sync property, needs an unlock method.
10461
10462         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10463         New func, by default returns the same caps (the identity
10464         transformation).
10465         (gst_base_transform_getcaps): Uses transform_caps to return
10466         something sensible.
10467         (gst_base_transform_setcaps): Complicated logic to get caps on
10468         both pads, even if they are different, and to call set_caps once
10469         for every time both pads get their caps set.
10470         (gst_base_transform_handle_buffer): Give the ref to the transform
10471         function. Allows in-place modification of the buffer.
10472
10473         * gst/base/gstbasetransform.h (transform_caps): New class method.
10474         Given caps on one side, what can I do on the other.
10475         (set_caps): Take two caps, one for each side of the element.
10476
10477         * gst/gstpad.h:
10478         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10479         caps in place. This is safe because we can check the mutability of
10480         the caps, and a good idea because fixate functions are just called
10481         as a matter of last resort. (Not actually implemented.)
10482         (gst_pad_set_caps): If the caps we're setting is actually the same
10483         as the existing pad caps, just update the pointer without calling
10484         setcaps. Assert that caps is either NULL or fixed, as per the
10485         docs.
10486
10487         * gst/gstghostpad.c: Update for fixate changes.
10488
10489 2005-07-02  Andy Wingo  <wingo@pobox.com>
10490
10491         * gst/gstcaps.c:
10492         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10493         two refcounts makes it immutable, which is enough. Doc more.
10494
10495 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10496
10497         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10498           Put the mini_object into GValue as a mini_object,
10499           not a gpointer, since that's how we declared
10500           the signal.
10501
10502 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10503
10504         * examples/pwg/Makefile.am:
10505           Fix buildbot again.
10506
10507 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10508
10509         * docs/pwg/building-testapp.xml:
10510           Add extra check.
10511         * examples/pwg/Makefile.am:
10512           Fix buildbot.
10513
10514 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10515
10516         * configure.ac:
10517         * examples/Makefile.am:
10518         * examples/pwg/Makefile.am:
10519         * examples/pwg/extract.pl:
10520           Enable building the PWG examples.
10521         * docs/pwg/advanced-interfaces.xml:
10522           Add URI interface stub.
10523         * docs/pwg/advanced-types.xml:
10524         * docs/pwg/other-autoplugger.xml:
10525         * docs/pwg/appendix-porting.xml:
10526         * docs/pwg/pwg.xml:
10527           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10528         * docs/pwg/building-boiler.xml:
10529         * docs/pwg/building-chainfn.xml:
10530         * docs/pwg/building-pads.xml:
10531         * docs/pwg/building-props.xml:
10532         * docs/pwg/building-state.xml:
10533         * docs/pwg/building-testapp.xml:
10534           Update the building-*.xml parts for 0.9 changes. All examples
10535           code blocks compile in examples/pwg/*.
10536
10537 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10538
10539         * docs/manual/advanced-autoplugging.xml:
10540         * docs/manual/appendix-checklist.xml:
10541         * docs/manual/appendix-integration.xml:
10542         * docs/manual/highlevel-components.xml:
10543           Fix playbin/decodebin examples, update docs a bit, mention bus
10544           instead of signals in various places, mention kmplayer and
10545           kaffeine since they have a working GStreamer backend in the KDE
10546           section.
10547
10548 2005-06-30  Wim Taymans  <wim@fluendo.com>
10549
10550         * CHANGES-0.9:
10551         * docs/design/draft-ghostpads.txt:
10552         * docs/design/draft-push-pull.txt:
10553         * docs/design/draft-query.txt:
10554         * docs/design/part-TODO.txt:
10555         * docs/design/part-query.txt:
10556         Added CHANGES-0.9 doc, updated status of other docs.
10557         
10558         * gst/gstquery.h:
10559         Remove "hmm" macro
10560
10561 2005-06-30  Wim Taymans  <wim@fluendo.com>
10562
10563         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10564         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10565         (gst_base_sink_change_state):
10566         * gst/base/gstbasesink.h:
10567         Some tweaks, only EOS and a buffer complete a preroll.
10568
10569 2005-06-30  Andy Wingo  <wingo@pobox.com>
10570
10571         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10572         activate_push down to the internal pad as well.
10573
10574 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10575
10576         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10577
10578         * gst/gsttaginterface.c:
10579           Some documentation fixes (#307394 and #307397).
10580
10581 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10582
10583         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10584
10585         * gst/gstvalue.c: (gst_value_intersect_list):
10586           Fix memleak (#309125).
10587
10588 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10589
10590         * docs/manual/advanced-dataaccess.xml:
10591           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10592         * docs/manual/basics-pads.xml:
10593           Add reference for filtered caps to above chapter.
10594
10595 2005-06-30  Wim Taymans  <wim@fluendo.com>
10596
10597         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10598         (gst_bin_change_state):
10599         Probes are gone.
10600         Lame attempt at making the state change function a bit
10601         more readable.
10602
10603 2005-06-30  Wim Taymans  <wim@fluendo.com>
10604
10605         * docs/design/part-clocks.txt:
10606         * docs/design/part-element-sink.txt:
10607         * docs/design/part-events.txt:
10608         * docs/design/part-preroll.txt:
10609         * docs/design/part-states.txt:
10610         Some more tweeks and additions to the docs.
10611
10612 2005-06-30  Wim Taymans  <wim@fluendo.com>
10613
10614         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10615         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10616         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10617         (gst_pad_check_pull_range), (gst_pad_get_range),
10618         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10619         * gst/gstpad.h:
10620         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10621         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10622         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10623         (gst_pad_remove_buffer_probe):
10624         Removed atomic operations, use existing LOCK.
10625         Move exception handling out of main code path.
10626
10627 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10628
10629         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10630         (silly_return_true_function), (gst_pad_class_init),
10631         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10632         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10633         (gst_pad_send_event):
10634           Fix accumulator, add default value by using _emitv() instead
10635           of _emit() for signal emission.
10636
10637 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10638
10639         * docs/manual/advanced-dataaccess.xml:
10640         * examples/manual/Makefile.am:
10641           Add probe example.
10642         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10643           Make work (??).
10644
10645 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10646
10647         * gst/elements/gstfilesink.c: (gst_filesink_render):
10648           Simplify code so that we don't have to handle short
10649           writes and return GST_FLOW_ERROR if an error occured.
10650
10651 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10652
10653         * docs/gst/gstreamer-docs.sgml:
10654           Remove probes more.
10655
10656 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10657
10658         * docs/gst/gstreamer-sections.txt:
10659         * docs/gst/tmpl/gstpad.sgml:
10660         * docs/gst/tmpl/gstprobe.sgml:
10661         * gst/Makefile.am:
10662         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10663         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10664         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10665         (gst_pad_push_event), (gst_pad_send_event):
10666         * gst/gstpad.h:
10667         * gst/gstutils.c: (gst_pad_add_data_probe),
10668         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10669         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10670         (gst_pad_remove_buffer_probe):
10671         * gst/gstutils.h:
10672           Remove old probes, add new g-signal-based probes and some utility
10673           functions.
10674
10675 2005-06-29  Edward Hervey  <edward@fluendo.com>
10676
10677         * gst/gstelementfactory.c:
10678         * gst/gstutils.h:
10679         * gst/gstutils.c:
10680         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10681         the definition to the header file.
10682
10683 2005-06-29  Andy Wingo  <wingo@pobox.com>
10684
10685         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10686         plugins from the source directory.
10687
10688 2005-06-29  Wim Taymans  <wim@fluendo.com>
10689
10690         * docs/gst/tmpl/gstbuffer.sgml:
10691         * docs/gst/tmpl/gstclock.sgml:
10692         Some fixings for blantently wrong text.
10693
10694 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10695
10696         * check/Makefile.am:
10697         * gst/gst.c: (add_path_func), (init_pre):
10698         * gst/gstregistry.c: (gst_registry_add_path):
10699           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10700           only scan the GST_PLUGIN_PATH locations, and not add
10701           system locations
10702
10703 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10704
10705         * docs/gst/gstreamer-sections.txt:
10706         * docs/gst/tmpl/gstbasesrc.sgml:
10707         * gst/gstelement.c:
10708         * gst/gstelement.h:
10709         * gst/gstevent.c:
10710         * gst/gstutils.c:
10711           doc fixes
10712
10713 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10714
10715         * docs/manual/advanced-autoplugging.xml:
10716           Fix autoplugging example.
10717
10718 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10719
10720         * docs/manual/advanced-autoplugging.xml:
10721         * docs/manual/mime-world.fig:
10722           Try to get autoplugging working, fix type detection. Fix text
10723           in hello-world image.
10724
10725 2005-06-29  Wim Taymans  <wim@fluendo.com>
10726
10727         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10728         (gst_base_sink_change_state):
10729         Small debug line.
10730
10731         * gst/gstclock.h:
10732         map SIGNAL and BROADCAST to the right function.
10733
10734         * gst/gstobject.h:
10735         Remove redundant braces.
10736
10737         * gst/gstpad.c: (gst_pad_set_caps):
10738         Don't call setcaps function when reseting caps to NULL.
10739
10740         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10741         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10742         (gst_system_clock_id_unschedule):
10743         Use BROADCAST as this is what we do.
10744
10745 2005-06-29  Wim Taymans  <wim@fluendo.com>
10746
10747         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10748         We are actually prerolling before commiting the state
10749         change. 
10750
10751 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10752
10753         * docs/manual/advanced-clocks.xml:
10754         * docs/manual/advanced-interfaces.xml:
10755         * docs/manual/advanced-metadata.xml:
10756         * docs/manual/advanced-position.xml:
10757         * docs/manual/advanced-schedulers.xml:
10758         * docs/manual/advanced-threads.xml:
10759         * docs/manual/appendix-porting.xml:
10760         * docs/manual/basics-bins.xml:
10761         * docs/manual/basics-bus.xml:
10762         * docs/manual/basics-elements.xml:
10763         * docs/manual/basics-helloworld.xml:
10764         * docs/manual/basics-pads.xml:
10765         * docs/manual/highlevel-components.xml:
10766         * docs/manual/manual.xml:
10767         * docs/manual/thread.fig:
10768           Update (until threads/scheduling) Application Development Manual;
10769           remove GstThread, add GstBus, add simple porting checklist, add
10770           documentation for tag writing, clocks, make all examples until this
10771           part compile and run.
10772         * examples/manual/Makefile.am:
10773           Update from changes to Application Development Manual; add bus
10774           example, remove thread example.
10775
10776 2005-06-28  Wim Taymans  <wim@fluendo.com>
10777
10778         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10779         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10780         (gst_bus_source_dispatch):
10781         Add debugging messages.
10782         Make internal methods static.
10783         Handle the case where the bus is flushed in the handler.
10784         
10785         * gst/gstelement.c: (gst_element_get_bus):
10786         Fix refcount in _get_bus();
10787
10788         * gst/gstpipeline.c: (gst_pipeline_change_state),
10789         (gst_pipeline_get_clock_func):
10790         Clock refcounting fixes.
10791         Handle the case where preroll timed out more gracefully.
10792         
10793         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10794         Clean up the internal thread in dispose. This is needed
10795         for subclasses that actually get disposed.
10796         
10797         * gst/schedulers/threadscheduler.c:
10798         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10799         (gst_thread_scheduler_dispose):
10800         Free thread pool in dispose.
10801
10802 2005-06-28  Andy Wingo  <wingo@pobox.com>
10803
10804         * tests/network-clock-utils.scm (debug, print-event): New utils.
10805
10806         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10807         (*packet-loss*): Unified loss probability.
10808         (network-time): Report out-of-band events.
10809
10810         * tests/plot-data: Add support for out-of-band events. Hack it
10811         into this script instead of passing it down the pipe; should fix
10812         this later.
10813
10814 2005-06-28  Wim Taymans  <wim@fluendo.com>
10815
10816         * docs/gst/gstreamer.types:
10817         * docs/gst/tmpl/gstbasesrc.sgml:
10818         * docs/gst/tmpl/gstpad.sgml:
10819         Docs fixes.
10820
10821 2005-06-28  Wim Taymans  <wim@fluendo.com>
10822
10823         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10824         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10825         (gst_proxy_pad_do_fixatecaps):
10826         Correctly proxy the check_pull_range function.
10827
10828 2005-06-28  Andy Wingo  <wingo@pobox.com>
10829
10830         * tests/network-clock.scm: Removed need for slib.
10831         
10832 2005-06-28  Wim Taymans  <wim@fluendo.com>
10833
10834         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10835         (gst_basesink_preroll_queue_flush):
10836         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10837         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10838         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10839         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10840         (gst_proxy_pad_set_property):
10841         * gst/gstpad.c:
10842         * gst/gstpad.h:
10843         * gst/gstqueue.c: (gst_queue_init):
10844         The deprecated pad loop function is removed now.
10845
10846 2005-06-28  Andy Wingo  <wingo@pobox.com>
10847
10848         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10849         New parameters, simulate network packet loss.
10850
10851         * tests/network-clock-utils.scm: Initialize the RNG.
10852
10853 2005-06-28  Wim Taymans  <wim@fluendo.com>
10854
10855         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10856         (gst_basesink_event), (gst_basesink_deactivate):
10857         Flushing the preroll queue always needs to unlock the waiters.
10858
10859 2005-06-28  Edward Hervey  <edward@fluendo.com>
10860
10861         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10862         Wheen a seek was successful on a pipeline, set the stream_time to the
10863         seek offset in order to have a synchronized stream_time.
10864
10865 2005-06-28  Wim Taymans  <wim@fluendo.com>
10866
10867         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10868         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10869         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10870         (gst_proxy_pad_do_fixatecaps):
10871         Call wrapper function instead of just calling the function
10872         pointers. This takes care of any locking and whatmore.
10873
10874 2005-06-28  Wim Taymans  <wim@fluendo.com>
10875
10876         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10877         (gst_pad_pull_range):
10878         * gst/gstpad.h:
10879         CONNECTED -> LINKED.
10880
10881 2005-06-28  Andy Wingo  <wingo@pobox.com>
10882
10883         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10884         source-munging commit!!!
10885
10886         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10887         (gst_object_sink): Take gpointer arguments, not GstObject --
10888         avoids casts. Like GLib.
10889
10890         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10891         activate.
10892
10893 2005-06-27  Andy Wingo  <wingo@pobox.com>
10894
10895         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10896         remaining buffer.
10897
10898         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10899         returns a sorted copy of the trace list.
10900         (gst_alloc_trace_print_live): New API, only prints traces with
10901         live objects. Sort the list.
10902         (gst_alloc_trace_print_all): Sort the list.
10903         (gst_alloc_trace_print): Align columns.
10904
10905         * gst/elements/gstttypefindelement.c:
10906         * gst/elements/gsttee.c:
10907         * gst/base/gstbasesrc.c:
10908         * gst/base/gstbasesink.c:
10909         * gst/base/gstbasetransform.c:
10910         * gst/gstqueue.c: Adapt for pad activation changes.
10911
10912         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10913         sched.
10914         (gst_pipeline_dispose): Drop ref on sched.
10915
10916         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10917         (gst_pad_activate_default): Push mode by default.
10918         (pre_activate_switch, post_activate_switch): New stubs, things to
10919         do before and after switching activation modes on pads.
10920         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10921         the pad's activate function to choose which mode to activate.
10922         Shortcut on deactivation and call the right function directly.
10923         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10924         mode.
10925         (gst_pad_activate_push): New API, same for push mode.
10926         (gst_pad_set_activate_function) 
10927         (gst_pad_set_activatepull_function) 
10928         (gst_pad_set_activatepush_function): Setters for new API.
10929
10930         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10931         Trace all miniobjects.
10932         (gst_mini_object_make_writable): Unref the arg if we copy, like
10933         gst_caps_make_writable.
10934
10935         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10936
10937         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10938         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10939         Adapt for new pad API.
10940
10941         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10942
10943         * gst/gstelement.h:
10944         * gst/gstelement.c (gst_element_iterate_src_pads) 
10945         (gst_element_iterate_sink_pads): New API functions.
10946         
10947         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10948         should fold into gstiterator.c in some form.
10949         (gst_element_pads_activate): Simplified via use of fold and
10950         delegation of decisions to gstpad->activate.
10951
10952         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10953         help in debugging.
10954
10955         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10956         class once in init, like gstmessage. Didn't run into this issue
10957         but it seems correct. Don't initialize a trace, gstminiobject does
10958         that.
10959
10960         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10961         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10962         to the bus.
10963         (assert_live_count): New util function, uses alloc traces to check
10964         cleanup.
10965
10966         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10967         To be modified when unlink drops the internal pad.
10968
10969 2005-06-27  Wim Taymans  <wim@fluendo.com>
10970
10971         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10972         (gst_bin_change_state):
10973         Cleanup the get_state() function a little, make sure it
10974         iterates the same set of elements.
10975         Added stub iterate_state_order().
10976
10977 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10978
10979         * docs/gst/gstreamer-docs.sgml:
10980         * docs/gst/gstreamer-sections.txt:
10981         * docs/gst/gstreamer.types:
10982         * docs/gst/tmpl/gstbasesink.sgml:
10983         * docs/gst/tmpl/gstbasesrc.sgml:
10984         * docs/gst/tmpl/gstbasetransform.sgml:
10985         * docs/gst/tmpl/gstelement.sgml:
10986         * docs/gst/tmpl/gstiterator.sgml:
10987         * gst/base/gstbasesrc.c:
10988         * gst/base/gstbasesrc.h:
10989         * gst/base/gstbasetransform.h:
10990         * gst/gstelement.c:
10991         * gst/gstiterator.h:
10992           adding basetransform and iterator docs
10993
10994 2005-06-27  Andy Wingo  <wingo@pobox.com>
10995
10996         * docs/design/part-activation.txt: Notes on how activation should
10997         work -- not quite implemented yet.
10998
10999 2005-06-25  Wim Taymans  <wim@fluendo.com>
11000
11001         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11002         At least get the chain function correct, needs more
11003         fixing.
11004
11005 2005-06-25  Wim Taymans  <wim@fluendo.com>
11006
11007         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11008         (gst_basesink_handle_object), (gst_basesink_event),
11009         (gst_basesink_do_sync), (gst_basesink_handle_event),
11010         (gst_basesink_change_state):
11011         * gst/gsttask.h:
11012         Right, two problems here: ghostpads don't take locks and
11013         glib _rec_mutex_lock_full() with depth==0 still locks.
11014         Catch illegal locking and g_warn them.
11015
11016 2005-06-25  Wim Taymans  <wim@fluendo.com>
11017
11018         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11019         Have to check for completion now...
11020
11021 2005-06-25  Wim Taymans  <wim@fluendo.com>
11022
11023         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11024         (gst_basesink_handle_object), (gst_basesink_event),
11025         (gst_basesink_do_sync), (gst_basesink_handle_event),
11026         (gst_basesink_change_state):
11027         * gst/gstpad.h:
11028         Unlock STREAM_LOCK whatever the recursion was.
11029
11030 2005-06-25  Wim Taymans  <wim@fluendo.com>
11031
11032         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11033         (gst_basesink_preroll_queue_empty),
11034         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11035         (gst_basesink_event), (gst_basesink_do_sync),
11036         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11037         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11038         (gst_basesink_change_state):
11039         Reworked the base sink, handle event and buffer serialisation
11040         correctly and removed possible deadlock.
11041         Handle EOS correctly.
11042
11043 2005-06-25  Wim Taymans  <wim@fluendo.com>
11044
11045         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11046         (gst_pipeline_change_state):
11047         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11048         Allow elements to post EOS in the state change function.
11049         Fix up -launch, make it exit the poll loop when the
11050         pipeline actually changed state.
11051         Fix up warning parsing in -launch.
11052
11053 2005-06-25  Wim Taymans  <wim@fluendo.com>
11054
11055         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11056         (gst_tee_sink_activate):
11057         Core takes STREAM_LOCK for us now.
11058
11059 2005-06-25  Wim Taymans  <wim@fluendo.com>
11060
11061         * gst/gstelement.c: (gst_element_get_state_func),
11062         (gst_element_set_state):
11063         * gst/gstelement.h:
11064         * gst/gstmessage.c: (gst_message_parse_error),
11065         (gst_message_parse_warning):
11066         Keep track of current target state while performing a state
11067         change so that subclasses can do something interesting.
11068         Fix parsing of warning/error messages when GError is NULL.
11069
11070 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11071
11072         * docs/gst/Makefile.am:
11073         * docs/gst/gstreamer-docs.sgml:
11074         * docs/gst/gstreamer-sections.txt:
11075         * docs/gst/gstreamer.types:
11076         * docs/gst/tmpl/gstbasesink.sgml:
11077         * docs/gst/tmpl/gstbasesrc.sgml:
11078         * docs/gst/tmpl/gstbin.sgml:
11079         * docs/gst/tmpl/gstcompat.sgml:
11080         * docs/gst/tmpl/gstfakesink.sgml:
11081         * docs/gst/tmpl/gstfakesrc.sgml:
11082         * docs/gst/tmpl/gstfilesink.sgml:
11083         * docs/gst/tmpl/gstfilesrc.sgml:
11084         * docs/gst/tmpl/gstindex.sgml:
11085         * docs/manual/appendix-quotes.xml:
11086         * gst/base/gstbasesrc.h:
11087         * gst/elements/gstfakesrc.h:
11088         * gst/gstmessage.h:
11089           start pulling in base classes and elements in our docs
11090
11091 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11092
11093         * docs/gst/Makefile.am:
11094         * docs/libs/Makefile.am:
11095           fixed make distcheck with gtk-doc 1.3
11096
11097 2005-06-23  Wim Taymans  <wim@fluendo.com>
11098
11099         * gst/gstelement.c: (gst_element_get_state_func),
11100         (gst_element_set_state), (gst_element_change_state):
11101         When the state did not change, also report NO_PREROLL
11102         when it matters.
11103
11104 2005-06-23  Wim Taymans  <wim@fluendo.com>
11105
11106         * gst/gstpad.c: (gst_pad_event_default):
11107         * gst/gstqueue.c: (gst_queue_loop):
11108         No unsafe task pausing please.
11109
11110 2005-06-23  Wim Taymans  <wim@fluendo.com>
11111
11112         * gst/schedulers/threadscheduler.c:
11113         (gst_thread_scheduler_task_start),
11114         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11115         Ref the task before pushing it on the threadpool. This
11116         makes sure that we have a ref when the threadfunction is
11117         actually called.
11118
11119 2005-06-23  Andy Wingo  <wingo@pobox.com>
11120
11121         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11122         offset is greater than the file's size.
11123
11124         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11125         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11126         * gst/gstobject.c (gst_object_class_init): Make the class lock
11127         recursive. Wim won't let me drop deep_notify. Decodebin works
11128         again, whoopdy doo.
11129
11130         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11131         internal pad, and hacks accordingly. Doesn't do it on the target
11132         pad because we change its caps. Probably catches all cases of
11133         interest tho.
11134         (gst_ghost_pad_set_property): Connect to notify::caps as
11135         appropritate.
11136
11137         * tests/network-clock.scm (plot-simulation): Pipe data to the
11138         elite python skript.
11139
11140         * tests/network-clock-utils.scm (define-parameter): New macro,
11141         defines a parameter that can be set via the command line.
11142         (set-parameter!, parse-parameter-arguments): Command line args
11143         parser.
11144
11145         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11146         stdin.
11147
11148 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11149
11150         * gst/elements/gsttypefindelement.c:
11151         (gst_type_find_element_handle_event):
11152           Don't restart typefinding on a discont.
11153         * gst/gstelement.c: (gst_element_set_state):
11154           Debug spelling fix.
11155         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11156           Allow changing mode of an active pad.
11157           Debug output fixes.
11158         * gst/registries/gstlibxmlregistry.c: (load_feature):
11159           Don't cast a static pad template to a normal pad template.
11160
11161 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11162
11163         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11164         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11165           remove gst_strtoll completely, since it didn't actually do
11166           anything more than what g_ascii_strtoull already does.
11167           check for range errors when deserializing
11168           do a cast for the unsigned cases; but further fixing needs
11169           a decision on what the interpretation of "(int)" and
11170           deserialization should be for values that fall outside the
11171           type's boundaries (ie, refuse, or interpret as casting)
11172
11173 2005-06-23  Wim Taymans  <wim@fluendo.com>
11174
11175         * check/Makefile.am:
11176         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11177         * docs/design/part-live-source.txt:
11178         * docs/design/part-states.txt:
11179         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11180         (gst_basesrc_set_live), (gst_basesrc_is_live),
11181         (gst_basesrc_get_range), (gst_basesrc_activate),
11182         (gst_basesrc_change_state):
11183         * gst/base/gstbasesrc.h:
11184         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11185         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11186         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11187         * gst/gstelement.c: (gst_element_get_state_func),
11188         (gst_element_set_state):
11189         * gst/gstelement.h:
11190         * gst/gsttypes.h:
11191         * tools/gst-launch.c: (event_loop), (main):
11192         Added support for live sources and other elements that
11193         cannot do preroll.
11194         Updated design docs, added live-source design doc.
11195         Implemented live source functionality in basesrc
11196         Fix error condition in _bin_get_state()
11197         Implement live source handling in -launch.
11198         Added check for live sources.
11199         Fixed case in GstBin where elements were changed state
11200         multiple times.
11201
11202
11203 2005-06-23  Andy Wingo  <wingo@pobox.com>
11204
11205         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11206         borken refcounting.
11207
11208         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11209         gst_caps_replace takes care of this for us.
11210
11211         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11212         gst_pad_set_caps on the target, not just its setcaps() function.
11213
11214         * tests/network-clock.scm: 
11215         * tests/network-clock-utils.scm: A network clock simulator.
11216         Something of an algorithmic testbed before doing something in C.
11217
11218 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11219
11220         * check/Makefile.am:
11221         * check/gst/capslist.h:
11222           copy over from 0.8, and add two with bitmasks specified with
11223           (int) 0xFF...
11224         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11225           add test to parse everything from capslist.h
11226         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11227         (main):
11228           add test for structure deserialization
11229         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11230           add tests for deserialization of strings to int types
11231         * gst/gststructure.c: (gst_structure_nth_field_name):
11232         * gst/gststructure.h:
11233           add a way to get the name of a field referenced by index
11234         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11235           instead of checking if the resulting long long lies between
11236           min and max, we check if the long long would fit into
11237           a number of bytes for the final type.
11238           This fixes cases where a string represents 2^32 - 1, which
11239           when cast to int would be the (valid) -1, but is bigger than
11240           G_MAXINT
11241
11242 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11243
11244         * gst/parse/grammar.y:
11245           add a log line for type deserialization
11246
11247 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11248
11249         * check/gst/gstvalue.c: (START_TEST):
11250         * gst/gstvalue.c: (gst_value_deserialize):
11251           return long long, not int, so gint64 deserialization actually
11252           works.  Is there any flag that makes the compiler check this ?
11253           Fixes #308559
11254
11255 2005-06-22  Wim Taymans  <wim@fluendo.com>
11256
11257         * gst/gstbuffer.h:
11258         Added convenience macros for setting buffers in GValue.
11259
11260 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11261
11262         * check/gst/.cvsignore:
11263         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11264           add a test deserializing int64, and comment part out because
11265           it fails, yay !
11266
11267 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11268
11269         * check/Makefile.am:
11270         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11271         * testsuite/Makefile.am:
11272         * testsuite/caps/Makefile.am:
11273         * testsuite/caps/value_serialize.c:
11274         * testsuite/test_gst_init.c:
11275           move a value_serialize test over
11276
11277 2005-06-20  Wim Taymans  <wim@fluendo.com>
11278
11279         * gst/gstpad.c:
11280         Small doc updates.
11281         
11282         * gst/gstvalue.c: (gst_value_compare_buffer),
11283         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11284         (gst_value_compare_flags), (gst_value_serialize_flags),
11285         (gst_value_deserialize_flags), (_gst_value_initialize):
11286         Fix serialisation of buffers, they are not boxed types anymore
11287
11288 2005-06-20  Wim Taymans  <wim@fluendo.com>
11289
11290         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11291         Testcase to show error in buffer-on-caps serialisation.
11292
11293 2005-06-20  Andy Wingo  <wingo@pobox.com>
11294
11295         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11296         will be adding to later.
11297
11298         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11299         if its socks fill with rocks.
11300         (gst_system_clock_obtain): Set the name on object construction.
11301         Avoid double-checked locking.
11302
11303 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11304
11305         * gst/gsturi.c: (gst_element_make_from_uri):
11306           Fix potential endless loop.
11307
11308 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11309
11310         * check/Makefile.am:
11311           add gsttag
11312         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11313         (main):
11314           move over from testsuite dir and clean up
11315         * configure.ac:
11316         * gst/gsttag.c:
11317         * testsuite/Makefile.am:
11318         * testsuite/tags/.cvsignore:
11319         * testsuite/tags/Makefile.am:
11320         * testsuite/tags/merge.c:
11321           remove testsuite/tags
11322
11323 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11324
11325         * docs/gst/gstreamer-sections.txt:
11326         * docs/gst/tmpl/gstenumtypes.sgml:
11327         * win32/gstenumtypes.c:
11328           clean up documentation build a little
11329
11330 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11331
11332         * check/gstcheck.h:
11333           add macros for checking refcounts on objects and caps
11334         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11335           add some more unit tests
11336         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11337         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11338           fix leaked refcounts (I hope :)) so unittest works
11339         * gst/gstpad.h:
11340           whitespace removal
11341
11342 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11343
11344         * configure.ac: back to HEAD
11345
11346 === release 0.9.1 ===
11347
11348 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11349
11350         * NEWS:
11351         * RELEASE:
11352           updated
11353
11354 2005-06-17  Andy Wingo  <wingo@pobox.com>
11355
11356         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11357         assert; it's always possible that the pad gets deactivated in
11358         between the checks in gstpad.c and the implementation. Rely on
11359         finish_preroll() to return a FLUSHING or similar instead of on the
11360         assert.
11361         
11362         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11363         clock and post an EOS message if we come out of finish_preroll in
11364         the playing state.
11365
11366 2005-06-16  David Schleef  <ds@schleef.org>
11367
11368         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11369         (gst_capsfilter_set_property): Allow NULL as possible value
11370         for filter_caps property, indicating GST_CAPS_ANY.
11371
11372 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11373
11374         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11375           fix debug output
11376         * gst/schedulers/Makefile.am:
11377           use libgst prefix
11378         * gstreamer.spec.in:
11379           fix spec for it
11380
11381 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11382
11383         * gstreamer.spec.in:
11384           clean up
11385
11386 2005-06-08  Andy Wingo  <wingo@pobox.com>
11387
11388         * gst/gstutils.c: RPAD fixes all around.
11389         (gst_element_link_pads): Refcounting fixes.
11390
11391         * tools/gst-inspect.c:
11392         * tools/gst-xmlinspect.c:
11393         * parse/grammar.y:
11394         * gst/base/gsttypefindhelper.c:
11395         * gst/base/gstbasesink.c:
11396         * gst/gstqueue.c: RPAD fixes.
11397
11398         * gst/gstghostpad.h:
11399         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11400         pads. The tricky thing is they provide both source and sink
11401         interfaces, since they proxy the internal pad for the external
11402         pad, and vice versa. Implement with lower-level ProxyPad objects,
11403         with the interior proxy pad as a child of the exterior ghost pad.
11404         Should write a doc on this.
11405         
11406         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11407         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11408         gst_object API.
11409         
11410         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11411         pads are real pads. No ghost pads in this file. Not documenting
11412         the myriad s/RPAD/PAD/ and REALIZE fixes.
11413         (gst_pad_class_init): Add properties for "direction" and
11414         "template". Both are construct-only, so they can't change during
11415         the life of the pad. Fixes properly deriving from GstPad.
11416         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11417         derived objects, just set properties when creating the objects via
11418         g_object_new.
11419         (gst_pad_get_parent): Implement as a function, return NULL if the
11420         parent is not an element.
11421         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11422         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11423         
11424         * gst/gstobject.c (gst_object_class_init): Make name a construct
11425         property. Don't set it in the object init.
11426
11427         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11428         with UNKNOWN direction.
11429         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11430         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11431         (gst_element_remove_pad): Remove ghost-pad special cases.
11432         (gst_element_pads_activate): Remove rpad cruft.
11433
11434         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11435         catch the pad's-parent-not-an-element case.
11436
11437         * gst/gst.h: Include gstghostpad.h.
11438
11439         * gst/gst.c (init_post): No more real, ghost pads.
11440
11441         * gst/Makefile.am: Add gstghostpad.[ch].
11442
11443         * check/Makefile.am:
11444         * check/gst/gstbin.c:
11445         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11446         into a bin creates ghost pads, and that the refcounts are right.
11447         Partly moved from gstbin.c.
11448
11449 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11450
11451         * check/gst-libs/.cvsignore:
11452         * check/gst/.cvsignore:
11453         * check/pipelines/.cvsignore:
11454           ignore more
11455         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11456         (START_TEST), (cleanup_suite), (main):
11457           add some tests related to cleanup after running pipelines
11458
11459 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11460
11461         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11462           add a testsuite for GstBuffer
11463
11464 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11465
11466         * gst/gstminiobject.h:
11467           add defines for accessing the refcount
11468
11469 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11470
11471         * Makefile.am: added support for html unit test coverage reports
11472
11473 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11474
11475         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11476           Free existing caps if the capsfilter changes. Add a FIXME about
11477           setting those caps on the pads.
11478
11479         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11480           Before adding a ghost pad to a parent bin, check that there isn't
11481           already one for the element on the bin. Prevents infinite recursion
11482           when using decodebin in parse pipelines. Andy says he'll rewrite the
11483           way this works anyway, so ignore the hack.
11484
11485 2005-06-02  Andy Wingo  <wingo@pobox.com>
11486
11487         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11488         file size, pass it on to the type find helper.
11489
11490         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11491         segment_start and segment_end properly according to the seek
11492         method. Segment_end is still a bit flaky because offset can be
11493         negative for CUR and END cases, but it takes -1 as an "unset"
11494         value.
11495
11496 2005-06-02  Wim Taymans  <wim@fluendo.com>
11497
11498         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11499         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11500         (gst_basesink_activate):
11501         * gst/base/gstbasesink.h:
11502         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11503         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11504         (gst_pad_query), (gst_pad_start_task):
11505         * gst/gstpad.h:
11506         * gst/gstqueue.c: (gst_queue_bufferalloc),
11507         (gst_queue_handle_sink_event), (gst_queue_chain):
11508         Bufferalloc: return GstFlowReturn to more accuratly report
11509         why allocation failed.
11510
11511 2005-06-02  Wim Taymans  <wim@fluendo.com>
11512
11513         * gst/gstpipeline.c: (gst_pipeline_send_event):
11514         Take snapshot of state without blocking.
11515
11516 2005-06-02  Wim Taymans  <wim@fluendo.com>
11517
11518         * docs/design/part-TODO.txt:
11519         * docs/design/part-caps.txt:
11520         * docs/design/part-clocks.txt:
11521         * docs/design/part-negotiation.txt:
11522         * docs/design/part-preroll.txt:
11523         Small doc updates 
11524
11525 2005-05-30  Wim Taymans  <wim@fluendo.com>
11526
11527         * gst/elements/gstidentity.c: (gst_identity_event),
11528         (gst_identity_transform), (gst_identity_get_property):
11529         Protect last_message property as it is accessed from
11530         multiple threads.
11531
11532 2005-05-30  Wim Taymans  <wim@fluendo.com>
11533
11534         * gst/gstelement.c: (gst_element_init),
11535         (gst_element_pads_activate), (gst_element_change_state):
11536         Slicker pad activation code.
11537
11538 2005-05-30  Wim Taymans  <wim@fluendo.com>
11539
11540         * gst/Makefile.am:
11541         * gst/gstelement.h:
11542         * gst/gstelementfactory.h:
11543         * gst/gsttypes.h:
11544         Move elementfactory methods to separate .h file.
11545
11546 2005-05-30  Wim Taymans  <wim@fluendo.com>
11547
11548         * docs/design/part-overview.txt:
11549         * gst/gstsystemclock.h:
11550         Small typo fixes, doc updates.
11551
11552 2005-05-30  Wim Taymans  <wim@fluendo.com>
11553
11554         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11555         (init_popt_callback):
11556         Remove cpu-opt flag.
11557
11558 2005-05-30  Wim Taymans  <wim@fluendo.com>
11559
11560         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11561         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11562         * gst/gstbuffer.h:
11563         Avoid typechecking in places where not needed.
11564         Added accessor for malloc_data.
11565
11566 2005-05-30  Wim Taymans  <wim@fluendo.com>
11567
11568         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11569         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11570         (gst_pad_configure_sink), (gst_pad_configure_src),
11571         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11572         (gst_pad_start_task):
11573         Propagate errors from _set_caps() in configure_src/sink
11574         functions instead of returning TRUE.
11575         FLUSH events can travel up and downstream
11576
11577
11578 2005-05-30  Wim Taymans  <wim@fluendo.com>
11579
11580         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11581         (gst_basesink_activate):
11582         Handle EOS in preroll.
11583
11584 2005-05-30  Wim Taymans  <wim@fluendo.com>
11585
11586         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11587         (gst_queue_loop), (gst_queue_handle_src_event):
11588         Remove old pieces of code
11589         Flushing the queue in an upstream event is a very bad idea.
11590
11591 2005-05-26  Andy Wingo  <wingo@pobox.com>
11592
11593         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11594         gst_value_set_mini_object so as to add a ref on the object (which
11595         will be removed when the value is unset).
11596
11597         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11598         arg type in ::handoff.
11599
11600         * gst/gstelement.c (gst_element_change_state): Also deactivate
11601         pads in READY->NULL, just in case the element didn't make it to
11602         PAUSED. Wingo tested, Wim approved.
11603
11604 2005-05-26  Wim Taymans  <wim@fluendo.com>
11605
11606         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11607         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11608         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11609         A flushing pad cannot be used to alloc_buffer from.
11610
11611 2005-05-26  Wim Taymans  <wim@fluendo.com>
11612
11613         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11614         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11615         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11616         (gst_bus_create_watch), (gst_bus_add_watch_full):
11617         * gst/gstbus.h:
11618         Implement a real GSource and use g_main_context_wakeup() to
11619         signal new messages instead of the socketpair.
11620
11621 2005-05-25  Wim Taymans  <wim@fluendo.com>
11622
11623         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11624         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11625         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11626         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11627         (gst_pad_send_event), (gst_pad_start_task):
11628         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11629         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11630         (gst_queue_sink_activate), (gst_queue_src_activate),
11631         (gst_queue_change_state):
11632         * gst/gstqueue.h:
11633         Fix state changes for non sinks. We now change sinks, then elements
11634         with unconnected srcpads, then the rest.
11635         More efficient queue unlocking in flush and state changes.
11636         Set the pad activate mode even if it does not have an activate
11637         function.
11638
11639 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11640
11641         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11642           Don't go in pull mode for non-seekable sources.
11643         * gst/elements/gsttypefindelement.h:
11644         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11645         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11646         (free_entry), (stop_typefinding),
11647         (gst_type_find_element_handle_event), (find_peek),
11648         (gst_type_find_element_chain), (do_pull_typefind),
11649         (gst_type_find_element_change_state):
11650           Allow typefinding (w/o seeking) in push-mode, simplified version
11651           of what was in 0.8.
11652         * gst/gstutils.c: (gst_buffer_join):
11653         * gst/gstutils.h:
11654           gst_buffer_join() from 0.8.
11655
11656 2005-05-25  Wim Taymans  <wim@fluendo.com>
11657
11658         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11659         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11660         (gst_pad_send_event), (gst_pad_start_task):
11661         Disable attempt at mode switching until it is figured out.
11662
11663 2005-05-25  Wim Taymans  <wim@fluendo.com>
11664
11665         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11666         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11667         (gst_basesink_finish_preroll), (gst_basesink_chain),
11668         (gst_basesink_loop), (gst_basesink_activate),
11669         (gst_basesink_change_state):
11670         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11671         (gst_basesrc_get_range), (gst_basesrc_loop),
11672         (gst_basesrc_activate):
11673         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11674         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11675         (gst_real_pad_init), (gst_real_pad_set_property),
11676         (gst_real_pad_get_property), (gst_pad_set_active),
11677         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11678         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11679         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11680         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11681         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11682         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11683         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11684         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11685         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11686         (gst_pad_stop_task):
11687         * gst/gstpad.h:
11688         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11689         (gst_queue_loop), (gst_queue_src_activate):
11690         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11691         (gst_task_get_state):
11692         * gst/gsttask.h:
11693         * gst/schedulers/threadscheduler.c:
11694         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11695         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11696         in task function.
11697         Remove ACTIVE pad flag, use FLUSHING everywhere
11698         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11699         functions.
11700         Add locks around IS_FLUSHING when reading.
11701         Take STREAM lock in chain(), get_range() functions so plugins
11702         don't need to take it anymore.
11703         
11704
11705
11706 2005-05-25  Wim Taymans  <wim@fluendo.com>
11707
11708         * tools/gst-launch.c: (event_loop):
11709         Unref message after using its contents instead of
11710         before.
11711
11712 2005-05-24  Wim Taymans  <wim@fluendo.com>
11713
11714         * docs/design/draft-ghostpads.txt:
11715         * docs/design/draft-push-pull.txt:
11716         * docs/design/draft-query.txt:
11717         * docs/design/part-overview.txt:
11718         Docs updates, added general overview doc.
11719
11720 2005-05-21  David Schleef  <ds@schleef.org>
11721
11722         * docs/gst/tmpl/old/GstBin.sgml:
11723         * docs/gst/tmpl/old/GstBuffer.sgml:
11724         * docs/gst/tmpl/old/GstCaps.sgml:
11725         * docs/gst/tmpl/old/GstClock.sgml:
11726         * docs/gst/tmpl/old/GstCompat.sgml:
11727         * docs/gst/tmpl/old/GstData.sgml:
11728         * docs/gst/tmpl/old/GstElement.sgml:
11729         * docs/gst/tmpl/old/GstEvent.sgml:
11730         * docs/gst/tmpl/old/GstIndex.sgml:
11731         * docs/gst/tmpl/old/GstStructure.sgml:
11732         * docs/gst/tmpl/old/GstTag.sgml:
11733         * docs/gst/tmpl/old/cothreads.sgml:
11734         * docs/gst/tmpl/old/cothreads_compat.sgml:
11735         * docs/gst/tmpl/old/gettext.sgml:
11736         * docs/gst/tmpl/old/gobject2gtk.sgml:
11737         * docs/gst/tmpl/old/grammar.tab.sgml:
11738         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11739         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11740         * docs/gst/tmpl/old/gst_private.sgml:
11741         * docs/gst/tmpl/old/gstaggregator.sgml:
11742         * docs/gst/tmpl/old/gstarch.sgml:
11743         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11744         * docs/gst/tmpl/old/gstbufferstore.sgml:
11745         * docs/gst/tmpl/old/gstdata_private.sgml:
11746         * docs/gst/tmpl/old/gstdisksink.sgml:
11747         * docs/gst/tmpl/old/gstdisksrc.sgml:
11748         * docs/gst/tmpl/old/gstelementfactory.sgml:
11749         * docs/gst/tmpl/old/gstextratypes.sgml:
11750         * docs/gst/tmpl/old/gstfakesink.sgml:
11751         * docs/gst/tmpl/old/gstfakesrc.sgml:
11752         * docs/gst/tmpl/old/gstfdsink.sgml:
11753         * docs/gst/tmpl/old/gstfdsrc.sgml:
11754         * docs/gst/tmpl/old/gstfilesink.sgml:
11755         * docs/gst/tmpl/old/gstfilesrc.sgml:
11756         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11757         * docs/gst/tmpl/old/gstidentity.sgml:
11758         * docs/gst/tmpl/old/gstindexfactory.sgml:
11759         * docs/gst/tmpl/old/gstmarshal.sgml:
11760         * docs/gst/tmpl/old/gstmd5sink.sgml:
11761         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11762         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11763         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11764         * docs/gst/tmpl/old/gstpipefilter.sgml:
11765         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11766         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11767         * docs/gst/tmpl/old/gstshaper.sgml:
11768         * docs/gst/tmpl/old/gstspider.sgml:
11769         * docs/gst/tmpl/old/gstspideridentity.sgml:
11770         * docs/gst/tmpl/old/gststatistics.sgml:
11771         * docs/gst/tmpl/old/gsttee.sgml:
11772         * docs/gst/tmpl/old/gsttimecache.sgml:
11773         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11774         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11775         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11776         * docs/gst/tmpl/old/types.sgml:
11777           I didn't intend to add these or check them in.
11778
11779 2005-05-19  David Schleef  <ds@schleef.org>
11780
11781         * configure.ac: Use -no-common everywhere.  In a sane world, it
11782           would be the default in libtool, because without it, you can't
11783           build DLLs on Windows.
11784         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11785         * docs/gst/gstreamer-sections.txt:
11786         * docs/gst/tmpl/gstcpu.sgml:
11787         * docs/gst/tmpl/gstdata.sgml:
11788         * docs/gst/tmpl/gstthread.sgml:
11789
11790 2005-05-19  David Schleef  <ds@schleef.org>
11791
11792         * gst/gstminiobject.c: (gst_value_set_mini_object),
11793         (gst_value_take_mini_object), (gst_value_get_mini_object):
11794         * gst/gstminiobject.h: Add GValue set/get functions.
11795
11796 2005-05-19  Wim Taymans  <wim@fluendo.com>
11797
11798         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11799         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11800         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11801         * gst/gstbuffer.h:
11802         * gst/gstbus.c: (gst_bus_post):
11803         * gst/gstelement.c: (gst_element_get_random_pad):
11804         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11805         Make subbufer unref the parent in finalize.
11806         some more debugging info.
11807
11808
11809 2005-05-19  Wim Taymans  <wim@fluendo.com>
11810
11811         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11812         (gst_basesink_init), (gst_basesink_finalize),
11813         (gst_basesink_activate), (gst_basesink_change_state):
11814         Don't free preroll queue too early.
11815
11816 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11817
11818         * gst/Makefile.am:
11819         * gst/ROADMAP:
11820           Hi, I'm outdated. Please shoot me.
11821
11822 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11823
11824         * gst/gstpipeline.c: (gst_pipeline_send_event):
11825           Do not access variables after they have been deleted.
11826
11827 2005-05-19  Wim Taymans  <wim@fluendo.com>
11828
11829         * tools/gst-inspect.c: (print_plugin_features):
11830         A plugin feature does unfortunatly not use the
11831         object name yet...
11832
11833 2005-05-18  Wim Taymans  <wim@fluendo.com>
11834
11835         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11836         Port _span() functions to new subbuffers.
11837
11838 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11839
11840         * gst/gstbin.c: (gst_bin_add_func):
11841           Fix clock settery in bins when adding kids after the clock has
11842           been selected.
11843
11844 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11845
11846         * gst/elements/gstidentity.c: (gst_identity_class_init):
11847           Workaround until signals support GstMiniObject.
11848
11849 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11850
11851         * gst/gstbuffer.c:
11852         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11853
11854 2005-05-18  Wim Taymans  <wim@fluendo.com>
11855
11856         * gst/base/Makefile.am:
11857         * gst/base/gstadapter.c: (gst_adapter_base_init),
11858         (gst_adapter_class_init), (gst_adapter_init),
11859         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11860         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11861         (gst_adapter_flush), (gst_adapter_available),
11862         (gst_adapter_available_fast):
11863         * gst/base/gstadapter.h:
11864         Ported and added adapter to the base classes.
11865
11866 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11867
11868         * gst/gst.c:
11869         * gst/gstmessage.c:
11870           Make sure the class is reffed/unreffed once before threads can be
11871           used.  Fixes #304551.
11872
11873 2005-05-17  Wim Taymans  <wim@fluendo.com>
11874
11875         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11876         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11877         * gst/gstminiobject.c: (gst_mini_object_get_type),
11878         (gst_mini_object_free):
11879         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11880         (gst_pad_push), (gst_pad_push_event):
11881         * gst/gstqueue.c: (gst_queue_change_state):
11882         Don't queue buffers in basesink when we are flushing.
11883         Unref buffer when flushing in basesink.
11884         Flush queue when going to READY
11885         Unref buffer when _push() returns an error.
11886         Don't free MiniObject instance when refcount is incremented
11887         in _finalize() so that we can recover objects.
11888
11889 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11890
11891         * docs/manual/advanced-schedulers.xml:
11892         * docs/manual/appendix-checklist.xml:
11893         * docs/pwg/advanced-clock.xml:
11894         * docs/pwg/advanced-interfaces.xml:
11895         * docs/pwg/advanced-request.xml:
11896         * docs/pwg/advanced-types.xml:
11897         * docs/pwg/intro-preface.xml:
11898         * examples/plugins/example.c: (gst_example_get_type),
11899         (gst_example_class_init), (gst_example_chain),
11900         (gst_example_set_property), (gst_example_get_property),
11901         (gst_example_change_state), (plugin_init):
11902         * examples/plugins/example.h:
11903           small doc fixes
11904
11905 2005-05-17  Wim Taymans  <wim@fluendo.com>
11906
11907         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11908         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11909         * gst/gstqueue.c: (gst_queue_change_state):
11910         Clear queue when going to READY.
11911         Remove IN_SETCAPS flag too.
11912
11913 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11914
11915         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11916           Remove implicit cast from gboolean to GstElementStateReturn;
11917           make sure we still return failure in paused => ready case if
11918           the parent class fails to change state and our own stop 
11919           vfunc succeeds.
11920
11921 2005-05-17  Wim Taymans  <wim@fluendo.com>
11922
11923         * tools/gst-launch.c: (event_loop):
11924         Message was unreffed too soon.
11925
11926 2005-05-16  Andy Wingo  <wingo@pobox.com>
11927
11928         * gst/gstbin.c (sink_iterator_filter): Err... um...
11929
11930         * check/gst/gstbin.c (test_ghost_pads): New test for the
11931         ghosting-if-elements-not-in-same-bin behavior.
11932
11933 2005-05-16  David Schleef  <ds@schleef.org>
11934
11935         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11936         accessing refcount directly.
11937
11938 2005-05-15  David Schleef  <ds@schleef.org>
11939
11940         * check/Makefile.am: remove GstData checks
11941         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11942         * gst/Makefile.am: add miniobject, remove data
11943         * gst/gst.h: add miniobject, remove data
11944         * gst/gstdata.c: remove
11945         * gst/gstdata.h: remove
11946         * gst/gstdata_private.h: remove
11947         * gst/gsttypes.h: remove GstEvent and GstMessage
11948         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11949         * gst/gstmarshal.list: change BOXED -> OBJECT
11950
11951         Implement GstMiniObject.
11952         * gst/gstminiobject.c:
11953         * gst/gstminiobject.h:
11954
11955         Modify to be subclasses of GstMiniObject.
11956         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11957         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11958         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11959         (gst_subbuffer_get_type), (gst_subbuffer_init),
11960         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11961         (gst_buffer_span):
11962         * gst/gstbuffer.h:
11963         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11964         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11965         (_gst_event_copy), (gst_event_new):
11966         * gst/gstevent.h:
11967         * gst/gstmessage.c: (_gst_message_initialize),
11968         (gst_message_get_type), (gst_message_class_init),
11969         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11970         (gst_message_new), (gst_message_new_error),
11971         (gst_message_new_warning), (gst_message_new_tag),
11972         (gst_message_new_state_changed), (gst_message_new_application):
11973         * gst/gstmessage.h:
11974         * gst/gstprobe.c: (gst_probe_perform),
11975         (gst_probe_dispatcher_dispatch):
11976         * gst/gstprobe.h:
11977         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11978         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11979         (_gst_query_copy), (gst_query_new):
11980
11981         Update elements for GstData -> GstMiniObject changes
11982         * gst/gstquery.h:
11983         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11984         (gst_queue_chain), (gst_queue_loop):
11985         * gst/elements/gstbufferstore.c:
11986         (gst_buffer_store_add_buffer_func),
11987         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11988         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11989         (gst_fakesink_render):
11990         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11991         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11992         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11993         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11994         (gst_filesrc_create_read):
11995         * gst/elements/gstidentity.c: (gst_identity_class_init):
11996         * gst/elements/gsttypefindelement.c:
11997         (gst_type_find_element_src_event), (free_entry_buffers),
11998         (gst_type_find_element_handle_event):
11999         * libs/gst/dataprotocol/dataprotocol.c:
12000         (gst_dp_header_from_buffer):
12001         * libs/gst/dataprotocol/dataprotocol.h:
12002         * libs/gst/dataprotocol/dp-private.h:
12003
12004 2005-05-15  David Schleef  <ds@schleef.org>
12005
12006         * gst/elements/gstelements.c: Don't include headers that were
12007         just removed.
12008
12009 2005-05-15  David Schleef  <ds@schleef.org>
12010
12011         * gst/elements/Makefile.am: Remove some elements that don't
12012         need to be in the core (or even exist at all).
12013         * gst/elements/gstaggregator.c:
12014         * gst/elements/gstaggregator.h:
12015         * gst/elements/gstmd5sink.c:
12016         * gst/elements/gstmd5sink.h:
12017         * gst/elements/gstmultifilesrc.c:
12018         * gst/elements/gstmultifilesrc.h:
12019         * gst/elements/gstpipefilter.c:
12020         * gst/elements/gstpipefilter.h:
12021         * gst/elements/gstshaper.c:
12022         * gst/elements/gstshaper.h:
12023         * gst/elements/gststatistics.c:
12024         * gst/elements/gststatistics.h:
12025         * po/POTFILES.in: Remove above files.
12026
12027 2005-05-14  Andy Wingo  <wingo@pobox.com>
12028
12029         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12030         so as to get the refs right.
12031         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12032         unreffing objects that don't pass the filter.
12033
12034         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12035         gst_element_set_bus.
12036         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12037         normal cases, this will destroy the bus.
12038
12039         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12040         object.
12041
12042         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12043         has no sinks.
12044
12045 2005-05-13  Andy Wingo  <wingo@pobox.com>
12046
12047         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12048         gst_pad_link, call pad_link_maybe_ghosting,
12049         (pad_link_maybe_ghosting): Links pads, making sure that the
12050         elements being linked are in the same bin.
12051         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12052         Helpers for pad_link_maybe_ghosting.
12053
12054 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12055
12056         * configure.ac:
12057           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12058
12059 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12060
12061         * docs/design/part-element-source.txt:
12062           Mention GstPushSrc
12063
12064 2005-05-12  Wim Taymans  <wim@fluendo.com>
12065
12066         * gst/base/gstbasesink.c: (gst_basesink_init),
12067         (gst_basesink_activate):
12068         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12069         (gst_basesrc_is_seekable):
12070         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12071         (bin_element_is_sink), (gst_bin_change_state):
12072         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12073         * gst/gstelement.h:
12074         Identify sinks by their flag to avoid overly complicated
12075         checks (fow now).
12076         Do state changes even for elements not reachable from the
12077         sinks.
12078         BaseSink is a sink now :)
12079         Some more debugging info in the basesrc.
12080
12081
12082 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12083
12084         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12085           Implement _query on a bin, similar to _send_event.
12086
12087 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12088
12089         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12090           Discont event offset format should be GST_FORMAT_BYTES,
12091           not GST_FORMAT_TIME.
12092
12093 2005-05-12  Wim Taymans  <wim@fluendo.com>
12094
12095         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12096         Same fix as Ronald's but without the signal. 
12097
12098 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12099
12100         * gst/gstutils.c: (gst_element_query_position):
12101           No, an element is not a pad.
12102
12103 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12104
12105         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12106         (gst_bin_get_state):
12107           If a child is removed from a bin while we remove the child from
12108           the bin and while we're retrieving its state, signal this to the
12109           get_state function so we abort the wait (instead of waiting for
12110           a timeout) and can immediately re-iterate over all other elements.
12111
12112 2005-05-12  Wim Taymans  <wim@fluendo.com>
12113
12114         * gst/base/Makefile.am:
12115         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12116         (gst_basesrc_start):
12117         * gst/base/gstbasesrc.h:
12118         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12119         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12120         (gst_pushsrc_init), (gst_pushsrc_create):
12121         * gst/base/gstpushsrc.h:
12122         Added is_seekable to BaseSrc
12123         Added simple PushSrc.
12124
12125 2005-05-11  Wim Taymans  <wim@fluendo.com>
12126
12127         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12128         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12129         (gst_element_link_pads), (gst_element_query_position),
12130         (gst_element_query_convert), (intersect_caps_func),
12131         (gst_pad_query_position), (gst_pad_query_convert):
12132         Fix refcounting in utils function.
12133         No point in trying to activate a pad when it's added, it could
12134         be added from the state change function and then we deadlock, the
12135         element has to decide what to do.
12136
12137 2005-05-10  Andy Wingo  <wingo@pobox.com>
12138
12139         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12140         *all* the arguments.
12141
12142         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12143         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12144         lock (according to the docs -- if this is wrong change the docs).
12145
12146         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12147         flush messages in the NULL state.
12148
12149         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12150         message immediately and return.
12151         (gst_bus_set_flushing): New function. If a bus is flushing, it
12152         flushes out any queued messages and immediately unrefs new
12153         messages. This is so when an element goes to NULL, all of the
12154         unhandled messages coming from it can be freed, and their
12155         references to the element dropped. In other words: message source
12156         ref considered harmful :P
12157
12158         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12159         we're finished with it.
12160
12161         * gst/gstmessage.c (gst_message_new_state_changed): 
12162
12163 2005-05-10  Wim Taymans  <wim@fluendo.com>
12164
12165         * gst/gstvalue.c: (gst_value_compare_flags),
12166         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12167         (_gst_value_initialize):
12168         Added flags serialize/deserialize/compare code.
12169
12170 2005-05-09  Andy Wingo  <wingo@pobox.com>
12171
12172         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12173         Intersect the peer's caps with our caps.
12174
12175 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12176
12177         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12178         * gst/elements/gsttypefindelement.c: (find_peek):
12179           Handle negative offsets better. Fixes decodebin.
12180
12181 2005-05-09  Wim Taymans  <wim@fluendo.com>
12182
12183         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12184         (gst_base_transform_event):
12185         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12186         Implement accept_caps.
12187         Fix silly lock/unlock mismatch in base class.
12188
12189 2005-05-09  Wim Taymans  <wim@fluendo.com>
12190
12191         * docs/design/draft-push-pull.txt:
12192         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12193         * gst/elements/gstfilesink.c: (gst_filesink_init),
12194         (gst_filesink_query):
12195         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12196         (gst_type_find_handle_src_query), (find_element_get_length):
12197         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12198         * gst/gstelement.h:
12199         * gst/gstmessage.c:
12200         * gst/gstmessage.h:
12201         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12202         (gst_real_pad_get_caps_unlocked),
12203         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12204         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12205         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12206         (gst_real_pad_dispose), (gst_real_pad_finalize),
12207         (gst_pad_load_and_link), (gst_pad_save_thyself),
12208         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12209         (gst_pad_check_pull_range), (gst_pad_pull_range),
12210         (gst_pad_template_get_type), (gst_pad_template_class_init),
12211         (gst_pad_template_init), (gst_pad_template_dispose),
12212         (name_is_valid), (gst_static_pad_template_get),
12213         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12214         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12215         (gst_pad_get_element_private), (gst_pad_start_task),
12216         (gst_pad_pause_task), (gst_pad_stop_task),
12217         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12218         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12219         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12220         (gst_ghost_pad_new):
12221         * gst/gstpad.h:
12222         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12223         (gst_query_new_position), (gst_query_set_position),
12224         (gst_query_parse_position), (gst_query_new_convert),
12225         (gst_query_set_convert), (gst_query_parse_convert):
12226         * gst/gstquery.h:
12227         * gst/gstqueryutils.c:
12228         * gst/gstqueryutils.h:
12229         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12230         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12231         (gst_queue_handle_src_query):
12232         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12233         (gst_element_query_position), (gst_element_query_convert),
12234         (intersect_caps_func), (gst_pad_query_position),
12235         (gst_pad_query_convert):
12236         * gst/gstutils.h:
12237         * tools/gst-inspect.c: (print_pad_info):
12238         * tools/gst-xmlinspect.c: (print_element_info):
12239         Remove old query functions. Ported old code.
12240         Added position/convert helper functions to gstutils.
12241         Reordered gstpad.c code, grouping relevant things.
12242         Remove gst_message_new(), always need to speficy a specific
12243         message.
12244
12245
12246 2005-05-09  Andy Wingo  <wingo@pobox.com>
12247
12248         * gst/gstiterator.h: Add some includes.
12249
12250         * gst/gstqueryutils.h: Include more headers.
12251
12252         * gst/gstpad.h:
12253         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12254         some uses of gst_pad_query.
12255
12256         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12257         NULL out parameters.
12258         (gst_query_new_position): New proc, allocates a new position
12259         query.
12260
12261         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12262         gstqueryutils.c to the build.
12263
12264         * gst/gststructure.c (gst_structure_set_valist): Implement with
12265         the generic G_VALUE_COLLECT.
12266         
12267 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12268
12269         * gst/Makefile.am: (gst_headers):
12270         Added gstqueryutils.h to the list of headers to install, that was
12271         a 'nachty' move wingo :)
12272
12273 2005-05-06  Andy Wingo  <wingo@pobox.com>
12274
12275         * gst/gstquery.h
12276         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12277         GstData, init a memchunk.
12278         (standard_definitions): Add a few query types, deprecate a few.
12279         (gst_query_get_type): New proc.
12280         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12281         implementation.
12282         (gst_query_new_application, gst_query_get_structure): New public
12283         procs.
12284
12285         * docs/design/draft-query.txt: Removed LINKS from the query types,
12286         because all the rest can be dispatched to other pads -- seemed
12287         ugly to have a query that couldn't be dispatched. internal_links
12288         is fine as a pad method.
12289
12290         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12291         in gstpad.c, but maintain binary compatibility for the moment.
12292         Will fix before 0.9 is out.
12293
12294         * gst/gstqueryutils.c: 
12295         * gst/gstqueryutils.h: New files, implement 3 methods for each
12296         query type: parse_query, parse_response, and set. Probably need an
12297         allocator as well.
12298
12299         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12300
12301         * gst/elements/gstfilesink.c (gst_filesink_query2):
12302         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12303         query_types, and formats methods.
12304
12305         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12306         (gst_pad_set_query2_function): New functions.
12307         (gst_real_pad_init): Set query2_default as the default query2
12308         function. Basically just dispatches to internally linked pads.
12309
12310         Needs review!
12311         
12312         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12313         without using the atomic operations. Only one thread can possibly
12314         be accessing the data at this point. Changed so as to avoid
12315         gst_atomic operations.
12316
12317 2005-05-06  Wim Taymans  <wim@fluendo.com>
12318
12319         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12320         Also set caps if we use the fallback buffer alloc.
12321
12322 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12323
12324         * docs/gst/Makefile.am:
12325         * docs/gst/gstreamer-docs.sgml:
12326         * docs/gst/gstreamer-sections.txt:
12327         * docs/gst/tmpl/gstatomic.sgml:
12328         * docs/gst/tmpl/gstmemchunk.sgml:
12329         * testsuite/elements/struct_i386.h:
12330         * win32/GStreamer.vcproj:
12331         * win32/Makefile:
12332           Purge GstAtomic stuff from docs and win32 makefiles as well
12333
12334 2005-05-06  Wim Taymans  <wim@fluendo.com>
12335
12336         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12337         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12338         * gst/gstpad.c: (gst_pad_peer_get_caps):
12339         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12340         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12341         (gst_queue_src_activate), (gst_queue_change_state):
12342         * gst/gstqueue.h:
12343         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12344         (intersect_caps_func):
12345         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12346         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12347         Some fixes for the peer_get_caps() change.
12348
12349 2005-05-06  Wim Taymans  <wim@fluendo.com>
12350
12351         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12352         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12353         (gst_basesink_activate):
12354         Actually do something with error codes returned from the push
12355         functions.
12356
12357 2005-05-06  Wim Taymans  <wim@fluendo.com>
12358
12359         * docs/design/part-element-sink.txt:
12360         * docs/design/part-element-source.txt:
12361         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12362         (gst_basesink_event), (gst_basesink_activate):
12363         * gst/base/gstbasesink.h:
12364         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12365         (gst_basesrc_activate):
12366         * gst/base/gstbasesrc.h:
12367         * gst/gstelement.c: (gst_element_pads_activate):
12368         Some more documentation.
12369         Fixed scheduling decision in _pads_activate().
12370
12371 2005-05-05  Andy Wingo  <wingo@pobox.com>
12372
12373         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12374         the test suite.
12375
12376 2005-05-05  Wim Taymans  <wim@fluendo.com>
12377
12378         * gst/base/Makefile.am:
12379         * gst/base/gstbasesink.h:
12380         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12381         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12382         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12383         (gst_collectpads_class_init), (gst_collectpads_init),
12384         (gst_collectpads_finalize), (gst_collectpads_new),
12385         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12386         (find_pad), (gst_collectpads_remove_pad),
12387         (gst_collectpads_is_active), (gst_collectpads_collect),
12388         (gst_collectpads_collect_range), (gst_collectpads_start),
12389         (gst_collectpads_stop), (gst_collectpads_peek),
12390         (gst_collectpads_pop), (gst_collectpads_available),
12391         (gst_collectpads_read), (gst_collectpads_flush),
12392         (gst_collectpads_chain):
12393         * gst/base/gstcollectpads.h:
12394         * gst/elements/Makefile.am:
12395         * gst/elements/gstelements.c:
12396         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12397         (gst_fakesink_get_times), (gst_fakesink_event),
12398         (gst_fakesink_preroll), (gst_fakesink_render):
12399         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12400         (gst_filesink_init), (gst_filesink_set_location),
12401         (gst_filesink_open_file), (gst_filesink_close_file),
12402         (gst_filesink_pad_query), (gst_filesink_event),
12403         (gst_filesink_render), (gst_filesink_change_state):
12404         * gst/elements/gstfilesink.h:
12405         Added object to help in making collect pad based elements.
12406         Ported filesink.
12407         Make event function in sink baseclass return gboolean.
12408
12409 2005-05-05  Wim Taymans  <wim@fluendo.com>
12410
12411         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12412         (gst_bin_get_by_name):
12413         * gst/gstbuffer.h:
12414         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12415         (gst_clock_finalize):
12416         * gst/gstdata.c: (gst_data_replace):
12417         * gst/gstdata.h:
12418         * gst/gstelement.c: (gst_element_request_pad),
12419         (gst_element_pads_activate):
12420         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12421         (gst_object_unref):
12422         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12423         (gst_pad_set_checkgetrange_function),
12424         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12425         (gst_pad_check_pull_range), (gst_pad_pull_range),
12426         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12427         (gst_pad_pause_task), (gst_pad_stop_task):
12428         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12429         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12430         Fix name lookup in GstBin.
12431         Added _data_replace() function and _buffer_replace()
12432         Use finalize method to clean up clock.
12433         Fix refcounting on request pads.
12434         Fix pad schedule mode error.
12435         Some more object refcounting debug info,
12436
12437
12438 2005-05-04  Andy Wingo <wingo@pobox.com>
12439
12440         * check/Makefile.am:
12441         * docs/gst/tmpl/gstatomic.sgml:
12442         * docs/gst/tmpl/gstplugin.sgml:
12443         * gst/base/gstbasesink.c: (gst_basesink_activate):
12444         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12445         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12446         (gst_basesrc_query), (gst_basesrc_set_property),
12447         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12448         (gst_basesrc_activate):
12449         * gst/base/gstbasesrc.h:
12450         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12451         (gst_base_transform_src_activate):
12452         * gst/elements/gstelements.c:
12453         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12454         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12455         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12456         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12457         (gst_type_find_element_checkgetrange),
12458         (gst_type_find_element_activate):
12459         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12460         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12461         (gst_caps_load_thyself):
12462         * gst/gstelement.c: (gst_element_pads_activate),
12463         (gst_element_save_thyself), (gst_element_restore_thyself):
12464         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12465         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12466         * gst/gstpad.h:
12467         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12468         (gst_xml_parse_file), (gst_xml_parse_memory),
12469         (gst_xml_get_element), (gst_xml_make_element):
12470         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12471         (_file_index_id_save_xml), (gst_file_index_commit):
12472         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12473         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12474         (load_paths):
12475         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12476         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12477         * tools/gst-complete.c: (main):
12478         * tools/gst-compprep.c: (main):
12479         * tools/gst-inspect.c: (print_element_properties_info):
12480         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12481         * tools/gst-xmlinspect.c: (print_element_properties):
12482         GCC 4 fixen.
12483         
12484 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12485
12486         * gst/gstplugin.c: (gst_plugin_check_module),
12487         (gst_plugin_check_file), (gst_plugin_load_file):
12488             apply patch from #172526 to make register work on MacOSX
12489
12490 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12491
12492         * docs/gst/tmpl/gstconfig.sgml:
12493         * gst/gstconfig.h.in:
12494           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12495         * testsuite/debug/printf_extension.c: (main):
12496           Do not use GST_PTR_FORMAT on pointers to types with
12497           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12498         * testsuite/elements/property.h:
12499           use correct printf format
12500
12501 2005-05-02  Wim Taymans  <wim@fluendo.com>
12502
12503         * docs/design/draft-push-pull.txt:
12504         * docs/design/draft-query.txt:
12505         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12506         (gst_basesrc_start):
12507         Added draft for new query API.
12508         Added draft for better selecting scheduling methods.
12509         Make basesrc ignore length if the subclass does not support
12510         it.
12511
12512 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12513
12514         * gst/Makefile.am:
12515           possible fixes for automake-1.5 - _LIBADD is reserved
12516
12517 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12518
12519         * docs/faq/Makefile.am:
12520         * docs/manual/Makefile.am:
12521         * docs/manuals.mak:
12522         * docs/pwg/Makefile.am:
12523         * gst/Makefile.am:
12524           possible fixes for automake-1.5
12525
12526 2005-04-28  Wim Taymans  <wim@fluendo.com>
12527
12528         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12529         (gst_basesink_pad_getcaps), (gst_basesink_init),
12530         (gst_basesink_do_sync):
12531         * gst/gstclock.c: (gst_clock_entry_new):
12532         * gst/gstevent.c: (gst_event_discont_get_value):
12533         * gst/gstpipeline.c: (pipeline_bus_handler),
12534         (gst_pipeline_change_state):
12535         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12536         Better debugging of clocking info.
12537         Allow NULL values when getting discont values.
12538
12539 2005-04-27  Wim Taymans  <wim@fluendo.com>
12540
12541         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12542         * check/gst/gstpad.c: (gst_pad_suite):
12543         Increase timeout for checks.
12544
12545 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12546
12547         * check/Makefile.am:
12548           fix the broken rule for cleanup.  Apparently this rule is
12549           only needed on FC2, so maybe this warrants further autotool
12550           inspection.
12551
12552 2005-04-26  Wim Taymans  <wim@fluendo.com>
12553
12554         * gst/gsttrashstack.h:
12555         Ooohh. a nasty one! After having a failed pop() from the stack,
12556         it's possible that the stack is empty. In that case, don't
12557         follow the NULL pointer.
12558
12559 2005-04-25  Wim Taymans  <wim@fluendo.com>
12560
12561         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12562         (gst_pad_set_checkgetrange_function),
12563         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12564         (gst_pad_check_pull_range), (gst_pad_pull_range),
12565         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12566         (gst_pad_pause_task), (gst_pad_stop_task):
12567         * gst/gstplugin.c: (gst_plugin_load):
12568         * gst/gstplugin.h:
12569         Remove gst_library_load as it does more harm than good with
12570         the new g_module flags.
12571         Revert bogus caps template check in pad linking, pad caps
12572         are important when linking not the template, which is more
12573         general than the current caps.
12574
12575 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12576
12577         * gst/autoplug/.cvsignore:
12578         * gst/autoplug/Makefile.am:
12579         * gst/autoplug/gstsearchfuncs.c:
12580         * gst/autoplug/gstsearchfuncs.h:
12581         * gst/autoplug/gstspider.c:
12582         * gst/autoplug/gstspider.h:
12583         * gst/autoplug/gstspideridentity.c:
12584         * gst/autoplug/gstspideridentity.h:
12585         * gst/autoplug/spidertest.c:
12586           Die, spider, die.
12587
12588 2005-04-25  Wim Taymans  <wim@fluendo.com>
12589
12590         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12591         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12592         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12593         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12594         * gst/gstpad.h:
12595         Added stubs for unimplemented functions. 
12596
12597 2005-04-24  David Schleef  <ds@schleef.org>
12598
12599         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12600         please fix.
12601
12602 2005-04-24  David Schleef  <ds@schleef.org>
12603
12604         Convert everything from GstAtomicInt to g_atomic_int_*, and
12605         remove gstatomic.
12606         * gst/Makefile.am:
12607         * gst/gstatomic.c:
12608         * gst/gstatomic.h:
12609         * gst/gstatomic_impl.h:
12610         * gst/gstbuffer.c:
12611         * gst/gstcaps.c:
12612         * gst/gstcaps.h:
12613         * gst/gstclock.c:
12614         * gst/gstclock.h:
12615         * gst/gstdata.c:
12616         * gst/gstdata.h:
12617         * gst/gstdata_private.h:
12618         * gst/gstevent.c:
12619         * gst/gstinfo.c:
12620         * gst/gstinfo.h:
12621         * gst/gstmessage.c:
12622         * gst/gstobject.c:
12623         * gst/gstobject.h:
12624         * gst/gststructure.c:
12625         * gst/gststructure.h:
12626         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12627         * gst/gstutils.h:
12628
12629 2005-04-24  David Schleef  <ds@schleef.org>
12630
12631         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12632         make the regressions tests work.  Remove some code that is no
12633         longer true.
12634         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12635         Disable warning for pads without templates.
12636
12637 2005-04-24  David Schleef  <ds@schleef.org>
12638
12639         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12640         functions that handle filtered links.
12641         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12642         removed functions.
12643         * gst/gstutils.c: Fix/remove utility functions that handle
12644         filtered caps.
12645         * gst/gstutils.h:
12646         * gst/gstvalue.c: Add serialization/deserialization of caps
12647         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12648         requires fixing so that the filter caps notation creates
12649         a capsfilter element and sets the filter_caps property.  I
12650         think everyone probably wants to keep the shorthand notation.
12651         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12652         * docs/gst/tmpl/gstpad.sgml:
12653
12654         * gst/elements/gstelements.c: Register capsfilter element.
12655         * gst/Makefile.am: fix spacing
12656         * docs/random/ds/0.9-suggested-changes: random
12657
12658 2005-04-23  David Schleef  <ds@schleef.org>
12659
12660         * gst/elements/Makefile.am:
12661         * gst/elements/gstcapsfilter.c: New element that acts like an
12662         identity, but filters caps.  Will eventually replace filtered
12663         caps in pad linking.
12664         * gst/gstutils.c: (gst_element_create_all_pads): New function
12665         to create all the ALWAYS pads that are registered with an
12666         element class.  This functionality should eventually be
12667         merged in with GstElement initialization.
12668         * gst/gstutils.h:
12669         * testsuite/trigger/README: part of trigger test code that should
12670         have been checked in a long time ago.
12671
12672 2005-04-23  David Schleef  <ds@schleef.org>
12673
12674         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12675         needed with new versions of libtool (nobody will confirm this),
12676         and hard to carry around.
12677         * gst/autoplug/Makefile.am:
12678         * gst/base/Makefile.am:
12679         * gst/elements/Makefile.am:
12680         * gst/indexers/Makefile.am:
12681         * gst/schedulers/Makefile.am:
12682         * libs/gst/bytestream/Makefile.am:
12683         * libs/gst/control/Makefile.am:
12684         * libs/gst/dataprotocol/Makefile.am:
12685         * libs/gst/getbits/Makefile.am:
12686
12687 2005-04-21  Wim Taymans  <wim@fluendo.com>
12688
12689         * docs/design/draft-push-pull.txt:
12690         * docs/design/part-MT-refcounting.txt:
12691         * docs/design/part-TODO.txt:
12692         * docs/design/part-caps.txt:
12693         * docs/design/part-events.txt:
12694         * docs/design/part-gstbus.txt:
12695         * docs/design/part-gstpipeline.txt:
12696         * docs/design/part-messages.txt:
12697         * docs/design/part-push-pull.txt:
12698         * docs/design/part-query.txt:
12699         Some more docs.
12700
12701 2005-04-21  Wim Taymans  <wim@fluendo.com>
12702
12703         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12704         (gst_message_new), (gst_message_new_error),
12705         (gst_message_new_warning), (gst_message_new_tag),
12706         (gst_message_new_state_changed), (gst_message_new_application),
12707         (gst_message_get_structure):
12708         * gst/gstmessage.h:
12709         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12710         (gst_structure_copy_conditional):
12711         Use parent refcount in GstMessage to ensure GstStructure
12712         consistency.
12713         Cleaned up headers a bit.
12714         
12715
12716 2005-04-20  Wim Taymans  <wim@fluendo.com>
12717
12718         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12719         (gst_basesink_pad_getcaps), (gst_basesink_init),
12720         (gst_basesink_chain_unlocked):
12721         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12722         (gst_type_find_helper):
12723         * gst/elements/gsttypefindelement.c:
12724         (gst_type_find_element_have_type), (gst_type_find_element_init),
12725         (stop_typefinding), (gst_type_find_element_handle_event),
12726         (find_suggest), (gst_type_find_element_chain),
12727         (gst_type_find_element_checkgetrange),
12728         (gst_type_find_element_getrange), (do_typefind),
12729         (gst_type_find_element_activate):
12730         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12731         (gst_buffer_default_free), (gst_buffer_default_copy),
12732         (gst_buffer_set_caps):
12733         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12734         (gst_caps_replace):
12735         * gst/gstmessage.c: (gst_message_new),
12736         (gst_message_new_state_changed):
12737         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12738         (gst_pad_set_checkgetrange_function),
12739         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12740         (gst_pad_set_caps), (gst_pad_check_pull_range),
12741         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12742         * gst/gstpad.h:
12743         * gst/gsttypefind.c: (gst_type_find_register):
12744         Make gst_caps_replace() work like other _replace() functions.
12745         Use _caps_replace() where possible.
12746         Make sure _message_new() initialises its field.
12747         Add gst_static_pad_template_get_caps()
12748
12749
12750 2005-04-18  Andy Wingo  <wingo@pobox.com>
12751
12752         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12753         on the peer, not the pad. I think that was a typo. Pass an extra
12754         arg to see if random access is possible. Activate the pads as
12755         PULL_RANGE if possible.
12756
12757         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12758
12759         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12760         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12761         to PROP_....
12762
12763 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12764
12765         * docs/faq/using.xml:
12766           Add note on gstreamer-properties (#154996).
12767
12768 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12769
12770         * docs/random/bbb/optional-properties:
12771           Some analysis on optional properties.
12772
12773 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12774
12775         * docs/gst/tmpl/gstelementfactory.sgml:
12776         * gst/gstelement.h:
12777         * gst/gstelementfactory.c: (gst_element_factory_init),
12778         (gst_element_factory_cleanup), (gst_element_register),
12779         (__gst_element_factory_add_static_pad_template),
12780         (gst_element_factory_get_static_pad_templates),
12781         (gst_element_factory_can_src_caps),
12782         (gst_element_factory_can_sink_caps):
12783         * gst/registries/Makefile.am:
12784         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12785         (gst_xml_registry_class_init), (gst_xml_registry_init),
12786         (gst_xml_registry_new), (gst_xml_registry_set_property),
12787         (gst_xml_registry_get_property), (get_time), (make_dir),
12788         (gst_xml_registry_get_perms_func),
12789         (plugin_times_older_than_recurse), (plugin_times_older_than),
12790         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12791         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12792         (add_to_char_array), (read_string), (read_uint), (read_enum),
12793         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12794         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12795         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12796         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12797         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12798         (gst_xml_registry_rebuild):
12799         * gst/registries/gstlibxmlregistry.h:
12800         * tools/gst-compprep.c: (main):
12801         * tools/gst-inspect.c: (print_pad_templates_info):
12802         * tools/gst-xmlinspect.c: (print_element_info):
12803           Use libxml2 for registry parsing, use staticpadtemplates in
12804           elementfactories. Makes gst_init() +/- 10x faster.
12805
12806 2005-04-12  Wim Taymans  <wim@fluendo.com>
12807
12808         * gst/base/Makefile.am:
12809         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12810         (gst_basesink_pad_getcaps), (gst_basesink_init),
12811         (gst_basesink_event), (gst_basesink_change_state):
12812         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12813         (gst_basesrc_init), (gst_basesrc_query),
12814         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12815         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12816         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12817         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12818         (gst_basesrc_stop), (gst_basesrc_activate),
12819         (gst_basesrc_change_state):
12820         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12821         (helper_find_suggest), (gst_type_find_helper):
12822         * gst/base/gsttypefindhelper.h:
12823         * gst/elements/Makefile.am:
12824         * gst/elements/gstelements.c:
12825         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12826         (gst_fakesink_get_times), (gst_fakesink_event),
12827         (gst_fakesink_preroll), (gst_fakesink_render):
12828         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12829         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12830         (gst_fakesrc_get_property), (gst_fakesrc_create),
12831         (gst_fakesrc_start), (gst_fakesrc_stop):
12832         * gst/elements/gstfakesrc.h:
12833         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12834         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12835         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12836         (gst_filesrc_create_read), (gst_filesrc_create),
12837         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12838         (gst_filesrc_start):
12839         * gst/elements/gsttypefindelement.c:
12840         (gst_type_find_element_have_type), (gst_type_find_element_init),
12841         (start_typefinding), (stop_typefinding), (push_buffer_store),
12842         (gst_type_find_element_handle_event),
12843         (gst_type_find_element_chain),
12844         (gst_type_find_element_checkgetrange),
12845         (gst_type_find_element_getrange), (do_typefind),
12846         (gst_type_find_element_activate),
12847         (gst_type_find_element_change_state):
12848         * gst/elements/gsttypefindelement.h:
12849         * gst/gstpipeline.c: (pipeline_bus_handler):
12850         Added typefind helper.
12851         Small preroll fix in the base sink.
12852         Disable typefind code in basesrc.
12853         Crude port of typefindelement.
12854         Fakesrc cleanups.
12855
12856
12857 2005-04-11  Wim Taymans  <wim@fluendo.com>
12858
12859         * check/gst/gstbus.c: (gstbus_suite):
12860         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12861         * check/gstcheck.h:
12862           Fix up the timeout so that the test does not fail.
12863
12864 2005-04-06  Wim Taymans  <wim@fluendo.com>
12865
12866         * gst/base/README:
12867         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12868         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12869         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12870         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12871         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12872         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12873         (gst_basesrc_stop), (gst_basesrc_activate),
12874         (gst_basesrc_change_state), (basesrc_find_peek),
12875         (basesrc_find_suggest), (gst_basesrc_type_find):
12876         * gst/base/gstbasesrc.h:
12877         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12878         (gst_filesrc_class_init), (gst_filesrc_init),
12879         (gst_filesrc_finalize), (gst_filesrc_set_location),
12880         (gst_filesrc_set_property), (gst_filesrc_get_property),
12881         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12882         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12883         (gst_filesrc_create_read), (gst_filesrc_create),
12884         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12885         * gst/elements/gstfilesrc.h:
12886         * gst/gstelement.c: (gst_element_get_state_func),
12887         (gst_element_lost_state), (gst_element_pads_activate):
12888         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12889         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12890         (gst_pad_pull_range):
12891         * gst/gstpad.h:
12892         More work on the generic source base class, implement seeking,
12893         query.
12894         Make filesrc extend the base source class.
12895         Added gst_pad_set_checkgetrange_function to GstPad.
12896
12897 2005-04-06  Andy Wingo  <wingo@pobox.com>
12898
12899         * pkgconfig/gstreamer-base.pc.in:
12900         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12901
12902         * pkgconfig/Makefile.am:
12903         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12904
12905 2005-04-04  Wim Taymans  <wim@fluendo.com>
12906
12907         * gst/base/Makefile.am:
12908         * gst/base/README:
12909         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12910         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12911         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12912         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12913         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12914         (gst_basesrc_base_init), (gst_basesrc_class_init),
12915         (gst_basesrc_init), (gst_basesrc_get_formats),
12916         (gst_basesrc_get_query_types), (gst_basesrc_query),
12917         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12918         (gst_basesrc_set_property), (gst_basesrc_get_property),
12919         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12920         (gst_basesrc_loop), (gst_basesrc_activate),
12921         (gst_basesrc_change_state):
12922         * gst/base/gstbasesrc.h:
12923         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12924         (gst_fakesrc_class_init), (gst_fakesrc_init),
12925         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12926         (gst_fakesrc_get_property), (gst_fakesrc_create):
12927         * gst/elements/gstfakesrc.h:
12928         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12929         (gst_filesrc_open_file), (gst_filesrc_loop),
12930         (gst_filesrc_activate), (filesrc_find_peek),
12931         (gst_filesrc_type_find):
12932         Made base source class, make fakesrc extend it.
12933         Add comments to basesink class.
12934         Some filesrc cleanup.
12935
12936 2005-03-31  David Schleef  <ds@schleef.org>
12937
12938         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12939         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12940         expected to link against libgstreamer.
12941         * gst/base/Makefile.am: link against libgstreamer
12942         * gst/elements/Makefile.am: same
12943
12944 2005-03-31  Andy Wingo  <wingo@pobox.com>
12945
12946         * tests/instantiate/Makefile.am:
12947         * tests/instantiate/caps.c: Add test to test speed of caps copy
12948         and free.
12949
12950         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12951         GMemChunk to be fair.
12952
12953         * gst/gsttrashstack.h: Remove warning about using the fallback
12954         trash stack implementation, it's still faster than malloc.
12955
12956 2005-03-30  Andy Wingo  <wingo@pobox.com>
12957
12958         * tests/complexity.c: Add a copyright.
12959
12960 2005-03-31  Wim Taymans  <wim@fluendo.com>
12961
12962         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12963         (gst_base_transform_class_init), (gst_base_transform_init),
12964         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12965         (gst_base_transform_get_property),
12966         (gst_base_transform_sink_activate),
12967         (gst_base_transform_src_activate),
12968         (gst_base_transform_change_state):
12969         * gst/base/gstbasetransform.h:
12970         * gst/elements/gstidentity.c: (gst_identity_class_init),
12971         (gst_identity_event), (gst_identity_check_perfect),
12972         (gst_identity_transform), (gst_identity_start),
12973         (gst_identity_stop):
12974         Added start/stop methods to transform base class so subclasses 
12975         don't need to deal with state changes even.
12976
12977 2005-03-31  Wim Taymans  <wim@fluendo.com>
12978
12979         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12980         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12981         * gst/gstevent.h:
12982         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12983         (gst_pad_pull_range):
12984         Added rate to the discont event to prepare for variable speed
12985         and reverse playback.
12986
12987 2005-03-29  David Schleef  <ds@schleef.org>
12988
12989         * configure.ac:
12990         * testsuite/trigger/Makefile.am:
12991         * testsuite/trigger/trigger.c: A little example program to show
12992         how trigger-based elements can work.
12993
12994 2005-03-29  Wim Taymans  <wim@fluendo.com>
12995
12996         * gst/base/Makefile.am:
12997         * gst/base/README:
12998         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12999         (gst_basesink_base_init), (gst_basesink_class_init),
13000         (gst_basesink_pad_getcaps), (gst_basesink_init),
13001         (gst_basesink_activate), (gst_basesink_change_state):
13002         * gst/base/gstbasesink.h:
13003         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13004         (gst_base_transform_base_init), (gst_base_transform_finalize),
13005         (gst_base_transform_class_init), (gst_base_transform_init),
13006         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13007         (gst_base_transform_event), (gst_base_transform_getrange),
13008         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13009         (gst_base_transform_set_property),
13010         (gst_base_transform_get_property),
13011         (gst_base_transform_sink_activate),
13012         (gst_base_transform_src_activate),
13013         (gst_base_transform_change_state):
13014         * gst/base/gstbasetransform.h:
13015         * gst/elements/gstidentity.c: (gst_identity_finalize),
13016         (gst_identity_class_init), (gst_identity_init),
13017         (gst_identity_event), (gst_identity_check_perfect),
13018         (gst_identity_transform), (gst_identity_set_property),
13019         (gst_identity_get_property), (gst_identity_change_state):
13020         * gst/elements/gstidentity.h:
13021         * gst/gstelement.c: (gst_element_get_state_func),
13022         (gst_element_lost_state), (gst_element_pads_activate):
13023         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13024         (gst_pad_check_pull_range), (gst_pad_pull_range):
13025         * gst/gstpad.h:
13026         Simplify pad activation.
13027         Added function to check if pull_range can be performed.
13028         Error out when pulling inactive or flushing pads.
13029         Removed const from refcounted types as it does not make sense.
13030         Simplify pad templates in basesink
13031         Added base class for simple 1-to-1 transforms.
13032         Make identity subclass the base transform.
13033
13034 2005-03-29  Andy Wingo  <wingo@pobox.com>
13035
13036         * docs/libs/gstreamer-libs-overrides.txt: 
13037         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13038         really don't understand what's going on, but like whatever. I want
13039         green buildbot!
13040
13041         * docs/gst/Makefile.am:
13042         * docs/libs/Makefile.am: Dist the overrides files.
13043
13044         * check/Makefile.am (clean-local): Remove .libs directories.
13045
13046         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13047         elements to EXTRA_DIST, so po/ files are happy.
13048
13049         * po/POTFILES.in: Er, remove it here.
13050
13051         * po/POTFILES: Remove gstspider.c.
13052
13053         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13054
13055         * docs/libs/gstreamer-libs-docs.sgml: 
13056         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13057         bytestream.
13058
13059         * tests/complexity.c (main): Set the length of the preroll queue
13060         on the sinks to prevent a lockup.
13061
13062         * libs/gst/dataprotocol/Makefile.am: 
13063         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13064         the same as the one in check/gst-libs/gdp.c.
13065
13066         * po/, docs/gst/: Commit automatic changes to docs and po files.
13067
13068         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13069         the versioned libgstbase.
13070
13071         * check/Makefile.am: Depend on an unversioned gst-register, seems
13072         to make autoconf happier.
13073
13074         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13075
13076 2005-03-28  Wim Taymans  <wim@fluendo.com>
13077
13078         * configure.ac:
13079         * docs/design/part-gstelement.txt:
13080         * docs/design/part-negotiation.txt:
13081         * docs/design/part-preroll.txt:
13082         * docs/design/part-scheduling.txt:
13083         * docs/design/part-states.txt:
13084         * gst/Makefile.am:
13085         * gst/base/Makefile.am:
13086         * gst/base/README:
13087         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13088         (gst_basesink_base_init), (gst_basesink_class_init),
13089         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13090         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13091         (gst_basesink_set_pad_functions),
13092         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13093         (gst_basesink_set_property), (gst_basesink_get_property),
13094         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13095         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13096         (gst_basesink_preroll_queue_push),
13097         (gst_basesink_preroll_queue_empty),
13098         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13099         (gst_basesink_event), (gst_basesink_get_times),
13100         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13101         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13102         (gst_basesink_loop), (gst_basesink_activate),
13103         (gst_basesink_change_state):
13104         * gst/base/gstbasesink.h:
13105         * gst/elements/Makefile.am:
13106         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13107         (gst_fakesink_class_init), (gst_fakesink_init),
13108         (gst_fakesink_set_property), (gst_fakesink_get_property),
13109         (gst_fakesink_get_times), (gst_fakesink_event),
13110         (gst_fakesink_preroll), (gst_fakesink_render),
13111         (gst_fakesink_change_state):
13112         * gst/elements/gstfakesink.h:
13113         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13114         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13115         * gst/gstelement.c: (gst_element_add_pad),
13116         (gst_element_get_state_func), (gst_element_abort_state),
13117         (gst_element_commit_state), (gst_element_lost_state),
13118         (gst_element_set_state), (gst_element_pads_activate):
13119         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13120         * gst/gstpipeline.c: (gst_pipeline_send_event),
13121         (gst_pipeline_change_state):
13122         Added state change code.
13123         Added/updated docs.
13124         Added sink base class, make fakesink extend the base class.
13125         Small cleanups in GstPipeline.
13126
13127 2005-03-26  David Schleef  <ds@schleef.org>
13128
13129         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13130         is broken and should be implemented in a different library.
13131         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13132         * gst/gst.h: remove gstcpu.h
13133         * gst/gstcpu.c: remove
13134         * gst/gstcpu.h: remove
13135         * gst/Makefile.am.future: Remove this file.  It's ancient.
13136
13137 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13138
13139         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13140         (gst_bin_send_event):
13141           Add default event/set_manager handlers. The set_manager handler
13142           takes care that the manager is distributed over kids that were
13143           already in the bin before the manager was set. The event handler
13144           is a utility virtual function that sends the event over all sinks,
13145           so that gst_element_send_event (bin, event); has the expected
13146           behaviour.
13147         * gst/gstpad.c: (gst_pad_event_default):
13148           Re-install default event handling for discontinuities, so that
13149           seeking works without requiring hacks in applications or extra
13150           code in sinks.
13151         * gst/gstpipeline.c: (gst_pipeline_class_init),
13152         (gst_pipeline_send_event):
13153           Half hack, half utility: set a pipeline to PAUSED for seek events,
13154           since that is the only way we can guarantee a/v sync. Means that
13155           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13156           and it "just works".
13157
13158 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13159
13160         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13161           Lock/unlock mismatch.
13162
13163 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13164
13165         * docs/faq/gst-uninstalled:
13166           add gst-plugins-base
13167         * docs/gst/Makefile.am:
13168           don't error out until docs are fixed
13169         * docs/gst/gstreamer.types:
13170           remove thread
13171
13172 2005-03-22  Wim Taymans  <wim@fluendo.com>
13173
13174         * check/Makefile.am:
13175         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13176         * gst/gststructure.c: (gst_structure_set_valist),
13177         (gst_structure_copy_conditional):
13178         Activated more tests.
13179         Added message test.
13180         Added G_TYPE_POINTER to GstStructure.
13181         
13182
13183 2005-03-22  Wim Taymans  <wim@fluendo.com>
13184
13185         * docs/design/part-TODO.txt:
13186         * docs/design/part-events.txt:
13187         * docs/design/part-gstbin.txt:
13188         * docs/design/part-gstbus.txt:
13189         * docs/design/part-gstpipeline.txt:
13190         * docs/design/part-messages.txt:
13191         * gst/gstbus.c:
13192         * gst/gstmessage.c:
13193         Docs updates
13194
13195 2005-03-21  Wim Taymans  <wim@fluendo.com>
13196
13197         * gst/gstbus.c: (gst_bus_post):
13198         Fix copy-and-paste error.
13199
13200 2005-03-21  Wim Taymans  <wim@fluendo.com>
13201
13202         * check/Makefile.am:
13203         * gst/Makefile.am:
13204         * gst/elements/Makefile.am:
13205         * gst/elements/gstelements.c:
13206         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13207         (gst_fakesink_event), (gst_fakesink_chain):
13208         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13209         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13210         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13211         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13212         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13213         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13214         (gst_fakesrc_loop), (gst_fakesrc_activate),
13215         (gst_fakesrc_change_state):
13216         * gst/elements/gstfakesrc.h:
13217         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13218         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13219         (gst_filesrc_open_file), (gst_filesrc_loop),
13220         (gst_filesrc_activate), (gst_filesrc_change_state),
13221         (filesrc_find_peek), (filesrc_find_suggest),
13222         (gst_filesrc_type_find):
13223         * gst/elements/gstidentity.c: (gst_identity_finalize),
13224         (gst_identity_class_init), (gst_identity_init),
13225         (gst_identity_proxy_getcaps), (identity_queue_push),
13226         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13227         (gst_identity_getrange), (gst_identity_chain),
13228         (gst_identity_sink_loop), (gst_identity_src_loop),
13229         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13230         (gst_identity_set_property), (gst_identity_get_property),
13231         (gst_identity_change_state):
13232         * gst/elements/gstidentity.h:
13233         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13234         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13235         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13236         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13237         (gst_tee_sink_activate):
13238         * gst/elements/gsttee.h:
13239         * gst/gst.c: (gst_register_core_elements), (init_post):
13240         * gst/gst.h:
13241         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13242         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13243         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13244         (gst_bin_change_state):
13245         * gst/gstbin.h:
13246         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13247         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13248         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13249         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13250         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13251         (bus_watch_callback), (bus_watch_destroy),
13252         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13253         (poll_timeout), (gst_bus_poll):
13254         * gst/gstbus.h:
13255         * gst/gstcaps.h:
13256         * gst/gstdata.h:
13257         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13258         (gst_element_post_message), (gst_element_message_full),
13259         (gst_element_get_state_func), (gst_element_get_state),
13260         (gst_element_abort_state), (gst_element_commit_state),
13261         (gst_element_lost_state), (gst_element_set_state),
13262         (gst_element_pads_activate), (gst_element_change_state),
13263         (gst_element_dispose), (gst_element_set_manager_func),
13264         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13265         (gst_element_set_manager), (gst_element_get_manager),
13266         (gst_element_set_bus), (gst_element_get_bus),
13267         (gst_element_set_scheduler), (gst_element_get_scheduler):
13268         * gst/gstelement.h:
13269         * gst/gstevent.c: (gst_event_new_segment_seek),
13270         (gst_event_new_flush):
13271         * gst/gstevent.h:
13272         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13273         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13274         (gst_message_new_eos), (gst_message_new_error),
13275         (gst_message_new_warning), (gst_message_new_tag),
13276         (gst_message_new_state_changed), (gst_message_new_application),
13277         (gst_message_get_structure), (gst_message_parse_tag),
13278         (gst_message_parse_state_changed), (gst_message_parse_error),
13279         (gst_message_parse_warning):
13280         * gst/gstmessage.h:
13281         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13282         (gst_real_pad_set_property), (gst_pad_set_active),
13283         (gst_pad_is_active), (gst_pad_set_blocked_async),
13284         (gst_pad_set_blocked), (gst_pad_is_blocked),
13285         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13286         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13287         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13288         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13289         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13290         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13291         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13292         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13293         (gst_pad_set_caps), (gst_pad_configure_sink),
13294         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13295         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13296         (gst_real_pad_dispose), (gst_real_pad_finalize),
13297         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13298         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13299         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13300         * gst/gstpad.h:
13301         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13302         (pipeline_bus_handler), (gst_pipeline_change_state),
13303         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13304         * gst/gstpipeline.h:
13305         * gst/gstprobe.h:
13306         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13307         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13308         (gst_queue_link_src), (gst_queue_bufferalloc),
13309         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13310         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13311         (gst_queue_loop), (gst_queue_handle_src_event),
13312         (gst_queue_handle_src_query), (gst_queue_src_activate),
13313         (gst_queue_change_state):
13314         * gst/gstqueue.h:
13315         * gst/gstscheduler.c: (gst_scheduler_init),
13316         (gst_scheduler_dispose), (gst_scheduler_create_task),
13317         (gst_scheduler_factory_create):
13318         * gst/gstscheduler.h:
13319         * gst/gststructure.c: (gst_structure_get_type),
13320         (gst_structure_copy_conditional):
13321         * gst/gststructure.h:
13322         * gst/gsttaginterface.h:
13323         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13324         (gst_task_init), (gst_task_dispose), (gst_task_create),
13325         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13326         (gst_task_pause):
13327         * gst/gsttask.h:
13328         * gst/gstthread.c:
13329         * gst/gstthread.h:
13330         * gst/gsttypes.h:
13331         * gst/schedulers/Makefile.am:
13332         * gst/schedulers/cothreads_compat.h:
13333         * gst/schedulers/entryscheduler.c:
13334         * gst/schedulers/faircothreads.c:
13335         * gst/schedulers/faircothreads.h:
13336         * gst/schedulers/fairscheduler.c:
13337         * gst/schedulers/gstbasicscheduler.c:
13338         * gst/schedulers/gstoptimalscheduler.c:
13339         * gst/schedulers/gthread-cothreads.h:
13340         * gst/schedulers/threadscheduler.c:
13341         (gst_thread_scheduler_task_get_type),
13342         (gst_thread_scheduler_task_class_init),
13343         (gst_thread_scheduler_task_init),
13344         (gst_thread_scheduler_task_start),
13345         (gst_thread_scheduler_task_stop),
13346         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13347         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13348         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13349         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13350         (plugin_init):
13351         * libs/gst/Makefile.am:
13352         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13353         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13354         (gst_file_pad_parent_set):
13355         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13356         (gst_dp_event_from_packet):
13357         * tests/complexity.c: (main):
13358         * tests/mass_elements.c: (main):
13359         * testsuite/states/locked.c: (message_received), (main):
13360         * testsuite/states/parent.c: (main):
13361         * tools/gst-inspect.c: (print_element_flag_info),
13362         (print_implementation_info), (print_pad_info):
13363         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13364         (main):
13365         * tools/gst-md5sum.c: (event_loop), (main):
13366         * tools/gst-typefind.c: (main):
13367         * tools/gst-xmlinspect.c: (print_element_info):
13368         Next big merge.
13369         Added GstBus for mainloop integration.
13370         Added GstMessage for sending notifications on the bus.
13371         Added GstTask as an abstraction for pipeline entry points.
13372         Removed GstThread.
13373         Removed Schedulers.
13374         Simplified GstQueue for multithreaded core.
13375         Made _link threadsafe, removed old capsnego.
13376         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13377         Added pad blocking functions.
13378         Reworked scheduling functions in GstPad to prepare for
13379         scheduling updates soon.
13380         Moved events out of data stream.
13381         Simplified GstEvent types.
13382         Added return values to push/pull.
13383         Removed clocking from GstElement.
13384         Added prototypes for state change function for next merge.
13385         Removed iterate from bins and state change management.
13386         Fixed some elements, disabled others for now.
13387         Fixed -inspect and -launch.
13388         Added check for GstBus.
13389
13390 2005-03-10  Wim Taymans  <wim@fluendo.com>
13391
13392         * docs/design/part-MT-refcounting.txt:
13393         * docs/design/part-clocks.txt:
13394         * docs/design/part-gstelement.txt:
13395         * docs/design/part-gstobject.txt:
13396         * docs/design/part-standards.txt:
13397         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13398         (gst_bin_remove_func), (gst_bin_remove):
13399         * gst/gstbin.h:
13400         * gst/gstbuffer.c:
13401         * gst/gstcaps.h:
13402         * testsuite/clock/clock1.c: (main):
13403         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13404         (main):
13405         * testsuite/dlopen/loadgst.c: (do_test):
13406         * testsuite/refcounting/bin.c: (add_remove_test1),
13407         (add_remove_test2), (main):
13408         * testsuite/refcounting/element.c: (main):
13409         * testsuite/refcounting/element_pad.c: (main):
13410         * testsuite/refcounting/pad.c: (main):
13411         * tools/gst-launch.c: (sigint_handler_sighandler):
13412         * tools/gst-typefind.c: (main):
13413         Doc updates.
13414         Added doc about clock.
13415         removed gst_bin_iterate_recurse_up(), marked methods
13416         for removal.
13417         Fix more testsuites.
13418
13419 2005-03-09  Wim Taymans  <wim@fluendo.com>
13420
13421         * gst/gstpad.c: (gst_pad_get_direction),
13422         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13423         (gst_pad_collect_valist):
13424         * testsuite/bins/interface.c: (main):
13425         * testsuite/caps/audioscale.c: (test_caps):
13426         * testsuite/caps/caps.c: (test1), (test2), (test3):
13427         * testsuite/caps/deserialize.c: (main):
13428         * testsuite/caps/enumcaps.c: (main):
13429         * testsuite/caps/filtercaps.c: (main):
13430         * testsuite/caps/intersect2.c: (main):
13431         * testsuite/caps/random.c: (main):
13432         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13433         * testsuite/caps/sets.c: (check_caps):
13434         * testsuite/caps/simplify.c: (check_caps), (main):
13435         * testsuite/caps/subtract.c: (check_caps):
13436         Fix _pad_get_direction wrt ghostpads.
13437         Fix caps testsuite.
13438
13439 2005-03-09  Wim Taymans  <wim@fluendo.com>
13440
13441         * check/Makefile.am:
13442         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13443         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13444         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13445         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13446         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13447         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13448         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13449         (bin_element_is_sink), (gst_bin_iterate_sinks),
13450         (gst_bin_iterate_all_by_interface):
13451         * gst/gstbin.h:
13452         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13453         (gst_element_change_state), (gst_element_dispose),
13454         (gst_element_finalize), (gst_element_set_loop_function):
13455         * gst/gstelement.h:
13456         * gst/gstiterator.c: (find_custom_fold_func):
13457         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13458         (gst_pad_collectv), (gst_pad_collect_valist),
13459         (gst_pad_template_new):
13460         * gst/gstpipeline.c: (gst_pipeline_class_init),
13461         (gst_pipeline_dispose), (gst_pipeline_set_property),
13462         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13463         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13464         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13465         * gst/gstutils.h:
13466         * gst/schedulers/entryscheduler.c:
13467         * gst/schedulers/gstbasicscheduler.c:
13468         (gst_basic_scheduler_cothreaded_chain),
13469         (gst_basic_scheduler_chain_add_element):
13470         * testsuite/bins/interface.c: (main):
13471         Added GstBin test.
13472         Added GstSystemClock test.
13473         Implemented clock distribution code in GstBin.
13474         Implemented iterate sinks method for future use.
13475         Rearranged gstelement.h
13476         Fix GstIterator comparison bug.
13477         Moved some code to GstPipeline, mostly clocking related.
13478
13479 2005-03-09  Wim Taymans  <wim@fluendo.com>
13480
13481         * configure.ac:
13482         * gst/gst_private.h:
13483         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13484         (gst_bin_remove_func), (gst_bin_remove),
13485         (gst_bin_get_by_name_recurse_up):
13486         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13487         (gst_clock_id_compare_func), (gst_clock_id_wait),
13488         (gst_clock_id_wait_async), (gst_clock_init),
13489         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13490         * gst/gstelement.h:
13491         * gst/gstinfo.c: (_gst_debug_init):
13492         * gst/gstobject.h:
13493         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13494         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13495         * gst/gstpad.h:
13496         Bump version number, we're now 0.9.0
13497         Add future debugging category.
13498         Fix NULL _unref() in _get_by_name_recurse_up
13499         Rearrange gstpad.h.
13500         Update some docs.
13501
13502 2005-03-08  Wim Taymans  <wim@fluendo.com>
13503
13504         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13505         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13506         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13507         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13508         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13509         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13510         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13511         * gst/elements/gstidentity.c: (gst_identity_class_init):
13512         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13513         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13514         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13515         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13516         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13517         (gst_tee_link):
13518         * gst/gstelement.c: (gst_element_class_init),
13519         (gst_element_base_class_init), (gst_element_init),
13520         (gst_element_get_random_pad), (gst_element_wait_state_change),
13521         (gst_element_change_state), (gst_element_dispose),
13522         (gst_element_finalize), (gst_element_set_loop_function):
13523         * gst/gstelement.h:
13524         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13525         * gst/gstthread.c: (gst_thread_class_init),
13526         (gst_thread_release_children_locks), (gst_thread_change_state):
13527         * gst/schedulers/gstbasicscheduler.c:
13528         (gst_basic_scheduler_loopfunc_wrapper),
13529         (gst_basic_scheduler_chain_wrapper),
13530         (gst_basic_scheduler_src_wrapper),
13531         (gst_basic_scheduler_remove_element):
13532         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13533         Remove threadsafe properties. Fix elements because GObject
13534         complains when installing a property before declaring a
13535         set/get_property handler.
13536         Rearrange gstelement.h file, use STATE macros for state locks.
13537         Free mutexes in the finalize method instead of dispose.
13538
13539 2005-03-08  Wim Taymans  <wim@fluendo.com>
13540
13541         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13542         * gst/gstthread.c: (gst_thread_release_children_locks):
13543         Added parentage check.
13544         Fix build og GstThread again.
13545
13546 2005-03-08  Wim Taymans  <wim@fluendo.com>
13547
13548         * docs/design/part-MT-refcounting.txt:
13549         * docs/design/part-conventions.txt:
13550         * docs/design/part-gstobject.txt:
13551         * docs/design/part-relations.txt:
13552         * docs/design/part-standards.txt:
13553         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13554         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13555         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13556         (gst_bin_iterate_all_by_interface):
13557         * gst/gstbuffer.h:
13558         * gst/gstclock.h:
13559         * gst/gstelement.c: (gst_element_class_init),
13560         (gst_element_change_state), (gst_element_set_loop_function):
13561         * gst/gstelement.h:
13562         * gst/gstiterator.c:
13563         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13564         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13565         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13566         (gst_object_set_parent), (gst_object_unparent),
13567         (gst_object_check_uniqueness):
13568         * gst/gstobject.h:
13569         Docs updates, clean up some headers.
13570
13571 2005-03-07  Wim Taymans  <wim@fluendo.com>
13572
13573         * check/.cvsignore:
13574         * check/Makefile.am:
13575         * check/gst-libs/.cvsignore:
13576         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13577         * check/gst/.cvsignore:
13578         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13579         (START_TEST), (gstbus_suite), (main):
13580         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13581         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13582         (gst_data_suite), (main):
13583         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13584         (add_fold_func), (gstiterator_suite), (main):
13585         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13586         (thread_name_object), (thread_name_object_default),
13587         (gst_object_name_compare), (gst_object_suite), (main):
13588         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13589         (gst_pad_suite), (main):
13590         * check/gstcheck.c: (gst_check_log_message_func),
13591         (gst_check_log_critical_func), (gst_check_init):
13592         * check/gstcheck.h:
13593         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13594         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13595         Added checks.
13596
13597 2005-03-07  Wim Taymans  <wim@fluendo.com>
13598
13599         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13600         (gst_list_iterator_next), (gst_list_iterator_resync),
13601         (gst_list_iterator_free), (gst_iterator_new_list),
13602         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13603         (gst_iterator_free), (gst_iterator_push), (filter_next),
13604         (filter_resync), (filter_uninit), (filter_free),
13605         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13606         (gst_iterator_foreach), (find_custom_fold_func),
13607         (gst_iterator_find_custom):
13608         * gst/gstiterator.h:
13609         Added missing files.
13610
13611 2005-03-07  Wim Taymans  <wim@fluendo.com>
13612
13613         * Makefile.am:
13614         * configure.ac:
13615         * docs/design/part-MT-refcounting.txt:
13616         * docs/design/part-conventions.txt:
13617         * docs/design/part-gstobject.txt:
13618         * docs/design/part-relations.txt:
13619         * examples/mixer/mixer.c: (main):
13620         * examples/thread/thread.c: (eos), (main):
13621         * gst/Makefile.am:
13622         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13623         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13624         (gst_spider_plug_from_srcpad):
13625         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13626         (gst_spider_identity_change_state),
13627         (gst_spider_identity_sink_loop_type_finding):
13628         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13629         * gst/elements/gstidentity.c: (gst_identity_init):
13630         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13631         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13632         * gst/elements/gsttypefindelement.c: (free_entry):
13633         * gst/gst.c:
13634         * gst/gst.h:
13635         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13636         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13637         (gst_bin_set_index), (gst_bin_set_element_sched),
13638         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13639         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13640         (gst_bin_iterate_elements), (iterate_child_recurse),
13641         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13642         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13643         (compare_interface), (gst_bin_get_by_interface),
13644         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13645         * gst/gstbin.h:
13646         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13647         (gst_buffer_default_free), (gst_buffer_default_copy),
13648         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13649         (gst_buffer_create_sub):
13650         * gst/gstbuffer.h:
13651         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13652         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13653         (gst_caps_unref), (gst_static_caps_get),
13654         (gst_caps_remove_and_get_structure), (gst_caps_append),
13655         (gst_caps_append_structure), (gst_caps_remove_structure),
13656         (gst_caps_copy_nth), (gst_caps_set_simple),
13657         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13658         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13659         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13660         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13661         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13662         (gst_caps_structure_figure_out_union),
13663         (gst_caps_switch_structures), (gst_caps_do_simplify),
13664         (gst_caps_replace), (gst_caps_from_string),
13665         (gst_caps_copy_conditional):
13666         * gst/gstcaps.h:
13667         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13668         (_gst_clock_id_free), (gst_clock_id_unref),
13669         (gst_clock_id_compare_func), (gst_clock_id_wait),
13670         (gst_clock_id_wait_async), (gst_clock_class_init),
13671         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13672         (gst_clock_get_time), (gst_clock_set_time_adjust),
13673         (gst_clock_set_property), (gst_clock_get_property):
13674         * gst/gstclock.h:
13675         * gst/gstcompat.h:
13676         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13677         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13678         * gst/gstdata.h:
13679         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13680         (gst_element_requires_clock), (gst_element_provides_clock),
13681         (gst_element_set_clock), (gst_element_clock_wait),
13682         (gst_element_wait), (gst_element_set_time_delay),
13683         (gst_element_is_indexable), (gst_element_add_pad),
13684         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13685         (pad_compare_name), (gst_element_get_static_pad),
13686         (gst_element_request_pad), (gst_element_get_request_pad),
13687         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13688         (gst_element_class_get_pad_template_list),
13689         (gst_element_class_get_pad_template), (gst_element_error_func),
13690         (gst_element_get_random_pad), (gst_element_get_event_masks),
13691         (gst_element_send_event), (gst_element_seek),
13692         (gst_element_get_query_types), (gst_element_query),
13693         (gst_element_get_formats), (gst_element_convert),
13694         (gst_element_is_locked_state), (gst_element_set_locked_state),
13695         (gst_element_sync_state_with_parent), (gst_element_change_state),
13696         (gst_element_finalize), (gst_element_yield),
13697         (gst_element_interrupt), (gst_element_set_scheduler),
13698         (gst_element_get_scheduler), (gst_element_set_loop_function):
13699         * gst/gstelement.h:
13700         * gst/gstevent.h:
13701         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13702         (gst_format_get_by_nick), (gst_format_get_details),
13703         (gst_format_iterate_definitions):
13704         * gst/gstformat.h:
13705         * gst/gstindex.c: (gst_index_gtype_resolver):
13706         * gst/gstinfo.c:
13707         * gst/gstinfo.h:
13708         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13709         (gst_mem_chunk_free):
13710         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13711         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13712         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13713         (gst_object_dispatch_properties_changed),
13714         (gst_object_set_name_default), (gst_object_set_name),
13715         (gst_object_get_name), (gst_object_set_name_prefix),
13716         (gst_object_get_name_prefix), (gst_object_set_parent),
13717         (gst_object_get_parent), (gst_object_unparent),
13718         (gst_object_check_uniqueness), (gst_object_save_thyself),
13719         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13720         (gst_object_set_property), (gst_object_get_property),
13721         (gst_object_get_path_string):
13722         * gst/gstobject.h:
13723         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13724         (gst_real_pad_init), (gst_real_pad_get_property),
13725         (gst_pad_custom_new), (gst_pad_get_direction),
13726         (gst_pad_set_active), (gst_pad_is_active),
13727         (gst_pad_set_event_function), (gst_pad_is_linked),
13728         (gst_pad_link_free), (gst_pad_link_intersect),
13729         (gst_pad_link_fixate), (gst_pad_set_caps),
13730         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13731         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13732         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13733         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13734         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13735         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13736         (gst_pad_realize), (gst_pad_get_allowed_caps),
13737         (gst_real_pad_dispose), (gst_real_pad_finalize),
13738         (gst_pad_collectv), (gst_pad_collect_valist),
13739         (gst_pad_template_dispose), (gst_pad_template_new),
13740         (gst_pad_get_internal_links):
13741         * gst/gstpad.h:
13742         * gst/gstpipeline.c: (gst_pipeline_dispose),
13743         (gst_pipeline_change_state):
13744         * gst/gstpipeline.h:
13745         * gst/gstplugin.c:
13746         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13747         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13748         * gst/gstpluginfeature.h:
13749         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13750         * gst/gstquery.c: (_gst_query_type_initialize),
13751         (gst_query_type_register), (gst_query_type_get_by_nick),
13752         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13753         * gst/gstquery.h:
13754         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13755         * gst/gstscheduler.c: (gst_scheduler_add_element),
13756         (gst_scheduler_factory_create):
13757         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13758         (gst_structure_free), (gst_structure_set_name),
13759         (gst_structure_id_set_value), (gst_structure_set_value),
13760         (gst_structure_set_valist), (gst_structure_remove_field),
13761         (gst_structure_remove_fields),
13762         (gst_structure_remove_fields_valist),
13763         (gst_structure_remove_all_fields), (gst_structure_foreach),
13764         (gst_structure_map_in_place),
13765         (gst_caps_structure_fixate_field_nearest_int),
13766         (gst_caps_structure_fixate_field_nearest_double):
13767         * gst/gststructure.h:
13768         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13769         (gst_system_clock_init), (gst_system_clock_dispose),
13770         (gst_system_clock_async_thread),
13771         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13772         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13773         * gst/gstsystemclock.h:
13774         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13775         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13776         * gst/gsttaginterface.c:
13777         * gst/gstthread.c: (gst_thread_dispose),
13778         (gst_thread_release_children_locks), (gst_thread_change_state),
13779         (gst_thread_main_loop):
13780         * gst/gsttrashstack.h:
13781         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13782         * gst/gsttypes.h:
13783         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13784         (gst_element_request_pad), (gst_element_get_pad_from_template),
13785         (gst_element_request_compatible_pad),
13786         (gst_element_get_compatible_pad_filtered),
13787         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13788         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13789         (gst_element_link_many), (gst_element_link),
13790         (gst_element_link_pads), (gst_element_unlink_pads),
13791         (gst_element_unlink_many), (gst_element_unlink),
13792         (gst_pad_can_link_filtered), (gst_pad_can_link),
13793         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13794         (gst_object_default_error), (gst_bin_add_many),
13795         (gst_bin_remove_many), (gst_element_populate_std_props),
13796         (gst_element_class_install_std_props), (gst_buffer_merge),
13797         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13798         (link_fold_func), (gst_pad_proxy_setcaps):
13799         * gst/gstutils.h:
13800         * gst/gstvalue.c: (gst_value_deserialize_string):
13801         * gst/parse/grammar.y:
13802         * gst/schedulers/gstbasicscheduler.c:
13803         (gst_basic_scheduler_cothreaded_chain),
13804         (gst_basic_scheduler_chain_recursive_add),
13805         (gst_basic_scheduler_pad_link):
13806         * gst/schedulers/gstoptimalscheduler.c:
13807         (get_group_schedule_function),
13808         (gst_opt_scheduler_state_transition),
13809         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13810         * libs/gst/bytestream/bytestream.c:
13811         * libs/gst/dataprotocol/dataprotocol.c:
13812         (gst_dp_header_from_buffer):
13813         * po/nb.po:
13814         * po/ru.po:
13815         * tests/threadstate/threadstate2.c: (eos):
13816         * tools/gst-compprep.c: (main):
13817         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13818         (print_pad_info), (print_children_info):
13819         * tools/gst-launch.c: (idle_func), (main):
13820         * tools/gst-md5sum.c: (idle_func), (main):
13821         * tools/gst-xmlinspect.c: (print_element_info):
13822         First THREADED backport attempt, focusing on adding locks and
13823         making sure the API is threadsafe. Needs more work. More docs
13824         follow this week.
13825
13826 2005-02-24  Andy Wingo  <wingo@pobox.com>
13827
13828         * tests/bench-complexity.scm:
13829         * tests/complexity.gnuplot: New files, good for running complexity
13830         benchmarks.
13831
13832         * tests/Makefile.am:
13833         * tests/complexity.c: New test, sets up N elements, at each level
13834         teeing into M streams per element. Eeeenteresting.
13835
13836         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13837         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13838         running bench-mass_elements.scm.
13839
13840         * tests/bench-mass_elements.scm: New script, runs mass_elements
13841         for various numbers of identities, outputting the results to a
13842         file. Requires guile 1.6. Just for testing.
13843
13844 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13845
13846         * gst/schedulers/fairscheduler.c:
13847           compile with debug disabled
13848
13849 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13850
13851         * configure.ac:
13852           hunting season on 0.9 is now OPEN