win32/MANIFEST: more updating
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
2
3         * win32/MANIFEST:
4           more updating
5
6 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
7
8         * win32/MANIFEST:
9           remove obsolete entry
10
11 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12
13         * docs/gst/gstreamer-sections.txt:
14         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
15         (gst_bin_iterate_sources), (gst_bin_send_event):
16         * gst/gstbin.h:
17         * gst/gstelement.c: (gst_element_send_event):
18         * gst/gstevent.c:
19         * gst/gstpad.c: (gst_pad_send_event):
20           added code for downstream events, reviewed docs in gstevent.c
21
22 2006-01-25  Julien MOUTTE  <julien@moutte.net>
23
24         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
25         We only query position using the clock in the playing state.
26         Query peer in the other cases.
27         * win32/common/config.h: Updates.
28
29 2006-01-24  Wim Taymans  <wim@fluendo.com>
30
31         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
32         A clock entry that is scheduled for the exact time of the
33         clock is still in time.
34
35         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
36         (gst_base_sink_do_sync):
37         Add some more debug info.
38
39 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
40
41         * win32/vs7:
42           Add new vs7 project files and solution.
43
44 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
45
46         * win32/vs7:
47           all files removed as they were out-dated.
48
49 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
50
51         * docs/random/release:
52           update notes
53         * gst/gstbin.c: (gst_bin_init):
54         * gst/gstbus.c: (gst_bus_new):
55         * gst/gstbus.h:
56         * gst/gstpipeline.c: (gst_pipeline_init):
57           use gst_bus_new(), improve logging, fix docs
58         * win32/common/config.h:
59           update for cvs build
60
61 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
62
63         * autogen.sh:
64           up required version of automake to 1.7
65
66 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
67
68         * win32/common/libgstreamer.def:
69           export gst_buffer_is_metadata_writable
70
71 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
72
73         * docs/gst/gstreamer-sections.txt:
74         * gst/gstevent.h:
75           Add gst_event_replace() (#327001)
76
77 2006-01-20  Wim Taymans  <wim@fluendo.com>
78
79         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
80         Make it actually compile too..
81
82 2006-01-20  Wim Taymans  <wim@fluendo.com>
83
84         * gst/gstcaps.c:
85         Clarify behaviour of _is_equal() when passing NULL parameters.
86
87         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
88         (gst_pad_set_caps):
89         Cleanups. Don't unref NULL caps.
90         When setting the same caps, protect caps of the pad with
91         proper lock.
92         Use full functionality of _is_equal() when comparing caps.
93
94 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
95
96         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
97         Don't loop infinitely if there are no buffers to present. Partially
98         fixes #327197, but collectpads is just broken for reusing elements
99         to do multiple encodes atm.
100
101 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
102
103         * tools/gst-inspect.c: (print_element_features):
104         * tools/gst-xmlinspect.c: (main):
105         URL_HANDLER is not a plugin feature we can search for in
106         the registry.
107
108 2006-01-19  Edward Hervey  <edward@fluendo.com>
109
110         * gst/gstelement.c: (gst_element_pads_activate): 
111         When activating, do src pads first, then sink pads.
112         When de-activating, do sink pads first, then src pads.
113
114 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
115
116         * docs/gst/gstreamer-sections.txt:
117         Add gst_index_add_associationv to the docs
118
119 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
120
121         * gst/gstevent.c:
122           Fix docs typo
123
124         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
125         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
126           Do some refactoring. Doesn't actually change functionality,
127           but makes landing the DRAIN event easier later.
128
129 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
130
131         * docs/pwg/advanced-scheduling.xml:
132           Update from 0.9.x to 0.10 API and make example a bit
133           clearer.
134
135 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
136
137         * docs/gst/gstreamer-sections.txt:
138         Add gst_buffer_(is|make)_metadata_writable methods.
139
140 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
141
142         * docs/design/part-sparsestreams.txt:
143         Update sparse streams doc, hopefully for greater clarity
144
145 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
146
147         * docs/design/part-events.txt:
148         Remove mention of FILLER events.
149         Add DRAIN event.
150
151         * docs/design/part-sparsestreams.txt:
152         Write some things about using NEWSEGMENT to keep sparse streams
153         flowing.
154
155 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
156
157         * gst/gstbin.c: (gst_bin_dispose):
158           Guard gst_object_unref call against a NULL object (dispose
159           can theoretically be called multiple times).
160           
161 2006-01-18  Wim Taymans  <wim@fluendo.com>
162
163         * gst/gstbin.c: (gst_bin_element_set_state):
164         * gst/gstclock.c: (gst_clock_id_wait):
165         Added some more debug info.
166
167         * libs/gst/base/gstadapter.c:
168         Added more docs.
169
170         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
171         (gst_base_sink_do_sync), (gst_base_sink_chain):
172         Added some comments.
173
174 2006-01-18  Wim Taymans  <wim@fluendo.com>
175
176         * tests/check/Makefile.am:
177         * tests/check/elements/fakesink.c: (chain_async_buffer),
178         (chain_async), (chain_async_return), (GST_START_TEST),
179         (fakesink_suite), (main):
180         Added fakesink test that checks prerolling and clipping
181         behaviour.
182
183         * tests/check/gst/gstutils.c: (GST_START_TEST):
184         Make check run faster so that buildbots don't timeout.
185
186 2006-01-18  Wim Taymans  <wim@fluendo.com>
187
188         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
189         (gst_base_sink_do_sync):
190         Some cleanups.
191         When the sink finishes blocking on the preroll buffer, it can
192         immediatly render it instead of rendering when the next buffer
193         arrives.
194
195 2006-01-18  Wim Taymans  <wim@fluendo.com>
196
197         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
198         (gst_base_sink_get_property), (gst_base_sink_do_sync),
199         (gst_base_sink_chain):
200         Small cleanups.
201         GST_ELEMENT_CLOCK and sync are protected with LOCK.
202         Don't store _last_stop if the buffer is dropped.
203
204 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
205
206         * plugins/elements/gsttypefindelement.c:
207         (gst_type_find_element_class_init):
208           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
209           object method handler that sets the caps on the pad and we want
210           that to happen before we emit the signal (fixes e.g. feeding a
211           plain text file to decodebin).
212
213 2006-01-18  Christian Schaller  <Christian@fluendo.com>
214
215         * gst/gstplugin.c: Add MPL and Proprietary as license options
216
217 2006-01-18  Andy Wingo  <wingo@pobox.com>
218
219         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
220         symbol was exported before, it appears this was just an oversight.
221         Fixes #168703.
222         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
223
224         * gst/gstindex.c (gst_index_add_associationv): Changed int in
225         prototype to gint. OK since this prototype was not in the header.
226
227 2006-01-17  Andy Wingo  <wingo@pobox.com>
228
229         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
230         registry while we remove plugins.
231
232         * tools/gst-inspect.c (print_element_info): Don't unref the
233         factory arg, that should be the responsibility of whatever code
234         received the ref. Fixes a double-free when called from
235         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
236         (main): Unref the factory if we have one.
237         (print_element_list): No change -- relies on the
238         plugin_feature_list_free to free the list of features.
239
240 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
241
242         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
243         (gst_buffer_make_metadata_writable):
244         * gst/gstbuffer.h:
245         * libs/gst/base/gstbasetransform.c:
246         (gst_base_transform_prepare_output_buf):
247         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
248         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
249           Replace gst_buffer_(make|is)_metadata_writable patch now
250           that the release is out.
251
252 2006-01-17  Andy Wingo  <wingo@pobox.com>
253
254         * gst/gstregistry.c: Reflow design comment. Update so as to speak
255         in the present tense without reference to versions.
256
257         * gst/gstregistry.c (gst_registry_add_plugin)
258         (gst_registry_remove_plugin, gst_registry_remove_feature)
259         (gst_registry_find_feature, gst_registry_get_feature_list)
260         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
261         (gst_registry_lookup, gst_registry_scan_path)
262         (_gst_registry_remove_cache_plugins)
263         (gst_registry_get_feature_list_by_plugin): Add argument
264         validation.
265
266 === release 0.10.2 ===
267
268 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
269
270         * configure.ac:
271           releasing 0.10.2, "If man is five"
272
273 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
274
275         * gst/gstbuffer.c:
276         * gst/gstbuffer.h:
277         * libs/gst/base/gstbasetransform.c:
278         (gst_base_transform_prepare_output_buf):
279         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
280         * tests/check/gst/gstbuffer.c: (gst_test_suite):
281           Back out patch until after the release.
282
283 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
284
285         * gst/gstminiobject.c:
286           Spelling fix in docs.
287         * ChangeLog - remove conflict indicator
288
289 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
290
291         Reviewed By: Andy Wingo
292
293         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
294         (gst_buffer_make_metadata_writable):
295         * gst/gstbuffer.h:
296           Add gst_buffer_(is|make)_metadata_writable as analogues of
297           gst_buffer_(is|make)_writable.
298
299         * libs/gst/base/gstbasetransform.c:
300         (gst_base_transform_prepare_output_buf):
301         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
302           Use name gst_buffer_(is|make)_metadata_writable functions.
303
304         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
305           Test gst_buffer_(is|make)_metadata_writable
306         
307           (Closes: #324162)
308
309 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
310
311         * docs/manual/Makefile.am:
312           don't do parallel make
313         * configure.ac:
314           AC_SUBST HOST_CPU
315         * win32/common/config.h.in:
316           add generations for HOST_CPU and GST_MAJORMINOR
317         * win32/common/config.h:
318           commit generated result
319
320 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
321
322         * docs/manual/appendix-integration.xml:
323           Update GNOME integration section to use gst_init_get_option_group()
324           instead of the old popt stuff (#322911). Also, GNOME applications
325           should  now use gconf*sink and gconf*src instead of the old gconf
326           helper lib we had.
327
328 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
329
330
331         * docs/gst/gstreamer-docs.sgml:
332         * docs/gst/gstreamer-sections.txt:
333         * docs/libs/gstreamer-libs-sections.txt:
334           add new API entries to the docs
335         * libs/gst/controller/Makefile.am:
336         * libs/gst/controller/gstcontroller.c:
337         * libs/gst/controller/gstcontroller.h:
338         * libs/gst/controller/gstcontrollerprivate.h:
339         * libs/gst/controller/gsthelper.c:
340         * libs/gst/controller/gstinterpolation.c:
341           move private structs to private header
342         * po/README:
343           gstreamer-0.7 -> gstreamer-0.10
344         * tests/check/libs/struct_i386.h:
345           remove private structs
346
347 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
348
349         * plugins/indexers/Makefile.am:
350           Fixes as part of #317048
351
352 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
353
354         * plugins/indexers/Makefile.am:
355           fix #316086 - compilation when mmap is missing
356
357 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
358
359         * libs/gst/base/gstbasesink.c:
360           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
361           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
362         * win32/common/config.h:
363           added some defines GST_MAJORMINOR and HOST_CPU
364         * win32/common/libgstbase.def:
365         * win32/common/libgstreamer.def:
366           added some exported functions.
367
368 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
369
370         * libs/gst/controller/gstcontroller.c:
371         (gst_controlled_property_set_interpolation_mode),
372         (gst_controlled_property_new):
373         * libs/gst/controller/gstcontroller.h:
374         * libs/gst/controller/gstinterpolation.c:
375         (interpolate_none_get_string_value_array):
376           make G_TYPE_STRING controlable
377
378 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
379
380         * tools/README:
381         * tools/gst-feedback.1.in:
382         * tools/gst-inspect.1.in:
383         * tools/gst-launch.1.in:
384         * tools/gst-md5sum.1.in:
385         * tools/gst-typefind.1.in:
386         * tools/gst-xmlinspect.1.in:
387         * tools/gst-xmllaunch.1.in:
388           cleanup man-pages, remove reference to gst-register, document env-vars
389
390 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
391
392         * gst/gstbuffer.c: (gst_buffer_span):
393           gst_buffer_span should copy the timestamp of the first buffer
394           if they were both originally overlapping subbuffers of the 
395           same parent, using the same logic as the 'slow copy' case.
396
397 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
398
399         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
400           Need to awaken ALL the pads when we pop a buffer, otherwise
401           collectpads only works when there is 2 input streams.
402
403 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
404
405         * docs/random/ensonic/media-device-daemon.txt:
406           more ideas (dbus)
407         * gst/gstbuffer.c:
408           fix doc example, add clarification
409         * tools/gst-launch.1.in:
410           add initial info about GST_PLUGIN_PATH, needs more work
411
412 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
413
414         * docs/manual/basics-bins.xml:
415         * docs/manual/basics-elements.xml:
416         * docs/manual/intro-basics.xml:
417           Some more minor docs additions and updates.
418
419 2006-01-11  Wim Taymans  <wim@fluendo.com>
420
421         * docs/manual/basics-bins.xml:
422         * docs/manual/basics-elements.xml:
423         Some small fixes as pointed out by Ser-ver on IRC.
424
425 2006-01-10  Edward Hervey  <edward@fluendo.com>
426
427         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
428         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
429         the single-segment mode.
430
431 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
432
433         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
434
435         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
436         (gst_base_src_perform_seek), (gst_base_src_send_event),
437         (gst_base_src_set_property), (gst_base_src_get_property),
438         (gst_base_src_loop), (gst_base_src_start),
439         (gst_base_src_activate_push):
440         * libs/gst/base/gstbasesrc.h:
441           Name (private) union; makes Sun's Forte compiler happy (#324900).
442
443 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
444
445         * README:
446           gst-register is gone.
447
448 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
449
450         * gst/gstvalue.c: (_gst_value_initialize):
451           make the G_TYPE_DATE instantiation work if debug is disabled
452
453 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
454
455         * gst/gstmessage.c: (gst_message_parse_tag),
456         (gst_message_parse_error), (gst_message_parse_warning):
457           Don't crash when return location for error/warning debug
458           string is NULL; add fact that return locations can be
459           NULL to docs where appropriate.
460
461 2006-01-05  Wim Taymans  <wim@fluendo.com>
462
463         * gst/gstplugin.c: (gst_plugin_load_file):
464         Replace strdup by g_strdup.
465
466 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
467
468         * docs/pwg/advanced-types.xml:
469           fix doc borkage
470
471 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
472
473         submitted by: Abel Cheung
474
475         * po/LINGUAS:
476         * po/zh_TW.po:
477           Added Chinese (traditional) translation
478
479 2006-01-04  Wim Taymans  <wim@fluendo.com>
480
481         * docs/manual/basics-pads.xml:
482         * docs/plugins/Makefile.am:
483         * docs/plugins/gstreamer-plugins-docs.sgml:
484         * docs/plugins/gstreamer-plugins-sections.txt:
485         * docs/pwg/advanced-clock.xml:
486         * docs/pwg/advanced-scheduling.xml:
487         * docs/pwg/advanced-types.xml:
488         * plugins/elements/gstfdsink.c:
489         * plugins/elements/gstfdsrc.c:
490         * plugins/elements/gstfdsrc.h:
491         * plugins/elements/gstidentity.c: (gst_identity_class_init):
492         * plugins/elements/gstidentity.h:
493         * plugins/elements/gstqueue.h:
494         * plugins/elements/gsttee.c:
495         * plugins/elements/gsttee.h:
496         * plugins/elements/gsttypefindelement.c:
497         (gst_type_find_element_class_init):
498         * plugins/elements/gsttypefindelement.h:
499         Small updates to various docs.
500         Added core plugins to docs.
501
502 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
503
504         * common/gst.supp:
505           add a suppression for liboil's uninitialized variable
506
507 2006-01-02  James Livingston  <jrl at ids dot org dot au>
508
509         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
510
511         * gst/gstutils.h:
512           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
513           macro, so that gcc doesn't complain if the -Wmissing-prototypes
514           compiler switch is being used (#325429).
515
516 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
517
518         * gst/gstbin.c: (gst_bin_query):
519           Disable duration query caching in bins until it gets
520           fixed (see #324807).
521
522 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
523
524         * tools/gst-inspect.c: (print_element_properties_info):
525           Handle properties of POINTER and BOXED type.
526
527 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
528
529         * gst/gst.c: (init_post):
530           Init tags stuff and some other things before loading
531           any static plugins (there may be other static plugins
532           than just the GStreamer ones, and they may want to
533           register their own tags or formats or whatever, and
534           preferably without segfaulting).
535
536         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
537           Print at least a warning in the debug logs if we drop a
538           query just because we don't know how to adjust the value
539           in the particular format.
540
541 2005-12-24  David Schleef  <ds@schleef.org>
542
543         * tools/gstreamer-completion:
544           Replacement for gst-complete written in sh and sed.  Only
545           completes names of features, but that's 90% of what I want
546           it for.  Properties are not available in registry.xml.  (Maybe
547           they should be...)
548
549 === release 0.10.1 ===
550
551 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
552
553         * configure.ac:
554           releasing 0.10.1, "Nollaig chridheil"
555
556 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
557
558         * docs/faq/cvs.xml:
559           Add missing quote, should be make ERROR_CFLAGS="".
560
561 2005-12-20  Wim Taymans  <wim@fluendo.com>
562
563         * docs/design/part-trickmodes.txt:
564         More documentation on trickmodes.
565
566 2005-12-20  Edward Hervey  <edward@fluendo.com>
567
568         * gst/gstcaps.c: (gst_static_caps_get_type):
569         * gst/gstcaps.h:
570           API addition: GST_TYPE_STATIC_CAPS
571         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
572         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
573         * gst/gstpadtemplate.h:
574           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
575         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
576         bindings.
577
578 2005-12-18  Wim Taymans  <wim@fluendo.com>
579
580         * libs/gst/base/gstadapter.c:
581         * libs/gst/base/gstadapter.h:
582         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
583         (gst_base_sink_get_position):
584         * libs/gst/base/gstbasesink.h:
585         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
586         (gst_base_src_default_query), (gst_base_src_default_do_seek),
587         (gst_base_src_do_seek), (gst_base_src_perform_seek),
588         (gst_base_src_send_event), (gst_base_src_update_length),
589         (gst_base_src_get_range), (gst_base_src_loop),
590         (gst_base_src_start):
591         * libs/gst/base/gstbasesrc.h:
592         * libs/gst/base/gstbasetransform.h:
593         * libs/gst/base/gstcollectpads.h:
594         * libs/gst/base/gstpushsrc.c:
595         * libs/gst/base/gstpushsrc.h:
596         * libs/gst/dataprotocol/dataprotocol.c:
597         * libs/gst/dataprotocol/dataprotocol.h:
598         * libs/gst/net/gstnetclientclock.h:
599         * libs/gst/net/gstnettimeprovider.h:
600         Documentation updates.
601
602 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
603
604         * docs/manual/basics-helloworld.xml:
605           Remove superfluous closing bracket in helloworld example.
606
607 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
608
609         * tools/gst-launch.1.in:
610           Update gst-launch man page; add a section with useful
611           environment variables. Fixes #323882.
612
613 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
614
615         * gst/gst.c:
616         * gst/gst_private.h:
617           change some char* into char[]
618
619 2005-12-16  Wim Taymans  <wim@fluendo.com>
620
621         * gst/gstregistryxml.c: (load_feature):
622         Cleanups.
623         Don't use g_object_unref on GstObjects so that we avoid
624         leaks on unsafe glibs.
625
626 2005-12-16  Wim Taymans  <wim@fluendo.com>
627
628         * gst/gstbin.c: (gst_bin_recalc_state):
629         Small doc updates.
630
631 2005-12-16  Wim Taymans  <wim@fluendo.com>
632
633         * common/check.mak:
634         Added make forever target for check.
635
636 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
637
638         * gst/gst.c: (init_post):
639           make the registry cache file HOST_CPU-dependent
640
641 2005-12-16  Andy Wingo  <wingo@pobox.com>
642
643         * plugins/elements/gstbufferstore.c
644         (gst_buffer_store_cleared_func): Pay attention to g_list_append
645         return value.
646
647         * tests/check/gst/gstobject.c
648         (test_fake_object_name_threaded_unique): Pay attention to
649         g_list_sort return value.
650
651 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
652
653         * tools/gst-feedback-m.m:
654           Update for 0.9/0.10 (fixes #323870).
655
656 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
657
658         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
659           Fix lcopy for mini objects, the mini object needs to be ref'ed.
660           
661         * tests/check/gst/gstminiobject.c: (my_foo_init),
662         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
663         (test_value_collection), (gst_mini_object_suite):
664           Add test to ensure refcounts end up as expected when passing
665           GstMiniObjects through g_object_get() and g_object_set().
666
667 2005-12-14  Julien MOUTTE  <julien@moutte.net>
668
669         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
670         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
671         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
672         of collectpads. This version removes a lot of races without
673         touching API/ABI. Yay !
674
675 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
676
677         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
678           Don't allow activation of a srcpad in pull_range if it has no
679           getrange function.
680           Change some debug statements to be a little clearer
681
682         * plugins/elements/gsttypefindelement.c:
683         (gst_type_find_handle_src_query):
684           Check that we have a peer before executing queries thereupon.
685
686         * tests/examples/metadata/read-metadata.c: (message_loop):
687           Use gst_bus_pop instead of gst_bus_poll when we just want it to
688           immediately return us any available message with 0 timeout.
689
690 2005-12-12  Michael Smith  <msmith@fluendo.com>
691
692         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
693           Don't unref factories after calling them.
694         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
695         * plugins/elements/gsttypefindelement.c:
696         (gst_type_find_element_chain):
697           Free lists of factories after using them. Fixing typefinding memory
698           leaks.
699
700 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
701
702         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
703         (gst_plugin_feature_load):
704           more meaningful debug output
705         * configure.ac:
706         * tests/Makefile.am:
707         * tests/old/examples/Makefile.am:
708           make make distcheck happy again
709
710 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
711
712         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
713           Catch the special case where we are operating chain-based,
714           but the downstream peer pad has no chain function. Emit a
715           custom error message in this case instead of letting the
716           core generate one implying that this is some sort of core
717           bug. It's not, it just means that whatever got plugged
718           into the pipeline downstream when we announced the type
719           can only operate pull-based, while our source can only
720           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
721           Error string has not been marked for translation yet, as
722           it probably needs some more work first.
723
724         (gst_type_find_element_get_best_possibility):
725           Add helper function to find the best of all available
726           found possibilities that qualify given the min. threshold.
727
728         (gst_type_find_element_handle_event):
729           Fix the case where we get an EOS while still in TYPEFIND
730           mode (we want to chose the best of all possible types,
731           not just the first type that happens to be in our unsorted
732           list of possible types).
733
734         (gst_type_find_element_chain):
735           Make sure we return GST_FLOW_ERROR when we errored out
736           in stop_typefinding(); also, don't just find the best of
737           all found type entries and then use the last examined
738           type entry, but actually use the best entry.
739
740 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
741
742         * tests/examples/typefind/typefind.c: (type_found):
743         * tests/examples/xml/runxml.c: (xml_loaded):
744           More gcc4 fixes and a mem leak fix.
745
746 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
747
748         * tests/examples/xml/createxml.c: (object_saved):
749           gcc 4 fixes
750
751 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
752
753         * tests/Makefile.am:
754           enable the examples even more
755
756 2005-12-12  Andy Wingo  <wingo@pobox.com>
757
758         * libs/gst/net/gstnettimeprovider.c
759         (gst_net_time_provider_class_init, gst_net_time_provider_init)
760         (gst_net_time_provider_set_property)
761         (gst_net_time_provider_get_property):
762         API addition: Export "active" as a GObject property.
763         (gst_net_time_provider_thread): Only respond to time queries if
764         the time provider is active.
765
766         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
767         NetTimeProvider, preserving binary compat.
768
769 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
770
771         * tests/examples/controller/audio-example.c: (main):
772         * tests/examples/launch/Makefile.am:
773           convert comments again
774
775 2005-12-12  Wim Taymans  <wim@fluendo.com>
776
777         * libs/gst/base/gstpushsrc.c:
778         Fix typo.
779
780 2005-12-12  Wim Taymans  <wim@fluendo.com>
781
782         * docs/libs/gstreamer-libs-sections.txt:
783         Added new symbol to docs.
784
785         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
786         (gst_base_src_init), (gst_base_src_set_format),
787         (gst_base_src_default_query), (gst_base_src_query),
788         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
789         (gst_base_src_perform_seek), (gst_base_src_send_event),
790         (gst_base_src_default_event), (gst_base_src_event_handler),
791         (gst_base_src_set_property), (gst_base_src_get_property),
792         (gst_base_src_wait), (gst_base_src_do_sync),
793         (gst_base_src_update_length), (gst_base_src_get_range),
794         (gst_base_src_check_get_range), (gst_base_src_loop),
795         (gst_base_src_default_negotiate), (gst_base_src_start),
796         (gst_base_src_activate_push), (gst_base_src_activate_pull),
797         (gst_base_src_change_state):
798         * libs/gst/base/gstbasesrc.h:
799         Implement seeking to other formats than _BYTES.
800         Implement more seeking methods correctly.
801         Doc updates.
802         Added query vmethod.
803         Added do_seek vmethod to make life easier for subclasses
804         when seeking.
805         API addition: gst_base_src_set_format()
806
807 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
808
809         * tests/examples/Makefile.am:
810           added that too
811
812 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
813
814         * configure.ac:
815         * docs/random/ensonic/media-device-daemon.txt:
816         * tests/examples/controller/.cvsignore:
817         * tests/examples/controller/Makefile.am:
818         * tests/examples/controller/audio-example.c: (main):
819         * tests/examples/helloworld/.cvsignore:
820         * tests/examples/helloworld/Makefile.am:
821         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
822         * tests/examples/launch/.cvsignore:
823         * tests/examples/launch/Makefile.am:
824         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
825         * tests/examples/metadata/.cvsignore:
826         * tests/examples/metadata/Makefile.am:
827         * tests/examples/metadata/read-metadata.c: (message_loop),
828         (make_pipeline), (print_tag), (main):
829         * tests/examples/queue/.cvsignore:
830         * tests/examples/queue/Makefile.am:
831         * tests/examples/queue/queue.c: (event_loop), (main):
832         * tests/examples/typefind/.cvsignore:
833         * tests/examples/typefind/Makefile.am:
834         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
835         (main):
836         * tests/examples/xml/.cvsignore:
837         * tests/examples/xml/Makefile.am:
838         * tests/examples/xml/createxml.c: (object_saved), (main):
839         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
840         * tests/old/examples/Makefile.am:
841         * tests/old/examples/TODO:
842         * tests/old/examples/controller/.cvsignore:
843         * tests/old/examples/controller/Makefile.am:
844         * tests/old/examples/controller/audio-example.c:
845         * tests/old/examples/helloworld/.cvsignore:
846         * tests/old/examples/helloworld/Makefile.am:
847         * tests/old/examples/helloworld/helloworld.c:
848         * tests/old/examples/launch/.cvsignore:
849         * tests/old/examples/launch/Makefile.am:
850         * tests/old/examples/launch/mp3parselaunch.c:
851         * tests/old/examples/launch/mp3play:
852         * tests/old/examples/manual/Makefile.am:
853         * tests/old/examples/metadata/Makefile.am:
854         * tests/old/examples/metadata/read-metadata.c:
855         * tests/old/examples/queue/.cvsignore:
856         * tests/old/examples/queue/Makefile.am:
857         * tests/old/examples/queue/queue.c:
858         * tests/old/examples/typefind/.cvsignore:
859         * tests/old/examples/typefind/Makefile.am:
860         * tests/old/examples/typefind/typefind.c:
861         * tests/old/examples/xml/.cvsignore:
862         * tests/old/examples/xml/Makefile.am:
863         * tests/old/examples/xml/createxml.c:
864         * tests/old/examples/xml/runxml.c:
865           applied some simple fixing to some examples
866           re-enabled the working examples
867
868 2005-12-12  Wim Taymans  <wim@fluendo.com>
869
870         * gst/gstsegment.c: (gst_segment_init),
871         (gst_segment_set_last_stop), (gst_segment_set_seek),
872         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
873         (gst_segment_to_running_time):
874         Added more documentation.
875         Make sure the last_pos value is updated properly.
876         Make sure to_stream_time and to_running_time don't
877         operate on wrong values.
878
879         * tests/check/gst/gstsegment.c: (GST_START_TEST):
880         Update check.
881
882 2005-12-12  Michael Smith  <msmith@fluendo.com>
883
884         * plugins/elements/gsttypefindelement.c: (free_entry),
885         (gst_type_find_element_chain):
886           Now that we're not leaking factories, make sure we keep references
887           to them while we need them.
888
889 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
890
891         * tests/check/gst/struct_i386.h:
892           ifdef out the XML structs
893
894 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
895
896         * gst/gstvalue.c: (gst_value_transform_double_fraction):
897           floor is not needed, F is always positive; this obviates the
898           need for adding -lm when building without libxml
899
900 2005-12-12  Wim Taymans  <wim@fluendo.com>
901
902         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
903         Take current playback rate into account when reporting
904         the position.
905
906 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
907
908         * docs/manual/mime-world.fig:
909           Let's try this again, this time with a file that is
910           actually in XFig format.
911
912 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
913
914         * docs/manual/mime-world.fig:
915           Add audioconvert element to diagram so that it
916           matches the text and the code (fixes #319526).
917
918 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
919
920         * docs/pwg/building-chainfn.xml:
921         * docs/pwg/building-pads.xml:
922         * docs/pwg/building-state.xml:
923         * docs/pwg/other-source.xml:
924           Update state change stuff for 0.10 (fixes #322969).
925
926 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
927
928         * docs/manual/advanced-dataaccess.xml:
929         * docs/manual/appendix-checklist.xml:
930         * docs/manual/appendix-programs.xml:
931         * docs/manual/basics-pads.xml:
932         * docs/manual/highlevel-components.xml:
933         * docs/manual/manual.xml:
934           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
935           add converters in front of pipelines; remove curly
936           brackets for threads stuff, they no longer exist; use
937           GST_TYPE_FRACTION for framerates; update some pieces of
938           code to 0.10, but there's plenty more to do.
939
940         * docs/manual/appendix-porting.xml:
941           Expand on asynchroneous state changes; s/0.9/0.10/;
942           mention disappearance of gst_init_get_popt_table()
943           (fixes #322916).
944
945 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
946
947         * docs/faq/using.xml:
948           Spider no longer exists, and neither does gst-launch-ext.
949           Update examples to use decodebin and playbin and put
950           converters in front of sinks (fixes #323726).
951
952 2005-12-09  Michael Smith  <msmith@fluendo.com>
953
954         * plugins/elements/gsttypefindelement.c: (find_peek),
955         (gst_type_find_element_chain):
956           Fix leaking element factories in typefinding.
957           Fix problem where we forgot about a probable type on non-seekable
958           files, and thus later mis-typefound it.
959
960 2005-12-09  Michael Smith  <msmith@fluendo.com>
961
962         * common/m4/gst-makecontext.m4:
963         * common/m4/gst-mcsc.m4:
964         * configure.ac:
965         * win32/common/config.h:
966         * win32/common/config.h.in:
967           Remove makecontext stuff; not used in 0.10 and causes problems on
968           HPUX according to bug #322441
969
970 2005-12-07  Wim Taymans  <wim@fluendo.com>
971
972         * tests/check/Makefile.am:
973         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
974         (main):
975         * tests/check/libs/struct_i386.h:
976         Added ABI check for libs
977
978 2005-12-07  Wim Taymans  <wim@fluendo.com>
979
980         * tests/check/Makefile.am:
981         And add the struct_i386.h to dist.
982
983 2005-12-07  Wim Taymans  <wim@fluendo.com>
984
985         * tests/check/Makefile.am:
986         * tests/check/gst/.cvsignore:
987         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
988         (main):
989         * tests/check/gst/struct_i386.h:
990         Added check for ABI compatibility.
991
992 2005-12-07  Wim Taymans  <wim@fluendo.com>
993
994         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
995         (gst_fake_src_get_times), (gst_fake_src_create):
996         Fix broken sync option, fixes #323259
997
998 2005-12-07  Wim Taymans  <wim@fluendo.com>
999
1000         * gst/gstbuffer.c:
1001         Small docs update.
1002
1003         * gst/gstcaps.c: (gst_caps_is_equal):
1004         Don't assert on NULL <--> X. Fixes #323260
1005
1006         * gst/gstminiobject.c: (gst_mini_object_replace):
1007         If we're doing atomic operations, we might just as well use
1008         the proper way to get an atomic pointer.
1009
1010         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1011         Clean up debugging.
1012
1013 2005-12-07  Michael Smith  <msmith@fluendo.com>
1014
1015         * gst/parse/grammar.y:
1016           Remove handling of { } for threads.
1017
1018 2005-12-06  David Schleef  <ds@schleef.org>
1019
1020         * libs/gst/base/gstbasetransform.c: speling fix.
1021
1022 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1023
1024         * docs/libs/tmpl/gstdataprotocol.sgml:
1025         * docs/random/omega/testing/gstobject.c:
1026         * gst/gst.c:
1027         * gst/gstclock.c:
1028         * gst/gstelement.c:
1029         * gst/gstelementfactory.c:
1030         * gst/gsterror.c:
1031         * gst/gstevent.c:
1032         * gst/gstghostpad.c:
1033         * gst/gstinfo.c:
1034         * gst/gstpadtemplate.c:
1035         * gst/gstregistryxml.c:
1036         * gst/gsttaglist.c:
1037         * gst/gsttagsetter.c:
1038         * gst/gsttypefind.c:
1039         * gst/gstvalue.c:
1040         * libs/gst/base/gstbasesrc.c:
1041         * libs/gst/net/gstnetclientclock.c:
1042         * libs/gst/net/gstnettimeprovider.c:
1043         * plugins/elements/gstfakesrc.c:
1044         * plugins/elements/gstfdsrc.c:
1045         * plugins/elements/gstfilesrc.c:
1046         * plugins/elements/gstidentity.c:
1047         * plugins/elements/gstqueue.c:
1048         * plugins/elements/gsttypefindelement.c:
1049         * plugins/indexers/gstfileindex.c:
1050         * plugins/indexers/gstmemindex.c:
1051         * tests/check/gst/gsttag.c:
1052         * tests/old/examples/cutter/cutter.c:
1053         * tests/old/examples/mixer/mixer.c:
1054         * tests/old/examples/xml/runxml.c: (main):
1055         * tests/old/testsuite/caps/normalisation.c:
1056         * tests/old/testsuite/debug/global.c:
1057         * tests/old/testsuite/parse/parse1.c:
1058         * tools/gst-xmlinspect.c:
1059         * win32/common/dirent.c:
1060           expand tabs
1061
1062 === release 0.10.0 ===
1063
1064 2005-12-05   <thomas (at) apestaart (dot) org>
1065
1066         * configure.ac:
1067           releasing 0.10.0, "Maroilles"
1068
1069 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1070
1071         submitted by: Funda Wang <fundawang@linux.net.cn>
1072
1073         * po/LINGUAS:
1074         * po/zh_CN.po:
1075           added Chinese (Traditional) translation
1076
1077 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1078
1079         * docs/gst/gstreamer-sections.txt:
1080         * docs/libs/tmpl/gstdataprotocol.sgml:
1081         * docs/random/thomasvs/TODO:
1082         * gst/gstutils.c:
1083         * gst/gstutils.h:
1084           fix docs
1085
1086 2005-12-05  Andy Wingo  <wingo@pobox.com>
1087
1088         patch by: Wim Taymans <wim@fluendo.com>
1089
1090         * libs/gst/base/gstbasetransform.c
1091         (gst_base_transform_prepare_output_buf)
1092         (gst_base_transform_buffer_alloc):
1093         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1094         alloc_buffer_and_set_caps.
1095
1096         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1097         set_caps on the source pad.
1098         (gst_pad_alloc_buffer_and_set_caps): New function, does what
1099         alloc_buffer used to do. Fixes #322874.
1100
1101         * docs/gst/gstreamer-sections.txt: 
1102         * docs/design/part-negotiation.txt: 
1103         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1104         changes.
1105
1106 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1107
1108         patch by: Sebastien Moutte
1109
1110         * win32/MANIFEST:
1111         * win32/common/config.h.in:
1112         * win32/vs6/libgstcontroller.dsp:
1113           win32 build fixes
1114
1115 2005-12-05  Wim Taymans  <wim@fluendo.com>
1116
1117         * gst/gstcaps.c: (gst_caps_is_equal):
1118         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1119         (gst_fake_src_create):
1120         Back out previous code changes, leave doc updates, file bugs 
1121         instead. 
1122
1123 2005-12-05  Wim Taymans  <wim@fluendo.com>
1124
1125         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1126         (gst_fake_src_get_times), (gst_fake_src_create):
1127         * plugins/elements/gstfakesrc.h:
1128         Fix broken sync code.
1129
1130 2005-12-05  Wim Taymans  <wim@fluendo.com>
1131
1132         * gst/gstcaps.c: (gst_caps_is_equal):
1133         Comparing NULL against !NULL yields different caps, not a
1134         failure.
1135
1136 2005-12-05  Wim Taymans  <wim@fluendo.com>
1137
1138         * gst/gstpipeline.c:
1139         Fix small typo in docs.
1140
1141 2005-12-05  Andy Wingo  <wingo@pobox.com>
1142
1143         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1144
1145         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1146         registries/plugins with a MAJORMINOR one.
1147         (plugin_desc): Rename library from gstcoreleements to
1148         staticelements. Fixes #323222.
1149
1150 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1151
1152         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1153           Change debug category to 'collectpads' from 'collect_pads'
1154           (fixes #323250).
1155
1156 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1157
1158         patch by: Sebastien Moutte
1159
1160         * libs/gst/controller/gstinterpolation.c:
1161           use convert function for uint64/double
1162         * win32/vs6/libgstcontroller.dsp:
1163           link to GLib
1164
1165 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1166
1167         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1168         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1169         * gst/gstutils.h:
1170         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1171           add tests that seem to show that the guint64/gdouble conversions
1172           are correct.
1173
1174 2005-12-02  Wim Taymans  <wim@fluendo.com>
1175
1176         * gst/gstregistry.c: (gst_registry_add_path):
1177         * gst/gstregistry.h:
1178         * gst/gstregistryxml.c:
1179         Fix docs again.
1180
1181 2005-12-02  Wim Taymans  <wim@fluendo.com>
1182
1183         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1184         (gst_util_uint64_scale_int):
1185         Small cleanup.
1186
1187         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1188         Add debug log line.
1189
1190         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1191         Add FIXME.
1192
1193 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1194
1195         * win32/MANIFEST:
1196         * win32/common/config.h:
1197         * win32/vs6/gstreamer.dsw:
1198         * win32/vs6/libgstcoreelements.dsp:
1199         * win32/vs6/libgstelements.dsp:
1200           renamed core elements plugin
1201
1202 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1203
1204         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1205         (get_candidates):
1206           do piece-wise major/minor comparison so 0.9 < 0.10
1207           also allow .exe extensions for tools
1208
1209 2005-12-02  Michael Smith  <msmith@fluendo.com>
1210
1211         * gst/gst.c:
1212           Escape a % to make gtkdoc happier; bug 322958.
1213
1214 === release 0.9.7 ===
1215
1216 2005-12-01   <thomas (at) apestaart (dot) org>
1217
1218         * configure.ac:
1219           releasing 0.9.7, "My Dog Has No Nose"
1220
1221 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1222
1223         * common/gst-xmlinspect.py:
1224         * configure.ac:
1225         * docs/libs/tmpl/gstdataprotocol.sgml:
1226         * docs/random/release:
1227         * po/af.po:
1228         * po/az.po:
1229         * po/bg.po:
1230         * po/ca.po:
1231         * po/cs.po:
1232         * po/de.po:
1233         * po/en_GB.po:
1234         * po/fr.po:
1235         * po/it.po:
1236         * po/nb.po:
1237         * po/nl.po:
1238         * po/ru.po:
1239         * po/sq.po:
1240         * po/sr.po:
1241         * po/sv.po:
1242         * po/tr.po:
1243         * po/uk.po:
1244         * po/vi.po:
1245         * win32/common/config.h:
1246         * win32/common/config.h.in:
1247         * win32/vs6/gst_inspect.dsp:
1248         * win32/vs6/gst_launch.dsp:
1249         * win32/vs6/libgstbase.dsp:
1250         * win32/vs6/libgstelements.dsp:
1251         * win32/vs6/libgstreamer.dsp:
1252         * win32/vs7/GStreamer.vcproj:
1253         * win32/vs7/gst-inspect.vcproj:
1254         * win32/vs7/gst-launch.vcproj:
1255         * win32/vs7/libgstbase.vcproj:
1256           bump GST_MAJORMINOR to 0.10
1257           reset libtool version
1258
1259 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1260
1261         * po/LINGUAS:
1262         * po/bg.po:
1263           Added Bulgarian translation by (Alexander Shopov)
1264
1265 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1266
1267         * tests/check/gst/gstplugin.c:
1268           fix test
1269
1270 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1271
1272         * common/gst-xmlinspect.py:
1273         * common/gtk-doc-plugins.mak:
1274         * configure.ac:
1275         * docs/Makefile.am:
1276         * docs/gst/Makefile.am:
1277         * docs/gst/gstreamer-docs.sgml:
1278         * docs/gst/gstreamer-sections.txt:
1279         * docs/gst/gstreamer.types:
1280         * docs/gst/gstreamer.types.in:
1281         * docs/plugins/Makefile.am:
1282         * docs/plugins/gstreamer-plugins-docs.sgml:
1283         * docs/plugins/gstreamer-plugins-sections.txt:
1284         * docs/plugins/gstreamer-plugins.types:
1285         * docs/plugins/inspect.stamp:
1286         * docs/plugins/inspect/plugin-coreelements.xml:
1287         * docs/plugins/inspect/plugin-coreindexers.xml:
1288         * docs/plugins/scanobj-build.stamp:
1289         * gstreamer.spec.in:
1290         * plugins/elements/Makefile.am:
1291         * plugins/elements/gstelements.c:
1292         * plugins/elements/gstfakesink.c:
1293         * plugins/elements/gstfakesrc.c:
1294         * plugins/elements/gstfilesink.c:
1295         * plugins/elements/gstfilesrc.c:
1296         * plugins/elements/gstqueue.c:
1297         * plugins/indexers/Makefile.am:
1298         * plugins/indexers/gstindexers.c:
1299           document core plugins in a separate document just like all the
1300           others
1301           rename these plugins to something starting with core
1302
1303 2005-12-01  Andy Wingo  <wingo@pobox.com>
1304
1305         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
1306         padding here before, but it missed the commit.
1307
1308 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1309
1310         * libs/gst/controller/gstinterpolation.c:
1311           whitespace prices have crashed, we should feel free to use some now
1312           use gst_guint64_to_gdouble
1313
1314 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1315
1316         * libs/gst/controller/gstcontroller.c:
1317         * libs/gst/controller/gsthelper.c:
1318         * libs/gst/controller/gstinterpolation.c:
1319         * libs/gst/controller/lib.c:
1320           wrap config.h include
1321
1322 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1323
1324         * docs/gst/gstreamer-sections.txt:
1325           update docs
1326
1327 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1328
1329         * plugins/elements/gstelements.c:
1330         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1331         (gst_fd_sink__class_init), (gst_fd_sink__init),
1332         (gst_fd_sink__chain), (gst_fd_sink__set_property),
1333         (gst_fd_sink__get_property):
1334         * plugins/elements/gstfdsink.h:
1335         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1336         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1337         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1338         (gst_fd_src_unlock), (gst_fd_src_set_property),
1339         (gst_fd_src_get_property), (gst_fd_src_create),
1340         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1341         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1342         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1343         (gst_fd_src_uri_handler_init):
1344         * plugins/elements/gstfdsrc.h:
1345         * plugins/elements/gstqueue.c: (gst_queue_get_type):
1346           more anal cleanup
1347
1348 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1349
1350         * docs/gst/Makefile.am:
1351         * docs/gst/gstreamer.types.in:
1352         * gst/Makefile.am:
1353           fix the docs build
1354
1355 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1356
1357         * configure.ac:
1358         * gst/Makefile.am:
1359         * gst/gst.c:
1360         * gst/gstplugin.h:
1361         * gst/gstregistry.h:
1362         * tests/benchmarks/complexity.c:
1363         * tests/benchmarks/mass-elements.c:
1364         * tests/check/Makefile.am:
1365         * tools/Makefile.am:
1366         * tools/gst-inspect.c:
1367         * tools/gst-xmlinspect.c:
1368           various fixes to make
1369           --disable-nls --disable-registry --disable-loadsave
1370           --disable-parse --disable-gst-debug
1371           work and get the core .so down to 360444 bytes after stripping
1372
1373 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1374
1375         * Makefile.am:
1376         * configure.ac:
1377           descend into tests
1378         * docs/random/thomasvs/TODO:
1379         * tests/Makefile.am:
1380         * tests/README:
1381           add a README
1382
1383 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1384
1385         * win32/GStreamer.vcproj:
1386         * win32/MANIFEST:
1387         * win32/Makefile:
1388         * win32/Makefile.inspect:
1389         * win32/Makefile.launch:
1390         * win32/Makefile.register:
1391         * win32/README.txt:
1392         * win32/gst-inspect.vcproj:
1393         * win32/gst-launch.vcproj:
1394         * win32/gst-register.vcproj:
1395         * win32/gstelements.vcproj:
1396         * win32/gstgetbits.def:
1397         * win32/gstgetbits.vcproj:
1398         * win32/gstreamer-dbg.def:
1399         * win32/gstreamer.def:
1400         * win32/libgstbase.def:
1401         * win32/libgstbase.vcproj:
1402         * win32/link_oldruntime.c:
1403         * win32/mman.c:
1404         * win32/mman.h:
1405         * win32/mman.inl:
1406         * win32/msvc71.sln:
1407           move even more stuff, win32/ is nice and clean now
1408
1409 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1410
1411         * libs/gst/control/.cvsignore:
1412         * win32/MANIFEST:
1413         * win32/config.h:
1414         * win32/dirent.c:
1415         * win32/dirent.h:
1416         * win32/gstbytestream.def:
1417         * win32/gstbytestream.vcproj:
1418         * win32/gstconfig.h:
1419         * win32/gstenumtypes.c:
1420         * win32/gstenumtypes.h:
1421         * win32/gstoptimalscheduler.vcproj:
1422         * win32/gstversion.h:
1423         * win32/gtchar.h:
1424         * win32/testsuite/bins.vcproj:
1425         * win32/testsuite/bytestream.vcproj:
1426         * win32/testsuite/caps.vcproj:
1427         * win32/testsuite/cleanup.vcproj:
1428         * win32/testsuite/clock.vcproj:
1429         * win32/testsuite/debug.vcproj:
1430         * win32/testsuite/dlopen.vcproj:
1431         * win32/testsuite/dynparams.vcproj:
1432         * win32/testsuite/elements.vcproj:
1433         * win32/testsuite/ghostpads.vcproj:
1434         * win32/testsuite/indexers.vcproj:
1435         * win32/testsuite/negotiation.vcproj:
1436         * win32/testsuite/parse.vcproj:
1437         * win32/testsuite/plugin.vcproj:
1438         * win32/testsuite/refcounting.vcproj:
1439         * win32/testsuite/schedulers.vcproj:
1440         * win32/testsuite/states.vcproj:
1441         * win32/testsuite/tags.vcproj:
1442         * win32/testsuite/threads.vcproj:
1443           remove old win32 stuff that isn't maintained and should be
1444           reorganized
1445
1446 2005-11-30  Andy Wingo  <wingo@pobox.com>
1447
1448         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
1449         loading the gst.interfaces python module bork.
1450
1451         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1452         available since GLib 2.2. Fixes #318031.
1453
1454 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1455
1456         * Makefile.am:
1457         * check/.cvsignore:
1458         * check/Makefile.am:
1459         * check/elements/.cvsignore:
1460         * check/elements/fakesrc.c:
1461         * check/elements/fdsrc.c:
1462         * check/elements/identity.c:
1463         * check/generic/.cvsignore:
1464         * check/generic/states.c:
1465         * check/gst-libs/.cvsignore:
1466         * check/gst-libs/controller.c:
1467         * check/gst-libs/gdp.c:
1468         * check/gst/.cvsignore:
1469         * check/gst/capslist.h:
1470         * check/gst/gst.c:
1471         * check/gst/gstbin.c:
1472         * check/gst/gstbuffer.c:
1473         * check/gst/gstbus.c:
1474         * check/gst/gstcaps.c:
1475         * check/gst/gstelement.c:
1476         * check/gst/gstevent.c:
1477         * check/gst/gstghostpad.c:
1478         * check/gst/gstiterator.c:
1479         * check/gst/gstmessage.c:
1480         * check/gst/gstminiobject.c:
1481         * check/gst/gstobject.c:
1482         * check/gst/gstpad.c:
1483         * check/gst/gstpipeline.c:
1484         * check/gst/gstplugin.c:
1485         * check/gst/gstsegment.c:
1486         * check/gst/gststructure.c:
1487         * check/gst/gstsystemclock.c:
1488         * check/gst/gsttag.c:
1489         * check/gst/gstutils.c:
1490         * check/gst/gstvalue.c:
1491         * check/net/.cvsignore:
1492         * check/net/gstnetclientclock.c:
1493         * check/net/gstnettimeprovider.c:
1494         * check/pipelines/.cvsignore:
1495         * check/pipelines/cleanup.c:
1496         * check/pipelines/simple_launch_lines.c:
1497         * check/pipelines/stress.c:
1498         * check/states/.cvsignore:
1499         * check/states/sinks.c:
1500         * configure.ac:
1501         * examples/Makefile.am:
1502         * examples/appreader/.cvsignore:
1503         * examples/appreader/Makefile.am:
1504         * examples/appreader/appreader.c:
1505         * examples/controller/.cvsignore:
1506         * examples/controller/Makefile.am:
1507         * examples/controller/audio-example.c:
1508         * examples/cutter/.cvsignore:
1509         * examples/cutter/Makefile.am:
1510         * examples/cutter/cutter.c:
1511         * examples/cutter/cutter.h:
1512         * examples/events/Makefile.am:
1513         * examples/events/seek.c:
1514         * examples/helloworld/.cvsignore:
1515         * examples/helloworld/Makefile.am:
1516         * examples/helloworld/helloworld.c:
1517         * examples/helloworld2/.cvsignore:
1518         * examples/helloworld2/Makefile.am:
1519         * examples/helloworld2/helloworld2.c:
1520         * examples/launch/.cvsignore:
1521         * examples/launch/Makefile.am:
1522         * examples/launch/mp3parselaunch.c:
1523         * examples/launch/mp3play:
1524         * examples/manual/.cvsignore:
1525         * examples/manual/Makefile.am:
1526         * examples/manual/extract.pl:
1527         * examples/metadata/Makefile.am:
1528         * examples/metadata/read-metadata.c:
1529         * examples/mixer/.cvsignore:
1530         * examples/mixer/Makefile.am:
1531         * examples/mixer/mixer.c:
1532         * examples/mixer/mixer.h:
1533         * examples/pingpong/.cvsignore:
1534         * examples/pingpong/Makefile.am:
1535         * examples/pingpong/pingpong.c:
1536         * examples/plugins/.cvsignore:
1537         * examples/plugins/Makefile.am:
1538         * examples/plugins/example.c:
1539         * examples/plugins/example.h:
1540         * examples/pwg/.cvsignore:
1541         * examples/pwg/Makefile.am:
1542         * examples/pwg/extract.pl:
1543         * examples/queue/.cvsignore:
1544         * examples/queue/Makefile.am:
1545         * examples/queue/queue.c:
1546         * examples/queue2/.cvsignore:
1547         * examples/queue2/Makefile.am:
1548         * examples/queue2/queue2.c:
1549         * examples/queue3/.cvsignore:
1550         * examples/queue3/Makefile.am:
1551         * examples/queue3/queue3.c:
1552         * examples/queue4/.cvsignore:
1553         * examples/queue4/Makefile.am:
1554         * examples/queue4/queue4.c:
1555         * examples/retag/.cvsignore:
1556         * examples/retag/Makefile.am:
1557         * examples/retag/retag.c:
1558         * examples/retag/transcode.c:
1559         * examples/thread/.cvsignore:
1560         * examples/thread/Makefile.am:
1561         * examples/thread/thread.c:
1562         * examples/typefind/.cvsignore:
1563         * examples/typefind/Makefile.am:
1564         * examples/typefind/typefind.c:
1565         * examples/xml/.cvsignore:
1566         * examples/xml/Makefile.am:
1567         * examples/xml/createxml.c:
1568         * examples/xml/runxml.c:
1569         * tests/Makefile.am:
1570         * tests/check/Makefile.am:
1571         * testsuite/.cvsignore:
1572         * testsuite/Makefile.am:
1573         * testsuite/Rules:
1574         * testsuite/caps/.cvsignore:
1575         * testsuite/caps/Makefile.am:
1576         * testsuite/caps/app_fixate.c:
1577         * testsuite/caps/audioscale.c:
1578         * testsuite/caps/caps.c:
1579         * testsuite/caps/caps.h:
1580         * testsuite/caps/caps_strings:
1581         * testsuite/caps/compatibility.c:
1582         * testsuite/caps/deserialize.c:
1583         * testsuite/caps/enumcaps.c:
1584         * testsuite/caps/eratosthenes.c:
1585         * testsuite/caps/filtercaps.c:
1586         * testsuite/caps/fixed.c:
1587         * testsuite/caps/fraction-convert.c:
1588         * testsuite/caps/fraction-multiply-and-zero.c:
1589         * testsuite/caps/intersect2.c:
1590         * testsuite/caps/intersection.c:
1591         * testsuite/caps/normalisation.c:
1592         * testsuite/caps/random.c:
1593         * testsuite/caps/renegotiate.c:
1594         * testsuite/caps/sets.c:
1595         * testsuite/caps/simplify.c:
1596         * testsuite/caps/string-conversions.c:
1597         * testsuite/caps/structure.c:
1598         * testsuite/caps/subtract.c:
1599         * testsuite/caps/union.c:
1600         * testsuite/debug/.cvsignore:
1601         * testsuite/debug/Makefile.am:
1602         * testsuite/debug/category.c:
1603         * testsuite/debug/commandline.c:
1604         * testsuite/debug/global.c:
1605         * testsuite/debug/output.c:
1606         * testsuite/debug/printf_extension.c:
1607         * testsuite/dlopen/.cvsignore:
1608         * testsuite/dlopen/Makefile.am:
1609         * testsuite/dlopen/dlopen_gst.c:
1610         * testsuite/dlopen/loadgst.c:
1611         * testsuite/elements/.cvsignore:
1612         * testsuite/elements/Makefile.am:
1613         * testsuite/elements/gst-inspect-check.in:
1614         * testsuite/elements/struct_i386.h:
1615         * testsuite/elements/struct_size.c:
1616         * testsuite/indexers/.cvsignore:
1617         * testsuite/indexers/Makefile.am:
1618         * testsuite/indexers/cache1.c:
1619         * testsuite/indexers/indexdump.c:
1620         * testsuite/parse/.cvsignore:
1621         * testsuite/parse/Makefile.am:
1622         * testsuite/parse/parse1.c:
1623         * testsuite/parse/parse2.c:
1624         * testsuite/plugin/.cvsignore:
1625         * testsuite/plugin/Makefile.am:
1626         * testsuite/plugin/README:
1627         * testsuite/plugin/dynamic.c:
1628         * testsuite/plugin/linked.c:
1629         * testsuite/plugin/loading.c:
1630         * testsuite/plugin/registry.c:
1631         * testsuite/plugin/static.c:
1632         * testsuite/plugin/static2.c:
1633         * testsuite/plugin/testplugin.c:
1634         * testsuite/plugin/testplugin2.c:
1635         * testsuite/plugin/testplugin2_s.c:
1636         * testsuite/plugin/testplugin_s.c:
1637         * testsuite/refcounting/.cvsignore:
1638         * testsuite/refcounting/Makefile.am:
1639         * testsuite/refcounting/bin.c:
1640         * testsuite/refcounting/element.c:
1641         * testsuite/refcounting/element_pad.c:
1642         * testsuite/refcounting/mainloop.c:
1643         * testsuite/refcounting/mem.c:
1644         * testsuite/refcounting/mem.h:
1645         * testsuite/refcounting/object.c:
1646         * testsuite/refcounting/pad.c:
1647         * testsuite/refcounting/sched.c:
1648         * testsuite/refcounting/thread.c:
1649         * testsuite/states/.cvsignore:
1650         * testsuite/states/Makefile.am:
1651         * testsuite/states/bin.c:
1652         * testsuite/states/locked.c:
1653         * testsuite/states/parent.c:
1654         * testsuite/threads/.cvsignore:
1655         * testsuite/threads/159566.c:
1656         * testsuite/threads/159852.c:
1657         * testsuite/threads/Makefile.am:
1658         * testsuite/threads/queue.c:
1659         * testsuite/threads/signals.c:
1660         * testsuite/threads/staticrec.c:
1661         * testsuite/threads/thread.c:
1662         * testsuite/threads/threadb.c:
1663         * testsuite/threads/threadc.c:
1664         * testsuite/threads/threadd.c:
1665         * testsuite/threads/threade.c:
1666         * testsuite/threads/threadf.c:
1667         * testsuite/threads/threadg.c:
1668         * testsuite/threads/threadh.c:
1669         * testsuite/threads/threadi.c:
1670           move all of these under tests
1671
1672 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1673
1674         * configure.ac:
1675         * tests/Makefile.am:
1676           fix distcheck
1677
1678 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1679
1680         * docs/gst/gstreamer-sections.txt:
1681         * tests/sched/.cvsignore:
1682         * tests/sched/Makefile.am:
1683         * tests/sched/cases/(fs-fs).xml:
1684         * tests/sched/cases/(fs-i-fs).xml:
1685         * tests/sched/cases/(fs-i-i-fs).xml:
1686         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1687         * tests/sched/dynamic-pipeline.c:
1688         * tests/sched/interrupt1.c:
1689         * tests/sched/interrupt2.c:
1690         * tests/sched/interrupt3.c:
1691         * tests/sched/runtestcases:
1692         * tests/sched/runxml.c:
1693         * tests/sched/sched-stress.c:
1694         * tests/sched/sort.c:
1695         * tests/sched/testcases:
1696         * tests/sched/testcases1.tc:
1697         * tests/seeking/.cvsignore:
1698         * tests/seeking/Makefile.am:
1699         * tests/seeking/seeking1.c:
1700         * tests/threadstate/.cvsignore:
1701         * tests/threadstate/Makefile.am:
1702         * tests/threadstate/test1.c:
1703         * tests/threadstate/test2.c:
1704         * tests/threadstate/threadstate1.c:
1705         * tests/threadstate/threadstate2.c:
1706         * tests/threadstate/threadstate3.c:
1707         * tests/threadstate/threadstate4.c:
1708         * tests/threadstate/threadstate5.c:
1709           remove obsolete tests
1710         * configure.ac:
1711         * tests/bench-complexity.scm:
1712         * tests/bench-mass_elements.scm:
1713         * tests/complexity.c:
1714         * tests/complexity.gnuplot:
1715         * tests/instantiate/.cvsignore:
1716         * tests/instantiate/Makefile.am:
1717         * tests/instantiate/caps.c:
1718         * tests/mass_elements.c:
1719         * tests/network-clock-utils.scm:
1720         * tests/network-clock.scm:
1721         * tests/plot-data:
1722         First pass at cleaning up tests/ dir before moving the rest
1723         Combined with CVS surgery
1724
1725 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1726
1727         * po/POTFILES.in:
1728           queue has moved, update
1729
1730 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1731
1732         * docs/gst/gstreamer-sections.txt:
1733           remove double entries from the docs
1734         * gst/gst_private.h:
1735         * gst/gstinfo.c: (_gst_debug_init):
1736           remove the THREAD debug category
1737         * gst/Makefile.am:
1738         * gst/gstqueue.c:
1739         * gst/gstqueue.h:
1740         * docs/gst/gstreamer.types:
1741         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1742         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1743           completely move queue and fix up debugging categories
1744
1745 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1746
1747         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1748           make initialization portable, using LL is not
1749
1750 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1751
1752         * win32/common/gstconfig.h:
1753           add large padding
1754
1755 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1756
1757         * win32/common/libgstreamer.def:
1758           rename symbols; sort base section
1759
1760 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1761
1762         * gst/gstclock.c: (do_linear_regression):
1763           remove crack non-portable handrolled DEBUG macro
1764
1765 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1766
1767         * docs/random/release:
1768           update notes
1769         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1770         (gst_object_flags_get_type), (register_gst_bin_flags),
1771         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1772         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1773         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1774         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1775         (gst_caps_flags_get_type), (register_gst_clock_return),
1776         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1777         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1778         (gst_clock_flags_get_type), (register_gst_state),
1779         (gst_state_get_type), (register_gst_state_change_return),
1780         (gst_state_change_return_get_type), (register_gst_state_change),
1781         (gst_state_change_get_type), (register_gst_element_flags),
1782         (gst_element_flags_get_type), (register_gst_core_error),
1783         (gst_core_error_get_type), (register_gst_library_error),
1784         (gst_library_error_get_type), (register_gst_resource_error),
1785         (gst_resource_error_get_type), (register_gst_stream_error),
1786         (gst_stream_error_get_type), (register_gst_event_type_flags),
1787         (gst_event_type_flags_get_type), (register_gst_event_type),
1788         (gst_event_type_get_type), (register_gst_seek_type),
1789         (gst_seek_type_get_type), (register_gst_seek_flags),
1790         (gst_seek_flags_get_type), (register_gst_format),
1791         (gst_format_get_type), (register_gst_index_certainty),
1792         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1793         (gst_index_entry_type_get_type),
1794         (register_gst_index_lookup_method),
1795         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1796         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1797         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1798         (gst_index_flags_get_type), (register_gst_debug_level),
1799         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1800         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1801         (gst_iterator_result_get_type), (register_gst_iterator_item),
1802         (gst_iterator_item_get_type), (register_gst_message_type),
1803         (gst_message_type_get_type), (register_gst_mini_object_flags),
1804         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1805         (gst_pad_link_return_get_type), (register_gst_flow_return),
1806         (gst_flow_return_get_type), (register_gst_activate_mode),
1807         (gst_activate_mode_get_type), (register_gst_pad_direction),
1808         (gst_pad_direction_get_type), (register_gst_pad_flags),
1809         (gst_pad_flags_get_type), (register_gst_pad_presence),
1810         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1811         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1812         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1813         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1814         (gst_plugin_flags_get_type), (register_gst_rank),
1815         (gst_rank_get_type), (register_gst_query_type),
1816         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1817         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1818         (gst_tag_flag_get_type), (register_gst_task_state),
1819         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1820         (gst_alloc_trace_flags_get_type),
1821         (register_gst_type_find_probability),
1822         (gst_type_find_probability_get_type), (register_gst_uri_type),
1823         (gst_uri_type_get_type), (register_gst_parse_error),
1824         (gst_parse_error_get_type):
1825         * win32/common/gstenumtypes.h:
1826         * win32/common/gstversion.h:
1827           update visual studio generated files
1828
1829 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1830
1831         * win32/vs6/libgstbase.dsp:
1832         * win32/vs6/libgstelements.dsp:
1833           update project files for new locations
1834
1835 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1836
1837         * Makefile.am:
1838           remove some files
1839         * README:
1840           reinstate and update
1841         * DEVEL:
1842         * REQUIREMENTS:
1843           removed
1844         * LICENSE:
1845         * docs/random/LICENSE:
1846           moved to random
1847
1848 2005-11-30  Edward Hervey  <edward@fluendo.com>
1849
1850         * gst/gsttypefind.c: (gst_type_find_register):
1851         * gst/gsttypefind.h:
1852         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1853         (gst_type_find_factory_dispose):
1854         * gst/gsttypefindfactory.h:
1855         Fix memory leak in GstTypeFindFactory.
1856
1857 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1858
1859         * gst/gst.c:
1860         * plugins/elements/Makefile.am:
1861         * plugins/elements/gstelements.c:
1862         * plugins/elements/gstqueue.c:
1863           move queue from core to the elements plugin
1864
1865 2005-11-29  Andy Wingo  <wingo@pobox.com>
1866
1867         * libs/gst/base/gstbasetransform.h: 
1868         * libs/gst/base/gstbasesrc.h: 
1869         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1870
1871         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1872         of pointers by which to pad very extensible base classes (like the
1873         ones in libs/gst/base).
1874
1875 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1876
1877         * docs/gst/gstreamer-docs.sgml:
1878         * docs/gst/gstreamer-sections.txt:
1879         * docs/libs/gstreamer-libs-docs.sgml:
1880         * docs/libs/gstreamer-libs-sections.txt:
1881           moving documentation from core to lib
1882
1883 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1884
1885         * check/Makefile.am:
1886         * configure.ac:
1887         * docs/gst/Makefile.am:
1888         * gst/Makefile.am:
1889         * gst/base/.cvsignore:
1890         * gst/base/Makefile.am:
1891         * gst/base/README:
1892         * gst/base/gstadapter.c:
1893         * gst/base/gstadapter.h:
1894         * gst/base/gstbasesink.c:
1895         * gst/base/gstbasesink.h:
1896         * gst/base/gstbasesrc.c:
1897         * gst/base/gstbasesrc.h:
1898         * gst/base/gstbasetransform.c:
1899         * gst/base/gstbasetransform.h:
1900         * gst/base/gstcollectpads.c:
1901         * gst/base/gstcollectpads.h:
1902         * gst/base/gstpushsrc.c:
1903         * gst/base/gstpushsrc.h:
1904         * gst/base/gsttypefindhelper.c:
1905         * gst/base/gsttypefindhelper.h:
1906         * gst/check/Makefile.am:
1907         * gst/check/gstcheck.c:
1908         * gst/check/gstcheck.h:
1909         * gst/net/Makefile.am:
1910         * gst/net/gstnet.h:
1911         * gst/net/gstnetclientclock.c:
1912         * gst/net/gstnetclientclock.h:
1913         * gst/net/gstnettimepacket.c:
1914         * gst/net/gstnettimepacket.h:
1915         * gst/net/gstnettimeprovider.c:
1916         * gst/net/gstnettimeprovider.h:
1917         * libs/gst/Makefile.am:
1918         * libs/gst/base/Makefile.am:
1919         * libs/gst/base/gstbasetransform.c:
1920         * libs/gst/check/Makefile.am:
1921         * plugins/elements/Makefile.am:
1922         * po/POTFILES.in:
1923           CVS surgery + support to move base, check, and net out of gst
1924           and into libs/gst
1925
1926 2005-11-29  Andy Wingo  <wingo@pobox.com>
1927
1928         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1929
1930         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1931         padding.
1932
1933         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1934
1935         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1936
1937         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1938
1939         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1940         padding; reduces object size by about 30%. We don't expect
1941         anything else to go into gstobject.
1942
1943         * gst/gstminiobject.h (struct _GstMiniObject)
1944         (struct _GstMiniObjectClass): Only one pointer of padding; the
1945         payload is only a pointer and two ints anyway. For the class there
1946         are only two methods as well.
1947         
1948         * gst/gstelement.h (struct _GstElementClass): Removed
1949         the state_changed signal callback, it is not used.
1950
1951 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1952
1953         * docs/gst/gstreamer.types:
1954           fix includes, though they are a little dinky
1955
1956 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1957
1958         * check/Makefile.am:
1959           look in the right place for elements, a lot more chance of
1960           success
1961         * gst/Makefile.am:
1962           remove indexers and elements subdirs
1963         * plugins/Makefile.am:
1964           make indexers conditional
1965
1966 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1967
1968         * Makefile.am:
1969         * configure.ac:
1970         * plugins/elements/Makefile.am:
1971         * plugins/elements/gstcapsfilter.c:
1972         * plugins/elements/gstfilesink.c:
1973         * plugins/elements/gstfilesrc.c:
1974         * plugins/elements/gstidentity.c:
1975         * plugins/indexers/Makefile.am:
1976           do CVS surgery and related build fixery to move elements
1977           and indexers in a new gstreamer/plugins directory, out of the
1978           gst/ directory
1979
1980 2005-11-29  Andy Wingo  <wingo@pobox.com>
1981
1982         * check/Makefile.am:
1983         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1984         * pkgconfig/gstreamer-net.pc.in:
1985         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1986         #322257.
1987
1988 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1989
1990         * tools/Makefile.am:
1991         * tools/gst-complete.1.in:
1992         * tools/gst-complete.c:
1993         * tools/gst-compprep.1.in:
1994         * tools/gst-compprep.c:
1995           removing -compprep and -complete
1996
1997 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1998
1999         * gst/gstevent.c: (gst_event_new_new_segment),
2000         (gst_event_parse_new_segment):
2001         * gst/gstevent.h:
2002           fix #320529 - clean up new_segment API and structure.
2003           Let's hope everyone was using the methods, and not the structure.
2004
2005 2005-11-29  Edward Hervey  <edward@fluendo.com>
2006
2007         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2008         (gst_base_sink_event), (gst_base_sink_do_sync),
2009         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2010         Properly handle non GST_FORMAT_TIME segment
2011         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2012         Properly handle non GST_FORMAT_TIME segment
2013         * gst/gstsegment.c:
2014         This function is valid if the accumulator is 0 and the format
2015         is different from the requested format.
2016         
2017 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2018
2019         * docs/gst/gstreamer-sections.txt:
2020         Add gst_query_new_seeking and gst_query_parse_seeking to the
2021         docs.
2022
2023 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2024
2025         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2026           Treat a pad alloc with new caps the same as if we were not
2027           negotiated, in order to allow a changing upstream output
2028           to produce a new format of data.
2029
2030 2005-11-29  Edward Hervey  <edward@fluendo.com>
2031
2032         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2033         (gst_base_transform_event), (gst_base_transform_eventfunc):
2034         The event virtual method is now properly implemented, with a default
2035         handler
2036         Sub classes should call the parent_class event method. They should
2037         return FALSE if they had a problem handling the given event, or don't
2038         want GstBaseTransform to send that even downstream
2039         * gst/elements/gstidentity.c: (gst_identity_class_init),
2040         (gst_identity_init), (gst_identity_event),
2041         (gst_identity_transform_ip), (gst_identity_set_property),
2042         (gst_identity_get_property):
2043         * gst/elements/gstidentity.h:
2044         Added the single-segment boolean property.
2045         If set to TRUE, it will output a single segment of data, starting from
2046         0, will eat up all incoming newsegment, and modify the timestamp of the
2047         buffers accordingly
2048
2049 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2050
2051         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2052           Don't ref NULL target pad (#322751). Improve docs.
2053
2054 2005-11-29  Michael Smith  <msmith@fluendo.com>
2055
2056         * gst/gstregistryxml.c: (load_plugin):
2057           Don't crash if we failed to load a feature from a plugin. 
2058
2059 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2060
2061         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2062         (GST_START_TEST):
2063           use more check API and less GLib API
2064
2065 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2066
2067         * Makefile.am:
2068           don't run checks if we don't have check
2069         * common/check.mak:
2070           remove the registry when running make torture
2071         * docs/gst/gstreamer-sections.txt:
2072           remove second multiply
2073         * gst/gstqueue.c: (gst_queue_loop):
2074           fix a compile warning when disabling debug
2075
2076 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2077
2078         * gst/gstinfo.h:
2079         Hey! Let's print the pad name if the pointer != NULL instead
2080         of when it == NULL :-)
2081
2082 2005-11-28  Wim Taymans  <wim@fluendo.com>
2083
2084         * check/gst/gstutils.c: (GST_START_TEST):
2085         Updated check, add some scaling accuracy checking code.
2086
2087         * gst/gstutils.c: (gst_util_div128_64),
2088         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2089         (gst_util_uint64_scale_int):
2090         Fix 6 times faster division code. Optimize for common 
2091         1/1 and less common X/1 cases.
2092
2093 2005-11-28  Wim Taymans  <wim@fluendo.com>
2094
2095         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2096         More checks.
2097
2098         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2099         (do_linear_regression), (gst_clock_add_observation):
2100         Cleanups.
2101         Release lock when the clock cannot be slaved.
2102         Catch the case where the regression returned an invalid denominator.
2103
2104         * gst/gstutils.c: (gst_util_div128_64_iterate),
2105         (gst_util_div128_64), (gst_util_uint64_scale_int64),
2106         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2107         Add protentially more performant non-iterative 128/64 divide function
2108         that unfortunatly does not work yet.
2109         Shortcut the trivial 0/X = 0 case.
2110         Remove the warnings on overflow.
2111
2112 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2113
2114         * gst/gstplugin.c: (gst_plugin_register_func):
2115           everything causing a plugin not to load should be at least a WARNING
2116
2117 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2118
2119         * docs/random/ensonic/dparams.txt:
2120           some TODOs for the next dev cycle
2121         * libs/gst/controller/gstcontroller.c:
2122         (gst_controlled_property_set_interpolation_mode),
2123         (gst_controlled_property_new):
2124         * libs/gst/controller/gstcontroller.h:
2125           use base type to assign acccessor functions
2126
2127 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2128
2129         * check/Makefile.am:
2130         Oops, that should have been top_srcdir
2131
2132 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2133
2134         * check/Makefile.am:
2135         * check/elements/fdsrc.c: (GST_START_TEST):
2136         Use a cmdline define to specify the location of a file to use for
2137         testing, to avoid breaking distcheck.
2138
2139 2005-11-28  Andy Wingo  <wingo@pobox.com>
2140
2141         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2142
2143 2005-11-28  Edward Hervey  <edward@fluendo.com>
2144
2145         * tools/gst-launch.c: (main):
2146         Clarify the output strings, makes it easier to translate.
2147         Fixes #322626
2148
2149 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2150
2151         * gst/Makefile.am:
2152           don't try and build net if we don't even have <sys/socket.h>
2153
2154 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2155
2156         * check/Makefile.am:
2157         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2158         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2159           Add tests for fdsrc seekability
2160
2161         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2162         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2163         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2164         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2165         * gst/elements/gstfdsrc.h:
2166           fdsrc should not be a 'live' source.
2167           Implement seeking on seekable fd's.
2168
2169         * gst/gstquery.c: (gst_query_new_seeking),
2170         (gst_query_parse_seeking):
2171         * gst/gstquery.h:
2172           Implement SEEKING query functions: 
2173             *_new_seeking and *_parse_seeking
2174
2175 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2176
2177         * gst/gstelement.c: (gst_element_dispose):
2178           don't loop forever
2179
2180         * gst/gstiterator.c:
2181         * gst/gststructure.c:
2182           doc fixes
2183
2184         * libs/gst/controller/gstcontroller.c:
2185         (gst_controlled_property_set_interpolation_mode):
2186         * libs/gst/controller/gstcontroller.h:
2187         * libs/gst/controller/gstinterpolation.c:
2188         (interpolate_none_get_enum_value_array):
2189           support controlling enums
2190
2191 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2192
2193         * gst/gstvalue.c:
2194           Improve documentation for gst_value_union().
2195
2196         * gst/gstvalue.h:
2197           Change return value for union, intersect and subtract functions
2198           from gint to gboolean.
2199
2200 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2201
2202         * gst/gstvalue.c: (gst_value_serialize_any_list),
2203         (gst_value_transform_any_list_string),
2204         (gst_value_deserialize_list), (gst_value_deserialize_array),
2205         (gst_value_set_int_range), (gst_value_deserialize_int_range),
2206         (gst_value_set_double_range), (gst_value_deserialize_double_range),
2207         (gst_value_set_fraction_range_full),
2208         (gst_value_deserialize_fraction_range),
2209         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2210         (gst_value_deserialize_boolean),
2211         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2212         (gst_value_serialize_float), (gst_value_deserialize_float),
2213         (gst_string_wrap), (gst_value_deserialize_string),
2214         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2215         (gst_value_union_int_range_int_range),
2216         (gst_value_intersect_int_range_int_range),
2217         (gst_value_intersect_double_range_double_range),
2218         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2219         (gst_value_subtract_int_range_int_range),
2220         (gst_value_subtract_double_double_range),
2221         (gst_value_subtract_double_range_double_range),
2222         (gst_value_deserialize_fraction):
2223         * gst/gstvalue.h:
2224           Use gint, gdouble and gchar in our API instead of int, double and
2225           char (and make usage in gstvalue.c more consistent).
2226
2227 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2228
2229         * check/Makefile.am:
2230         * libs/gst/controller/Makefile.am:
2231         * libs/gst/dataprotocol/Makefile.am:
2232           fix up Makefile.am and remove GST_ENABLE_NEW
2233
2234 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2235
2236         * configure.ac:
2237         * gst/Makefile.am:
2238         * gst/base/Makefile.am:
2239         * gst/check/Makefile.am:
2240         * gst/elements/Makefile.am:
2241         * gst/net/Makefile.am:
2242           update LDFLAGS use some more
2243
2244 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2245
2246         * common/m4/gst-doc.m4:
2247           Fixes #312589
2248
2249 2005-11-26  Edward Hervey  <edward@fluendo.com>
2250
2251         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2252         This shouldn't issue a g_warning since it returns NULL if it
2253         couldn't find the plugin, and all functions using this behave
2254         properly on a NULL return. Switching to a GST_WARNING.
2255
2256 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
2257
2258         * gst/gstbin.c: (gst_bin_handle_message_func):
2259         Don't leak clock messages.
2260
2261 2005-11-25  Wim Taymans  <wim@fluendo.com>
2262
2263         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2264         (gst_util_uint64_scale_int):
2265         Optimisations, remove unneeded vars.
2266
2267 2005-11-25  Wim Taymans  <wim@fluendo.com>
2268
2269         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2270         Added more checks for the high precision uint64 cases.
2271
2272         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2273         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2274         Implement high precision (guint64 * guint64) / guint64.
2275
2276 2005-11-24  Wim Taymans  <wim@fluendo.com>
2277
2278         * gst/base/gstbasesrc.c: (gst_base_src_query):
2279         Fix wrong percentage query.
2280
2281         * gst/gstutils.c: (gst_util_uint64_scale),
2282         (gst_util_uint64_scale_int):
2283         Add some more common cases that can be handled 
2284         efficiently to _scale.
2285
2286 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2287
2288         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
2289         (gst_mini_object_suite):
2290           don't use check calls from threads; check probably isn't
2291           threadsafe and using a lock to make it threadsafe would
2292           defeat the purpose of this check
2293         * gst/check/gstcheck.c:
2294         * gst/check/gstcheck.h:
2295           use GST_DEBUG some more
2296
2297 2005-11-24  Wim Taymans  <wim@fluendo.com>
2298
2299         * gst/gstutils.c: (gst_util_uint64_scale),
2300         (gst_util_uint64_scale_int):
2301         Chain trivial case to _scale_int.
2302
2303 2005-11-24  Wim Taymans  <wim@fluendo.com>
2304
2305         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2306         Added test for scaling.
2307
2308         * gst/gstclock.h:
2309         Small doc fix.
2310
2311         * gst/gstutils.c: (gst_util_uint64_scale_int):
2312         Implemented high precision scaling code.
2313
2314 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
2315
2316         * gst/gstinfo.h:
2317           do not crash on pad==NULL
2318
2319 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2320
2321         Patch by: Stefan Kost
2322
2323         * common/gtk-doc.mak:
2324         * docs/gst/Makefile.am:
2325         * docs/libs/Makefile.am:
2326           Fix distcheck issues for the libraries docs build
2327           Closes #319599.
2328
2329 2005-11-24  Michael Smith <msmith@fluendo.com>
2330
2331         * docs/manual/basics-helloworld.xml:
2332           Fix bug #315027: memory leak in example code in docs.
2333
2334 2005-11-24  Michael Smith <msmith@fluendo.com>
2335
2336         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2337           Unlock the PREROLL_LOCK in a failure case.
2338
2339 2005-11-24  Wim Taymans  <wim@fluendo.com>
2340
2341         * docs/gst/gstreamer-sections.txt:
2342         * gst/base/gstadapter.h:
2343         * gst/base/gstbasesink.h:
2344         * gst/base/gstbasesrc.h:
2345         * gst/base/gstbasetransform.h:
2346         * gst/base/gstpushsrc.h:
2347         * gst/elements/gstfakesink.h:
2348         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2349         * gst/elements/gstfakesrc.h:
2350         * gst/elements/gstfilesink.h:
2351         * gst/elements/gstfilesrc.h:
2352         * gst/gst.c:
2353         * gst/gstbin.c:
2354         * gst/gstbuffer.c: (_gst_buffer_copy):
2355         * gst/gstbus.h:
2356         * gst/gstcaps.c:
2357         * gst/gstchildproxy.c:
2358         * gst/gstclock.c:
2359         * gst/gstelement.c:
2360         * gst/gstelementfactory.c:
2361         * gst/gstelementfactory.h:
2362         * gst/gstevent.c:
2363         * gst/gstghostpad.h:
2364         * gst/gstindex.h:
2365         * gst/gstinterface.h:
2366         * gst/gstminiobject.c:
2367         * gst/gstminiobject.h:
2368         * gst/gstpad.c:
2369         * gst/gstpad.h:
2370         * gst/gstpadtemplate.h:
2371         * gst/gstpipeline.h:
2372         * gst/gstpluginfeature.h:
2373         * gst/gstquery.h:
2374         * gst/gstqueue.h:
2375         * gst/gsttaglist.c:
2376         * gst/gsttaglist.h:
2377         * gst/gsttagsetter.c:
2378         * gst/gsttagsetter.h:
2379         * gst/gsttrace.c:
2380         * gst/gsttrace.h:
2381         * gst/gsttypefind.h:
2382         * gst/gsturi.h:
2383         * gst/gstvalue.c:
2384         * gst/net/gstnetclientclock.c:
2385         * gst/net/gstnetclientclock.h:
2386         * gst/net/gstnettimepacket.c:
2387         * gst/net/gstnettimeprovider.c:
2388         * gst/net/gstnettimeprovider.h:
2389         Doc fixes.
2390
2391 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2392
2393         * configure.ac: back to HEAD
2394
2395 === release 0.9.6 ===
2396
2397 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
2398
2399         * configure.ac:
2400           releasing 0.9.6, "Always On Time"
2401
2402 2005-11-23  Wim Taymans  <wim@fluendo.com>
2403
2404         * docs/gst/gstreamer-sections.txt:
2405         * gst/glib-compat.c:
2406         * gst/gsttagsetter.c:
2407         * gst/gstvalue.c:
2408         * gst/net/gstnetclientclock.c:
2409         * gst/net/gstnettimepacket.h:
2410         Doc updates.
2411
2412 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2413
2414         * docs/faq/using.xml:
2415         * docs/libs/tmpl/gstcontrol.sgml:
2416         * docs/manual/advanced-dparams.xml:
2417         * docs/manual/appendix-checklist.xml:
2418         * docs/manual/basics-elements.xml:
2419         * docs/pwg/other-source.xml:
2420         * docs/random/moving-plugins:
2421         * gst/gstpad.c:
2422         * tools/gst-launch.1.in:
2423           remove mentions of sinesrc
2424
2425 2005-11-23  Michael Smith <msmith@fluendo.com>
2426
2427         * docs/gst/gstreamer-sections.txt:
2428           Update for new API and API changes.
2429         * gst/gstobject.h:
2430           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
2431         * gst/gstvalue.c:
2432           Documentation typo fix.
2433         * gst/net/gstnettimepacket.c:
2434           Documentation fixes for arguments.
2435
2436 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
2437
2438         * gst/gststructure.c: (gst_structure_get_fraction),
2439         (gst_structure_parse_value),
2440         (gst_structure_fixate_field_nearest_fraction):
2441         * gst/gststructure.h:
2442         * gst/gstutils.c: (gst_util_uint64_scale_int):
2443         * gst/gstutils.h:
2444         * scripts/update-funcnames:
2445         API Changes. 
2446         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
2447         Make gst_structure_fixate_field_nearest_fraction take a numerator
2448         and denominator argument instead of a GValue
2449         add gst_structure_get_fraction helper function.
2450
2451 2005-11-23  Wim Taymans  <wim@fluendo.com>
2452
2453         * docs/design/part-TODO.txt:
2454         Update TODO.
2455
2456         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2457         * gst/net/gstnetclientclock.h:
2458         Use parent fields for timeout and window_size.
2459
2460 2005-11-23  Andy Wingo  <wingo@pobox.com>
2461
2462         * check/net/gstnetclientclock.c (test_functioning): Adjust to
2463         rate_num/rate_denom change.
2464
2465         * gst/net/gstnetclientclock.c
2466         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2467         OBJECT_LOCK. Don't call add_observation with the lock.
2468
2469         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2470         fraction.
2471         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2472         rate fraction.
2473         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2474         deal with rate as a fraction whose numerator and denominator are
2475         GstClockTime values.
2476         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2477         master; the other fields are protected by the SLAVE_LOCK.
2478         (do_linear_regression): Note that this must be called with the
2479         SLAVE_LOCK.
2480         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2481         OBJECT_LOCK. Call set_calibration instead of touching the
2482         variables directly.
2483         (gst_clock_set_property, gst_clock_get_property): Protect
2484         master/slave parameters with the SLAVE_LOCK.
2485
2486         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2487         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2488         note that all of the instance variables that add_observation and
2489         the set_master functions use are protected by that lock and not
2490         the OBJECT_LOCK.
2491         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2492
2493         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2494         the caller to take the object lock.
2495
2496 2005-11-23  Wim Taymans  <wim@fluendo.com>
2497
2498         * gst/gsterror.c: (_gst_core_errors_init):
2499         * gst/gsterror.h:
2500         Add error for clock stuff.
2501
2502         * gst/gstpipeline.c: (gst_pipeline_change_state),
2503         (gst_pipeline_set_clock):
2504         Post clock error when clock cannot be used in a pipeline.
2505
2506 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2507
2508         * docs/gst/gstreamer-sections.txt:
2509           make two symbols from gstinfo private for the docs
2510         * gst/base/gstcollectpads.h:
2511         * gst/gstutils.c:
2512           fix doc typos, update docs
2513
2514 2005-11-22  Wim Taymans  <wim@fluendo.com>
2515
2516         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2517         (gst_base_sink_wait), (gst_base_sink_do_sync),
2518         (gst_base_sink_handle_event):
2519         * gst/base/gstbasesink.h:
2520         No need to store the clock, the parent element class already
2521         has it.
2522
2523         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2524         Updates for clock_set returning a gboolean
2525
2526         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2527         (gst_clock_id_wait_async), (gst_clock_class_init),
2528         (gst_clock_init), (gst_clock_finalize),
2529         (gst_clock_get_internal_time), (gst_clock_get_time),
2530         (gst_clock_slave_callback), (gst_clock_set_master),
2531         (gst_clock_get_master), (do_linear_regression),
2532         (gst_clock_add_observation), (gst_clock_set_property),
2533         (gst_clock_get_property):
2534         * gst/gstclock.h:
2535         Implement master/slave. When setting a clock as a slave, a
2536         periodic timeout is scheduled to sample master and slave times.
2537         Then the slave clock is recalibrated to match offset and rate
2538         of the master clock.
2539         Update logging a bit.
2540         Add flag so that a clock can state that is cannot be slaved to
2541         another clock.
2542
2543         * gst/gstelement.c: (gst_element_set_clock):
2544         * gst/gstelement.h:
2545         The set clock returns a gboolean for when an element cannot
2546         deal with the selected clock in the pipeline. 
2547
2548         * gst/gstpipeline.c: (gst_pipeline_change_state),
2549         (gst_pipeline_set_clock):
2550         * gst/gstpipeline.h:
2551         Handle the case where the selected clock cannot be set on
2552         the pipeline.
2553
2554         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2555         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2556         (gst_net_client_clock_set_property),
2557         (gst_net_client_clock_get_property),
2558         (gst_net_client_clock_observe_times):
2559         * gst/net/gstnetclientclock.h:
2560         Use regression code in GstClock parent, remove duplicated
2561         functionality.
2562
2563 2005-11-22  Michael Smith <msmith@fluendo.com>
2564
2565         * gst/gstutils.c: (gst_util_clock_time_scale):
2566         * gst/gstutils.h:
2567         * docs/gst/gstreamer-sections.txt:
2568           Rename method to have extra underscore.
2569
2570 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2571
2572         * gst/elements/Makefile.am:
2573         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2574         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2575         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2576         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2577         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2578         * gst/elements/gstfakesrc.h:
2579         * gst/gstqueue.c: (queue_leaky_get_type):
2580           correctly fix GEnumValues so that nick is the short lowercase
2581           dashed tag
2582         * tools/gst-inspect.c: (print_element_properties_info):
2583           also show the nick, since it's useful to use from parse_launch
2584           syntax
2585           Fixes #322139
2586
2587 2005-11-22  Michael Smith <msmith@fluendo.com>
2588
2589         * gst/gstutils.c: (gst_util_clocktime_scale):
2590         * gst/gstutils.h:
2591         * docs/gst/gstreamer-sections.txt:
2592           Add util method for scaling a clocktime by a fraction. Useful 
2593           implementation is left as an exercise for the reader.
2594
2595 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2596
2597         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2598         If needed, allocate storage in the destination value during
2599         collection.
2600
2601 2005-11-22  Edward Hervey  <edward@fluendo.com>
2602
2603         * docs/gst/gstreamer-sections.txt:
2604         * gst/Makefile.am:
2605         * gst/gst.h:
2606         * gst/gsturitype.c:
2607         * gst/gsturitype.h:
2608         * gst/gstutils.c: (gst_util_set_object_arg):
2609         * tools/gst-compprep.c: (main):
2610         * tools/gst-inspect.c: (print_element_properties_info):
2611         Removed GstURI, closes bug #321061
2612
2613 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2614
2615         * check/gst/gststructure.c: (GST_START_TEST):
2616         * gst/gststructure.c: (gst_structure_parse_value):
2617           Oops, broke automatic string type parsing.
2618           Add a test to catch it in future.
2619
2620 2005-11-22  Andy Wingo  <wingo@pobox.com>
2621
2622         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2623         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2624         Actually rename the function implementations. Grr.
2625
2626 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2627
2628         * check/gst/capslist.h:
2629           Comment test cases
2630         * check/gst/gststructure.c: (GST_START_TEST),
2631         (gst_structure_suite):
2632           Test automatic value type detection in gst_structure_from_string.
2633         * gst/gststructure.c: (gst_structure_parse_value):
2634           Add fraction as a type we try and guess automatically in
2635           caps/structure strings.
2636
2637 2005-11-22  Andy Wingo  <wingo@pobox.com>
2638
2639         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2640
2641         * gst/gsttagsetter.h:
2642         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2643         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2644         (gst_tag_setter_add_tag_valist)
2645         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2646         _add_values, _add_valist, and _add_valist_values. Since this is an
2647         interface the function suffixes should be more explicit so
2648         language binding don't end up with element.add_valist ->
2649         gst_tag_setter_add_valist, for example. Fixes #322069.
2650
2651 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2652
2653         * check/gst/gstcaps.c: (GST_START_TEST):
2654           Extend caps string tests to check that a caps to string
2655           conversion is reversible and produces the same caps.
2656
2657         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2658           Output "fraction" as the generic type fraction range, so caps
2659           serialisation and deserialisation works.
2660         * check/gst/capslist.h:
2661         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2662           Support 'MIN' and 'MAX' for deserialising fractions.
2663
2664 2005-11-22  Andy Wingo  <wingo@pobox.com>
2665
2666         * gst/gstevent.h (gst_event_new_new_segment)
2667         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2668         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2669         Renamed from *_newsegment, *_buffersize, *_notarget.
2670
2671         * scripts/update-funcnames: New script, performs the changes
2672         listed above.
2673
2674 2005-11-22  Wim Taymans  <wim@fluendo.com>
2675
2676         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2677         Make sure the GstFlowReturn is returned.
2678
2679         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2680         (gst_bus_add_signal_watch):
2681         * gst/gstbus.h:
2682         add gst_bus_add_signal_watch_full.
2683
2684         * gst/gstplugin.c: (gst_plugin_load_file):
2685         Small style cleanup.
2686
2687 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2688
2689         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2690           Block the fakesrc srcpad when we send an event, to avoid
2691           contention on the stream_lock causing random test failures.
2692
2693 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2694
2695         * check/gst/gstvalue.c: (GST_START_TEST):
2696         * gst/gstvalue.c: (gst_value_fraction_subtract):
2697           Fix subtraction.
2698
2699 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2700
2701         * gst/gst.h:
2702           include "gstchildproxy.h"
2703         * gst/gstchildproxy.h:
2704         * libs/gst/controller/gstcontroller.h:
2705           use G_GNUC_NULL_TERMINATED
2706
2707 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2708
2709         * check/gst/capslist.h:
2710         * check/gst/gstcaps.c: (GST_START_TEST):
2711         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2712         * gst/gststructure.c: (gst_structure_parse_range),
2713         (gst_structure_fixate_field_nearest_fraction):
2714         * gst/gststructure.h:
2715         * gst/gstvalue.c: (gst_value_init_fraction_range),
2716         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2717         (gst_value_collect_fraction_range),
2718         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2719         (gst_value_set_fraction_range_full),
2720         (gst_value_get_fraction_range_min),
2721         (gst_value_get_fraction_range_max),
2722         (gst_value_serialize_fraction_range),
2723         (gst_value_transform_fraction_range_string),
2724         (gst_value_compare_fraction_range),
2725         (gst_value_deserialize_fraction_range),
2726         (gst_value_intersect_fraction_fraction_range),
2727         (gst_value_intersect_fraction_range_fraction_range),
2728         (gst_value_subtract_fraction_fraction_range),
2729         (gst_value_subtract_fraction_range_fraction),
2730         (gst_value_subtract_fraction_range_fraction_range),
2731         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2732         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2733         (gst_value_transform_string_fraction), (_gst_value_initialize):
2734         * gst/gstvalue.h:
2735           Implement fraction ranges and extend GstFraction to support
2736           arithmetic subtraction, as well as deserialization from integer
2737           strings such as "100"
2738           Add a testsuite as for int and double range set operations
2739
2740 2005-11-21  Andy Wingo  <wingo@pobox.com>
2741
2742         * gst/gsttaglist.h: 
2743         * gst/gstcaps.h: 
2744         * gst/gststructure.h: Add glib-compat.h.
2745
2746 2005-11-21  Wim Taymans  <wim@fluendo.com>
2747
2748         * gst/gstbin.c: (gst_bin_change_state_func):
2749         Fix for #321595
2750
2751 2005-11-21  Wim Taymans  <wim@fluendo.com>
2752
2753         * gst/gstsegment.h:
2754         And add a nice define too.
2755
2756 2005-11-21  Wim Taymans  <wim@fluendo.com>
2757
2758         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2759         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2760         (gst_segment_set_duration), (gst_segment_set_last_stop),
2761         (gst_segment_set_seek), (gst_segment_set_newsegment),
2762         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2763         (gst_segment_clip):
2764         * gst/gstsegment.h:
2765         Make binding friendly.
2766
2767 2005-11-21  Andy Wingo  <wingo@pobox.com>
2768
2769         * gst/gsttagsetter.h: 
2770         * gst/gsttaglist.h: 
2771         * gst/gststructure.h: 
2772         * gst/gstcaps.h: 
2773         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2774         #319940.
2775
2776         * gst/gsterror.c (_gst_core_errors_init):
2777         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2778         category.
2779
2780         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2781         (noinst_HEADERS): noinst the -private.
2782
2783 2005-11-21  Michael Smith <msmith@fluendo.com>
2784
2785         * gst/gstplugin.h:
2786         * gst/gstregistry.h:
2787           Remove unimplemented declarations for which we can see no sensible
2788           use.
2789
2790 2005-11-21  Andy Wingo  <wingo@pobox.com>
2791
2792         * gst/gst.h: Include glib-compat.h.
2793
2794         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2795
2796         * gst/glib-compat.c: Include the public and the private header.
2797
2798         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2799
2800         * gst/gstvalue.c: 
2801         * gst/gstpad.c: 
2802         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2803
2804         * check/gst/gstevent.c (create_custom_events): Check that
2805         FLUSH_STOP is serialized.
2806
2807         * check/elements/identity.c (event_func): 
2808         * check/elements/fakesrc.c (event_func): No stream lock, the core
2809         takes it.
2810
2811         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2812         stream lock taking, yay.
2813
2814         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2815         ensure that core takes the stream lock.
2816
2817         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2818         lock name change.
2819
2820         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2821         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2822         it already. For the flush start we do take it though so we get the
2823         right preroll state change messages.
2824
2825         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2826         the stream lock here, the core does it for us.
2827
2828         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2829         GST_STREAM_GET_LOCK.
2830         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2831         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2832         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2833         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2834         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2835         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2836
2837         * gst/gstpad.c: Update for stream lock name change.
2838
2839         * gst/base/gstbasesink.c: Update for preroll lock name change.
2840
2841 2005-11-21  Wim Taymans  <wim@fluendo.com>
2842
2843         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2844         (gst_clock_get_master):
2845         * gst/gstclock.h:
2846         * gst/gstsystemclock.c: (gst_system_clock_init):
2847         Convert Clock flags to object flags.
2848         Added methods to manage master/slave clocks.
2849
2850 2005-11-21  Wim Taymans  <wim@fluendo.com>
2851
2852         * check/gst/gstsegment.c: (GST_START_TEST):
2853         * docs/design/part-TODO.txt:
2854         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2855         (gst_base_sink_event), (gst_base_sink_do_sync),
2856         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2857         (gst_base_sink_query), (gst_base_sink_change_state):
2858         * gst/base/gstbasesink.h:
2859         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2860         (gst_base_src_default_newsegment),
2861         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2862         (gst_base_src_get_range), (gst_base_src_loop),
2863         (gst_base_src_change_state):
2864         * gst/base/gstbasesrc.h:
2865         * gst/base/gstbasetransform.c:
2866         (gst_base_transform_prepare_output_buf),
2867         (gst_base_transform_event), (gst_base_transform_change_state):
2868         * gst/base/gstbasetransform.h:
2869         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2870         (gst_collect_pads_event):
2871         * gst/base/gstcollectpads.h:
2872         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2873         (gst_fake_src_create):
2874         * gst/elements/gstfakesrc.h:
2875         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2876         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2877         (gst_segment_set_last_stop), (gst_segment_set_seek),
2878         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2879         (gst_segment_to_running_time), (gst_segment_clip):
2880         * gst/gstsegment.h:
2881         More segment updates, replace code in plugins with segment
2882         helper functions.
2883
2884 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2885
2886         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2887         Don't ignore sscanf results
2888
2889 2005-11-21  Andy Wingo  <wingo@pobox.com>
2890
2891         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2892
2893         * *.h:
2894         * *.c: Ran scripts/update-macros. Oh yes.
2895
2896         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2897         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2898         GST_GET_LOCK, etc.
2899
2900         * scripts/update-macros: New script. Run it on your files to
2901         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2902         well.
2903
2904 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2905
2906         * docs/gst/Makefile.am:
2907         * docs/gst/gstreamer-docs.sgml:
2908         * docs/gst/gstreamer-sections.txt:
2909         * docs/gst/gstreamer.types:
2910         * gst/gstinfo.h:
2911           more docs fixes, add new api to the docs
2912
2913 2005-11-21  Andy Wingo  <wingo@pobox.com>
2914
2915         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2916         state_broadcast call.
2917
2918         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2919
2920 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2921
2922         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2923         function calls for arrays.
2924
2925 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2926
2927         * docs/random/ensonic/media-device-daemon.txt:
2928           wild idea, can this be done?
2929         * docs/gst/gstreamer-sections.txt:
2930         * gst/gsterror.h:
2931         * gst/gstfilter.c:
2932         * gst/gstfilter.h:
2933         * gst/gstplugin.h:
2934         * gst/gstpluginfeature.c:
2935         * gst/gsttrace.c:
2936         * gst/gstvalue.c:
2937         * gst/gstvalue.h:
2938           doc fixes and additions
2939
2940 2005-11-21  Andy Wingo  <wingo@pobox.com>
2941
2942         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2943         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2944         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2945         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2946         private to the basesrc implementation.
2947
2948         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2949         behalf of event function if necessary. It should no longer be
2950         necessary to take the stream lock in pad's event functions. Fixes
2951         #320299.
2952
2953 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2954         * docs/gst/gstreamer-sections.txt:
2955         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2956         (gst_structure_fixate_field_nearest_double),
2957         (gst_structure_fixate_field_boolean):
2958         * gst/gststructure.h:
2959         * win32/common/libgstreamer.def:
2960         * win32/gstreamer.def:
2961
2962         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2963         (#322027)
2964
2965 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2966
2967         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2968         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2969         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2970         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2971         (gst_fdsrc_uri_handler_init):
2972         * gst/elements/gstfdsrc.h:
2973           Port fd:// URI handler from 0.8 to fdsrc
2974
2975 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2976
2977         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2978         (gst_value_serialize_fourcc):
2979         * gst/gstvalue.h:
2980           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2981           consistent with our other format defines (#320324).
2982
2983 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2984
2985         * gst/gstvalue.c: (gst_value_is_fixed):
2986           Revert previous commit. Value lists are by definition
2987           not fixed, as they are a list of possible values.
2988
2989 2005-11-21  Andy Wingo  <wingo@pobox.com>
2990
2991         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2992         during the stable series if we need it. Fixes #319178.
2993
2994         * gst/gstevent.c (gst_event_new_filler): Removed.
2995
2996         * check/gst/gstevent.c: Update comment about filler events.
2997
2998 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2999
3000         * gst/gstvalue.c: (gst_value_is_fixed):
3001           Should handle both value arrays and value lists.
3002
3003 2005-11-21  Andy Wingo  <wingo@pobox.com>
3004
3005         patch by: Alessandro Dessina <alessandro nnva org>
3006
3007         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3008         functions to access arrays. Fixes #321962.
3009
3010 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3011
3012         * docs/gst/gstreamer.types:
3013           gst_collectpads_get_type => gst_collect_pads_get_type.
3014           
3015         * gst/base/gstbasetransform.c:
3016           Remove unused SIGNAL_HANDOFF enum.
3017
3018 2005-11-21  Andy Wingo  <wingo@pobox.com>
3019
3020         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3021         the event type (upstream, downstream, serialized). Renamed
3022         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3023         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3024         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3025
3026         * gst/gstevent.c: Update for new CUSTOM event names.
3027
3028         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3029
3030         * gst/gstevent.h:
3031         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3032         bug #319392.
3033
3034 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3035
3036         * docs/gst/gstreamer-sections.txt:
3037         * win32/common/libgstbase.def:
3038         * win32/libgstbase.def:
3039         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3040         (gst_collect_pads_class_init), (gst_collect_pads_init),
3041         (gst_collect_pads_finalize), (gst_collect_pads_new),
3042         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3043         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3044         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3045         (gst_collect_pads_start), (gst_collect_pads_stop),
3046         (gst_collect_pads_peek), (gst_collect_pads_pop),
3047         (gst_collect_pads_available), (gst_collect_pads_read),
3048         (gst_collect_pads_flush), (gst_collect_pads_event),
3049         (gst_collect_pads_chain):
3050         * gst/base/gstcollectpads.h:
3051           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3052           unimplemented functions as unimplemented. Add padding to
3053           GstCollectData. (#320766, #320423)
3054
3055 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3056
3057         * gst/gstmessage.c:
3058           Improve docs for DURATION message (usage of duration parameter)
3059           (#320113)
3060
3061 2005-11-20  Wim Taymans  <wim@fluendo.com>
3062
3063         * check/Makefile.am:
3064         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3065         (main):
3066         * gst/Makefile.am:
3067         * gst/gst.h:
3068         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3069         (gst_segment_set_seek), (gst_segment_set_newsegment),
3070         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3071         (gst_segment_clip):
3072         * gst/gstsegment.h:
3073         Added segment helper structure and methods. Not fully implemented
3074         yet.
3075         Added segment check.
3076
3077 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
3078
3079         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3080           Add a deserialisation test for fractions
3081         * examples/metadata/read-metadata.c: (message_loop),
3082         (make_pipeline), (main):
3083           Fix up metadata reading sample.
3084         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3085           Debug format fix
3086         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3087           Don't try and fixate empty caps
3088         * gst/gst_private.h:
3089           Wrap in G_BEGIN_DECLS/G_END_DECLS
3090         * gst/gstvalue.c: (gst_value_collect_fraction),
3091         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3092         (gst_value_transform_string_fraction),
3093         (gst_value_compare_fraction):
3094           Add some extra guards to ensure that we don't end up 
3095           with an invalid denominator of 0 in a gstfraction and
3096           that fractions always get reduced.
3097
3098 2005-11-20  Wim Taymans  <wim@fluendo.com>
3099
3100         * docs/gst/gstreamer-sections.txt:
3101         * gst/gstbuffer.h:
3102         * gst/gstelement.c:
3103         * gst/gstformat.c:
3104         * gst/gstformat.h:
3105         * gst/gstindex.h:
3106         * gst/gstquery.c:
3107         * gst/gstquery.h:
3108         * gst/gstvalue.c:
3109         Doc fixes.
3110
3111 2005-11-20  Wim Taymans  <wim@fluendo.com>
3112
3113         * docs/design/part-TODO.txt:
3114         * gst/gstcaps.h:
3115         Make a proper enum of the flag.
3116
3117 2005-11-19  Wim Taymans  <wim@fluendo.com>
3118
3119         * docs/design/part-TODO.txt:
3120         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3121         (gst_format_to_quark), (gst_format_register):
3122         * gst/gstformat.h:
3123         * gst/gstquery.c: (_gst_query_initialize),
3124         (gst_query_type_get_name), (gst_query_type_to_quark),
3125         (gst_query_type_register):
3126         * gst/gstquery.h:
3127         Add type to quark and type to string conversions.
3128
3129 2005-11-19  Andy Wingo  <wingo@pobox.com>
3130
3131         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3132         #320097.
3133
3134 2005-11-19  Wim Taymans  <wim@fluendo.com>
3135
3136         * docs/design/part-TODO.txt:
3137         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3138         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3139         (gst_bin_handle_message_func):
3140         * gst/gstbin.h:
3141         Make message handling overridable.
3142
3143 2005-11-19  Andy Wingo  <wingo@pobox.com>
3144
3145         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3146
3147         * gst/gstclock.h:
3148         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3149         be a GstClockTime.
3150         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3151         is a GstClockTime. Fixes #321710.
3152
3153         * gst/gstclock.h (GstClock): Remove offset property. Add
3154         internal_calibration and external_calibration. Fix padding. Pad
3155         also by GstClockTime so we don't run into problems.
3156
3157         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3158         (gst_clock_get_rate_offset): Remove.
3159         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3160
3161         * gst/gstutils.h:
3162         * gst/gstutils.c (g_static_rec_cond_wait)
3163         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3164
3165         * gst/gstbin.c: Remove terrible continue_state prototype.
3166
3167         * gst/gstelement.h (gst_element_continue_state): Make public.
3168
3169         * gst/gstelement.h:
3170         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3171         by continue_state. Fixes #319389.
3172
3173         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3174         Really fixes #168438. However I don't see anywhere where the
3175         filter function is called... stupid GStreamer...
3176         
3177         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3178         don't have a dispose function, so it won't get called when the
3179         object is unreffed, but oh well!
3180
3181         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3182         allows a destroy function to be set so user_data can be freed.
3183         Fixes #168438.
3184         (gst_index_set_filter): Call gst_index_set_filter_full.
3185
3186         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3187
3188         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3189         string should produce an error, given the lack of a way to
3190         represent NULL strings. Fixes #165650.
3191         
3192         * gst/gstvalue.h: 
3193         * gst/gstvalue.c (gst_value_array_append_value) 
3194         (gst_value_array_prepend_value, gst_value_array_get_size) 
3195         (gst_value_array_get_value): New API, copied from
3196         gst_value_list_*, only operates on arrays.
3197         (gst_value_list_append_value, gst_value_list_prepend_value) 
3198         (gst_value_list_concat, gst_value_list_get_size) 
3199         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3200
3201         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3202         init_list, because it works on both.
3203         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3204         (gst_value_copy_list_or_array): Renamed from copy_list.
3205         (gst_value_free_list_or_array): Renamed from free_list.
3206         (gst_value_collect_list_or_array): Renamed from collect_list.
3207         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3208         (gst_value_list_or_array_peek_pointer): Renamed from
3209         list_peek_pointer.
3210         (_gst_value_array_value_table, _gst_value_list_value_table):
3211         Update value table functions.
3212         (gst_value_compare_list_or_array): Renamed from compare_list.
3213
3214         * gsttaglist.h: Whoops, foreach function returns void. Also fix
3215         some constness.
3216
3217         * gst/gsttaglist.c:
3218         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3219         GstTagList*. Fixes #143472.
3220
3221         * gst/gststructure.h: Clarify what the foreach/map functions can
3222         or can't do to their arguments.
3223
3224 2005-11-18  Wim Taymans  <wim@fluendo.com>
3225
3226         * gst/gstclock.c: (gst_clock_set_calibration),
3227         (gst_clock_get_calibration):
3228         Doc and API fixes.
3229         Calibration can be set with internal time equal to current
3230         internal time too.
3231
3232 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3233
3234         * gst/gsterror.c:
3235         * gst/gsterror.h:
3236           document
3237
3238 2005-11-18  Andy Wingo  <wingo@pobox.com>
3239
3240         * configure.ac: 
3241         * pkgconfig/gstreamer-net.pc.in:
3242         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3243         * pkgconfig/Makefile.am: Add net pkgconfig files.
3244
3245 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
3246
3247         * gst/gstcaps.c:
3248         * gst/gstghostpad.c:
3249         * gst/gsttrace.c:
3250         * gst/gstvalue.c:
3251         * gst/gstvalue.h:
3252           docs fixes
3253
3254 2005-11-18  Andy Wingo  <wingo@pobox.com>
3255
3256         * gst/net/gstnetclientclock.c: Turn off debugging.
3257
3258         * check/net/gstnetclientclock.c (test_functioning): Assert that the
3259         times connverge somewhat. Can't make a real test.
3260
3261         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3262         integer arithmetic. Return the minimum of the domain, which can be
3263         set as "internal" for gst_clock_set_calibration.
3264         (gst_net_client_clock_observe_times): Call _set_calibration.
3265         (gst_net_client_clock_new): Call _set_calibration instead of
3266         rate_offset.
3267
3268         * check/net/gstnetclientclock.c (test_functioning): Use the right
3269         adjustment api.
3270
3271         * gst/gstclock.h:
3272         * gst/gstclock.c (gst_clock_get_calibration) 
3273         (gst_clock_set_calibration): New functions, obsolete the ones I
3274         added yesterday. Doh. Precision issues mean we have to extrapolate
3275         from a point in the more recent past than 1970.
3276         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3277         obsolete.
3278         (gst_clock_adjust_unlocked): Use the right calibration data.
3279
3280 2005-11-18  Edward Hervey  <edward@fluendo.com>
3281
3282         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
3283         Also reset the ->current_* values in READY->PAUSED
3284
3285 2005-11-18  Andy Wingo  <wingo@pobox.com>
3286
3287         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
3288         Whoops, check the right fd. Also add some debugging.
3289         (gst_net_client_clock_observe_times): Adjust for int64 offset.
3290         (do_linear_regression): Add a crapload of debugging. Subtract off
3291         the minimum values from the input series to discard unneeded bits.
3292         Use only int arithmetic. There is still double arithmetic when
3293         calculating the intercept that needs fixing. Return boolean to
3294         indicate success; FALSE would mean the domain or range is too
3295         great. Still needs fixes.
3296
3297 2005-11-18  Wim Taymans  <wim@fluendo.com>
3298
3299         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3300         For the current position in stream time, we need to subtract
3301         accumulated time.
3302         
3303         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3304         Release lock before calling the callback function of async
3305         entries.
3306
3307 2005-11-18  Andy Wingo  <wingo@pobox.com>
3308
3309         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3310         Port goes all the way to MAXUINT16.
3311
3312         * gst/net/gstnettimeprovider.c: Make the port range the same as
3313         for the kernel: 0 assigns, otherwise ports are less than
3314         MAXUINT16.
3315
3316         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3317         port change.
3318
3319         * check/net/gstnetclientclock.c (test_functioning): Add the start
3320         of another test. 
3321
3322 2005-11-18  Wim Taymans  <wim@fluendo.com>
3323
3324         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3325         (gst_bin_remove_func), (bin_bus_handler):
3326         * gst/gstbin.h:
3327         Removing a clock provider from a bin, triggers a clock lost message
3328         so that a new clock will be selected.
3329         Adding a clock to a bin triggers a clock provider message.
3330         Make sure we reselect a clock when we received a clock lost message.
3331         Keep a reference to the element that provided the clock.
3332
3333 2005-11-18  Andy Wingo  <wingo@pobox.com>
3334
3335         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3336         the clock initially so it produces values around the base time.
3337         (gst_net_client_clock_class_init): Typo fix.
3338         (gst_net_client_clock_thread): Add note on when the socket gets
3339         closed.
3340
3341 2005-11-17  Wim Taymans  <wim@fluendo.com>
3342
3343         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3344         Free remote and local time arrays.
3345
3346 2005-11-17  Wim Taymans  <wim@fluendo.com>
3347
3348         * gst/net/gstnetclientclock.c: (do_linear_regression),
3349         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3350         Fix compilation, uninitialized vars and a forgotten continue.
3351
3352 2005-11-17  Andy Wingo  <wingo@pobox.com>
3353
3354         * check/Makefile.am (check_PROGRAMS): 
3355         * check/net/gstnetclientclock.c: Add a most minimal test for the
3356         net client clock. More to come later.
3357
3358         * gst/net/gstnet.h: 
3359         * gst/net/Makefile.am: Add netclientclock.
3360
3361         * gst/net/gstnetclientclock.h:
3362         * gst/net/gstnetclientclock.c: New files, implement an untested
3363         GstClock that takes its time from a network time provider.
3364         Implements the algorithm in network-clock.scm.
3365
3366         * tests/network-clock.scm (*window-size*): Rename from
3367         *queue-length*.
3368         * tests/network-clock.scm (network-time): 
3369         * tests/network-clock-utils.scm (q-push): Update callers.
3370
3371 2005-11-17  Wim Taymans  <wim@fluendo.com>
3372
3373         * gst/gstbin.c: (gst_bin_provide_clock_func),
3374         (gst_bin_sort_iterator_new):
3375         And unref the child too..
3376
3377 2005-11-17  Wim Taymans  <wim@fluendo.com>
3378
3379         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3380         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3381         Refactor the sort iterator so it can be used while holding the
3382         LOCK too.
3383         Make clock selection select a clock closest to the source.
3384
3385 2005-11-17  Michael Smith <msmith@fluendo.com>
3386
3387         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3388         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3389         * gst/gstclock.h:
3390           Anonymous structs are a gcc (and some other compilers) extension, so
3391           don't use them. Since this is only for ABI-compatibility, and our
3392           API/ABI freeze is over in a few days, this whole thing will only
3393           last a few days, so don't bother trying to think up a meaningful
3394           name for the struct.
3395
3396 2005-11-17  Andy Wingo  <wingo@pobox.com>
3397
3398         * gst/gstclock.h (GstClock): Add rate and offset properties,
3399         preserving ABI stability. Add rate/offset accessors. Will file bug
3400         for the freeze break.
3401
3402         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3403         and offset, trying to keep precision and avoiding
3404         underflow/overflow.
3405         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3406         functions. Make gst_clock_set_time_adjust obsolete.
3407         (gst_clock_set_time_adjust): Note that this function is obsolete.
3408         Will file bug soon.
3409
3410         * gst/base/gstbasetransform.h: Make the ABI-stability hack
3411         greppable by using GST_PADDING-1+1.
3412
3413 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
3414
3415         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3416
3417         * gst/gstmessage.c: (gst_message_parse_clock_lost):
3418           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
3419
3420         * gst/gstpadtemplate.h:
3421         * gst/gstpluginfeature.h:
3422           Don't use c++ style comments in headers (#321638).
3423
3424 2005-11-16  Andy Wingo  <wingo@pobox.com>
3425
3426         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
3427         buffer.
3428
3429         * check/net/gstnettimeprovider.c: Check to see that the time
3430         provider actually provides times. Works, yo!
3431
3432 2005-11-16  Wim Taymans  <wim@fluendo.com>
3433
3434         * check/Makefile.am:
3435         Enable more tests.
3436
3437         * check/elements/fakesrc.c: (GST_START_TEST):
3438         Set element to NULL before disposing it.
3439
3440 2005-11-16  Andy Wingo  <wingo@pobox.com>
3441
3442         * gst/net/Makefile.am:
3443         * gst/net/gstnet.h:
3444         * gst/net/gstnettimeprovider.c: 
3445         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
3446         provider, include it from gstnet.h, and add it to the build.
3447
3448         * gst/net/gstnettimepacket.h: 
3449         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
3450         sending and receiving.
3451
3452 2005-11-16  Wim Taymans  <wim@fluendo.com>
3453
3454         * check/Makefile.am:
3455         Enable valgrind check.
3456
3457         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3458         (gst_fake_src_alloc_buffer):
3459         Fix memleak.
3460
3461 2005-11-16  Wim Taymans  <wim@fluendo.com>
3462
3463         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3464         Call parent finalize too.
3465
3466 2005-11-16  Wim Taymans  <wim@fluendo.com>
3467
3468         * check/Makefile.am:
3469         Enable valgrind check that should work fine now.
3470
3471         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3472         * gst/gstqueue.c: (gst_queue_init):
3473         Fix memleaks in pad allocation.
3474
3475 2005-11-16  Andy Wingo  <wingo@pobox.com>
3476
3477         * gst/net/Makefile.am:
3478         * gst/net/gstnet.h: New part of core to hold network elements and
3479         objects. Put in core because it exposes API that applications want
3480         to use. The library is named libgstnet-tempname right now because
3481         of the existing libgstnet in gst-plugins-base. Solution is
3482         probably to rename the one in plugins-base; will file a bug for
3483         the freeze break.
3484
3485         * gst/net/gstnettimeprovider.c: 
3486         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3487         get_time call over the network.
3488
3489         * configure.ac: 
3490         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3491
3492         * check/Makefile.am:
3493         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3494         get additions shortly.
3495
3496 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3497
3498         * gst/gstpad.c: (gst_pad_new_from_static_template):
3499         * gst/gstpad.h:
3500           add gst_pad_new_from_static_template functions
3501         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3502         (gst_check_setup_sink_pad):
3503         * gst/elements/gsttee.c: (gst_tee_init):
3504           and use them
3505
3506 2005-11-16  Wim Taymans  <wim@fluendo.com>
3507
3508         * gst/gstpad.c: (gst_pad_pause_task):
3509         Removed warning, it's not really an error either.
3510
3511 2005-11-16  Wim Taymans  <wim@fluendo.com>
3512
3513         * gst/base/gstbasetransform.c:
3514         (gst_base_transform_prepare_output_buf),
3515         (gst_base_transform_event):
3516         Check if the caps are NULL, this can happen if the element
3517         is shutting down and the pad caps are set to NULL.
3518
3519 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3520
3521         * gst/elements/gsttee.c: (gst_tee_init):
3522           fix pad template leak in tee
3523
3524 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3525
3526         * gst/glib-compat.c: (g_value_dup_gst_object):
3527         * gst/glib-compat.h:
3528         * gst/gstpad.c: (gst_pad_set_property):
3529           use gst_object_ref when setting the pad template; this will
3530           trigger the pad template leaks on GLib 2.6 and the slaves
3531
3532 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3533
3534         * gst/glib-compat.c: (gst_flags_get_first_value):
3535         * gst/glib-compat.h:
3536         * gst/gstregistryxml.c:
3537           remove functions copied from GLib 2.6
3538
3539 2005-11-16  Michael Smith <msmith@fluendo.com>
3540
3541         * gst/Makefile.am:
3542           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3543           do, but only breaks with newer valgrind versions. We're not a
3544           valgrind tool, we have no link-time dependencies on libcoregrind.
3545
3546 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3547
3548         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3549           some debug changes
3550         * gst/gstmessage.h:
3551           typo fixes
3552
3553 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3554
3555         * gst/base/gstbasesrc.c: (gst_base_src_init):
3556         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3557         * gst/gstqueue.c: (gst_queue_init):
3558         * gst/gstregistryxml.c: (load_feature):
3559           Revert all these unrefs, they don't even pass make check !
3560
3561 2005-11-15  Johan Dahlin  <johan@gnome.org>
3562
3563         * gst/base/gstbasesrc.c: (gst_base_src_init):
3564         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3565         * gst/gstqueue.c: (gst_queue_init): 
3566         Free pad templates, fixes a couple of leaks.
3567
3568 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3569
3570         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3571
3572         * gst/gstpad.c: (gst_pad_get_property):
3573           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3574           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3575           (#321452)
3576
3577 2005-11-15  Wim Taymans  <wim@fluendo.com>
3578
3579         * gst/gstevent.c:
3580         Small doc update.
3581
3582 2005-11-15  Andy Wingo  <wingo@pobox.com>
3583
3584         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3585
3586         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3587         using GST_CLOCK_TIME_NONE to disable base time management.
3588         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3589         time if it was NONE before.
3590         (gst_pipeline_change_state): Only munge the base time if
3591         stream_time != GST_CLOCK_TIME_NONE.
3592
3593         * check/gst/gstpipeline.c (test_base_time): Punt around the
3594         problem of the probe not being called, because that's not the
3595         issue I'm looking at. Add a check that setting stream_time to NONE
3596         disables base time management.
3597         
3598 2005-11-15  Wim Taymans  <wim@fluendo.com>
3599
3600         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3601         segment_stop == -1 at startup.
3602
3603         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3604         (gst_base_transform_change_state):
3605         Init segment values at start.
3606
3607 2005-11-15  Wim Taymans  <wim@fluendo.com>
3608
3609         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3610         0 segment values are 0 in any format.
3611
3612         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3613         * gst/base/gstbasetransform.h:
3614         Parse newsegment correctly in basetransform
3615
3616         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3617         Sync to clock using updated segment values.
3618
3619 2005-11-15  Andy Wingo  <wingo@pobox.com>
3620
3621         * check/gst/gstpipeline.c (test_base_time): Add check that the
3622         base time and stream time are reset correctly.
3623
3624 2005-11-15  Wim Taymans  <wim@fluendo.com>
3625
3626         * docs/design/part-TODO.txt:
3627         Some more TODO items.
3628
3629 2005-11-15  Andy Wingo  <wingo@pobox.com>
3630
3631         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3632         error if the user selected "no clock" as the clocking method.
3633
3634         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3635         timestamps with live capture.
3636
3637         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3638         is 0 but we are a live source, timestamp the buffers using the
3639         element's clock.
3640
3641 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3642
3643         * docs/gst/gstreamer-sections.txt:
3644         * gst/gsterror.c:
3645         * gst/gstghostpad.c:
3646         * gst/gstobject.h:
3647         * gst/gstxml.c:
3648           more section docs
3649
3650 2005-11-14  Wim Taymans  <wim@fluendo.com>
3651
3652         * common/gst.supp:
3653           add suppressions from Wim's Debian machine
3654
3655 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3656
3657         * common/gst.supp:
3658           add suppressions from Andy's AMD64 Ubuntu machine
3659
3660 2005-11-14  Andy Wingo  <wingo@pobox.com>
3661
3662         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3663         STATE_LOCK not necessary. Fixes #311489.
3664
3665         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3666         #305291.
3667
3668         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3669         this function is not implemented.
3670
3671 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3672
3673         * gst/base/gstbasetransform.c:
3674         (gst_base_transform_prepare_output_buf):
3675         Ref the source pad caps while we need them.
3676         Fixes (#321386)
3677
3678 2005-11-11  Wim Taymans  <wim@fluendo.com>
3679
3680         * docs/gst/gstreamer-sections.txt:
3681         Added some docs for GstCollectData.
3682
3683         * gst/base/gstadapter.c:
3684         Some small code example fix.
3685
3686         * gst/base/gstcollectpads.c:
3687         * gst/base/gstcollectpads.h:
3688         Document some more.
3689
3690 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3691
3692         * configure.ac: back to HEAD
3693
3694 === release 0.9.5 ===
3695
3696 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3697
3698         * configure.ac:
3699           releasing 0.9.5, "Bike Lunch Day"
3700
3701 2005-11-11  Wim Taymans  <wim@fluendo.com>
3702
3703         * gst/gstbuffer.c: (_gst_buffer_copy):
3704         Copy more flags.
3705
3706         * gst/gstcaps.c: (gst_caps_is_equal):
3707         Fix some docs.
3708         Make _is_equal fast in the trivial cases.
3709
3710         * gst/gstminiobject.c:
3711         * gst/gstminiobject.h:
3712         More docs. Spifify .h file.
3713
3714         * gst/gstutils.c:
3715         Small doc update.
3716
3717 2005-11-11  Wim Taymans  <wim@fluendo.com>
3718
3719         * gst/base/gstbasetransform.c:
3720         (gst_base_transform_prepare_output_buf),
3721         (gst_base_transform_handle_buffer):
3722         Small cleanups.
3723         If we're processing a buffer and need to allocate an output
3724         buffer, we cannot accept a format change. If we did get a 
3725         format change, we have to alloc a buffer ourselves of the 
3726         right size.
3727
3728 2005-11-11  Wim Taymans  <wim@fluendo.com>
3729
3730         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3731         While checking the flag for reentrancy in the gstcaps function
3732         is nice to detect recursive invocations, it also makes it 
3733         impossible to call getcaps from multiple threads, which must be
3734         possible. So, checking for recursive calls has to go.
3735
3736 2005-11-11  Michael Smith <msmith@fluendo.com>
3737
3738         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3739           Don't sync on buffers that fall partially outside our current
3740           segment. Prevents an assertion failure/abort playing some files.
3741
3742 2005-11-10  Andy Wingo  <wingo@pobox.com>
3743
3744         * check/gst/gstbin.c (test_message_state_changed_children): Style
3745         fix..
3746
3747         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3748         gst_bus_poll with the signal watch. Ensures that poll and a signal
3749         watch see the same messages.
3750
3751         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3752         a poll and a watch at the same time get the same messages.
3753
3754 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3755
3756         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3757         * gst/gstcaps.c: (gst_caps_intersect):
3758           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3759           and it's not needed.
3760
3761 2005-11-10  Wim Taymans  <wim@fluendo.com>
3762
3763         * docs/design/part-TODO.txt:
3764         Updated todo.
3765
3766 2005-11-10  Wim Taymans  <wim@fluendo.com>
3767
3768         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3769         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3770         (gst_base_src_do_sync), (gst_base_src_get_range):
3771         Implement clock sync in base class.
3772
3773 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3774
3775         patch by: Tim-Philipp Müller <tim at centricular dot net>
3776
3777         * gst/gststructure.c: (gst_structure_parse_field),
3778         (gst_structure_from_string):
3779           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3780           so that gst_parse_launch() can deal with spaces in filtered link
3781           caps (fixes #164479)
3782         * check/gst/capslist.h:
3783         * check/gst/gststructure.c: (GST_START_TEST):
3784           add unit tests for this change
3785
3786 2005-11-10  Wim Taymans  <wim@fluendo.com>
3787
3788         * docs/gst/gstreamer-sections.txt:
3789         * gst/gstelement.c:
3790         * gst/gstelement.h:
3791         Fix docs, move some STATE macros to private.
3792
3793 2005-11-10  Wim Taymans  <wim@fluendo.com>
3794
3795         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3796         Added check for bug #317341
3797
3798         * gst/gstbuffer.c:
3799         * gst/gstbuffer.h:
3800         Some more spiffifying.
3801
3802         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3803         Call peer linkfunction if we are a source pad. Totally fixes
3804         #317341
3805
3806         * gst/gstpad.c:
3807         Update docs, source pads should call the peer linkfunction
3808         so they can atomically perform the pad link.
3809
3810 2005-11-09  Wim Taymans  <wim@fluendo.com>
3811
3812         * gst/gstbuffer.c:
3813         * gst/gstbuffer.h:
3814         Uber-spiffy-spiffify some more.
3815
3816 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3817
3818         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3819         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3820         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3821         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3822         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3823         * gst/gstpad.c: (gst_pad_init):
3824           Use GST_DEBUG_FUNCPTR() more extensively.
3825
3826 2005-11-09  Wim Taymans  <wim@fluendo.com>
3827
3828         * gst/gstobject.c: (gst_object_class_init):
3829         * gst/gstobject.h:
3830         Documentation fixes.
3831
3832 2005-11-09  Edward Hervey  <edward@fluendo.com>
3833
3834         * gst/gsttypefindfactory.c:
3835         Fix docs.
3836         
3837 2005-11-09  Edward Hervey  <edward@fluendo.com>
3838
3839         * gst/base/gsttypefindhelper.c:
3840         * gst/gsttypefind.c:
3841         * gst/gsttypefind.h:
3842         Fix docs.
3843
3844 2005-11-09  Wim Taymans  <wim@fluendo.com>
3845
3846         * gst/gstiterator.c:
3847         Fix revision data.
3848
3849         * gst/gsttask.c:
3850         * gst/gsttask.h:
3851         Fix docs.
3852
3853 2005-11-09  Wim Taymans  <wim@fluendo.com>
3854
3855         * gst/gstevent.h:
3856         * gst/gsturi.h:
3857         Fix docs.
3858
3859 2005-11-09  Wim Taymans  <wim@fluendo.com>
3860
3861         * docs/gst/gstreamer-sections.txt:
3862         Moved the message async delivery private lock and cond
3863         to the private section.
3864
3865         * gst/gstmessage.c:
3866         * gst/gstmessage.h:
3867         Fixed docs.
3868
3869 2005-11-09  Edward Hervey  <edward@fluendo.com>
3870
3871         * docs/gst/gstreamer-sections.txt:
3872         * gst/gsturi.c:
3873         * gst/gsturi.h:
3874         Document GstURIHandler
3875
3876 2005-11-09  Wim Taymans  <wim@fluendo.com>
3877
3878         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3879         (gst_iterator_find_custom):
3880         * gst/gstiterator.h:
3881         Fix iterator docs.
3882
3883 2005-11-09  Wim Taymans  <wim@fluendo.com>
3884
3885         * gst/gstbin.h:
3886         Document another field.
3887
3888         * gst/gststructure.c:
3889         * gst/gststructure.h:
3890         Document.
3891
3892 2005-11-09  Wim Taymans  <wim@fluendo.com>
3893
3894         * gst/gstbin.h:
3895         Documented structs.
3896
3897 2005-11-09  Wim Taymans  <wim@fluendo.com>
3898
3899         * docs/gst/gstreamer-sections.txt:
3900         Added some new macros.
3901
3902         * gst/gstclock.c:
3903         * gst/gstclock.h:
3904         * gst/gstobject.h:
3905         Docs updates.
3906
3907 2005-11-09  Wim Taymans  <wim@fluendo.com>
3908
3909         * docs/design/part-TODO.txt:
3910         Some more items for the TODO
3911
3912         * gst/gstcaps.c:
3913         * gst/gstcaps.h:
3914         Document GstCaps.
3915
3916 2005-11-09  Andy Wingo  <wingo@pobox.com>
3917
3918         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3919         to work on something else now tho...
3920
3921         * gst/base/gstadapter.c: More adapter docs.
3922
3923         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3924         (gst_file_sink_stop): New functions, replace the state change
3925         handler.
3926         (gst_file_sink_class_init): Hook up the start and stop functions.
3927         (gst_file_sink_base_init): Don't set the state change handler any
3928         more. It was a bit ugly too, being set from here...
3929         (gst_file_sink_get_property, gst_file_sink_set_property):
3930         Cleanups...
3931         (gst_file_sink_set_location): More robust check that doesn't call
3932         GST_STATE. Ugggggg.
3933
3934 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3935
3936         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3937           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3938
3939 2005-11-08  Wim Taymans  <wim@fluendo.com>
3940
3941         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3942         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3943         (gst_base_sink_chain), (gst_base_sink_change_state):
3944         * gst/base/gstbasesink.h:
3945         * gst/base/gstbasesrc.h:
3946         * gst/gstelement.h:
3947         * gst/gstevent.h:
3948         Avoid excessive typechecking in macros.
3949
3950         * gst/gstminiobject.c: (gst_mini_object_get_type),
3951         (gst_mini_object_init), (gst_mini_object_new),
3952         (gst_mini_object_free):
3953         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3954         (gst_object_finalize):
3955         Remove cruft code, optimize alloc_trace.
3956
3957 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3958
3959         * docs/faq/gst-uninstalled:
3960           fix up PS1 for systems that try to reset it
3961
3962 2005-11-07  Wim Taymans  <wim@fluendo.com>
3963
3964         * gst/base/gstbasesrc.c: (gst_base_src_init),
3965         (gst_base_src_get_range):
3966         Set the segment_end to -1 initially. Fixed typefind.
3967
3968 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3969
3970         * gst/base/gstadapter.c:
3971           Debug category should be 'adapter', not 'GstAdapter'.
3972           
3973         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3974         (gst_collectpads_class_init), (gst_collectpads_init),
3975         (gst_collectpads_peek), (gst_collectpads_pop),
3976         (gst_collectpads_event), (gst_collectpads_chain):
3977           Add debug category and some debugging output. Use boilerplate
3978           macros. Remove some extraneous words from docs.
3979
3980 2005-11-05  Andy Wingo  <wingo@pobox.com>
3981
3982         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3983         macro.
3984
3985 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3986
3987         * docs/gst/gstreamer-sections.txt:
3988         * gst/gstcaps.h:
3989         * gst/gstinfo.c:
3990         * gst/gstminiobject.h:
3991         * gst/gstobject.h:
3992         * gst/gstutils.h:
3993           more docs added
3994
3995 2005-11-04  Wim Taymans  <wim@fluendo.com>
3996
3997         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3998         Small update to stop at the configured segment_end
3999         position.
4000
4001 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4002
4003         * gst/gstregistry.c:
4004         * gst/gstregistry.h:
4005           added missing docs
4006
4007 2005-11-04  Edward Hervey  <edward@fluendo.com>
4008
4009         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4010         Check if we are doing a segment seek and have arrived at the
4011         end of that segment.
4012
4013 2005-11-04  Wim Taymans  <wim@fluendo.com>
4014
4015         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4016         Don't leak a mutex unlock in case of an error.
4017
4018         * gst/gstbus.h:
4019         Doc fixes.
4020
4021 2005-11-04  Wim Taymans  <wim@fluendo.com>
4022
4023         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4024         (gst_bus_post):
4025         Get the context to wake up only once.
4026
4027 2005-11-03  Wim Taymans  <wim@fluendo.com>
4028
4029         * check/states/sinks.c: (GST_START_TEST):
4030         Uncomment fixed check.
4031
4032         * docs/design/part-TODO.txt:
4033         Updated TODO.
4034
4035         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4036         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4037         (gst_base_sink_get_position):
4038         If we are going to PLAYING, post the right pending state
4039         when we post the intermediate paused message.
4040
4041         * gst/gstelement.c: (gst_element_continue_state),
4042         (gst_element_set_state_func), (gst_element_change_state):
4043         Don't post state changes that were between the same state
4044         and were not ASYNC.
4045
4046 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4047
4048         * docs/gst/gstreamer-sections.txt:
4049         * gst/gstcaps.h:
4050         * gst/gstinfo.c:
4051         * gst/gstminiobject.h:
4052         * gst/gstobject.h:
4053         * gst/gstutils.h:
4054           more docs and doc style fixes
4055
4056 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4057
4058         * docs/gst/gstreamer-sections.txt:
4059         * gst/gstelement.c:
4060         * gst/gstminiobject.c:
4061         doc fixes
4062
4063 2005-11-03  Andy Wingo  <wingo@pobox.com>
4064
4065         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4066         state-changed messages actually have the right order and the right
4067         values.
4068
4069 2005-11-03  Wim Taymans  <wim@fluendo.com>
4070
4071         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4072         Added some more checks. Specifically the case where NO_PREROLL
4073         elements are in the pipeline.
4074
4075         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4076         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4077         (gst_base_sink_get_position):
4078         Post READY->PAUSED state change messages too.
4079         Fix bug where VOID was posted as pending state...
4080
4081         * gst/gstbin.c: (gst_bin_recalc_state):
4082         use _element_continue_state() to continue the state change.
4083
4084         * gst/gstelement.c: (gst_element_continue_state),
4085         (gst_element_commit_state), (gst_element_set_state_func),
4086         (gst_element_change_state), (gst_element_change_state_func):
4087         Lots of state change cleanups, assign the STATE_RETURN in
4088         a new continue_state() function that also propagates the
4089         last return value from a state change to the app.
4090         Update some debug statements with proper category.
4091
4092 2005-11-03  Wim Taymans  <wim@fluendo.com>
4093
4094         * docs/design/part-events.txt:
4095         * docs/design/part-gstpipeline.txt:
4096         * docs/design/part-messages.txt:
4097         * docs/design/part-overview.txt:
4098         * docs/design/part-seeking.txt:
4099         * docs/design/part-states.txt:
4100         * docs/design/part-trickmodes.txt:
4101         * docs/manual/advanced-position.xml:
4102         Small docs updates.
4103
4104         * gst/gstobject.h:
4105         People think !! is ugly, this looks better.
4106
4107         * gst/gstpad.c: (gst_pad_set_blocked_async):
4108         Remove !! since it's fixed elsewhere now.
4109
4110 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4111
4112         * gst/gstminiobject.h:
4113         * gst/gstobject.h:
4114           Add !! to _FLAG_IS_SET macros to make the result boolean.
4115
4116 2005-11-03  Edward Hervey  <edward@fluendo.com>
4117
4118         * gst/gstpad.c: (gst_pad_set_blocked_async):
4119         comparing a flag and a gboolean rarely returns coherent results...
4120         Added two characters (!!) to make that work correctly.
4121         
4122 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4123
4124         * gst/gstbus.c: (gst_bus_class_init):
4125           Fix some typos.
4126           
4127         * gst/gstqueue.c: (gst_queue_loop):
4128           Don't assume a miniobject that isn't a buffer is an
4129           event (it could be that there is a refcounting
4130           problem somewhere and the pointer is stale and
4131           refers to an already destroyed miniobject).
4132
4133 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4134
4135         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4136
4137 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4138
4139         * docs/manual/advanced-position.xml:
4140           Update seek example and explanations to current 0.9 API.
4141
4142         * gst/elements/gsttypefindelement.c:
4143         (gst_type_find_element_activate):
4144           Remove FIXME comment now that the found caps
4145           are unreffed.
4146
4147 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4148
4149         * gst/gstregistryxml.c: (load_feature):
4150           Add another GST_STR_NULL instance
4151
4152 2005-11-02  Edward Hervey  <edward@fluendo.com>
4153
4154         * gst/gstpad.c: (handle_pad_block):
4155         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4156         
4157 2005-11-02  Wim Taymans  <wim@fluendo.com>
4158
4159         * gst/gstbin.c:
4160         Fix typo in docs.
4161
4162         * gst/gstelement.c: (gst_element_commit_state):
4163         Remove unused value.
4164
4165         * gst/gstiterator.c:
4166         Mention that the returned element is reffed in the docs.
4167
4168 2005-11-02  Wim Taymans  <wim@fluendo.com>
4169
4170         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4171         (gst_pad_push), (gst_pad_push_event):
4172         Unlock blocked pads when they are flushed.
4173
4174 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4175
4176         * docs/README:
4177         * docs/gst/gstreamer-sections.txt:
4178         * gst/gstbin.c:
4179           doc updates
4180         * gst/gstregistry.c: (gst_registry_scan_path_level):
4181           fix for a nasty little missed situation where an installed plug-in
4182           which was in the cache did not get overridden by an uninstalled one
4183           which was earlier in the plugin path because the newly created plugin
4184           for the uninstalled one (not in the registry) didn't get its
4185           ->registered set to TRUE
4186
4187 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4188
4189         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4190         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4191         (gst_collectpads_is_active), (gst_collectpads_collect),
4192         (gst_collectpads_collect_range), (gst_collectpads_start),
4193         (gst_collectpads_stop), (gst_collectpads_peek),
4194         (gst_collectpads_pop), (gst_collectpads_available),
4195         (gst_collectpads_read), (gst_collectpads_flush):
4196           Guard public API with assertions.
4197         
4198         * gst/gstpad.c:
4199           Fix docs for gst_pad_set_link_function().
4200
4201 2005-11-02  Johan Dahlin  <johan@gnome.org>
4202
4203         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
4204         Unref found_caps after we used it.
4205
4206 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4207
4208         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4209           Don't try to ref NULL.
4210
4211 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4212
4213         * win32/common/config.h.in:
4214           provide a GST_FUNCTION that just gives a string for now
4215
4216 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4217
4218         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4219         (gst_object_flags_get_type), (register_gst_bin_flags),
4220         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4221         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4222         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4223         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4224         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4225         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4226         (gst_clock_flags_get_type), (register_gst_state),
4227         (gst_state_get_type), (register_gst_state_change_return),
4228         (gst_state_change_return_get_type), (register_gst_state_change),
4229         (gst_state_change_get_type), (register_gst_element_flags),
4230         (gst_element_flags_get_type), (register_gst_core_error),
4231         (gst_core_error_get_type), (register_gst_library_error),
4232         (gst_library_error_get_type), (register_gst_resource_error),
4233         (gst_resource_error_get_type), (register_gst_stream_error),
4234         (gst_stream_error_get_type), (register_gst_event_type),
4235         (gst_event_type_get_type), (register_gst_seek_type),
4236         (gst_seek_type_get_type), (register_gst_seek_flags),
4237         (gst_seek_flags_get_type), (register_gst_format),
4238         (gst_format_get_type), (register_gst_index_certainty),
4239         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4240         (gst_index_entry_type_get_type),
4241         (register_gst_index_lookup_method),
4242         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4243         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4244         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4245         (gst_index_flags_get_type), (register_gst_debug_level),
4246         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4247         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4248         (gst_iterator_result_get_type), (register_gst_iterator_item),
4249         (gst_iterator_item_get_type), (register_gst_message_type),
4250         (gst_message_type_get_type), (register_gst_mini_object_flags),
4251         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4252         (gst_pad_link_return_get_type), (register_gst_flow_return),
4253         (gst_flow_return_get_type), (register_gst_activate_mode),
4254         (gst_activate_mode_get_type), (register_gst_pad_direction),
4255         (gst_pad_direction_get_type), (register_gst_pad_flags),
4256         (gst_pad_flags_get_type), (register_gst_pad_presence),
4257         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4258         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4259         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4260         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4261         (gst_plugin_flags_get_type), (register_gst_rank),
4262         (gst_rank_get_type), (register_gst_query_type),
4263         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4264         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4265         (gst_tag_flag_get_type), (register_gst_task_state),
4266         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4267         (gst_alloc_trace_flags_get_type),
4268         (register_gst_type_find_probability),
4269         (gst_type_find_probability_get_type), (register_gst_uri_type),
4270         (gst_uri_type_get_type), (register_gst_parse_error),
4271         (gst_parse_error_get_type):
4272         * win32/common/gstversion.h:
4273           update win32 copies
4274
4275 2005-11-01  Luca Ognibene  <luogni@tin.it>
4276
4277         * gst/gst.c:
4278           fix docs. popt is dead, long live GOption.
4279
4280 2005-10-31  Wim Taymans  <wim@fluendo.com>
4281
4282         * gst/gstbuffer.h:
4283         Small doc fix.
4284
4285 2005-10-31  Andy Wingo  <wingo@pobox.com>
4286
4287         * Boo!
4288
4289         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
4290
4291         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
4292         need to serialize property notifications on GLib 2.8. GLib 2.6 has
4293         the possibility of deadlocks here if code calling notify() or
4294         set() has a lock that can be taken in another notify handler (ABBA
4295         with class lock and e.g. python GIL state lock).
4296
4297 2005-10-28  Julien MOUTTE  <julien@moutte.net>
4298
4299         * gst/gstbus.c: Doc updates.
4300
4301 2005-10-28  Wim Taymans  <wim@fluendo.com>
4302
4303         * docs/design/part-TODO.txt:
4304         * gst/gstiterator.c:
4305         * gst/gstsystemclock.c:
4306         * gst/gstsystemclock.h:
4307         Doc updates.
4308
4309 2005-10-28  Edward Hervey  <edward@fluendo.com>
4310
4311         * docs/gst/gstreamer-docs.sgml:
4312         * docs/gst/gstreamer-sections.txt:
4313         the GstURIType documentation page is private, it only defines GstURIType
4314         which should be defined in the GstURIHandler page
4315         
4316 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4317
4318         * gst/gstbin.c: (gst_bin_class_init):
4319         * gst/gstbin.h:
4320         * gst/gstutils.c:
4321         Documentation updates.
4322
4323 2005-10-28  Wim Taymans  <wim@fluendo.com>
4324
4325         * docs/gst/gstreamer-sections.txt:
4326         * gst/gstclock.c:
4327         * gst/gstclock.h:
4328         Documented the clocks.
4329
4330 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
4331
4332         * docs/gst/gstreamer-sections.txt:
4333           move some macros to private sections
4334         * gst/gstminiobject.c:
4335         * gst/gstminiobject.h:
4336           add descriptions provided by ds and some more
4337         * gst/gstpad.h:
4338           mark macro as to be removed
4339
4340 2005-10-28  Wim Taymans  <wim@fluendo.com>
4341
4342         * docs/design/part-TODO.txt:
4343         Add an item to TODO.
4344
4345         * gst/gstiterator.c: (gst_iterator_fold),
4346         (gst_iterator_find_custom):
4347         * gst/gstiterator.h:
4348         Add iterator docs.
4349
4350 2005-10-28  Wim Taymans  <wim@fluendo.com>
4351
4352         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4353         (gst_base_transform_init):
4354         Don't leak class.
4355
4356         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4357         An EOS event marks the queue as completely filled.
4358
4359 2005-10-27  Wim Taymans  <wim@fluendo.com>
4360
4361         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4362         (gst_base_sink_do_sync), (gst_base_sink_get_position):
4363         Some more debugging.
4364
4365         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4366         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4367         (gst_base_transform_event), (gst_base_transform_getrange),
4368         (gst_base_transform_chain):
4369         * gst/base/gstbasetransform.h:
4370         Fix debugging,
4371         Protect transform and concurrent buffer alloc with a new lock.
4372         Try not to break ABI/API.
4373
4374 2005-10-27  Wim Taymans  <wim@fluendo.com>
4375
4376         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4377         (gst_base_src_init), (gst_base_src_query),
4378         (gst_base_src_default_newsegment),
4379         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4380         (gst_base_src_send_event), (gst_base_src_event_handler),
4381         (gst_base_src_pad_get_range), (gst_base_src_loop),
4382         (gst_base_src_unlock), (gst_base_src_default_negotiate),
4383         (gst_base_src_start), (gst_base_src_deactivate),
4384         (gst_base_src_activate_push), (gst_base_src_change_state):
4385         Move some stuff around and cleanup things.
4386
4387 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
4388
4389         * gst/base/gstbasesrc.c: (gst_base_src_query):
4390           Add missing break statements.
4391
4392 2005-10-27  Wim Taymans  <wim@fluendo.com>
4393
4394         * check/gst/gstbin.c: (GST_START_TEST):
4395         An extra refcount is taken in basesrc.
4396
4397         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4398         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4399         (gst_base_src_loop):
4400         Small cleanups, check for flushing after being unlocked from the 
4401         LIVE_LOCK. take refcounts correctly (not yet everywhere).
4402         Don't send out EOS when going to READY.
4403
4404 2005-10-27  Wim Taymans  <wim@fluendo.com>
4405
4406         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4407         (gst_base_sink_get_position):
4408         Some more debug.
4409
4410         * gst/gstbin.c: (message_check), (bin_replace_message),
4411         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4412         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4413         (bin_query_duration_init), (bin_query_duration_fold),
4414         (bin_query_duration_done), (bin_query_generic_fold),
4415         (gst_bin_query):
4416         * tools/gst-launch.c: (main):
4417         Remove old option.
4418
4419 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
4420
4421         * examples/controller/audio-example.c: (main):
4422         * examples/queue/queue.c: (event_loop):
4423         * gst/base/gstbasetransform.h:
4424         * gst/gstelement.c: (gst_element_send_event):
4425         * gst/gstevent.h:
4426         * gst/gstpad.c: (gst_pad_send_event):
4427           fixing examples
4428           fixing docs typos
4429           changing log priority in error situations
4430
4431 2005-10-25  Wim Taymans  <wim@fluendo.com>
4432
4433         * gst/gstbin.c: (message_check), (bin_replace_message),
4434         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4435         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4436         (bin_query_duration_init), (bin_query_duration_fold),
4437         (bin_query_duration_done), (bin_query_generic_fold),
4438         (gst_bin_query):
4439         Some doc and debug updates.
4440         Cache previously requested query DURATION for speed. invalidate
4441         cached duration if element posts a DURATION message.
4442
4443 2005-10-25  Wim Taymans  <wim@fluendo.com>
4444
4445         * docs/design/part-TODO.txt:
4446         Update TODO.
4447
4448         * gst/gstbin.c: (message_check), (bin_replace_message),
4449         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4450         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4451         (bin_query_duration_init), (bin_query_duration_fold),
4452         (bin_query_duration_done), (bin_query_generic_fold),
4453         (gst_bin_query):
4454         Handle SEGMENT_START/DONE messages correctly.
4455         More evolved query algorithm that handles duration queries
4456         correctly.
4457
4458         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4459         (gst_element_get_state_func), (gst_element_abort_state),
4460         (gst_element_commit_state), (gst_element_lost_state):
4461         Some more debugging.
4462
4463         * gst/gstmessage.h:
4464         Added doc.
4465
4466 2005-10-25  Wim Taymans  <wim@fluendo.com>
4467
4468         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4469         Don't use invalid stream_time.
4470
4471         * gst/gstevent.c: (gst_event_new_newsegment):
4472         stream_time in newsegment cannot be undefined.
4473
4474 2005-10-24  Wim Taymans  <wim@fluendo.com>
4475
4476         * gst/gstbus.c:
4477         Doc fix.
4478
4479         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4480         (gst_queue_loop):
4481         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4482
4483 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4484
4485         * docs/libs/tmpl/gstdparam.sgml:
4486         * docs/libs/tmpl/gstdplinint.sgml:
4487         * docs/libs/tmpl/gstdpman.sgml:
4488         * docs/libs/tmpl/gstdpsmooth.sgml:
4489         * docs/libs/tmpl/gstunitconvert.sgml:
4490           these are obsolete
4491
4492 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4493
4494         * configure.ac:
4495           back to HEAD
4496
4497 === release 0.9.4 ===
4498
4499 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4500
4501         * configure.ac:
4502           releasing 0.9.4, "Tyrannosaurus Rex"
4503
4504 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4505
4506         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4507         (gst_file_sink_get_current_offset):
4508           Use fseeko() and ftello() if available. When falling back on
4509           lseek() to get the current offset, fflush() first to make sure
4510           everything is up-to-date and we get the right offset.
4511
4512 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4513
4514         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4515         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4516         * gst/gsterror.c: (_gst_stream_errors_init):
4517         * gst/gsterror.h:
4518         * gst/gstqueue.c: (gst_queue_loop):
4519         * po/POTFILES.in:
4520           remove prematurely added error category and clean up the instances
4521
4522 2005-10-21  Wim Taymans  <wim@fluendo.com>
4523
4524         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4525         (gst_base_sink_get_position), (gst_base_sink_query),
4526         (gst_base_sink_change_state):
4527         Simply set the right flag when going to playing, that's all
4528         we need to do instead of calling a function inside the object
4529         lock (that could take the lock as well and deadlock)
4530
4531 2005-10-21  Wim Taymans  <wim@fluendo.com>
4532
4533         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4534         (gst_base_src_loop):
4535         Don't warn, the peer element knows what to do best when
4536         the seek failed, it might try something else.
4537
4538 2005-10-21  Wim Taymans  <wim@fluendo.com>
4539
4540         * gst/base/gstbasesrc.c: (gst_base_src_init),
4541         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4542         Fix seeking.
4543
4544 2005-10-21  Wim Taymans  <wim@fluendo.com>
4545
4546         * docs/design/part-segments.txt:
4547         More docs.
4548
4549         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4550         Correctly set caps, even on the subbufer.
4551
4552 2005-10-21  Wim Taymans  <wim@fluendo.com>
4553
4554         * docs/gst/gstreamer-docs.sgml:
4555         * docs/gst/gstreamer-sections.txt:
4556         * gst/gstelement.h:
4557         * gst/gstevent.c:
4558         * gst/gstevent.h:
4559         * gst/gstmessage.h:
4560         * gst/gstpad.h:
4561         * gst/gstparse.h:
4562         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4563         * gst/gsttask.h:
4564         * gst/gstutils.c:
4565         * gst/gstutils.h:
4566         And 2% more doc coverage.
4567
4568 2005-10-21  Andy Wingo  <wingo@pobox.com>
4569
4570         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4571         position reporting.
4572
4573 2005-10-20  Wim Taymans  <wim@fluendo.com>
4574
4575         * gst/gsterror.c: (gst_error_get_message):
4576         * gst/gstparse.h:
4577         * gst/gstquery.h:
4578         * gst/gststructure.c:
4579         * gst/gsttrace.c:
4580         * gst/gstutils.c:
4581         More docs.
4582
4583 2005-10-20  Wim Taymans  <wim@fluendo.com>
4584
4585         * gst/gstbuffer.h:
4586         * gst/gstpad.c:
4587         * gst/gstparse.c:
4588         Another 1% more coverage.
4589
4590 2005-10-20  Wim Taymans  <wim@fluendo.com>
4591
4592         * docs/gst/gstreamer-sections.txt:
4593         * gst/gstelement.c: (gst_element_get_state_func),
4594         (gst_element_abort_state), (gst_element_commit_state),
4595         (gst_element_lost_state):
4596         * gst/gstevent.h:
4597         * gst/gstquery.c: (gst_query_set_position),
4598         (gst_query_parse_position), (gst_query_set_duration),
4599         (gst_query_parse_duration), (gst_query_new_convert):
4600         * gst/gstutils.c:
4601         Yay! 1% more docs coverage.
4602
4603 2005-10-20  Wim Taymans  <wim@fluendo.com>
4604
4605         * gst/gstpad.h:
4606         * gst/gstquery.c: (gst_query_set_position),
4607         (gst_query_parse_position), (gst_query_set_duration),
4608         (gst_query_parse_duration), (gst_query_new_convert):
4609         * gst/gstquery.h:
4610         * gst/gstutils.c: (gst_element_query_convert):
4611         * gst/gstutils.h:
4612         Docs and consistency fixes.
4613
4614 2005-10-20  Wim Taymans  <wim@fluendo.com>
4615
4616         * gst/gsttask.c:
4617         * gst/gsttask.h:
4618         More docs.
4619
4620 2005-10-20  Wim Taymans  <wim@fluendo.com>
4621
4622         * gst/gstbin.c: (message_check), (bin_replace_message),
4623         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4624         (update_degree), (gst_bin_sort_iterator_next),
4625         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4626         Reworked the message handling a bit, cache the messages instead of
4627         only the senders. alows us to do more in the future.
4628
4629 2005-10-20  Wim Taymans  <wim@fluendo.com>
4630
4631         * docs/design/part-TODO.txt:
4632         Update TODO
4633
4634         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4635         (gst_base_sink_query):
4636         Don't use clock time to report position when in EOS.
4637
4638 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4639
4640         * tools/gst-inspect.c: (print_interfaces),
4641         (print_element_properties_info), (print_element_info):
4642           Fix interface output with gst-inspect -a; don't print
4643           newlines after double/float properties.
4644
4645 2005-10-20  Wim Taymans  <wim@fluendo.com>
4646
4647         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4648         (gst_base_sink_query):
4649         Speed up current position calculation.
4650
4651         * gst/base/gstbasesrc.c: (gst_base_src_query),
4652         (gst_base_src_default_newsegment):
4653         Correctly set stream position in newsegment.
4654
4655         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4656         (update_degree), (gst_bin_sort_iterator_next),
4657         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4658         * gst/gstmessage.c: (gst_message_new_custom):
4659         Clean up debugging info
4660
4661         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4662         (gst_queue_loop), (gst_queue_handle_src_query):
4663         Pause task faster.
4664
4665 2005-10-19  Wim Taymans  <wim@fluendo.com>
4666
4667         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4668         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4669         Fix query handling again.
4670
4671 2005-10-19  Wim Taymans  <wim@fluendo.com>
4672
4673         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4674         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4675         * gst/base/gstbasesrc.c: (gst_base_src_query):
4676         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4677         * gst/elements/gsttypefindelement.c:
4678         (gst_type_find_handle_src_query), (find_element_get_length),
4679         (gst_type_find_element_activate):
4680         API change fix.
4681
4682         * gst/gstquery.c: (gst_query_new_position),
4683         (gst_query_set_position), (gst_query_parse_position),
4684         (gst_query_new_duration), (gst_query_set_duration),
4685         (gst_query_parse_duration), (gst_query_set_segment),
4686         (gst_query_parse_segment):
4687         * gst/gstquery.h:
4688         Bundling query position/duration is not a good idea since duration
4689         does not change much and we don't want to recalculate it for every
4690         position query, so they are separated again..
4691         Base value in segment query is not needed.
4692
4693         * gst/gstqueue.c: (gst_queue_handle_src_query):
4694         * gst/gstutils.c: (gst_element_query_position),
4695         (gst_element_query_duration), (gst_pad_query_position),
4696         (gst_pad_query_duration):
4697         * gst/gstutils.h:
4698         Updates for query API change.
4699         Added some docs here and there.
4700
4701 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4702
4703         * check/gst/gstbin.c: (GST_START_TEST):
4704         * check/gst/gstghostpad.c: (GST_START_TEST):
4705         * check/pipelines/cleanup.c: (GST_START_TEST):
4706           wait on thread to die so we can check refcount correctly
4707
4708 2005-10-18  Wim Taymans  <wim@fluendo.com>
4709
4710         * check/pipelines/stress.c: (GST_START_TEST):
4711         Make check a little more time consuming.
4712
4713 2005-10-18  Wim Taymans  <wim@fluendo.com>
4714
4715         * check/Makefile.am:
4716         * check/pipelines/stress.c: (GST_START_TEST),
4717         (simple_launch_lines_suite), (main):
4718         Small state change torture test.
4719
4720         * docs/design/part-states.txt:
4721         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4722         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4723         (gst_base_sink_change_state):
4724         Never take state lock from streaming thread, clean up ugly
4725         hacks. Unfortunatly core does not yet support nice ways to
4726         async commit state.
4727         
4728         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4729         (bin_bus_handler):
4730         Start state recalc if a STATE_DIRTY message is posted, but only
4731         on the toplevel bin.
4732
4733         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4734         (gst_element_get_state_func), (gst_element_abort_state),
4735         (gst_element_commit_state), (gst_element_lost_state),
4736         (gst_element_set_state_func), (gst_element_change_state):
4737         * gst/gstelement.h:
4738         State variables are now protected with the LOCK, the state
4739         lock is only used to serialize _set_state().
4740
4741 2005-10-18  Wim Taymans  <wim@fluendo.com>
4742
4743         * check/gst/gstbin.c: (GST_START_TEST):
4744         * check/gst/gstmessage.c: (GST_START_TEST):
4745         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4746         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4747         (bin_bus_handler):
4748         * gst/gstelement.c: (gst_element_abort_state),
4749         (gst_element_commit_state), (gst_element_lost_state):
4750         * gst/gstmessage.c: (gst_message_new_state_changed),
4751         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4752         (gst_message_new_segment_done), (gst_message_new_duration),
4753         (gst_message_parse_state_changed),
4754         (gst_message_parse_segment_start),
4755         (gst_message_parse_segment_done), (gst_message_parse_duration):
4756         * gst/gstmessage.h:
4757         * tools/gst-launch.c: (event_loop):
4758         Seriously, this is better than a previous commit as we only need
4759         to notify the fact that an element changed state in a streaming
4760         thread, marking the state of the parents dirty, hence the 
4761         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4762         message.
4763
4764 2005-10-18  Wim Taymans  <wim@fluendo.com>
4765
4766         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4767         (gst_bin_recalc_func):
4768         * gst/gstelement.c: (gst_element_set_clock),
4769         (gst_element_abort_state), (gst_element_lost_state):
4770         Cleanups, prepare for state change fixes.
4771
4772 2005-10-18  Wim Taymans  <wim@fluendo.com>
4773
4774         * gst/gstbin.h:
4775         * gst/gstelement.c: (gst_element_class_init),
4776         (gst_element_set_state), (gst_element_set_state_func):
4777         * gst/gstelement.h:
4778         Pending ABI changes.
4779         GThreadPool in GstBinClass to monitor async state changes.
4780         state_cookie in GstElement to detect concurrent gst/set state.
4781         set_state is now virtual too in case a very complicated element
4782         has to be constructed.
4783
4784 2005-10-18  Wim Taymans  <wim@fluendo.com>
4785
4786         * check/gst/gstbin.c: (GST_START_TEST):
4787         * check/gst/gstmessage.c: (GST_START_TEST):
4788         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4789         * gst/gstbin.c: (bin_bus_handler):
4790         * gst/gstelement.c: (gst_element_commit_state),
4791         (gst_element_lost_state):
4792         * gst/gstmessage.c: (gst_message_new_state_changed),
4793         (gst_message_new_segment_start), (gst_message_new_segment_done),
4794         (gst_message_new_duration), (gst_message_parse_state_changed),
4795         (gst_message_parse_segment_start),
4796         (gst_message_parse_segment_done), (gst_message_parse_duration):
4797         * gst/gstmessage.h:
4798         * tools/gst-launch.c: (event_loop):
4799         Make messages future proof.
4800         state-change gets a flag if it was a message comming from the
4801         streaming thread.
4802         segment-start/stop can also be specified in other formats.
4803         A message to notify an app that a pipeline changed playback 
4804         duration.
4805         Also fix a GstMessage leak in -launch
4806
4807 2005-10-18  Andy Wingo  <wingo@pobox.com>
4808
4809         * gst/gstelement.c (gst_element_dispose): More helpful message.
4810
4811 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4812
4813         reviewed by: <delete if not using a buddy>
4814
4815         * common/gtk-doc.mak:
4816
4817 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4818
4819         * gst/gstregistry.c: (gst_registry_scan_path_level):
4820           unref a plug-in we get that was already initialized
4821
4822 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4823
4824         * docs/gst/gstreamer-sections.txt:
4825         * docs/libs/gstreamer-libs-sections.txt:
4826         * gst/gstelement.h:
4827           add new api entries
4828           hide internal macro
4829
4830 2005-10-17  Andy Wingo  <wingo@pobox.com>
4831
4832         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4833         cleanup.
4834
4835         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4836
4837         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4838
4839         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4840         (gst_element_get_state_func): Better debug message.
4841         (gst_element_commit_state): s/INFO/DEBUG/.
4842         (gst_element_lost_state, gst_element_change_state): 
4843
4844         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4845         (gst_message_new_custom): s/INFO/LOG/.
4846
4847 2005-10-17  Michael Smith <msmith@fluendo.com>
4848
4849         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4850           Check if end time is valid using end time, not start time.
4851
4852 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4853
4854         * check/gst-libs/controller.c: (GST_START_TEST),
4855         (gst_controller_suite):
4856         * libs/gst/controller/gstcontroller.c:
4857         (gst_controlled_property_set_interpolation_mode):
4858         * libs/gst/controller/gstcontroller.h:
4859         * libs/gst/controller/gstinterpolation.c:
4860         * testsuite/controller/.cvsignore:
4861         * testsuite/controller/Makefile.am:
4862         * testsuite/controller/interpolator.c:
4863           merge controller testsuites
4864           fix broken tests
4865           remove mem-chunk from docs
4866
4867 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4868
4869         * gst/gstmemchunk.c:
4870         * gst/gstmemchunk.h:
4871         * gst/gsttrashstack.c:
4872         * gst/gsttrashstack.h:
4873           out.  get out.  you're fired.  to the Attic !
4874
4875 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4876
4877         * gst/gstcaps.c: (gst_caps_intersect):
4878           fix signedness issues in a (hopefully) correct way
4879         * gst/gstelement.c: (gst_element_pads_activate):
4880           some debugging
4881         * gst/gstobject.c: (gst_object_set_parent):
4882           some debugging
4883
4884 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4885
4886         * gst/gstvalue.h: Fix prototypes.
4887
4888 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4889
4890         * docs/gst/gstreamer-sections.txt:
4891         * gst/gst.c: (gst_version_string):
4892         * gst/gst.h:
4893         * gst/gstversion.h.in:
4894         * win32/common/libgstreamer.def:
4895           add gst_version_string ()
4896
4897 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4898
4899         * configure.ac:
4900           clean up further
4901         * gst/gst.c: (init_post):
4902         * win32/common/config.h.in:
4903           it's PLUGINDIR now
4904         * gst/gstcaps.c: (gst_caps_intersect):
4905           use gint64, the range could be bigger than a guint
4906
4907 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4908
4909         * gst/gstclock.h:
4910           document potential problem in 2038
4911
4912 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4913
4914         * gst/gstcaps.c: (gst_caps_intersect):
4915           Fix guint j diving under 0
4916
4917 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4918
4919         * configure.ac:
4920         * win32/common/config.h:
4921         * win32/common/config.h.in:
4922           check for process.h, declares getpid() on Windows
4923         * gst/gstinfo.c:
4924           include process.h if we have it
4925         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4926         * gst/gstmemchunk.h:
4927           fix signedness issues
4928         * win32/common/libgstreamer.def:
4929           fix get_type's
4930
4931 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4932
4933         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4934         fix. Because of unsigned ints, caps intersection was going nuts and
4935         trying to access structures with G_MAXUINT index. That fixes
4936         videotestsrc ! ffmpegcolorspace ! fakesink
4937         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4938         consistency.
4939
4940 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4941
4942         * configure.ac:
4943           use the gettext macro
4944         * gst/elements/gstelements.c:
4945         * gst/gst.c:
4946         * gst/indexers/gstindexers.c:
4947           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4948         * win32/common/config.h:
4949           updated config.h
4950         * win32/common/config.h.in:
4951           add the template to generate config.h
4952         * win32/common/gstenumtypes.c:
4953         * win32/common/gstversion.h:
4954           updated copies
4955
4956 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4957
4958         * gst/gst.c: (gst_version):
4959         * gst/gstversion.h.in:
4960           add the nano
4961
4962 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4963
4964         * gst/gstevent.h:
4965           Oops, add missing closing bracket.
4966
4967 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4968
4969         * configure.ac:
4970           use common m4's for argument checking
4971
4972 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4973
4974         * docs/gst/gstreamer-sections.txt:
4975         * gst/gstevent.h:
4976           Add GST_EVENT_TYPE_NAME() macro.
4977
4978 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4979
4980         * gst/gstinfo.c:
4981         * gst/gstpluginfeature.c:
4982         * gst/gsttask.c:
4983           privatize more symbols
4984
4985 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4986
4987         * configure.ac:
4988           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4989           everything that uses GStreamer API should have the includes
4990
4991 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4992
4993         * docs/gst/gstreamer-sections.txt:
4994         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4995         * gst/gstvalue.h:
4996           give each value a _get_type, removes the DATA exports
4997
4998 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4999
5000         * gst/gst.c:
5001         * gst/gst.h:
5002           remove _gst_registry_auto_load, not used anymore
5003         * gst/gstbin.c: (gst_bin_get_type):
5004         * gst/gstbin.h:
5005         * gst/gstelement.c: (gst_element_get_type):
5006         * gst/gstelement.h:
5007         * gst/gstobject.c: (gst_object_get_type):
5008         * gst/gstobject.h:
5009         * gst/gstpad.c: (gst_pad_get_type):
5010         * gst/gstpad.h:
5011           make _get_type functions similar, fixes data export from library
5012
5013 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5014
5015         * configure.ac:
5016           correctly make conditionals
5017         * gst/elements/Makefile.am:
5018         * gst/elements/gstelements.c:
5019           fix typo causing fdsrc not to build
5020
5021 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5022
5023         * testsuite/Makefile.am:
5024         * testsuite/bytestream/.cvsignore:
5025         * testsuite/bytestream/Makefile.am:
5026         * testsuite/bytestream/filepadsink.c:
5027         * testsuite/bytestream/gstbstest.c:
5028         * testsuite/bytestream/test1.c:
5029         * testsuite/bytestream/testfile1:
5030         * testsuite/caps/normalisation.c:
5031         * testsuite/caps/random.c: (main):
5032         * testsuite/cleanup/.cvsignore:
5033         * testsuite/cleanup/Makefile.am:
5034         * testsuite/cleanup/cleanup1.c:
5035         * testsuite/cleanup/cleanup2.c:
5036         * testsuite/cleanup/cleanup3.c:
5037         * testsuite/cleanup/cleanup4.c:
5038         * testsuite/cleanup/cleanup5.c:
5039         * testsuite/controller/interpolator.c:
5040         * testsuite/debug/printf_extension.c: (main):
5041         * testsuite/elements/tee.c:
5042         * testsuite/negotiation/.cvsignore:
5043         * testsuite/negotiation/Makefile.am:
5044         * testsuite/negotiation/pad_link.c:
5045         * testsuite/pad/Makefile.am:
5046         * testsuite/pad/chainnopull.c:
5047         * testsuite/pad/getnopush.c:
5048         * testsuite/pad/link.c:
5049         * testsuite/refcounting/sched.c: (create_pipeline):
5050         * testsuite/registry/Makefile.am:
5051         * testsuite/registry/gst-print-formats.c:
5052         * testsuite/schedulers/.cvsignore:
5053         * testsuite/schedulers/142183-2.c:
5054         * testsuite/schedulers/142183.c:
5055         * testsuite/schedulers/143777-2.c:
5056         * testsuite/schedulers/143777.c:
5057         * testsuite/schedulers/147713.c:
5058         * testsuite/schedulers/147819.c:
5059         * testsuite/schedulers/147894-2.c:
5060         * testsuite/schedulers/147894.c:
5061         * testsuite/schedulers/Makefile.am:
5062         * testsuite/schedulers/group_link.c:
5063         * testsuite/schedulers/queue_link.c:
5064         * testsuite/schedulers/relink.c:
5065         * testsuite/schedulers/unlink.c:
5066         * testsuite/schedulers/unref.c:
5067         * testsuite/schedulers/useless_iteration.c:
5068         * testsuite/states/bin.c:
5069           clean out/remove some stuff from the testsuite directories
5070
5071 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5072
5073         * configure.ac:
5074           check for some headers
5075         * gst/elements/Makefile.am:
5076         * gst/elements/gstelements.c:
5077           don't compile fdsrc without sys/socket.h
5078         * gst/indexers/Makefile.am:
5079         * gst/indexers/gstindexers.c: (plugin_init):
5080           don't compile fileindex without mmap
5081
5082 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5083
5084         * configure.ac:
5085           reorganize
5086           clean up
5087           document more
5088           remove cruft
5089         * check/Makefile.am:
5090         * docs/gst/Makefile.am:
5091         * examples/helloworld/Makefile.am:
5092         * gst/Makefile.am:
5093         * gst/base/Makefile.am:
5094         * gst/check/Makefile.am:
5095         * gst/elements/Makefile.am:
5096         * gst/indexers/Makefile.am:
5097         * gst/parse/Makefile.am:
5098         * libs/gst/controller/Makefile.am:
5099         * libs/gst/dataprotocol/Makefile.am:
5100         * examples/helloworld/helloworld.c: (event_loop):
5101           compile fixes, though it's not being compiled currently
5102
5103 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5104
5105         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5106           Add some simple tests for the new taglist date API.
5107
5108 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5109
5110         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5111         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5112           Beautify 'last-message' output: print 'none' for buffer timestamps
5113           and durations if none is set; improve alignment with next messages.
5114
5115 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5116
5117         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5118         * gst/gstpluginfeature.h:
5119         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5120         * gst/gstregistry.h:
5121         * docs/gst/gstreamer-sections.txt:
5122           Add new API to check plugin feature version requirements.
5123
5124         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5125           Some basic tests for the above.         
5126
5127 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5128
5129         * gst/gststructure.c: (gst_structure_to_string):
5130           guard against NULL printf - happens when for example
5131           a message structure with GstClock gets serialized
5132
5133 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5134
5135         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5136           Fix presumable copy'n'pasto.
5137
5138 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5139
5140         * gst/elements/gstfakesrc.h:
5141         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5142         * gst/elements/gsttypefindelement.c:
5143           fix some signedness
5144         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5145           I wonder if this could actually write +2GB files before
5146
5147 2005-10-13  Andy Wingo  <wingo@pobox.com>
5148
5149         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5150         Fix Timmeke Waymans bug.
5151         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5152         string of the proper length to gst_caps_from_string. There's a
5153         potential for, before this fix, that this could cause someone
5154         connecting over the network to cause a segfault if the payload is
5155         not NUL-terminated.
5156
5157 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5158
5159         * docs/design/draft-push-pull.txt:
5160         * docs/design/part-overview.txt:
5161         * docs/random/TODO-pre-0.9:
5162         * docs/random/old/ChangeLog.gstreamer:
5163         * gst/base/gstpushsrc.c:
5164         * gst/gstclock.c:
5165           fixed typos
5166
5167 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5168
5169         * gst/glib-compat.c: (gst_flags_get_first_value):
5170         * gst/glib-compat.h:
5171         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5172         (gst_value_compare_double), (gst_value_serialize_flags):
5173           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5174           infinite loop
5175
5176 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5177
5178         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5179         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5180           fix up debugging
5181         * tools/gst-launch.c: (event_loop):
5182           print out clock nicely
5183
5184 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5185
5186         * docs/gst/gstreamer-sections.txt:
5187         * gst/gsttaglist.h:
5188         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5189         (gst_tag_list_get_date_index):
5190           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5191           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5192
5193 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5194
5195         * gst/base/gstcollectpads.c: (gst_collectpads_event),
5196         (gst_collectpads_chain):
5197         * gst/base/gstcollectpads.h: Handle newsegment and store informations
5198         in CollectData.
5199
5200 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5201
5202         * docs/gst/gstreamer-sections.txt:
5203         * gst/gst.c:
5204         * gst/gsterror.h:
5205         * tools/gst-inspect.c: (main):
5206         * tools/gst-launch.c: (main):
5207         * tools/gst-run.c: (main):
5208         * tools/gst-xmlinspect.c: (main):
5209           fix GOption context leaks
5210           doc fixes
5211
5212 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5213
5214         * gst/gstbus.c:
5215           use HAVE_UNISTD_H
5216         * win32/common/config.h:
5217           update config
5218         * win32/vs6/grammar.dsp:
5219         * win32/vs6/libgstelements.dsp:
5220         * win32/vs6/libgstreamer.dsp:
5221           update vs6 files
5222
5223 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5224
5225         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5226         * gst/base/gstbasesrc.c: (gst_base_src_query):
5227           fix more guint64<->gdouble conversions
5228
5229 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5230
5231         * Makefile.am:
5232           add win32-update target
5233         * win32/common/gstconfig.h:
5234         * win32/common/gstenumtypes.c:
5235         * win32/common/gstenumtypes.h:
5236         * win32/common/gstversion.h:
5237           add files that visual studio can't generate
5238
5239 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5240
5241         * Makefile.am:
5242           add a win32-update target
5243         * configure.ac:
5244
5245 2005-10-12  Wim Taymans  <wim@fluendo.com>
5246
5247         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5248         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5249         * gst/gstelement.c: (gst_element_commit_state),
5250         (gst_element_set_state):
5251         Protect flags with proper lock.
5252         unref provided cached clock in dispose.
5253
5254 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5255
5256         * gst/gst.c:
5257         * gst/gstminiobject.h:
5258         * gst/gstpad.h:
5259         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5260           removed unused flags from miniobject
5261           doc fixes
5262
5263 2005-10-12  Wim Taymans  <wim@fluendo.com>
5264
5265         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5266         (gst_file_sink_event), (gst_file_sink_render):
5267         Flush before seeking.
5268
5269 2005-10-12  Andy Wingo  <wingo@pobox.com>
5270
5271         * gst/gst.c (gst_init_check): Ignore unknown options, as has
5272         always been the case.
5273
5274 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5275
5276         * check/gst/gstbin.c: (GST_START_TEST):
5277         * docs/gst/gstreamer-sections.txt:
5278         * gst/base/gstbasesink.c: (gst_base_sink_init):
5279         * gst/base/gstbasesrc.c: (gst_base_src_init),
5280         (gst_base_src_get_range), (gst_base_src_check_get_range),
5281         (gst_base_src_start), (gst_base_src_stop):
5282         * gst/base/gstbasesrc.h:
5283         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
5284         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5285         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
5286         (bin_bus_handler):
5287         * gst/gstbin.h:
5288         * gst/gstbuffer.h:
5289         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
5290         * gst/gstbus.h:
5291         * gst/gstelement.c: (gst_element_is_locked_state),
5292         (gst_element_set_locked_state), (gst_element_commit_state),
5293         (gst_element_set_state):
5294         * gst/gstelement.h:
5295         * gst/gstindex.c: (gst_index_init):
5296         * gst/gstindex.h:
5297         * gst/gstminiobject.h:
5298         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
5299         (gst_object_set_parent):
5300         * gst/gstobject.h:
5301         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
5302         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
5303         * gst/gstpad.h:
5304         * gst/gstpadtemplate.h:
5305         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
5306         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5307         * gst/gstpipeline.h:
5308         * gst/indexers/gstfileindex.c: (gst_file_index_load),
5309         (gst_file_index_commit):
5310         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5311         * testsuite/pad/link.c: (gst_test_src_init),
5312         (gst_test_filter_init), (gst_test_sink_init):
5313         * testsuite/states/locked.c: (main):
5314           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5315           moved bitshift from macro to enum definition
5316
5317 2005-10-12  Wim Taymans  <wim@fluendo.com>
5318
5319         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5320         * gst/elements/gstfilesink.c: (gst_file_sink_event),
5321         (gst_file_sink_render):
5322         Some more debugging info.
5323
5324 2005-10-12  Wim Taymans  <wim@fluendo.com>
5325
5326         * docs/design/part-states.txt:
5327         * tools/gst-launch.c: (main):
5328         Some doc updates.
5329         Revert non-intentional change.
5330
5331 2005-10-12  Wim Taymans  <wim@fluendo.com>
5332
5333         * check/gst/gstbin.c: (GST_START_TEST):
5334         * check/gst/gstelement.c: (GST_START_TEST):
5335         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5336         * check/gst/gstghostpad.c: (GST_START_TEST):
5337         * check/gst/gstpipeline.c: (GST_START_TEST):
5338         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5339         * check/states/sinks.c: (GST_START_TEST):
5340         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5341         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5342         (gst_bin_remove_func), (gst_bin_get_state_func),
5343         (gst_bin_recalc_state), (gst_bin_change_state_func),
5344         (bin_bus_handler):
5345         * gst/gstelement.c: (gst_element_get_state_func),
5346         (gst_element_get_state), (gst_element_abort_state),
5347         (gst_element_commit_state), (gst_element_set_state),
5348         (gst_element_change_state), (gst_element_change_state_func):
5349         * gst/gstelement.h:
5350         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5351         (gst_pipeline_provide_clock_func):
5352         * gst/gstutils.c: (gst_element_link_pads_filtered):
5353         * tools/gst-launch.c: (main):
5354         * tools/gst-typefind.c: (main):
5355         Use GstClockTime in _get_state() instead of GTimeVal.
5356         Remove old code in gstutils.c
5357
5358 2005-10-12  Andy Wingo  <wingo@pobox.com>
5359
5360         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5361         removed.
5362
5363         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5364         there is no task. Shouldn't affect any code, as nothing in our
5365         plugins checks this return value.
5366         (gst_pad_stop_task): Also take the stream lock if the pad has no
5367         task. Docs updated.
5368
5369 2005-10-12  Wim Taymans  <wim@fluendo.com>
5370
5371         * gst/gstpad.c: (pre_activate), (post_activate),
5372         (gst_pad_activate_pull), (gst_pad_activate_push):
5373         Cleanup activation code. Reset old state if
5374         activation failed.
5375
5376 2005-10-12  Wim Taymans  <wim@fluendo.com>
5377
5378         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5379         (gst_base_sink_change_state):
5380         No need to prerol after receiving EOS.
5381
5382         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5383         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5384         * gst/elements/gstidentity.c: (gst_identity_event):
5385         Print events more verbosely.
5386
5387 2005-10-12  Wim Taymans  <wim@fluendo.com>
5388
5389         * check/Makefile.am:
5390         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5391         * check/states/sinks2.c:
5392         Moved sinks2 testcode in sinks check.
5393
5394         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5395         (gst_bin_remove_func), (gst_bin_recalc_state),
5396         (gst_bin_change_state_func), (bin_bus_handler):
5397         Fix potential race condition when _get_state() iterated over an
5398         ASYNC element right before it posted a state completion.
5399
5400         * gst/gstclock.h:
5401         Do proper cast here.
5402
5403         * gst/gstevent.c: (gst_event_new_newsegment),
5404         (gst_event_parse_newsegment):
5405         A playback rate of 0.0 is not allowed.
5406
5407 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5408
5409         * win32/common/config.h:
5410         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5411         (_trewinddir), (_ttelldir), (_tseekdir):
5412         * win32/common/dirent.h:
5413         * win32/common/gtchar.h:
5414         * win32/common/libgstbase.def:
5415         * win32/common/libgstreamer.def:
5416         * win32/vs6/grammar.dsp:
5417         * win32/vs6/gst_inspect.dsp:
5418         * win32/vs6/gst_launch.dsp:
5419         * win32/vs6/gstreamer.dsw:
5420         * win32/vs6/libgstbase.dsp:
5421         * win32/vs6/libgstelements.dsp:
5422         * win32/vs6/libgstreamer.dsp:
5423           Visual Studio 6 project files, and a new common directory.
5424           Phear.
5425
5426 2005-10-11  Wim Taymans  <wim@fluendo.com>
5427
5428         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5429         (gst_base_sink_do_sync), (gst_base_sink_query),
5430         (gst_base_sink_change_state):
5431         * gst/base/gstbasesink.h:
5432         Correctly parse newsegment info.
5433
5434 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5435
5436         * gst/gst.c: (init_post):
5437           split plugin paths correctly
5438
5439 2005-10-11  Wim Taymans  <wim@fluendo.com>
5440
5441         * check/gst/gstevent.c: (GST_START_TEST):
5442         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5443         (gst_base_sink_change_state):
5444         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
5445         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5446         * gst/elements/gstfilesink.c: (gst_file_sink_event):
5447         * gst/gstevent.c: (gst_event_new_newsegment),
5448         (gst_event_parse_newsegment):
5449         * gst/gstevent.h:
5450         Added extra flag to newsegment for future API freeze.
5451         Updated check and base elements.
5452
5453 2005-10-11  Julien MOUTTE  <julien@moutte.net>
5454
5455         * gst/base/gstcollectpads.c: (gst_collectpads_init),
5456         (gst_collectpads_add_pad), (gst_collectpads_pop),
5457         (gst_collectpads_event), (gst_collectpads_chain):
5458         * gst/base/gstcollectpads.h: Handle EOS correctly.
5459
5460 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5461
5462         * tools/gst-launch.c: (main):
5463           more null protecting
5464
5465 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5466
5467         * gst/gst-i18n-lib.h:
5468           check for ENABLE_NLS, not GETTEXT_PACKAGE
5469         * gst/gstregistry.c: (gst_registry_add_plugin),
5470         (gst_registry_scan_path_level),
5471         (_gst_registry_remove_cache_plugins):
5472           protect possibly NULL strings
5473         * gst/parse/types.h:
5474           config.h already included before
5475         * tools/gst-inspect.c: (main):
5476           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5477           check for ENABLE_NLS, not GETTEXT_PACKAGE
5478         * tools/gst-launch.c: (main):
5479           check for ENABLE_NLS, not GETTEXT_PACKAGE
5480
5481 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5482
5483         * configure.ac:
5484           if we don't have glib, fail before testing 2.8
5485         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5486           fix a leak, should fix plugins-base testsuite
5487
5488 2005-10-11  Andy Wingo  <wingo@pobox.com>
5489
5490         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5491         take the mode we're going to as an arg. Go head and set the mode
5492         and flushing flags now, so that if the activate function starts a
5493         thread all the flags will be in the right state.
5494         (post_activate): Renamed also. Just handle making sure streaming
5495         finishes for the deactivation case, and setting the deactivated
5496         mode.
5497         (gst_pad_set_active): Complain loudly if deactivation fails.
5498         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5499         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5500         remove the terrible hack.
5501
5502 2005-10-11  Wim Taymans  <wim@fluendo.com>
5503
5504         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5505         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5506         (gst_bin_recalc_state), (gst_bin_change_state_func),
5507         (gst_bin_dispose), (bin_bus_handler):
5508         * gst/gstbin.h:
5509         Prepare to make current EOS message queue more generic.
5510         Fix some typos.
5511
5512         * gst/gstevent.c: (gst_event_new_newsegment),
5513         (gst_event_parse_newsegment):
5514         * gst/gstevent.h:
5515         Rename base to stream_time.
5516
5517         * gst/gstmessage.h:
5518         Fix typo in docs.
5519
5520 2005-10-11  Wim Taymans  <wim@fluendo.com>
5521
5522         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5523         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5524         (gst_bin_change_state_func), (bin_bus_handler):
5525         * gst/gstbin.h:
5526         Work on proper clock selection.
5527
5528 2005-10-11  Edward Hervey  <edward@fluendo.com>
5529
5530         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5531         * libs/gst/controller/gstcontroller.h:
5532         Added GList* version of _remove_properties() in order to be able to wrap
5533         it in bindings.
5534
5535 2005-10-11  Wim Taymans  <wim@fluendo.com>
5536
5537         * docs/design/part-states.txt:
5538         Some more docs.
5539
5540         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5541         (gst_bin_change_state_func), (bin_bus_handler):
5542         Doc updates. Don't distribute the same clock over and over again.
5543
5544         * gst/gstclock.c:
5545         * gst/gstclock.h:
5546         Doc updates.
5547
5548         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5549         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5550         (gst_pad_send_event):
5551         * gst/gstpad.h:
5552         Make probe emission threadsafe again.
5553         Register quarks and move _get_name() from utils.
5554         Doc updates.
5555
5556         * gst/gstpipeline.c: (gst_pipeline_class_init),
5557         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5558         Only redistribute the clock of it changed.
5559
5560         * gst/gstsystemclock.h:
5561         Doc updates. 
5562
5563         * gst/gstutils.c:
5564         * gst/gstutils.h:
5565         Moved the _flow_get_name() to GstPad.
5566
5567 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5568
5569         * check/gst-libs/gdp.c: (GST_START_TEST):
5570         * check/gst/gstcaps.c: (GST_START_TEST):
5571         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5572         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5573         (gst_dp_packet_from_caps):
5574           fix more valgrind warnings before turning up the heat
5575
5576 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5577
5578         * gst/parse/grammar.y:
5579           some cleanup before the hacking
5580
5581 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5582
5583         * gst/base/gstbasesrc.c: (gst_base_src_query):
5584           use conversions
5585         * gst/gstutils.c: (gst_guint64_to_gdouble),
5586         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5587         * gst/gstutils.h:
5588           externalize, basesrc uses it
5589           obviously the implementation needs testing
5590
5591 2005-10-10  Wim Taymans  <wim@fluendo.com>
5592
5593         * tests/sched/Makefile.am:
5594         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5595         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5596
5597 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5598
5599         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5600           apparently converting from guint64 to double is not implemented
5601           on MSVC
5602
5603 2005-10-10  Wim Taymans  <wim@fluendo.com>
5604
5605         * check/Makefile.am:
5606         * check/generic/states.c: (GST_START_TEST):
5607         * check/gst/gstbin.c: (GST_START_TEST):
5608         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5609         * check/states/sinks.c: (GST_START_TEST):
5610         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5611         (main):
5612         Check fixes, use API as stated in design docs, remove hacks.
5613
5614         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5615         (gst_base_sink_change_state):
5616         Catch stopping our task while we're shutting down.
5617
5618         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5619         (gst_bin_remove_func), (gst_bin_get_state_func),
5620         (gst_bin_recalc_state), (gst_bin_change_state_func),
5621         (bin_bus_handler):
5622         * gst/gstbin.h:
5623         * gst/gstelement.c: (gst_element_init),
5624         (gst_element_get_state_func), (gst_element_abort_state),
5625         (gst_element_commit_state), (gst_element_lost_state),
5626         (gst_element_set_state), (gst_element_change_state),
5627         (gst_element_change_state_func):
5628         * gst/gstelement.h:
5629         New state change algorithm (see #318116)
5630
5631         * gst/gstpipeline.c: (gst_pipeline_class_init),
5632         (gst_pipeline_init), (gst_pipeline_set_property),
5633         (gst_pipeline_get_property), (do_pipeline_seek),
5634         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5635         * gst/gstpipeline.h:
5636         Remove crude state change hacks.
5637
5638         * gst/gstutils.h:
5639         Remove crude hacks.
5640
5641         * tools/gst-launch.c: (main):
5642         Fixes for state change. Needs some more work to fully use the
5643         new stuff.
5644
5645 2005-10-10  Andy Wingo  <wingo@pobox.com>
5646
5647         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5648
5649         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5650         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5651         issue.
5652
5653 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5654
5655         * gst/gstiterator.c: (gst_iterator_new):
5656           Fix my previous commit: GTypes passed to gst_iterator_new()
5657           can be fundamental types.
5658
5659 2005-10-10  Wim Taymans  <wim@fluendo.com>
5660
5661         * gst/gstelement.c: (gst_element_iterate_pad_list),
5662         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5663         (gst_element_iterate_sink_pads):
5664         Use src/sink pads lists for the respective iterators instead
5665         of filtering.
5666
5667 2005-10-10  Andy Wingo  <wingo@pobox.com>
5668
5669         Merged in popt removal + GOption addition patch from Ronald, bug
5670         #169772.
5671
5672         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5673         GstElement macros around, remove popt-related symbols, add goption
5674         stuff.
5675
5676         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5677         
5678         * docs/gst/Makefile.am:
5679         * docs/libs/Makefile.am: No POPT_CFLAGS.
5680         
5681         * examples/manual/Makefile.am:
5682         * docs/manual/basics-init.xml: Doc updates with an example.
5683         
5684         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5685         (gst_init), (parse_one_option), (parse_goption_arg):
5686         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5687         bit of hand merging and debugging to get the GOption stuff working
5688         tho.
5689         
5690         * tests/Makefile.am:
5691         * tools/Makefile.am:
5692         * tools/gst-inspect.c: (main):
5693         * tools/gst-launch.c: (main):
5694         * tools/gst-run.c: (main):
5695         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5696
5697 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5698
5699         * gst/gstiterator.c: (gst_iterator_new):
5700           Add assertions to make sure passed GType is likely to really
5701           be a GType (as the compiler won't catch it if the size and
5702           GType arguments get mixed up, see #318447).
5703
5704 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5705
5706         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5707
5708         * gst/gstbin.c: (gst_bin_iterate_sorted):
5709           Pass GType and size arguments to gst_iterator_new() in the right
5710           order (maybe we should make _new() take the GType as first argument
5711           just like _new_list()?) (#318447).
5712           
5713
5714 2005-10-10  Wim Taymans  <wim@fluendo.com>
5715
5716         * gst/gstelement.c: (gst_element_finalize):
5717         And free the GStaticRecMutex too
5718
5719 2005-10-10  Andy Wingo  <wingo@pobox.com>
5720
5721         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5722         Allocate and free the mutex properly.
5723
5724         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5725         New macros.
5726         (GstElement): The state_lock is now recursive. Rebuild your
5727         plugins, suckers. Old macros adapted.
5728
5729         * docs/gst/gstreamer-sections.txt: Doc updates.
5730
5731         * gst/gstutils.h:
5732         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5733         (g_static_rec_cond_wait): Ported from state changes patch, while
5734         we wait on bug #317802 to be solved in a well-distributed GLib.
5735
5736         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5737         gst_element_change_state, variable name changes.
5738         (gst_element_change_state): Split out of gst_element_set_state in
5739         preparation for the state change merge. Doesn't pay attention to
5740         the 'transition' argument.
5741         (gst_element_set_state): Updates, hopefully purely cosmetic.
5742         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5743         state change patch.
5744         (gst_element_get_state_func): Renamed from get_state, cosmetic
5745         changes.
5746
5747 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5748
5749         * gst/elements/gstelements.c:
5750         * win32/GStreamer.vcproj:
5751         * win32/config.h:
5752         * win32/dirent.c: (_tseekdir):
5753         * win32/gst-inspect.vcproj:
5754         * win32/gst-launch.vcproj:
5755         * win32/gstconfig.h:
5756         * win32/gstelements.vcproj:
5757         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5758         * win32/gstreamer.def:
5759         * win32/msvc71.sln:
5760           updates for the win32 build (patch from Sebastien Moutte)
5761
5762 2005-10-10  Andy Wingo  <wingo@pobox.com>
5763
5764         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5765         gst_bin_get_state, cleaned up (but no logic changes).
5766         (bin_element_is_sink): Comment updates.
5767         (sink_iterator_filter): Remove needless cast.
5768         (gst_bin_iterate_sinks): Doc update.
5769         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5770         cleaned up (but no logic changes).
5771
5772         * check/states/sinks.c (test_src_sink): Cleanups from the state
5773         change patch.
5774         (test_livesrc_sink): Sync on the state.
5775
5776         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5777         the state change patch.
5778
5779         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5780         change patch.
5781
5782         * check/gst/gstbin.c: Merge in some style fixes and additional
5783         checks from Wim's state change patch.
5784
5785 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5786
5787         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5788         (gst_type_find_helper):
5789           Check whether we have the requested data already in our list of
5790           cached buffers before pulling a new buffer; also make the buffer
5791           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5792
5793 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5794
5795         * gst/gstcaps.c:
5796         * gst/gstevent.c:
5797           doc updates
5798         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5799           don't use long long, it's not portable.  Replacing with
5800           gint64 seems to work; let's hope no skeletons fall out of the closet.
5801
5802 2005-10-10  Andy Wingo  <wingo@pobox.com>
5803
5804         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5805
5806 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5807
5808         * docs/gst/gstreamer-sections.txt:
5809         * gst/gstevent.c:
5810         * gst/gstevent.h:
5811         * gst/gstinfo.c:
5812         * gst/gstinfo.h:
5813         * gst/gstmessage.c: (gst_message_parse_state_changed):
5814         * gst/gstpad.c:
5815         * gst/gstpad.h:
5816           more docs, fix compilation
5817
5818 2005-10-09  Philippe Khalaf <burger@speedy.org>
5819         * gst/gstmessage.c:
5820           Fixed a few forgotten variables on previous commit
5821
5822 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5823
5824         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5825           Fix evil typefind crasher: getrange() might return a short
5826           buffer at the end of a file, but gst_type_find_peek() must
5827           either return the full data as requested or NULL, but
5828           never a short buffer.
5829
5830 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5831
5832         * gst/gstmessage.c: (gst_message_new_state_changed),
5833         (gst_message_parse_state_changed):
5834         * gst/gstmessage.h:
5835           don't use "new", it's a C++ keyword
5836
5837 2005-10-08  Wim Taymans  <wim@fluendo.com>
5838
5839         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5840         * gst/gstelement.c: (gst_element_post_message):
5841         * gst/gstpipeline.c: (gst_pipeline_change_state):
5842         Small docs and debug updates.
5843
5844 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5845
5846         * docs/gst/gstreamer-sections.txt:
5847         * gst/gstelementfactory.c:
5848         * gst/gstevent.c:
5849         * gst/gsttaglist.c:
5850           more docs
5851
5852 2005-10-08  Wim Taymans  <wim@fluendo.com>
5853
5854         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5855         (gst_bin_dispose), (bin_bus_handler):
5856         Fix typos, add comments.
5857         Clear EOS list when going to PAUSED from any direction and do it
5858         in a threadsafe way.
5859         Get base time in a threadsafe way too.
5860         Fix confusing debug in the change_state function.
5861         Various other small cleanups.
5862         
5863         * gst/gstelement.c: (gst_element_post_message):
5864         Fix very verbose bus posting code.
5865
5866         * gst/gstpipeline.c: (gst_pipeline_class_init),
5867         (gst_pipeline_set_property), (gst_pipeline_get_property),
5868         (gst_pipeline_change_state):
5869         Small ARG_ -> PROP_ cleanup
5870
5871 2005-10-08  Wim Taymans  <wim@fluendo.com>
5872
5873         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5874         Do a less CPU demanding EOS check because we can.
5875
5876 2005-10-08  Wim Taymans  <wim@fluendo.com>
5877
5878         * libs/gst/dataprotocol/dataprotocol.c:
5879         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5880         (gst_dp_packet_from_event):
5881         * libs/gst/dataprotocol/dataprotocol.h:
5882         * libs/gst/dataprotocol/dp-private.h:
5883         It's about time we bump the version number.
5884         Since event types don't fit in the guint8 anymore describing
5885         the payload type, make payload type 16 bits wide.
5886
5887 2005-10-08  Wim Taymans  <wim@fluendo.com>
5888
5889         * docs/design/part-TODO.txt:
5890         * docs/design/part-clocks.txt:
5891         * docs/design/part-events.txt:
5892         * docs/design/part-gstbin.txt:
5893         * docs/design/part-gstelement.txt:
5894         * docs/design/part-gstpipeline.txt:
5895         * docs/design/part-live-source.txt:
5896         * docs/design/part-messages.txt:
5897         * docs/design/part-overview.txt:
5898         * docs/design/part-states.txt:
5899         Many doc updates.
5900
5901 2005-10-08  Wim Taymans  <wim@fluendo.com>
5902
5903         * gst/gstevent.c:
5904         * gst/gstevent.h:
5905         Fix event quark registration.
5906         Add some space between events so we can insert them in the
5907         right groups.
5908
5909 2005-10-08  Wim Taymans  <wim@fluendo.com>
5910
5911         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5912         (gst_base_sink_handle_buffer):
5913         Better log message.
5914
5915         * gst/gstbus.h:
5916         * gst/gstelement.h:
5917         More docs.
5918
5919         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5920         (gst_queue_set_property), (gst_queue_get_property):
5921         * gst/gstqueue.h:
5922         Remove old unused properties.
5923
5924 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5925         * docs/gst/gstreamer-sections.txt:
5926         * gst/gstmessage.c:
5927         * gst/gstmessage.h:
5928         * gst/gstminiobject.c:
5929         * gst/gstminiobject.h:
5930         * gst/gstobject.h:
5931         * gst/gstpad.h:
5932         * gst/gstutils.h:
5933           lots of new docs and doc fixes
5934
5935 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5936
5937         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5938         * gst/gstplugin.h:
5939         * gst/gstregistry.c: (gst_registry_lookup_locked),
5940         (gst_registry_scan_path_level):
5941         * gst/gstregistryxml.c: (load_plugin):
5942           Only ever load one plugin for a given plugin basename.
5943           This ensures correct overriding of GST_PLUGIN_PATH over
5944           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5945           system installed plugins.
5946
5947 2005-10-08  Wim Taymans  <wim@fluendo.com>
5948
5949         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5950         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5951         Prepare for doing QOS.
5952
5953 2005-10-08  Wim Taymans  <wim@fluendo.com>
5954
5955         * check/gst/gstbin.c: (GST_START_TEST):
5956         * check/pipelines/cleanup.c: (GST_START_TEST):
5957         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5958         Allow new clock message too.
5959
5960 2005-10-08  Wim Taymans  <wim@fluendo.com>
5961
5962         * gst/gstmessage.c: (gst_message_new_error),
5963         (gst_message_new_warning), (gst_message_new_tag),
5964         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5965         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5966         (gst_message_new_segment_start), (gst_message_new_segment_done),
5967         (gst_message_parse_state_changed),
5968         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5969         (gst_message_parse_new_clock):
5970         * gst/gstmessage.h:
5971         Also carry the clock in question.
5972
5973 2005-10-08  Wim Taymans  <wim@fluendo.com>
5974
5975         * gst/gstmessage.c: (gst_message_new_custom),
5976         (gst_message_new_eos), (gst_message_new_error),
5977         (gst_message_new_warning), (gst_message_new_tag),
5978         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5979         (gst_message_new_new_clock), (gst_message_new_segment_start),
5980         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5981         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5982         * gst/gstmessage.h:
5983         Clean up.
5984         Added clock related messages.
5985
5986         * gst/gstpipeline.c: (gst_pipeline_change_state):
5987         Post message when the clock changed.
5988
5989         * tools/gst-launch.c: (event_loop):
5990         Print new clock.
5991
5992 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5993
5994         * tools/gst-inspect.c: (print_element_properties_info):
5995           Can't pass NULL strings to g_print() on windows.
5996
5997 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5998
5999         * docs/Makefile.am:
6000         * docs/gst/Makefile.am:
6001         * docs/gst/gstreamer-docs.sgml:
6002         * docs/gst/running.xml:
6003         * docs/version.entities.in:
6004           add a chapter on running GStreamer.
6005           document GST_DEBUG and GST_PLUGIN* env vars
6006
6007 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6008
6009         * Makefile.am:
6010           remove include dir
6011         * configure.ac:
6012           remove PLUGINS_BUILDDIR stuff
6013         * gst/gst.c: (init_post):
6014           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6015         * idiottest.mak:
6016           remove, it was condescending and not needed
6017
6018 2005-10-08  Wim Taymans  <wim@fluendo.com>
6019
6020         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6021         (gst_base_sink_handle_object), (gst_base_sink_event),
6022         (gst_base_sink_wait), (gst_base_sink_handle_event),
6023         (gst_base_sink_change_state):
6024         * gst/base/gstbasesink.h:
6025         Repost EOS message while going to PLAYING if still EOS.
6026         Make sure that when receiving a FLUSH_START we don't attempt
6027         to sync on the clock anymore.
6028
6029 2005-10-08  Wim Taymans  <wim@fluendo.com>
6030
6031         * tools/gst-launch.c: (event_loop):
6032         Better message printout.
6033
6034 2005-10-08  Wim Taymans  <wim@fluendo.com>
6035
6036         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6037         (gst_bin_child_proxy_get_children_count):
6038         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6039         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6040         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6041         (gst_child_proxy_set_valist):
6042         * gst/parse/grammar.y:
6043         Make ChildProxy threadsafe and fix mem leaks.
6044
6045 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6046
6047         * gst/gst.c: (init_post):
6048           debug the GST_PLUGIN_ env vars
6049
6050 2005-10-08  Wim Taymans  <wim@fluendo.com>
6051
6052         * check/gst/gstbin.c: (GST_START_TEST):
6053         * check/gst/gstmessage.c: (GST_START_TEST):
6054         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6055         * gst/gstelement.c: (gst_element_commit_state),
6056         (gst_element_lost_state):
6057         * gst/gstmessage.c: (gst_message_new_state_changed),
6058         (gst_message_parse_state_changed):
6059         * gst/gstmessage.h:
6060         * tools/gst-launch.c: (event_loop):
6061         Added extra field to STATE_CHANGE message with the pending
6062         state, which will be different from the new state soon.
6063
6064 2005-10-08  Wim Taymans  <wim@fluendo.com>
6065
6066         * gst/gstbus.c: (gst_bus_pop):
6067         * gst/gstclock.c:
6068         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6069         Small cleanups and doc updates.
6070
6071 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6072
6073         * gst/gst.c: (init_pre):
6074         * gst/gstbin.c: (gst_bin_add_func):
6075           log distributing clocks and base time
6076         * gst/gstregistry.c: (gst_registry_add_plugin),
6077         (gst_registry_scan_path_level), (gst_registry_scan_path):
6078           clean up the debugging output a little
6079         * gst/gstutils.c: (gst_element_state_get_name):
6080           warn about a memleak (I've actually seen this be used, though
6081           it was probably a bug)
6082
6083 2005-10-07  Wim Taymans  <wim@fluendo.com>
6084
6085         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6086         (gst_base_src_init), (gst_base_src_default_newsegment),
6087         (gst_base_src_newsegment), (gst_base_src_do_seek),
6088         (gst_base_src_loop), (gst_base_src_start):
6089         * gst/base/gstbasesrc.h:
6090         Make the newsegment event customizable by subclasses.
6091
6092 2005-10-07  Wim Taymans  <wim@fluendo.com>
6093
6094         * gst/gstevent.c: (gst_event_new_buffersize),
6095         (gst_event_parse_buffersize):
6096         * gst/gstevent.h:
6097         New event for future idea.
6098
6099 2005-10-07  Andy Wingo  <wingo@pobox.com>
6100
6101         * gst/gstelement.c (gst_element_post_message): Doc update.
6102
6103         * docs/gst/gstreamer-sections.txt: Update.
6104
6105         * gst/gstmessage.c (gst_message_new_application): Made into a
6106         function like honest API calls.
6107         (gst_message_new_element): New message type.
6108
6109         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6110
6111         * check/elements/fakesrc.c (test_no_preroll): New check, checks
6112         that setting a live fakesrc to PAUSED returns NO_PREROLL both
6113         times.
6114
6115         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6116         NO_PREROLL from gst_element_change_state to fall through.
6117
6118 2005-10-07  Wim Taymans  <wim@fluendo.com>
6119
6120         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6121         (gst_ghost_pad_do_activate_push):
6122         Activating a ghostpad with no internal pad in push mode
6123         is ok.
6124
6125 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6126
6127         * gst/gstobject.h:
6128           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6129           Fixes compilation on Windows.
6130
6131 2005-10-07  Michael Smith <msmith@fluendo.com>
6132
6133         * tools/gst-inspect.c:
6134           Print out feature and plugin count at the end when printing out
6135           all features.
6136
6137 2005-10-04  Michael Smith <msmith@fluendo.com>
6138
6139         * gst/gsterror.c: (_gst_stream_errors_init):
6140           Add another error string used in a few existing plugins.
6141
6142         * gst/gstplugin.c:
6143         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6144         * tools/gst-inspect.c: (print_element_info):
6145           When a feature disappears from a plugin (and the feature exists in
6146           the cached registry file), things went horribly wrong. This isn't a
6147           complete fix, we should actually be removing the 'missing' features
6148           from the features list when we load the actual plugin. That's not
6149           yet implemented. 
6150
6151 2005-10-04  Johan Dahlin  <johan@gnome.org>
6152
6153         * check/gst/gstiterator.c: (GST_START_TEST):
6154         * gst/gstbin.c: (gst_bin_iterate_elements),
6155         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6156         * gst/gstelement.c: (gst_element_iterate_pads):
6157         * gst/gstformat.c: (gst_format_iterate_definitions):
6158         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6159         (gst_iterator_new_list), (gst_iterator_filter):
6160         * gst/gstiterator.h:
6161         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6162         Add a GType to GstIterator, update callsites and tests.
6163
6164 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6165
6166         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6167           give events a chance to be handled by event probes when the pad
6168           is not linked
6169
6170 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6171
6172         * gst/gstevent.c: (gst_event_type_get_name),
6173         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6174         * gst/gstevent.h:
6175           add string representations for event types
6176
6177 2005-10-06  Wim Taymans  <wim@fluendo.com>
6178
6179         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6180         Don't use NULL pointers.
6181
6182 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6183
6184         * gst/gst_private.h:
6185         * gst/gstbus.c:
6186         * gst/gstelement.c:
6187         * gst/gstinfo.c:
6188         * gst/gstpluginfeature.c:
6189           widen the debug category in output to fit the biggest one we have
6190           add a bus category and use it
6191           play with the colors
6192           fix up some categories
6193
6194 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6195
6196         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6197           add push activation of sink ghost pads.
6198           Andye, please verify
6199
6200 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6201
6202         * gst/gstutils.c: (gst_element_link_pads):
6203           fix a bug in the case where neither element has a pad
6204         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6205           add a test for that case
6206
6207 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6208
6209         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6210           emit have-data before checking for peers.  This allows
6211           for probe handlers to connect elements.  This helps autopluggers.
6212         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6213         (gst_pad_suite):
6214           add six checks, linked/unlinked with no/true/false probe
6215
6216 2005-10-04  Wim Taymans  <wim@fluendo.com>
6217
6218         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6219         (gst_fake_sink_event), (gst_fake_sink_preroll),
6220         (gst_fake_sink_render), (gst_fake_sink_change_state):
6221         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6222         (gst_fake_src_get_property), (gst_fake_src_create),
6223         (gst_fake_src_stop):
6224         * gst/elements/gstidentity.c: (gst_identity_stop):
6225         Protect last_message with lock.
6226
6227 2005-10-04  Edward Hervey  <edward@fluendo.com>
6228
6229         * gst/gstformat.h: 
6230         Added precision in the comments for GST_FORMAT_DEFAULT
6231
6232 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
6233
6234         * tools/gst-launch.c: (main):
6235           Don't try to run erroneous pipelines.
6236
6237 2005-10-04  Julien MOUTTE  <julien@moutte.net>
6238
6239         * gst/gstbus.c: We don't need this header.
6240
6241 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6242
6243         * configure.ac:
6244           back to development
6245
6246 === release 0.9.3 ===
6247
6248 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6249
6250         * README:
6251         * configure.ac:
6252           Releasing 0.9.3, "Unregistered"
6253
6254 2005-10-03  Andy Wingo  <wingo@pobox.com>
6255
6256         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6257         whereby calling a pad's activatepush() function can start a thread
6258         that starts to push or pull before the pad gets the FLUSHING flag
6259         unset. Hack around it by holding the stream lock until the flag is
6260         set. Need to replace this with a proper solution. Together with
6261         the ghost pad fixes, this fixes mp3 playing/tagreading.
6262
6263         * docs/design/part-gstghostpad.txt: Add a note about activation of
6264         proxy pads outside of ghost pads.
6265
6266         * gst/gstghostpad.c: Implement the ghost pad activation design.
6267
6268 2005-10-02  Andy Wingo  <wingo@pobox.com>
6269
6270         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6271         It is volatile, after all.
6272
6273         * docs/design/part-gstghostpad.txt: Flesh out activation with
6274         ghost pads.
6275
6276         * gst/base/gstbasesrc.c (gst_base_src_init): Use
6277         GST_DEBUG_FUNCPTR.
6278
6279 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6280
6281         * configure.ac:
6282           Fix (unused) AM_CONDITIONAL tests.
6283
6284 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
6285
6286         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6287
6288         * gst/gstutils.c: (gst_pad_query_convert):
6289           Add assertion that makes sure src_val is >=0, just like
6290           gst_query_new_convert() has. (#315895)
6291
6292 2005-09-30  Edward Hervey  <edward@fluendo.com>
6293
6294         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
6295         Let's not iterate pads we're not interested in, it avoids getting 
6296         sky-high refcounts on sinkpad.
6297
6298 2005-09-30  Wim Taymans  <wim@fluendo.com>
6299
6300         * gst/gstelement.c: (gst_element_set_state),
6301         (gst_element_change_state):
6302         Small tweak, element in ASYNC remains ASYNC.
6303
6304 2005-09-30  Wim Taymans  <wim@fluendo.com>
6305
6306         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6307         Only error is an error.
6308
6309         * gst/gstbin.c: (gst_bin_change_state):
6310         Better debugging.
6311
6312         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6313         Also call pad_block in pad alloc.
6314
6315         * gst/gstutils.c: (gst_flow_get_name):
6316         Better debugging.
6317
6318 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6319
6320         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6321         (gst_base_src_get_range):
6322           Fix documentation typos. Add some more debug info.
6323
6324 2005-09-29  David Schleef  <ds@schleef.org>
6325
6326         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6327           more end-user friendly.
6328         * tools/gst-inspect.c: (main): Check if command-line argument is
6329           a file and attempt to load that file as a plugin.
6330
6331 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6332
6333         * check/gst/gstbin.c:
6334         * check/states/sinks.c:
6335           fix tests for the new warning
6336         * check/gst/gstpipeline.c:
6337           add a test for pipeline and bus interaction
6338         * gst/gstelement.c:
6339           elements should be NULL if they get disposed; add a warning if not
6340
6341 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6342
6343         * gst/gstobject.c:
6344           for 2.6 refcounting, make debug log more correct by printing
6345           the actual refcounts at the time of swap (Wim)
6346
6347 2005-09-29  Andy Wingo  <wingo@pobox.com>
6348
6349         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6350         removes signal watches previously added via
6351         gst_bus_add_signal_watch.
6352         (gst_bus_add_signal_watch): Don't return the source id, just store
6353         it on the bus if there wasn't an id already.
6354
6355         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6356         add_signal_watch and remove_signal_watch.
6357
6358 2005-09-29  Edward Hervey  <edward@fluendo.com>
6359
6360         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
6361         Better if we actually iterate the list :)
6362
6363 2005-09-29  Wim Taymans  <wim@fluendo.com>
6364
6365         * check/gst/gstbin.c: (GST_START_TEST):
6366         Change for new bus API.
6367
6368         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6369         (send_messages), (GST_START_TEST), (gstbus_suite):
6370         Change for new bus signal API.
6371
6372         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6373         (gst_bus_source_prepare), (gst_bus_source_check),
6374         (gst_bus_create_watch), (gst_bus_add_watch_full),
6375         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6376         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6377         * gst/gstbus.h:
6378         Remove support for multiple GSources operating on different
6379         message types as it is too complex and unneeded when using
6380         signals.
6381         Added support for receiving signals from the bus.
6382
6383 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6384
6385         * docs/libs/tmpl/gstdataprotocol.sgml:
6386         * docs/manual/advanced-dataaccess.xml:
6387         * gst/elements/gstcapsfilter.c:
6388         * gst/gstutils.c:
6389           rename filter-caps to caps property
6390
6391 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6392
6393         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6394           More robust fraction string parsing.
6395
6396         * docs/pwg/appendix-porting.xml:
6397           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6398
6399 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6400
6401         * gst/gstcaps.c: (gst_caps_do_simplify):
6402           Thou shalt not free a structure and then continue using it
6403           in the next loop iteration.
6404
6405         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6406         (gst_caps_suite):
6407           Add test case for caps simplification.
6408
6409 2005-09-29  Wim Taymans  <wim@fluendo.com>
6410
6411         * check/gst/gstbin.c: (GST_START_TEST):
6412         Oops.
6413
6414 2005-09-29  Wim Taymans  <wim@fluendo.com>
6415
6416         * check/gst/gstbin.c: (GST_START_TEST):
6417         Add bus to bin.
6418
6419         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6420         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6421         (find_element), (gst_bin_sort_iterator_next),
6422         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6423         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6424         (gst_bin_change_state), (gst_bin_dispose):
6425         A bin does not have a bus, it gets the bus from the parent.
6426
6427         * gst/gstelement.c: (gst_element_requires_clock),
6428         (gst_element_provides_clock), (gst_element_is_indexable),
6429         (gst_element_is_locked_state), (gst_element_change_state),
6430         (gst_element_set_bus_func):
6431         Small cleanups.
6432
6433         * gst/gstpipeline.c: (gst_pipeline_class_init),
6434         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
6435         The pipeline provides a bus.
6436
6437 2005-09-28  Johan Dahlin  <johan@gnome.org>
6438
6439         * gst/gstmessage.c (gst_message_parse_state_changed): Use
6440         gst_structure_get_enum instead of gst_structure_get_int
6441
6442         * gst/gststructure.c (gst_structure_get_enum): Impl.
6443
6444         * gst/gststructure.h (gst_structure_get_enum): Add
6445
6446         * docs/gst/gstreamer-sections.txt: Ditto
6447
6448         * gst/gstmessage.c (gst_message_new_state_changed): Use
6449         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
6450         which does introspection.
6451         Reviewed by Christian Schaller
6452
6453 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6454
6455         * gst/gstinfo.c: (gst_debug_log_default):
6456           don't do dummy g_strdup()s
6457         * libs/gst/controller/gstcontroller.c:
6458         (on_object_controlled_property_changed),
6459         (gst_controlled_property_new), (gst_controller_new_valist),
6460         (gst_controller_new_list),
6461         (gst_controller_remove_properties_valist), (gst_controller_set),
6462         (gst_controller_get), (gst_controller_sync_values),
6463         (gst_controller_get_value_array), (_gst_controller_class_init),
6464         (gst_controller_get_type):
6465         * libs/gst/controller/gstcontroller.h:
6466         * libs/gst/controller/gstinterpolation.c:
6467         (gst_controlled_property_find_timed_value_node):
6468           convert // to /**/ comments
6469
6470 2005-09-28  Wim Taymans  <wim@fluendo.com>
6471
6472         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6473         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6474         (gst_bus_sync_signal_handler):
6475         * gst/gstbus.h:
6476         Added async-message and sync-message signals to the bus.
6477         Added helper BusFunc to emit signals for all posted messages.
6478
6479         * gst/gstmessage.c: (gst_message_type_get_name),
6480         (gst_message_type_to_quark), (gst_message_get_type):
6481         * gst/gstmessage.h:
6482         Register quarks for message names.
6483
6484 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6485
6486         * docs/libs/gstreamer-libs-sections.txt:
6487         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6488         (gst_controller_new_list):
6489         * libs/gst/controller/gstcontroller.h:
6490           added another constructor for language bindings
6491
6492 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6493
6494         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6495           add another check
6496         * gst/gstbus.c:
6497           add some doc
6498         * gst/gstinfo.c: (_gst_debug_init):
6499           slightly more readable color for refcount debugging
6500
6501 2005-09-28  Wim Taymans  <wim@fluendo.com>
6502
6503         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6504         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6505         (find_element), (gst_bin_sort_iterator_next),
6506         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6507         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6508         (gst_bin_change_state), (gst_bin_dispose):
6509         Small doc fixes. get_clock -> provide_clock.
6510
6511         * gst/gstelement.c: (gst_element_class_init),
6512         (gst_element_provides_clock), (gst_element_provide_clock),
6513         (gst_element_get_clock), (gst_element_commit_state),
6514         (gst_element_lost_state):
6515         * gst/gstelement.h:
6516         Make get/set_clock() symetric. Add provide_clock vmethod since
6517         that is actually what this function does.
6518
6519         * gst/gstpipeline.c: (gst_pipeline_class_init),
6520         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6521         (gst_pipeline_get_clock):
6522         get_clock -> provide_clock.
6523
6524 2005-09-28  Andy Wingo  <wingo@pobox.com>
6525
6526         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6527         lieu of real docs...
6528
6529         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6530
6531 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6532
6533         * gst/elements/gstcapsfilter.c:
6534         * gst/elements/gstfakesink.c:
6535         * gst/elements/gstfakesrc.c:
6536         * gst/elements/gstfdsink.c:
6537         * gst/elements/gstfdsrc.c:
6538         * gst/elements/gstfilesink.c:
6539         * gst/elements/gstfilesrc.c:
6540         * gst/elements/gstidentity.c:
6541         * gst/elements/gsttee.c:
6542         * gst/elements/gsttypefindelement.c:
6543           Make element details static.
6544
6545 2005-09-28  Wim Taymans  <wim@fluendo.com>
6546
6547         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6548         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6549         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6550         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6551         (gst_bin_change_state), (gst_bin_dispose):
6552         Some documentation updates.
6553         Clean up dispose handlers.
6554
6555         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6556         * gst/gstpad.c: (gst_pad_dispose):
6557         Clean up dispose handler.
6558
6559         * gst/gstpipeline.c: (gst_pipeline_change_state):
6560         Removed spurious UNLOCK.
6561
6562 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6563
6564         * docs/gst/gstreamer-sections.txt:
6565         * gst/base/gstbasesrc.h:
6566         * gst/gstelement.h:
6567         * gst/gstevent.h:
6568         * gst/gstobject.h:
6569         * gst/gstpad.h:
6570         * gst/gstpipeline.c:
6571         * gst/gstpipeline.h:
6572         * gst/gstutils.h:
6573         * gst/gstxml.h:
6574           added two new functions to the docs
6575                 documents all undocumented GstXXXFlags
6576                 completed some incomplete docs 
6577
6578 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6579
6580         * gst/gstbin.c: (gst_bin_dispose):
6581         * gst/gstelement.c: (gst_element_dispose):
6582           remove now useless and leaky resurrection code in dispose
6583         * gst/base/gstbasesrc.c: (gst_base_src_init):
6584         * gst/gstelementfactory.c: (gst_element_factory_create):
6585         * gst/gstobject.c: (gst_object_set_parent):
6586           add some debugging
6587
6588 2005-09-27  Wim Taymans  <wim@fluendo.com>
6589
6590         * docs/design/part-TODO.txt:
6591         Update TODO.
6592
6593         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6594         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6595         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6596         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6597         (gst_bin_change_state):
6598         * gst/gstelement.h:
6599         Remove element variable, we keep element info in the iterator now.
6600
6601 2005-09-27  Andy Wingo  <wingo@pobox.com>
6602
6603         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6604         values.
6605
6606 2005-09-27  Wim Taymans  <wim@fluendo.com>
6607
6608         * check/gst/gstbin.c: (GST_START_TEST):
6609         Enable check that works now.
6610
6611         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6612         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6613         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6614         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6615         (gst_bin_change_state):
6616         * gst/gstbin.h:
6617         Redid the state change algorithm using a topological sort algo.
6618         Handles all cases correctly.
6619         Exposed iterator for state change order.
6620
6621         * gst/gstelement.h:
6622         Temp storage for state changes. Need to get rid of this soon.
6623
6624 2005-09-27  Wim Taymans  <wim@fluendo.com>
6625
6626         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6627         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6628         (link_fold_func), (gst_pad_proxy_setcaps):
6629         Leak fixes, the fold functions need to unref the passed object and
6630         _get_parent_*() returns ref to parent.
6631
6632 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6633
6634         * check/gst/gstbuffer.c: (test_make_writable):
6635           Plug leak in test case and fix 'make check-valgrind'
6636
6637 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6638
6639         * gst/gstbuffer.c: (gst_subbuffer_init):
6640           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6641           works correctly in all circumstances (we could have just copied
6642           the parent buffer's readonly flag, but conceptually it seems
6643           cleaner to mark all subbuffers as read-only). (based on patch
6644           by Alessandro Decina, #314710).
6645         
6646         * check/gst/gstbuffer.c: (create_read_only_buffer),
6647         (test_make_writable), (test_subbuffer_make_writable),
6648         (gst_test_suite):
6649           Add some tests for gst_buffer_make_writable().
6650
6651 2005-09-27  Wim Taymans  <wim@fluendo.com>
6652
6653         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6654         use gst_object_has_ancestor().
6655
6656         * gst/gstobject.c: (gst_object_has_ancestor):
6657         * gst/gstobject.h:
6658         gst_object_has_ancestor() copied from gstbin.c as it is a
6659         usefull function.
6660
6661         * tests/instantiate/create.c: (create_all_elements):
6662         * tests/lat.c: (handoff_src), (handoff_sink):
6663         * tests/sched/runxml.c: (main):
6664         * tests/seeking/seeking1.c: (main):
6665         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6666         (main):
6667         Fix compilation of some tests.
6668
6669 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6670
6671         * gst/gsterror.h:
6672           Remove comment. GST_TYPE_G_ERROR is here to stay,
6673           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6674           (#316961, #300610).
6675
6676 2005-09-26  Wim Taymans  <wim@fluendo.com>
6677
6678         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6679         Added check that shows error in state change order.
6680
6681 2005-09-26  Wim Taymans  <wim@fluendo.com>
6682
6683         * gst/gstbin.c: (gst_bin_change_state):
6684         Make state change function use 3 queues again, we were
6685         adding elements in the wrong order.
6686
6687         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6688         Some debug info,
6689
6690         * gst/gstpad.c: (gst_pad_dispose):
6691         Added some debug info first.
6692
6693 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6694
6695         * docs/design/draft-push-pull.txt:
6696         * docs/design/part-events.txt:
6697         * docs/design/part-overview.txt:
6698         * docs/design/part-scheduling.txt:
6699           Replace all _pull_region() with _pull_range()
6700           
6701 2005-09-26  Andy Wingo  <wingo@pobox.com>
6702
6703         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6704
6705         * check/gst-libs/controller.c: Update for controller api change.
6706
6707         * configure.ac: 
6708         * tests/Makefile.am:
6709         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6710         over by GLib bug 118439.
6711         
6712         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6713         routines to a function.
6714
6715         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6716
6717         * libs/gst/controller/gsthelper.c:
6718         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6719         (gst_object_sync_values): Renamed from sink_values. Ugh.
6720
6721         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6722
6723         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6724         Renamed from controller_key, as it is exported.
6725
6726         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6727
6728 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6729
6730         * gst/Makefile.am:
6731         * gst/gst.h:
6732         * gst/gstpad.h:
6733         * gst/gstpadtemplate.h:
6734         * gst/gstquery.c:
6735         * gst/gstquery.h:
6736         * gst/gstqueryutils.c:
6737         * gst/gstqueryutils.h:
6738           remove queryutils headers after moving the two used functions
6739           to gstquery.  also fixes build problem for gstsiddec
6740
6741 2005-09-26  Michael Smith <msmith@fluendo.com>
6742
6743         * tools/gst-launch.1.in:
6744         Correct documentation in manpage of debug syntax
6745
6746 2005-09-26  Wim Taymans  <wim@fluendo.com>
6747
6748         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6749         (gst_base_src_is_seekable), (gst_base_src_change_state):
6750         Some more debugging info.
6751
6752 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6753
6754         * docs/gst/gstreamer-sections.txt:
6755         * gst/base/gstbasetransform.h:
6756         * gst/gstindex.h:
6757           added more docs
6758
6759 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6760
6761         * docs/gst/.cvsignore:
6762         * docs/gst/tmpl/.cvsignore:
6763         * docs/gst/tmpl/gstpipeline.sgml:
6764         * docs/gst/tmpl/gstplugin.sgml:
6765         * gst/gstpipeline.c:
6766         * gst/gstplugin.c:
6767         * gst/gstplugin.h:
6768           inlined the last two docs files
6769           removed the tmpl directory from cvs (no more conflicts here!)
6770
6771 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6772
6773         * docs/gst/gstreamer-sections.txt:
6774         * docs/gst/tmpl/.cvsignore:
6775         * docs/gst/tmpl/gstpad.sgml:
6776         * docs/gst/tmpl/gstpadtemplate.sgml:
6777         * gst/Makefile.am:
6778         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6779         (gst_pad_finalize), (gst_pad_set_pad_template):
6780         * gst/gstpad.h:
6781         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6782         (gst_pad_template_class_init), (gst_pad_template_init),
6783         (gst_pad_template_dispose), (name_is_valid),
6784         (gst_static_pad_template_get), (gst_pad_template_new),
6785         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6786         (gst_pad_template_pad_created):
6787         * gst/gstpadtemplate.h:
6788           inlined two more docs
6789           factored gstpadtemplate out of gstpad
6790
6791 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6792
6793         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6794         (test_children_state_change_order_semi_sink):
6795           Fix test case: we can't rely on a fixed state change order when
6796           going from READY => PAUSED because the sink might commit its 
6797           new state first when the first buffer created by the source 
6798           reaches the sink before the source has finished its change state.
6799           (Test case still fails at times, see #316856, comment 5 onwards)
6800
6801 2005-09-24  Wim Taymans  <wim@fluendo.com>
6802
6803         * docs/design/part-events.txt:
6804         * docs/design/part-gstbus.txt:
6805         * docs/design/part-gstpipeline.txt:
6806         * docs/design/part-messages.txt:
6807         * docs/design/part-overview.txt:
6808         * docs/design/part-segments.txt:
6809         * gst/gstbin.c:
6810         * gst/gstbuffer.c:
6811         * gst/gstclock.c:
6812         * gst/gstelement.c:
6813         * gst/gstevent.c:
6814         * gst/gstfilter.c:
6815         * gst/gstiterator.c:
6816         Various documentation updates.
6817
6818 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6819
6820         * gst/gstclock.h:
6821           Well, that's embarassing.  Luckily we weren't using
6822           GST_CLOCK_DIFF anywhere.
6823
6824 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6825
6826         * common/gtk-doc.mak:
6827           don't fail on building XML, FC4 slave shows a bunch of doc
6828           missing bits that I don't get
6829         * gst/gstpad.c:
6830         * gst/gstpipeline.c:
6831         * gst/gststructure.c:
6832           some doc updates
6833
6834 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6835
6836         * docs/design/part-gstbin.txt:
6837         * docs/design/part-gstbus.txt:
6838         * gst/gstbus.c:
6839           Add blurb about how the bus goes into flushing mode and
6840           drops all messages when its bin goes from READY into NULL 
6841           state.
6842
6843 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6844
6845         * docs/gst/gstreamer-sections.txt:
6846         * gst/gststructure.c: (gst_structure_get_clock_time):
6847         * gst/gststructure.h:
6848           add a method to get a GstClockTime out of a structure
6849
6850 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6851
6852         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6853         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6854           Added test to check state change order in bins (can still be made
6855           to fail here under heavy disk load; bails out with 'Push on pad
6856           fakesink:sink0, but it was not activated in push mode').
6857
6858         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6859           Fix state change order when there is only a semi sink (#316856)
6860
6861         * gst/gstbus.c: (gst_bus_class_init):
6862           Use _class_peek_parent(), not _class_ref(); fix docs to say
6863           'default main context' instead of 'mainloop' where that is
6864           what's meant.
6865
6866         * gst/gstelement.c: (gst_element_commit_state),
6867         (gst_element_set_state):
6868           Fix typos in debug messages
6869
6870 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6871
6872         * docs/README:
6873         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6874         * gst/gstpluginfeature.c:
6875         * gst/gstutils.c:
6876           various doc updates
6877         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6878           change an assert into an error until it gets fixed properly
6879
6880 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6881
6882         * docs/gst/gstreamer-sections.txt:
6883         * docs/gst/tmpl/.cvsignore:
6884         * docs/gst/tmpl/gstelement.sgml:
6885         * docs/gst/tmpl/gstinfo.sgml:
6886         * docs/gst/tmpl/gstobject.sgml:
6887         * gst/gstelement.c:
6888         * gst/gstelement.h:
6889         * gst/gstinfo.c:
6890         * gst/gstinfo.h:
6891         * gst/gstobject.c: (gst_object_class_init):
6892         * gst/gstobject.h:
6893           inlined 3 more biiiig doc files and added some missing docs on the fly
6894
6895 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6896
6897         * check/gst/.cvsignore:
6898         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6899         * gst/gstregistryxml.c: (load_plugin),
6900         (gst_registry_xml_save_plugin):
6901           put back source in registry.  add checks for find_plugin.
6902         * testsuite/states/bin.c: (assert_state), (empty_bin),
6903         (test_adding_one_element), (main):
6904         * testsuite/states/locked.c: (main):
6905           some compile/run fixes
6906
6907 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6908
6909         * check/gst/gstvalue.c: (GST_START_TEST):
6910           fix leaks in the test itself
6911
6912 2005-09-22  Wim Taymans  <wim@fluendo.com>
6913
6914         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6915         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6916         (gst_base_sink_query):
6917         Prepare for more accurate position reporting and query
6918         handling.
6919
6920         * gst/gstelement.c: (gst_element_send_event),
6921         (gst_element_set_state):
6922         Add some comment.
6923
6924 2005-09-22  Wim Taymans  <wim@fluendo.com>
6925
6926         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6927         (gst_query_parse_segment):
6928         * gst/gstquery.h:
6929         More documentation.
6930         Add segment query for future use.
6931
6932 2005-09-22  Wim Taymans  <wim@fluendo.com>
6933
6934         * gst/gstbin.c: (gst_bin_add_func):
6935         Some more debug info.
6936
6937         * gst/gstelement.c: (gst_element_send_event):
6938         Simplify send_event
6939
6940         * gst/gstelement.h:
6941         Don't know how flags got broken.
6942
6943         * gst/gstquery.h:
6944         Added new query.
6945
6946 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6947
6948         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6949           Add simplistic test suite for GST_TYPE_DATE serialisation and
6950           deserialisation.
6951
6952 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6953
6954         * docs/gst/gstreamer-sections.txt:
6955         * gst/gststructure.c: (gst_structure_set_valist),
6956         (gst_structure_get_date):
6957         * gst/gststructure.h:
6958         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6959         (gst_date_copy), (gst_value_compare_date),
6960         (gst_value_serialize_date), (gst_value_deserialize_date),
6961         (gst_value_transform_date_string),
6962         (gst_value_transform_string_date), (_gst_value_initialize):
6963         * gst/gstvalue.h:
6964           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6965           bunch of utility functions along with a hack that checks that
6966           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6967           is required. Part of the grand scheme in #170777.
6968
6969 2005-09-22  Andy Wingo  <wingo@pobox.com>
6970
6971         * gst/gstconfig.h.in: Psych out gtk-doc.
6972
6973         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6974
6975         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6976
6977         * tools/gst-inspect.c (print_element_list): Plug some
6978         inconsequential leaks.
6979
6980         * gst/gstregistry.c (gst_registry_get_default): Doc.
6981
6982         * check/gst/gstplugin.c: 
6983         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6984         * gst/gstelementfactory.c (gst_element_factory_create): 
6985         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6986         refcount changes.
6987
6988         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6989         (gst_plugin_feature_load): Doc, don't eat refs.
6990
6991         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6992         (gst_plugin_list_free): Doc.
6993         (gst_plugin_load_file): Doc updates.
6994
6995         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6996         accessors returning refcounted objects, return a ref.
6997
6998         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6999         accessor for caps. IDEMPOTENCE. Oh yes.
7000
7001 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7002
7003         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7004
7005         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7006         (_gst_debug_register_funcptr):
7007           Add mutex to serialise access to the hash table with
7008           the function pointer => function name string mapping;
7009           make that hash table static scope (#316809).
7010
7011         * gst/registries/.cvsignore:
7012           Remove left-over file.
7013
7014 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7015
7016         * docs/pwg/appendix-porting.xml:
7017           And something about newsegment events and caps-on-buffers to
7018           the porting guide (feel free to improve).
7019
7020 2005-09-21  Andy Wingo  <wingo@pobox.com>
7021
7022         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7023         data and event probes on the same pad.
7024         (test_buffer_probe_once): Test that removing probes from within
7025         the probe functions works.
7026
7027 2005-09-21  Andy Wingo  <wingo@pobox.com>
7028
7029         * check/gst/gstutils.c: New file.
7030         (test_buffer_probe_n_times): A simple buffer probe test. More to
7031         come, foolios.
7032
7033         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7034         have-data::buffer, not have-data.
7035         (gst_pad_add_event_probe): Likewise for have-data::event.
7036         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7037         peer' isn't quite right yet though.
7038         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7039         (gst_pad_remove_data_probe): Change to take the guint handler_id
7040         as their arg, not the function+data, which is more glib-like.
7041
7042         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7043         the signal emission to indicate if the data is a buffer or an
7044         event.
7045         (gst_pad_get_type): Initialize buffer and event quarks.
7046         (gst_pad_class_init): have-data is now a detailed signal, yes it
7047         is.
7048
7049 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7050
7051         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7052         * gst/gstutils.c: (gst_util_set_value_from_string),
7053         (gst_util_set_object_arg):
7054           Don't put functional code in g_return_if_fail() or
7055           g_return_val_if_fail() statements, otherwise things will 
7056           break when G_DISABLE_CHECKS is defined during compilation.
7057
7058 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7059
7060         * docs/gst/tmpl/.cvsignore:
7061         * docs/gst/tmpl/gstvalue.sgml:
7062         * gst/gstvalue.c:
7063         * gst/gstvalue.h:
7064           inlied another one and added  some obvious docs
7065
7066 2005-09-21  Wim Taymans  <wim@fluendo.com>
7067
7068         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7069         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7070         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7071         (gst_fdsrc_get_property), (gst_fdsrc_create):
7072         * gst/elements/gstfdsrc.h:
7073         Properly implement fdsrc. Removed signal and timeout,
7074         better implemented somewhere else.
7075
7076 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7077
7078         * docs/gst/tmpl/.cvsignore:
7079         * docs/gst/tmpl/gstimplementsinterface.sgml:
7080         * gst/gstinterface.c:
7081           inlined more docs
7082
7083 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7084
7085         * docs/gst/gstreamer-sections.txt:
7086         * docs/gst/tmpl/.cvsignore:
7087         * docs/gst/tmpl/gstenumtypes.sgml:
7088           remove obsolete doc file
7089
7090 2005-09-21  David Schleef  <ds@schleef.org>
7091
7092         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7093         little beer, fix a little leak.
7094
7095 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7096
7097         * docs/gst/gstreamer-docs.sgml:
7098         * docs/gst/gstreamer-sections.txt:
7099         * docs/gst/tmpl/.cvsignore:
7100         * gst/Makefile.am:
7101         * gst/gst.h:
7102         * gst/gstbin.c:
7103         * gst/gstelement.h:
7104         * gst/gstindex.c: (gst_index_class_init):
7105         * gst/gstindex.h:
7106         * gst/gstindexfactory.c: (gst_index_factory_get_type),
7107         (gst_index_factory_class_init), (gst_index_factory_init),
7108         (gst_index_factory_finalize), (gst_index_factory_new),
7109         (gst_index_factory_destroy), (gst_index_factory_find),
7110         (gst_index_factory_create), (gst_index_factory_make):
7111         * gst/gstindexfactory.h:
7112         * gst/gstpluginfeature.c:
7113         * gst/gstpluginfeature.h:
7114         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7115           more docs inlined, splitted gstindex.{c,h}
7116
7117 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7118
7119         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7120           fix a leak
7121
7122 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7123
7124         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7125           Set sync to FALSE by default.
7126
7127 2005-09-20  Wim Taymans  <wim@fluendo.com>
7128
7129         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7130         (gst_base_sink_init):
7131         Make sync property settable from subclass.
7132
7133         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7134         (gst_fake_sink_change_state):
7135         Set sync to FALSE by default.
7136
7137 2005-09-20  Wim Taymans  <wim@fluendo.com>
7138
7139         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7140         * tools/gst-launch.c: (main):
7141         The timeout handler should have lower priority than the source
7142         so we don't timeout before popping a message with 0 timeout.
7143         Dump error messages after failed state change.
7144
7145 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7146
7147         * tools/gst-inspect.c: (print_element_properties_info):
7148           Fix two typos.
7149
7150 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7151
7152         * check/gst/gstevent.c:
7153         * gst/elements/gstfakesink.c:
7154         * gst/elements/gstfakesink.h:
7155           remove the sync property from fakesink.
7156           has the side effect of setting sync TRUE
7157           for fakesink, which is a change.  Anyone who knows how
7158           to fix this nicely in a GObject-y way, feel free.
7159
7160 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7161
7162         * docs/gst/gstreamer-docs.sgml:
7163           remove probe refsection
7164
7165 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7166
7167         * check/Makefile.am:
7168           disable valgrinding the controller test again
7169         * docs/gst/gstreamer-sections.txt:
7170           update for api-changes
7171
7172 2005-09-20  Wim Taymans  <wim@fluendo.com>
7173
7174         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7175         (gst_base_sink_set_property), (gst_base_sink_get_property),
7176         (gst_base_sink_do_sync):
7177         * gst/base/gstbasesink.h:
7178         Added sync property to basesink to disable clock sync.
7179
7180 2005-09-20  Andy Wingo  <wingo@pobox.com>
7181
7182         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7183         eating the caller's refcount.
7184
7185         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7186         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7187         refcount.
7188
7189         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7190         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7191         of GLib 2.8 public, so we can know which refcount to check in
7192         tests.
7193
7194         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7195         (gst_object_init): Only set the gst refcount if we're going ahead
7196         with the refcount hack.
7197
7198 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7199
7200         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7201         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7202           more leaks plumbed, added more debug-logging
7203         * gst/gstmacros.h:
7204           whitespace fix
7205
7206 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7207
7208         * gst/gstmessage.c:
7209           remove include of gstmemchunk.h
7210
7211 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7212
7213         * gst/gstclock.c: (_gst_clock_id_free):
7214           Commit from the Political Party For More Atomic CVS Commits,
7215           so that people don't waste too much of their day fishing
7216           out obvious leaks out of massive commits.
7217           Oh, and fix a pretty damn obvious leak in the memchunk
7218           removal code.
7219
7220 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7221
7222         * check/Makefile.am:
7223         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7224           plug mem-leak, re-add to valgrindable tests
7225
7226 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7227
7228         * gst/gstplugin.h:
7229           unbreak the build for those who have chronic arthritis
7230           and typing "make check" is just too taxing on the hands
7231
7232 2005-09-20  Andy Wingo  <wingo@pobox.com>
7233
7234         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7235         really want it out, you should fix plugins at the same time.
7236
7237 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
7238
7239         * configure.ac:
7240         * docs/gst/gstreamer-sections.txt:
7241         * gst/gstobject.c:
7242           added missing symbols to api docs
7243           disable ref-count hack if we have glib >= 2.8
7244
7245 2005-09-19  David Schleef  <ds@schleef.org>
7246
7247         * docs/gst/Makefile.am: Ignore a few more internal headers
7248         * docs/gst/gstreamer-docs.sgml: Remove old sections
7249         * docs/gst/gstreamer-sections.txt: Remove old sections
7250         * docs/gst/tmpl/gstobject.sgml: update
7251         * docs/gst/tmpl/gstplugin.sgml: update
7252         * docs/gst/tmpl/gstpluginfeature.sgml: update
7253         * docs/random/ds/0.9-suggested-changes: update.
7254         * gst/Makefile.am: remove memchunk and trashstack, since they're
7255           not used.
7256         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7257         * gst/gst.h: don't include some headers
7258         * gst/gstchildproxy.c: add gstmarshal.h
7259         * gst/gstclock.c: Don't use memchunks
7260         * gst/gstminiobject.c: Add some docs
7261         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7262         * gst/gstobject.h: same
7263         * gst/gstplugin.c: include gstmacros.h
7264         * gst/gstplugin.h: don't include gstmacros.h, since it's private
7265         * gst/gstquery.c: don't use memchunks
7266         * gst/gstregistry.c: rename gst_registry_deinit()
7267         * gst/gstregistry.h: same
7268
7269 2005-09-19  David Schleef  <ds@schleef.org>
7270
7271         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7272         * docs/libs/gstreamer-libs-sections.txt:
7273         * docs/libs/tmpl/gstgetbits.sgml:
7274         * docs/libs/tmpl/gstputbits.sgml:
7275
7276 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7277
7278         * win32/gstenumtypes.c:
7279         * win32/gstenumtypes.h:
7280           Update.
7281
7282 2005-09-19  Wim Taymans  <wim@fluendo.com>
7283
7284         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
7285         Automatically PAUSE and RESUME a pipeline when a flushing seek
7286         is performed.
7287
7288 2005-09-19  Andy Wingo  <wingo@pobox.com>
7289
7290         * gst/gstregistry.h: Spacing fixen.
7291
7292 2005-09-19  Wim Taymans  <wim@fluendo.com>
7293
7294         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
7295         Handle state change failure more correctly.
7296
7297 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7298
7299         * check/Makefile.am:
7300         * check/pipelines/cleanup.c: (run_pipeline):
7301         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7302         (GST_START_TEST):
7303           enable cleanup again after fixing the leak
7304         * docs/README:
7305           some more info on docs
7306
7307 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7308
7309         * check/Makefile.am:
7310           re-enable tests now that leaks are plugged
7311         * check/gst/gst.c:
7312         * check/gst/gstbin.c:
7313         * check/gst/gstpipeline.c:
7314           add some more tests while fixing leaks
7315         * common/check.mak:
7316           make sure binaries are uptodate when valgrinding/gdbing
7317         * gst/gst.c:
7318         * gst/gstelementfactory.c:
7319           remove a ref too many, and add a FIXME for when we get
7320           round to disposing of classes
7321         * gst/gstplugin.c:
7322           fix the refcounting when loading a plugin from a file and
7323           the code pretends that the pointer is the same even though
7324           of course it can change
7325         * gst/gstpluginfeature.c:
7326           unref plugins marked cached (a bit confusing as a name)
7327           as the docs state should be done
7328           various doc additions to explain refcounting
7329         * gst/gstregistry.c:
7330         * gst/gstregistryxml.c:
7331           debugging
7332
7333 2005-09-19  Wim Taymans  <wim@fluendo.com>
7334
7335         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7336         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7337         (send_messages), (GST_START_TEST), (gstbus_suite):
7338         * check/gst/gstpipeline.c: (GST_START_TEST):
7339         * check/pipelines/cleanup.c: (run_pipeline):
7340         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7341         (GST_START_TEST):
7342         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7343         (gst_bus_source_check), (gst_bus_source_dispatch),
7344         (gst_bus_create_watch), (gst_bus_add_watch_full),
7345         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7346         * gst/gstbus.h:
7347         * tools/gst-launch.c: (event_loop):
7348         * tools/gst-md5sum.c: (event_loop):
7349         GstBusHandler -> GstBusFunc, return value has the same meaning as
7350         any other GSource (FALSE == remove source).
7351         _add_watch() and _add_watch_full() now take a MessageType mask to
7352         only handle specific types of messages.
7353         _poll() returns the GstMessage instead of the message type to avoid
7354         race conditions.
7355         _have_pending() takes a MessageType mask now too.
7356         Added testsuite for multiple bus watches.
7357         Fix testsuites and applications for new bus API.
7358
7359 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7360
7361         * check/Makefile.am:
7362           mark a bunch of the tests as to fix until we fix them
7363
7364 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7365
7366         * common/check.mak:
7367           use GST_PLUGIN settings for valgrind tests as well, so we're
7368           valgrinding the correct thing
7369         * gst/gst.c: (init_post):
7370           plug another leak
7371
7372 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7373
7374         * gst/gst.c: (init_post), (gst_deinit):
7375         * gst/gstelementfactory.c: (gst_element_factory_class_init),
7376         (gst_element_factory_finalize), (gst_element_factory_cleanup):
7377         * gst/gstindex.c: (gst_index_factory_class_init),
7378         (gst_index_factory_finalize):
7379         * gst/gstobject.c: (gst_object_dispose):
7380         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7381         (gst_plugin_load_file), (gst_plugin_desc_free):
7382         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7383         (gst_plugin_feature_finalize):
7384         * gst/gstregistry.c: (gst_registry_class_init),
7385         (gst_registry_init), (gst_registry_finalize),
7386         (gst_registry_get_default), (gst_registry_deinit):
7387         * gst/gstregistry.h:
7388         * gst/gstregistryxml.c: (load_feature), (load_plugin):
7389           various cleanups and memleak plugging.  make valgrind is happy now.
7390
7391 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7392
7393         * common/check.mak:
7394           add a check-valgrind target
7395
7396 2005-09-18  David Schleef  <ds@schleef.org>
7397
7398         * tools/gst-inspect.c: Revert the GOption code.
7399
7400 2005-09-17  David Schleef  <ds@schleef.org>
7401
7402         * check/Makefile.am: Fix environment variables.
7403         * check/gst/gstplugin.c: Fix for API changes.
7404         * tools/gst-inspect.c: Fix for API changes.
7405         * tools/gst-xmlinspect.c: Fix for API changes.
7406         * gst/gstelementfactory.c:
7407         * gst/gstplugin.c:
7408         * gst/gstplugin.h:
7409         * gst/gstpluginfeature.c:
7410         * gst/gstpluginfeature.h:
7411         * gst/gstregistry.c:
7412         * gst/gstregistry.h:
7413         * gst/gstregistryxml.c:
7414         * gst/gsttypefind.c:
7415         * gst/gsttypefindfactory.c:
7416         * gst/indexers/gstfileindex.c:
7417         * gst/indexers/gstmemindex.c:
7418         * gst/schedulers/Makefile.am:
7419           Change registry to keep track of both plugins and features,
7420           removing the feature tracking from plugins themselves.
7421
7422 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7423
7424         * check/Makefile.am:
7425         * tools/gst-register.1.in:
7426           remove gst-register
7427
7428 2005-09-15  David Schleef  <ds@schleef.org>
7429
7430         * check/gst/gstplugin.c:
7431         * gst/gstelementfactory.c:
7432         * gst/gstplugin.c:
7433         * gst/gstpluginfeature.c:
7434         * gst/gstregistry.c:
7435           Getting tired of debugging.  Disabled all the unreffing of
7436           plugins and features, which fixes the segfaults, but of
7437           course leaks like crazy.  At least playbin works.
7438
7439 2005-09-15  David Schleef  <ds@schleef.org>
7440
7441         * check/gst/gstplugin.c: (register_check_elements),
7442         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
7443         More testing
7444         * gst/elements/gsttypefindelement.c: Fix refcounting.
7445         * gst/gsttypefind.c:
7446         * gst/gsttypefindfactory.c:
7447         * gst/gsttypefindfactory.h:
7448
7449 2005-09-15  David Schleef  <ds@schleef.org>
7450
7451         * gst/gstindex.c: get refcounting correct.
7452         * gst/gstregistry.c: Handle the case where a feature/plugin is
7453           not found.
7454
7455 2005-09-15  David Schleef  <ds@schleef.org>
7456
7457         * check/Makefile.am:
7458         * check/gst/gstplugin.c: Add test
7459         * gst/gstplugin.c: Fix problems noticed by testsuite
7460         * gst/gstplugin.h:
7461         * gst/gstregistry.c: 
7462         * gst/gstregistry.h:
7463
7464 2005-09-15  David Schleef  <ds@schleef.org>
7465
7466         * gst/gstplugin.c: Implement semi-decent recounting and locking
7467           in plugins and plugin features.
7468         * gst/gstplugin.h:
7469         * gst/gstpluginfeature.c:
7470         * gst/gstpluginfeature.h:
7471         * gst/gstregistry.c:
7472
7473 2005-09-15  Michael Smith <msmith@fluendo.com>
7474
7475         * gst/gstregistry.c: (gst_registry_get_feature_list):
7476           Implement this. Makes oggdemux work; decodebin still broken.
7477
7478 2005-09-14  David Schleef  <ds@schleef.org>
7479
7480         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7481           #316076)
7482         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7483         * gst/check/Makefile.am:
7484         * libs/gst/controller/Makefile.am:
7485         * libs/gst/dataprotocol/Makefile.am:
7486
7487 2005-09-14  David Schleef  <ds@schleef.org>
7488
7489         * configure.ac: Remove getbits library.  Nothing uses it, and
7490           it should be in something like liboil if someone did want
7491           to use it.
7492         * libs/gst/Makefile.am:
7493         * libs/gst/getbits/Makefile.am:
7494         * libs/gst/getbits/gbtest.c:
7495         * libs/gst/getbits/getbits.c:
7496         * libs/gst/getbits/getbits.h:
7497         * libs/gst/getbits/gstgetbits_generic.c:
7498         * libs/gst/getbits/gstgetbits_i386.s:
7499         * libs/gst/getbits/gstgetbits_inl.h:
7500
7501 2005-09-14  David Schleef  <ds@schleef.org>
7502
7503         * gst/Makefile.am: Dist glib-compat.h
7504
7505 2005-09-14  David Schleef  <ds@schleef.org>
7506
7507         * configure.ac: Remove gst/registries, since it's no longer used.
7508         * gst/registries/Makefile.am:
7509         * gst/registries/gstlibxmlregistry.c:
7510         * gst/registries/gstlibxmlregistry.h:
7511         * gst/registries/gstxmlregistry.c:
7512         * gst/registries/gstxmlregistry.h:
7513         * gst/registries/registrytest.c:
7514
7515 2005-09-14  David Schleef  <ds@schleef.org>
7516
7517         * gst/glib-compat.h:
7518         * gst/gstregistryxml.c:
7519           Convergence is near.  Seriously.
7520
7521 2005-09-14  David Schleef  <ds@schleef.org>
7522
7523         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7524         * gst/glib-compat.h:
7525           Attempt #4 to appease the buildbots.
7526
7527 2005-09-14  David Schleef  <ds@schleef.org>
7528
7529         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7530           Attempt #3.
7531
7532 2005-09-14  David Schleef  <ds@schleef.org>
7533
7534         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7535         Attempt #2.
7536
7537 2005-09-14  David Schleef  <ds@schleef.org>
7538
7539         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7540           the new functions.
7541
7542 2005-09-14  David Schleef  <ds@schleef.org>
7543
7544         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7545         * gst/glib-compat.h: Add some functions that are in newer versions
7546           of glib than we care to require.
7547         * gst/gstregistryxml.c: Use them.
7548
7549 2005-09-14  David Schleef  <ds@schleef.org>
7550
7551         * po/POTFILES.in: remove gst-register.c
7552
7553 2005-09-14  David Schleef  <ds@schleef.org>
7554
7555         * docs/gst/gstreamer-docs.sgml:
7556         * docs/gst/gstreamer-sections.txt:
7557         * docs/gst/gstreamer.types:
7558         * docs/gst/tmpl/gstelement.sgml:
7559         * docs/gst/tmpl/gstplugin.sgml:
7560         * docs/gst/tmpl/gstpluginfeature.sgml:
7561           Documentation updates for registry changes.
7562
7563 2005-09-14  David Schleef  <ds@schleef.org>
7564
7565         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7566           because we don't require glib-2.8.
7567
7568 2005-09-14  David Schleef  <ds@schleef.org>
7569
7570         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7571           registries directory.
7572
7573 2005-09-14  David Schleef  <ds@schleef.org>
7574
7575         * check/Makefile.am:
7576         * check/generic/states.c:
7577         * gst/Makefile.am:
7578         * gst/gst.c:
7579         * gst/gst.h:
7580         * gst/gst_private.h:
7581         * gst/gstelementfactory.c:
7582         * gst/gstindex.c:
7583         * gst/gstinfo.c:
7584         * gst/gstplugin.c:
7585         * gst/gstplugin.h:
7586         * gst/gstpluginfeature.c:
7587         * gst/gstpluginfeature.h:
7588         * gst/gstregistry.c:
7589         * gst/gstregistry.h:
7590         * gst/gstregistrypool.c: remove
7591         * gst/gstregistrypool.h: remove
7592         * gst/gsttypefind.c:
7593         * gst/gsttypefindfactory.c:
7594         * gst/gsturi.c:
7595         * tools/Makefile.am:
7596         * tools/gst-compprep.c:
7597         * tools/gst-inspect.c:
7598         * tools/gst-register.c: remove
7599         * tools/gst-xmlinspect.c:
7600           Registry rewrite.  Changes registry from being a file created
7601           by a tool into a simple cache file created automatically by 
7602           libgstreamer.  Removed gst-register (because it's no longer
7603           needed).  Remove registry pools, because we only have one
7604           registry implementation (XML).  Fix up other subsystems as
7605           necessary.
7606
7607 2005-09-13  Michael Smith <msmith@fluendo.com>
7608
7609         * gst/gstconfig.h.in:
7610           Don't Use windows linking attributes for MinGW. Fixes #316157
7611
7612 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7613
7614         * gst/gstutils.c: (set_state_async_thread_func),
7615         (gst_element_set_state_async):
7616           Apparently people think it's better if this function doesn't
7617           try to set the state to whatever state was asked for on the first
7618           call to this function for any object.  Seriously.
7619
7620 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7621
7622         * check/gst/gstpipeline.c: (GST_START_TEST):
7623         * docs/gst/gstreamer-sections.txt:
7624         * gst/gstutils.c: (set_state_async_thread_func),
7625         (gst_element_set_state_async):
7626         * gst/gstutils.h:
7627           add a "gst_element_set_state_async" method that
7628           sets the state and starts a thread to make sure the state
7629           change completes as best as it can
7630
7631 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7632
7633         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7634           codify design+behaviour in testsuite after discussion
7635
7636 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7637
7638         * docs/gst/tmpl/gstelement.sgml:
7639         * docs/manual/appendix-quotes.xml:
7640           add a quote
7641         * gst/gstelement.c: (gst_element_set_state):
7642           add some debug
7643
7644 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7645
7646         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7647         (gst_base_transform_prepare_output_buf),
7648         (gst_base_transform_handle_buffer):
7649         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7650         (gst_capsfilter_prepare_buf):
7651           Remove the requirement for sub-classes to call the parent
7652           implementation of prepare_output_buffer with a wrapper function.
7653           
7654         * gst/gsttaglist.h:
7655         * gst/gsttagsetter.h:
7656           Fix #define wrapper
7657
7658 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7659
7660         * docs/gst/gstreamer-sections.txt:
7661           more doc cleanups
7662
7663 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7664
7665         * docs/gst/gstreamer-sections.txt:
7666         * docs/gst/tmpl/gstelement.sgml:
7667         * docs/gst/tmpl/gstplugin.sgml:
7668         * gst/gstminiobject.c:
7669         * gst/gstvalue.h:
7670           docs now stop throwing warnings
7671
7672 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7673
7674         * docs/gst/gstreamer-sections.txt:
7675         * docs/gst/gstreamer.types:
7676         * docs/gst/tmpl/gstpad.sgml:
7677         * docs/gst/tmpl/gsttypes.sgml:
7678         * gst/base/gstadapter.h:
7679         * gst/base/gstbasesink.h:
7680         * gst/base/gstbasesrc.h:
7681         * gst/gstbin.h:
7682         * gst/gstbuffer.h:
7683         * gst/gstbus.h:
7684         * gst/gstcaps.h:
7685         * gst/gstclock.h:
7686         * gst/gstelement.h:
7687         * gst/gstevent.h:
7688         * gst/gstmessage.h:
7689         * gst/gstpad.h:
7690         * gst/gststructure.c:
7691         * gst/registries/gstlibxmlregistry.h:
7692           various documentation fixes
7693
7694 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7695
7696         * docs/gst/gstreamer-sections.txt:
7697         * docs/gst/tmpl/gstvalue.sgml:
7698           rearrange gstvalue section
7699         * gst/gstutils.c: (gst_element_state_get_name):
7700           NONE -> VOID
7701         * gst/gstvalue.c: (_gst_value_initialize):
7702         * gst/gstvalue.h:
7703           doc updates
7704
7705 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7706
7707         * check/gst-libs/controller.c:
7708           Header include fix.
7709         * gst/base/gstbasetransform.c:
7710         (gst_base_transform_default_prepare_buf),
7711         (gst_base_transform_handle_buffer):
7712         * gst/base/gstbasetransform.h:
7713           Some more basetransform changes and fixes to enable sub-classes
7714           that modify buffer metadata only.
7715         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7716         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7717         (gst_capsfilter_prepare_buf):
7718           If the output pad has fixed allowed caps and input buffers 
7719           don't have any, set the fixed caps on outgoing buffers.
7720
7721 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7722         * check/elements/identity.c: (GST_START_TEST):
7723           Make the error a little clearer when the test fails because
7724           identity made a copy of the buffer.
7725         * docs/gst/gstreamer-sections.txt:
7726           New symbols in gstbasetransform.h
7727         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7728         (gst_base_transform_init), (gst_base_transform_transform_size),
7729         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7730         (gst_base_transform_default_prepare_buf),
7731         (gst_base_transform_get_unit_size),
7732         (gst_base_transform_buffer_alloc),
7733         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7734         (gst_base_transform_change_state),
7735         (gst_base_transform_set_passthrough),
7736         (gst_base_transform_set_in_place),
7737         (gst_base_transform_is_in_place):
7738         * gst/base/gstbasetransform.h:
7739           Change BaseTransform to separate in_place operate from same_caps
7740           output. in_place implies that the element can perform the transform
7741           on incoming buffers in-place, even if the caps on the output are
7742           different.
7743           Sub-class elements can now implement special buffer allocation
7744           methods for outgoing buffers if they wish to.
7745           Big documentation addition.
7746         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7747         * gst/elements/gstelements.c:
7748           Changes for basetransform modifications.
7749         * gst/elements/Makefile.am:
7750         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7751           Compile fix. Extra debug output.
7752
7753 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7754
7755         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7756         (gst_pad_suite):
7757           add tests for valid pad naming
7758         * gst/check/gstcheck.c: (gst_check_log_message_func),
7759         (gst_check_log_critical_func):
7760           add ASSERT_WARNING
7761           remove printing of code, it is fragile when the code contains
7762           % and the line number is enough info
7763         * gst/check/gstcheck.h:
7764         * gst/gstpad.c: (gst_pad_template_new):
7765           fix memleaks
7766
7767 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7768
7769         * configure.ac:
7770           say what CHECK flags we use
7771         * docs/libs/gstreamer-libs.types:
7772         * libs/gst/controller/Makefile.am:
7773         * libs/gst/controller/gst-controller.c:
7774         * libs/gst/controller/gst-controller.h:
7775         * libs/gst/controller/gst-helper.c:
7776         * libs/gst/controller/gst-interpolation.c:
7777         * libs/gst/controller/gstcontroller.c:
7778         * libs/gst/controller/gsthelper.c:
7779         * libs/gst/controller/gstinterpolation.c:
7780         * tools/gst-inspect.c: (print_plugin_info):
7781           we don't use dashes in header names
7782
7783 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7784
7785         * check/Makefile.am:
7786         * check/gst/.cvsignore:
7787         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7788         (gst_pipeline_suite), (main):
7789           adding a test for pipelines and state changes
7790         * gst/gstutils.c: (get_state_func):
7791           add some debugging
7792         * gstreamer.spec.in:
7793           fix up spec file
7794
7795 2005-09-08  Michael Smith <msmith@fluendo.com>
7796
7797         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7798         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7799         (gst_file_src_is_seekable), (gst_file_src_get_size),
7800         (gst_file_src_start):
7801         * gst/elements/gstfilesrc.h:
7802           Various fixes for unseekable, unmmapable, and non-normal files, so
7803           that fallback to read() rather than mmap() works.
7804         * gst/gstevent.c: (gst_event_new_newsegment):
7805           Allow newsegment events with segment_start == segment_end, as will
7806           correctly happen if you use filesrc on a zero-size file, for
7807           example.
7808
7809 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7810
7811         * gst/gstplugin.c: (gst_plugin_load_file):
7812           Call g_module_close when we don't load the module
7813
7814         * gst/registries/gstlibxmlregistry.c:
7815         (gst_xml_registry_get_property):
7816           Port leak fix from 0.8
7817
7818 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7819
7820         * docs/gst/gstreamer-docs.sgml:
7821         * docs/gst/tmpl/.cvsignore:
7822         * docs/gst/tmpl/gsttrace.sgml:
7823         * docs/gst/tmpl/gsttrashstack.sgml:
7824         * gst/Makefile.am:
7825         * gst/gst.h:
7826         * gst/gstelement.h:
7827         * gst/gstevent.h:
7828         * gst/gstmessage.c:
7829         * gst/gstmessage.h:
7830         * gst/gsttag.c:
7831         * gst/gsttag.h:
7832         * gst/gsttaginterface.c:
7833         * gst/gsttaginterface.h:
7834         * gst/gsttaglist.c:
7835         * gst/gsttaglist.h:
7836         * gst/gsttagsetter.c:
7837         * gst/gsttagsetter.h:
7838         * gst/gsttrace.c:
7839         * gst/gsttrace.h:
7840         * gst/gsttrashstack.c:
7841           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7842           inlined docs for gsttrace, gsttrashstack
7843
7844 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7845
7846         * gst/Makefile.am:
7847         * gst/elements/gstbufferstore.h:
7848         * gst/elements/gsttypefindelement.c:
7849         * gst/elements/gsttypefindelement.h:
7850         * gst/gst.h:
7851         * gst/gsttypefind.c:
7852         * gst/gsttypefind.h:
7853         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7854         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7855         (gst_type_find_factory_dispose),
7856         (gst_type_find_factory_unload_thyself),
7857         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7858         (gst_type_find_factory_get_caps),
7859         (gst_type_find_factory_get_extensions),
7860         (gst_type_find_factory_call_function):
7861         * gst/gsttypefindfactory.h:
7862         * gst/registries/gstlibxmlregistry.c:
7863         * gst/registries/gstxmlregistry.c:
7864           splitted gsttypefind into gsttypefind, gsttypefindfactory
7865
7866 2005-09-07  Andy Wingo  <wingo@pobox.com>
7867
7868         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7869         condition whereby the pad's task function is entered before the
7870         pad_mode variable was set.
7871
7872 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7873
7874         * gst/gstpad.c: (gst_pad_alloc_buffer):
7875           Catch misbehaving pad_alloc functions that don't
7876           set up caps and do it for them.
7877
7878 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7879
7880         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7881           test for pipe!=NULL
7882         * docs/gst/tmpl/.cvsignore:
7883         * docs/gst/tmpl/gstmemchunk.sgml:
7884         * docs/gst/tmpl/gstparse.sgml:
7885         * docs/gst/tmpl/gsttaglist.sgml:
7886         * docs/gst/tmpl/gsttagsetter.sgml:
7887         * docs/gst/tmpl/gsttypefind.sgml:
7888         * docs/gst/tmpl/gsttypefindfactory.sgml:
7889         * gst/gstmemchunk.c:
7890         * gst/gstparse.c:
7891         * gst/gsttag.c:
7892         * gst/gsttaginterface.c:
7893         * gst/gsttypefind.c:
7894         * gst/gsttypefind.h:
7895           inlined more docs
7896
7897 === release 0.9.2 ===
7898
7899 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7900
7901         * NEWS:
7902         * RELEASE:
7903         * configure.ac:
7904           releasing 0.9.2, "South"
7905
7906 2005-09-05  Andy Wingo  <wingo@pobox.com>
7907
7908         * gst/registries/gstxmlregistry.h:
7909         * gst/registries/gstxmlregistry.c: Um... resurrect...
7910         
7911         * gst/registries/gstxmlregistry.h:
7912         * gst/registries/gstxmlregistry.c: and update to newer API.
7913         Incidentally they should be a bit faster now that they don't have
7914         to parse the caps.
7915         
7916 2005-09-05  Andy Wingo  <wingo@pobox.com>
7917
7918         * gst/registries/gstxmlregistry.h:
7919         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7920         replaced by the libxml registry a while back
7921
7922 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7923
7924         * docs/gst/tmpl/gstplugin.sgml:
7925         * gst/elements/gstelements.c:
7926         * gst/gst.c:
7927         * gst/gstplugin.c: (gst_plugin_register_func),
7928         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7929         (gst_plugin_get_source):
7930         * gst/gstplugin.h:
7931         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7932         (gst_xml_registry_save_plugin):
7933         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7934         (gst_xml_registry_save_plugin):
7935         * tools/gst-inspect.c: (print_plugin_info):
7936           add a "source" plugin description field, to represent the source
7937           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7938           will set it to PACKAGE, which is automake's idea of the name of
7939           the source project.
7940
7941 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7942
7943         * Makefile.am:
7944         * autogen.sh:
7945         * configure.ac:
7946         * docs/Makefile.am:
7947         * docs/faq/Makefile.am:
7948         * docs/gst/tmpl/gstelement.sgml:
7949         * docs/gst/tmpl/gsttypes.sgml:
7950         * docs/htmlinstall.mak:
7951         * docs/manual/Makefile.am:
7952         * docs/pwg/Makefile.am:
7953           reorganize doc build a little
7954           split out docbook and gtk-doc stuff
7955           have two separate --enable's and enable them through autogen
7956           but disable by default in configure (to be similar to other
7957           projects)
7958         * gstreamer.spec.in:
7959           clean up docs install
7960         * po/af.po:
7961         * po/az.po:
7962         * po/ca.po:
7963         * po/cs.po:
7964         * po/de.po:
7965         * po/en_GB.po:
7966         * po/fr.po:
7967         * po/it.po:
7968         * po/nb.po:
7969         * po/nl.po:
7970         * po/ru.po:
7971         * po/sq.po:
7972         * po/sr.po:
7973         * po/sv.po:
7974         * po/tr.po:
7975         * po/uk.po:
7976         * po/vi.po:
7977           translation updates
7978
7979 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7980
7981         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7982           Add comment.
7983           
7984         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7985         (gst_fake_sink_change_state):
7986           Make state change function thread-safe.
7987           
7988         * gst/gstpad.c: (gst_pad_alloc_buffer):
7989           Set offset on generic buffer allocated by fallback.
7990
7991 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7992
7993         * docs/gst/gstreamer-sections.txt:
7994         * docs/gst/tmpl/gstelement.sgml:
7995         * gst/gstpad.c:
7996         * libs/gst/controller/gst-controller.c:
7997         (gst_controlled_property_set_interpolation_mode),
7998         (gst_controlled_property_new),
7999         (gst_controller_find_controlled_property):
8000          run the wingo-magic script against the docs
8001
8002 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8003
8004         * docs/gst/gstreamer-docs.sgml:
8005         * docs/gst/gstreamer-sections.txt:
8006         * docs/gst/tmpl/.cvsignore:
8007         * docs/gst/tmpl/gstelementdetails.sgml:
8008         * docs/gst/tmpl/gstelementfactory.sgml:
8009         * gst/gst.c:
8010         * gst/gstbus.c:
8011         * gst/gstelementfactory.c:
8012         * gst/gstelementfactory.h:
8013           merged elementdetails docs into elementfactory docs
8014           inlined both
8015
8016 2005-09-02  Andy Wingo  <wingo@pobox.com>
8017
8018         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8019         consider this enum an enum and not a flags.
8020
8021 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8022
8023         * docs/gst/gstreamer-docs.sgml:
8024         * docs/gst/tmpl/.cvsignore:
8025         * docs/gst/tmpl/gstghostpad.sgml:
8026         * docs/gst/tmpl/gstiterator.sgml:
8027         * docs/gst/tmpl/gstmacros.sgml:
8028         * docs/gst/tmpl/gstrealpad.sgml:
8029         * docs/gst/tmpl/gstregistry.sgml:
8030         * docs/gst/tmpl/gstregistrypool.sgml:
8031         * docs/gst/tmpl/gststructure.sgml:
8032         * docs/gst/tmpl/gstsystemclock.sgml:
8033         * docs/gst/tmpl/gsttrace.sgml:
8034         * gst/gstghostpad.c:
8035         * gst/gstmacros.h:
8036         * gst/gstmemchunk.c:
8037         * gst/gstmemchunk.h:
8038         * gst/gstqueue.c:
8039         * gst/gstregistry.c:
8040         * gst/gstregistrypool.c:
8041         * gst/gststructure.c:
8042         * gst/gstsystemclock.c:
8043           more docs inlined
8044
8045 2005-09-02  Andy Wingo  <wingo@pobox.com>
8046
8047         * gst/gstelement.h (GstState): Renamed from GstElementState,
8048         changed to be a normal enum instead of flags.
8049         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8050         munged to be GST_STATE_CHANGE_*.
8051         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8052         work with the new state representation.
8053         (GstStateChange): New enumeration of possible state transitions.
8054         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8055         (GstElementClass::change_state): Pass the GstStateChange along as
8056         an argument. Helps language bindings, so they don't have to use
8057         tricky lock-needing macros like GST_STATE_CHANGE ().
8058
8059         * scripts/update-states (file): New script. Run it on a file to
8060         update it for state naming and API changes. Updates files in
8061         place.
8062
8063         * All files updated for the new API.
8064
8065 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8066
8067         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8068         * gst/gstutils.c: (gst_util_set_value_from_string),
8069         (gst_util_set_object_arg):
8070           fix a bunch of unchecked return values
8071         * tools/gst-complete.c: (main):
8072         * gstreamer.spec.in:
8073           clean up a little
8074
8075 2005-09-01  Wim Taymans  <wim@fluendo.com>
8076
8077         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8078         (gst_base_sink_event), (gst_base_sink_do_sync),
8079         (gst_base_sink_handle_event):
8080         * gst/base/gstbasesink.h:
8081         Handle newsegments more correctly.
8082
8083         * gst/gstbus.c:
8084         Fix docs.
8085
8086         * gst/gstevent.c: (gst_event_new_newsegment):
8087         A newsegment cannot have a start_time of -1
8088
8089 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8090
8091         * win32/gstenumtypes.c:
8092         * win32/gstenumtypes.h:
8093           Update
8094
8095 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8096
8097         * libs/gst/controller/gst-controller.c:
8098         (gst_controlled_property_set_interpolation_mode),
8099         (gst_controlled_property_new):
8100          fixed boolean again
8101
8102 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8103
8104         * docs/faq/gst-uninstalled:
8105           add -good
8106         * gst/gstevent.c:
8107         * gst/gstevent.h:
8108           remove wrong docs
8109         * gst/gstutils.c: (gst_element_link_filtered):
8110         * gst/gstutils.h:
8111           add gst_element_link_filtered
8112
8113 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8114
8115         * docs/gst/gstreamer-docs.sgml:
8116         * docs/gst/gstreamer-sections.txt:
8117         * docs/gst/tmpl/.cvsignore:
8118         * docs/gst/tmpl/gsterror.sgml:
8119         * docs/gst/tmpl/gstfilter.sgml:
8120         * docs/gst/tmpl/gsturihandler.sgml:
8121         * docs/gst/tmpl/gsturitype.sgml:
8122         * docs/gst/tmpl/gstutils.sgml:
8123         * docs/gst/tmpl/gstxml.sgml:
8124         * gst/gsterror.c:
8125         * gst/gsterror.h:
8126         * gst/gstfilter.c:
8127         * gst/gsturi.c:
8128         * gst/gsturitype.c:
8129         * gst/gstutils.c:
8130         * gst/gstxml.c:
8131           inlined more docs, fixed double id-ref
8132
8133 2005-08-31  Wim Taymans  <wim@fluendo.com>
8134
8135         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8136         (gst_base_transform_handle_buffer):
8137         Passthrough elements don't need the caps as they don't care.
8138
8139 2005-08-31  Wim Taymans  <wim@fluendo.com>
8140
8141         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8142         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8143         Don't leak refcounts on buffers.
8144
8145 2005-08-31  Wim Taymans  <wim@fluendo.com>
8146
8147         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8148         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8149         (gst_base_transform_chain), (gst_base_transform_change_state):
8150         * gst/base/gstbasetransform.h:
8151         Handle the case where we are not negotiated more gracefully.
8152
8153 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8154
8155         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8156         (gst_file_src_map_region):
8157           Set READONLY flag on mmap'ed buffers, otherwise
8158           gst_buffer_make_writable() won't work properly (#314708).
8159
8160 2005-08-31  Wim Taymans  <wim@fluendo.com>
8161
8162         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8163         passthrough elements can even do inplace on non writable
8164         buffers (as they don't touch them).
8165
8166 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8167
8168         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8169         (gst_test_mono_source_set_property),
8170         (gst_test_mono_source_class_init), (GST_START_TEST),
8171         (gst_controller_suite):
8172           more tests (hehe I have the most)
8173         * gst/gstbus.c:
8174           describe popping messages whenusing mulltiple sources
8175         * libs/gst/controller/gst-controller.c:
8176         (gst_controlled_property_set_interpolation_mode),
8177         (gst_controlled_property_new):
8178         * libs/gst/controller/gst-controller.h:
8179         * libs/gst/controller/gst-interpolation.c:
8180           implement boolean properties
8181
8182 2005-08-31  Wim Taymans  <wim@fluendo.com>
8183
8184         * gst/gstminiobject.c: (gst_mini_object_ref):
8185         Cannot assert that the refcount has to be positive
8186         since a disposed object can be resurrected.
8187
8188 2005-08-31  Wim Taymans  <wim@fluendo.com>
8189
8190         * gst/gstpad.c: (gst_pad_init):
8191         Revert change, need to first fix badly behaving 
8192         apps.
8193
8194 2005-08-30  Wim Taymans  <wim@fluendo.com>
8195
8196         * check/elements/fakesrc.c: (setup_fakesrc):
8197         * check/elements/identity.c: (setup_identity):
8198         Activate pads before using them.
8199
8200 2005-08-30  Wim Taymans  <wim@fluendo.com>
8201
8202         * gst/base/gstadapter.c: (gst_adapter_flush):
8203         Flushing out 0 bytes is ok for this function.
8204
8205         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8206         no newsegment gives a warning and sets the start/stop to 
8207         invalid.
8208
8209         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8210         (gst_base_transform_set_passthrough):
8211         Some debug info.
8212
8213         * gst/gstminiobject.c: (gst_mini_object_ref):
8214         Check refcount here too.
8215
8216         * gst/gstpad.c: (gst_pad_init):
8217         Pads are initially flushing and refusing data.
8218
8219         * gst/gstutils.c: (gst_element_link_pads_filtered):
8220         When adding a capsfilter element make sure it has the
8221         same state as the parent bin.
8222
8223 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8224
8225         * docs/gst/tmpl/.cvsignore:
8226         * docs/gst/tmpl/gstformat.sgml:
8227         * docs/gst/tmpl/gstversion.sgml:
8228         * gst/gstbus.h:
8229         * gst/gstformat.c:
8230         * gst/gstformat.h:
8231         * gst/gstversion.h.in:
8232           more docs and two more inlined
8233
8234 2005-08-30  Wim Taymans  <wim@fluendo.com>
8235
8236         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8237         Don't sync to clock.
8238
8239 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8240
8241         * docs/gst/gstreamer-sections.txt:
8242           ultral33t func10ns deserve to appear in the docs actually
8243         * docs/gst/tmpl/.cvsignore:
8244         * docs/gst/tmpl/gstcompat.sgml:
8245         * docs/gst/tmpl/gstconfig.sgml:
8246         * gst/check/gstcheck.c:
8247         * gst/gstcompat.h:
8248         * gst/gstconfig.h.in:
8249           inlined more docs
8250
8251 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8252
8253         * docs/gst/tmpl/.cvsignore:
8254         * docs/gst/tmpl/gstquery.sgml:
8255         * docs/gst/tmpl/gstutils.sgml:
8256         * gst/gstquery.c:
8257         * gst/gstquery.h:
8258           inlined and extended docs
8259
8260 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8261
8262         * check/gst-libs/controller.c: (GST_START_TEST),
8263         (gst_controller_suite):
8264           more tests
8265         * docs/gst/tmpl/gstutils.sgml:
8266         * docs/libs/gstreamer-libs-sections.txt:
8267         * docs/libs/tmpl/gstdataprotocol.sgml:
8268           include path fixes
8269         * examples/controller/audio-example.c: (main):
8270           controller example works now
8271         * gst/gstclock.h:
8272           doc fixes
8273         * tools/gst-inspect.c: (print_element_properties_info):
8274           show param spec flags
8275
8276 2005-08-29  Andy Wingo  <wingo@pobox.com>
8277
8278         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
8279
8280 2005-08-28  Andy Wingo  <wingo@pobox.com>
8281
8282         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
8283         as having two arguments instead of just one. Allows superclasses
8284         to access information on subclasses -- see the terrible for() loop
8285         in gtype.c:g_type_create_instance for the reason why. All callers
8286         changed.
8287
8288 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8289
8290         * docs/design/part-messages.txt:
8291           update info
8292         * docs/gst/tmpl/.cvsignore:
8293         * docs/gst/tmpl/gstcaps.sgml:
8294         * docs/gst/tmpl/gstclock.sgml:
8295         * gst/gstbus.c:
8296         * gst/gstcaps.c:
8297         * gst/gstcaps.h:
8298         * gst/gstclock.c:
8299         * gst/gstclock.h:
8300         * gst/gstmessage.c:
8301           added descriptions for bus and message
8302           inline caps and clock docs
8303
8304 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8305
8306         * gst/gstmessage.c:
8307         * gst/gstmessage.h:
8308           doc fixes
8309
8310 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8311
8312         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8313           fix div-by-zero
8314
8315 2005-08-26  Andy Wingo  <wingo@pobox.com>
8316
8317         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8318         element_set_state's return val.
8319         (test_2_elements): Add test that's been disabled for months.
8320
8321         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8322         can-activate-pull properties.
8323
8324         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8325         can-activate-pull properties. Implement is_seekable so fakesrc can
8326         operate in pull mode.
8327
8328         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8329         properties.
8330         (gst_base_sink_activate, gst_base_sink_activate_pull)
8331         (gst_base_sink_activate_push): Make activation mode choosing work.
8332         Cleanups.
8333         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8334         is right. Make pull mode work. Post an eos before pausing in pull
8335         mode.
8336         (gst_base_sink_change_state): Pay attention to the core's
8337         change_state() return val.
8338         
8339         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8340         has-getrange properties. Cleanups.
8341         
8342         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8343         has_getrange and replace with can_activate_pull and
8344         can_activate_push.
8345
8346         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8347         locking comments. Remove has_loop, has_chain and replace with
8348         can_activate_pull and can_activate_push.
8349
8350 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
8351
8352         * configure.ac:
8353         * examples/Makefile.am:
8354         * examples/metadata/Makefile.am:
8355         * examples/metadata/read-metadata.c: (message_loop),
8356         (have_pad_handler), (make_pipeline), (print_tag), (main):
8357           Add metadata reading example that loops over a list of filenames,
8358           dumping any tags found.
8359
8360         * gst/gstbus.c: (gst_bus_dispose):
8361         * gst/gstelement.c: (gst_element_dispose):
8362           Release a few potentially-held references in dispose.
8363
8364 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8365
8366         * docs/gst/tmpl/gstminiobject.sgml:
8367           do *not* add tmpl/*.sgml files to CVS!
8368
8369 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8370
8371         * libs/gst/bytestream/.cvsignore:
8372         * libs/gst/bytestream/Makefile.am:
8373         * libs/gst/bytestream/adapter.c:
8374         * libs/gst/bytestream/adapter.h:
8375         * libs/gst/bytestream/bytestream.c:
8376         * libs/gst/bytestream/bytestream.h:
8377         * libs/gst/bytestream/filepad.c:
8378         * libs/gst/bytestream/filepad.h:
8379           removing obsolete files
8380
8381 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8382
8383         * docs/gst/gstreamer-docs.sgml:
8384         * docs/libs/gstreamer-libs-docs.sgml:
8385           disabed additional index entries again, as this makes docs-gen just
8386           slow and they aren't useful yet
8387         * docs/libs/gstreamer-libs-sections.txt:
8388           little -section.txt cleanup for libs
8389
8390 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8391
8392         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8393         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8394           fix up some debugging
8395         (gst_base_transform_get_unit_size),
8396         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8397         (gst_base_transform_handle_buffer):
8398         * gst/base/gstbasetransform.h:
8399           handle and store timed NEWSEGMENT events so that subclasses that
8400           calculate time by counting samples have a segment_start time they
8401           need to add to their timestamps - see audioresample
8402
8403 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8404
8405         * gst/gstbin.h:
8406           removed ';' from the end of macro defs
8407         * docs/gst/gstreamer-docs.sgml:
8408         * docs/gst/gstreamer-sections.txt:
8409         * docs/gst/tmpl/.cvsignore:
8410         * gst/gstbus.h:
8411         * gst/gstelement.c: (gst_element_class_init),
8412         (gst_element_set_state), (activate_pads),
8413         (gst_element_save_thyself):
8414         * gst/gstevent.c: (gst_event_new_newsegment):
8415         * gst/gstevent.h:
8416         * gst/gstiterator.c:
8417         * gst/gstiterator.h:
8418         * gst/gstpad.c:
8419         * gst/gstprobe.h:
8420         * gst/gstutils.c: (gst_pad_query_convert):
8421         * gst/gstutils.h:
8422           fixed parameter name mismatches between source, header and docs
8423           added some more docs, resolved the last batch of unused elements in
8424           docs (now someone needs to doc them)
8425
8426 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8427
8428         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
8429         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
8430           don't walk through the plugins backwards.  Where is all this
8431           reversed logic coming from ?
8432
8433 2005-08-25  Wim Taymans  <wim@fluendo.com>
8434
8435         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8436         (gst_base_transform_transform_size),
8437         (gst_base_transform_configure_caps),
8438         (gst_base_transform_get_unit_size),
8439         (gst_base_transform_buffer_alloc),
8440         (gst_base_transform_change_state):
8441         * gst/base/gstbasetransform.h:
8442         Cache caps unit_size.
8443         Make sure we cannot negotiate up and downstream at the
8444         same time.
8445
8446 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8447
8448         * gst/gst.c: (init_pre), (init_post):
8449           register the installed plugin path after the env var
8450         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8451         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8452           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8453           directories, so the tests can prefer uninstalled over installed
8454
8455 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8456
8457         * gst/base/gstbasetransform.h:
8458           comment
8459         * gst/gstpad.c:
8460           add to docs
8461
8462 2005-08-25  Wim Taymans  <wim@fluendo.com>
8463
8464         * gst/gstbin.c: (bin_bus_handler):
8465         Be a bit more conservative about the posted message.
8466         
8467         * gst/gstbus.c: (gst_bus_post):
8468         Some cleanups, warn wrong return values.
8469
8470 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8471
8472         * check/gst/gstbin.c: (GST_START_TEST):
8473         * gst/gstbin.c: (bin_bus_handler):
8474         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8475         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8476         (gst_message_new_warning), (gst_message_new_tag),
8477         (gst_message_new_state_changed), (gst_message_new_segment_start),
8478         (gst_message_new_segment_done), (gst_message_new_custom):
8479         * gst/gstmessage.h:
8480         * tools/gst-launch.c: (event_loop):
8481         * tools/gst-md5sum.c: (event_loop):
8482           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8483
8484 2005-08-25  Wim Taymans  <wim@fluendo.com>
8485
8486         * check/generic/states.c: (GST_START_TEST):
8487         Cleanup can be done at the end.
8488
8489         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8490         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8491         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8492         Oh boy.. Thanks for finding this, Thomas. 
8493
8494 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8495
8496         * docs/gst/gstreamer.types:
8497           added missing types
8498
8499 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8500
8501         * docs/gst/gstreamer-docs.sgml:
8502         * docs/gst/gstreamer-sections.txt:
8503         * docs/gst/tmpl/.cvsignore:
8504         * gst/gstbin.c:
8505         * gst/gstiterator.c:
8506         * gst/gstutils.c:
8507         * gst/registries/gstxmlregistry.h:
8508           added missing classes and symbols (123 more to go)
8509           removed removed symbols from section file
8510           fixed many doc-comments
8511
8512 2005-08-24  Wim Taymans  <wim@fluendo.com>
8513
8514         * check/generic/states.c: (GST_START_TEST):
8515         Make sure all tasks are stopped.
8516
8517         * check/gst/gstbin.c: (GST_START_TEST):
8518         Unref after usage for proper valgrinding.
8519
8520         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8521         Really wait for the task to stop before destroying the
8522         mutex.
8523
8524         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8525         (gst_queue_src_activate_push):
8526         Small cleanups. Don't stop the task when we did not start
8527         it.
8528
8529         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8530         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8531         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8532         (gst_task_join):
8533         * gst/gsttask.h:
8534         Protect the stream lock with the object lock.
8535         Disallow setting the stream lock when running.
8536         Add cleanup_all to wait for the threadpool to finish.
8537         Remove code to autoallocate a mutex if none was provided.
8538         Add _join() to wait for a task to stop.
8539         Protect the thread pool with a global lock.
8540
8541 2005-08-24  Wim Taymans  <wim@fluendo.com>
8542
8543         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8544         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8545         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8546         * gst/base/gstbasesink.h:
8547         Handle newsegment events correctly.
8548         Drop buffers out of the segment range.
8549
8550 2005-08-22  Andy Wingo  <wingo@pobox.com>
8551
8552         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8553         macro, implements an interface and gstimplementsinterface for a
8554         new type.
8555
8556 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8557
8558         * check/Makefile.am:
8559         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8560           add a test that does a bunch of state changes on elements
8561           needs some fixing for valgrind
8562         * check/states/sinks.c: (gst_object_suite):
8563           whitespace
8564         * gst/gstcaps.h:
8565           add prototype for gst_caps_is_equal_fixed
8566         * gst/gstplugin.c:
8567         * gst/gstregistrypool.c:
8568           doc fixes
8569
8570 2005-08-24  Andy Wingo  <wingo@pobox.com>
8571
8572         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8573         convert a negative value. Doesn't make much sense. Mostly this is
8574         here to force callers to ensure -1 maps to -1.
8575
8576 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8577
8578         * docs/pwg/advanced-types.xml:
8579           Well done to Michael for catching my deliberate introduction
8580           of this spelling mistake. 
8581         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8582         * gst/gstelement.h:
8583           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8584           unlink pads before removing the element from the bin.
8585
8586 2005-08-24  Andy Wingo  <wingo@pobox.com>
8587
8588         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8589         the same thing as GST_DEBUG=*:4.
8590         (parse_debug_level, parse_debug_category): New helper parsers.
8591
8592 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8593
8594         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8595         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8596         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8597         (gst_base_transform_buffer_alloc),
8598         (gst_base_transform_handle_buffer):
8599           use gboolean return values and pointers to size so we can use the
8600           full GST_BUFFER_SIZE range (guint) for buffer sizes
8601           use GstPadDirection for transform_caps
8602         * gst/base/gstbasetransform.h:
8603           rename get_size to get_unit_size since that's what it is
8604         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8605           use GstPadDirection for transform_caps
8606         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8607         * gst/gstutils.h:
8608           cleanup and debugging
8609
8610 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8611
8612         * gst/gstelement.c: (gst_element_class_init),
8613         (gst_element_set_state), (activate_pads),
8614         (gst_element_save_thyself):
8615         * tools/gst-compprep.c: (main):
8616         * tools/gst-inspect.c: (print_element_properties_info):
8617         * tools/gst-xmlinspect.c: (print_element_properties):
8618           Fixed long standing mem-leak
8619
8620 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8621
8622         * check/gst/gstbin.c: (GST_START_TEST):
8623         * gst/gstbin.c: (bin_bus_handler):
8624         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8625         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8626         (gst_message_new_warning), (gst_message_new_tag),
8627         (gst_message_new_state_changed), (gst_message_new_segment_start),
8628         (gst_message_new_segment_done), (gst_message_new_custom):
8629         * gst/gstmessage.h:
8630         * tools/gst-launch.c: (event_loop):
8631         * tools/gst-md5sum.c: (event_loop):
8632           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8633           that applications can sensibly post custom messages with references
8634           to their own objects.
8635
8636 2005-08-24  Andy Wingo  <wingo@pobox.com>
8637
8638         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8639         already.
8640
8641 2005-08-24  Wim Taymans  <wim@fluendo.com>
8642
8643         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8644         (gst_base_transform_transform_caps),
8645         (gst_base_transform_transform_size),
8646         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8647         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8648         (gst_base_transform_handle_buffer):
8649         * gst/base/gstbasetransform.h:
8650         Many fixes and new features added by Thomas. Can now also do
8651         transforms with variable sizes and a custom fixate_caps function.
8652
8653 2005-08-24  Wim Taymans  <wim@fluendo.com>
8654
8655         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8656         Some debugging.
8657
8658         * gst/gstclock.h:
8659         Cast to ClockTime before formatting to time.
8660
8661         * gst/gstutils.h:
8662         Cleanups.
8663
8664 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8665
8666         * check/gst-libs/controller.c: (GST_START_TEST),
8667         (gst_controller_suite):
8668         * docs/gst/tmpl/gstcaps.sgml:
8669         * docs/gst/tmpl/gstghostpad.sgml:
8670         * docs/gst/tmpl/gstquery.sgml:
8671         * docs/gst/tmpl/gstutils.sgml:
8672         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8673         (gst_object_sink_values), (gst_object_get_value_arrays),
8674         (gst_object_get_value_array):
8675           gracefully handle helper method calls to objects that are not beeing
8676           controlled, added test case for that          
8677
8678 2005-08-23  Wim Taymans  <wim@fluendo.com>
8679
8680         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8681         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8682         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8683         (gst_event_parse_qos), (gst_event_new_seek),
8684         (gst_event_parse_seek):
8685         * gst/gstevent.h:
8686         Some more debugging output and doc cleanups.
8687
8688         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8689         Fix possible deadlock.
8690
8691 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8692
8693         * docs/gst/gstreamer-docs.sgml:
8694         * docs/gst/gstreamer-sections.txt:
8695         * docs/gst/gstreamer.types:
8696         * docs/gst/tmpl/.cvsignore:
8697         * gst/gstbin.h:
8698         * gst/gstbus.c:
8699         * gst/gstelement.c:
8700         * gst/gstevent.h:
8701           added 100 symbols from gstreamer-unused.txt to the right sections
8702           fixed more broken comments
8703           added GstBus to docs
8704
8705 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8706
8707         * docs/gst/gstreamer-sections.txt:
8708         * docs/gst/tmpl/.cvsignore:
8709         * docs/gst/tmpl/gstbin.sgml:
8710         * docs/gst/tmpl/gstbuffer.sgml:
8711         * gst/base/gstbasesrc.c:
8712         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8713         * gst/gstbuffer.c:
8714         * gst/gstbuffer.h:
8715         * tools/gst-launch.1.in:
8716           inlined more doc comments, added missing comments and fixed comments
8717           fixed typos
8718
8719 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8720
8721         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8722           some debugging
8723         * gst/gstcaps.h:
8724           whitespace fixes
8725         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8726           more debugging
8727         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8728         * gst/gststructure.h:
8729           add a fixate function for booleans; add a FIXME that these func
8730           names should probably be gst_structure_fixate_*
8731
8732 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8733
8734         * docs/gst/gstreamer-docs.sgml:
8735         * docs/gst/gstreamer-sections.txt:
8736         * gst/Makefile.am:
8737         * gst/gstbin.c: (gst_bin_get_type),
8738         (gst_bin_child_proxy_get_child_by_index),
8739         (gst_bin_child_proxy_get_children_count),
8740         (gst_bin_child_proxy_init):
8741         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8742         (gst_child_proxy_get_child_by_index),
8743         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8744         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8745         (gst_child_proxy_get), (gst_child_proxy_set_property),
8746         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8747         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8748         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8749         * gst/gstchildproxy.h:
8750         * gst/parse/grammar.y:
8751         * tools/gst-inspect.c: (print_interfaces),
8752         (print_element_properties_info), (print_element_info):
8753           ported gstchildproxy over from 0.8
8754           ported gst-inspect fixes and enhancements over from 0.8
8755
8756 2005-08-22  Wim Taymans  <wim@fluendo.com>
8757
8758         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8759         (gst_base_transform_handle_buffer):
8760         Also call the transform function if we have ANY caps.
8761
8762         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8763         Fix debug info.
8764
8765 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8766
8767         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8768           Don't pretend to handle seek events if the source is not seekable
8769
8770 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8771
8772         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8773           Remove extra parameter to debug output
8774
8775         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8776         (gst_base_src_do_seek), (gst_base_src_activate_push):
8777           Fix seek event handling.
8778
8779         * gst/gstpipeline.c: (gst_pipeline_change_state):
8780         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8781         (gst_queue_src_activate_push):
8782           Don't start the src pad task on FLUSH_STOP if the pad
8783           isn't linked.
8784           Debug changes.
8785
8786 2005-08-22  Wim Taymans  <wim@fluendo.com>
8787
8788         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8789         Added check for gst_static_caps_get() refcounting.
8790
8791 2005-08-22  Wim Taymans  <wim@fluendo.com>
8792
8793         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8794         Make _static_caps_get() refcounting sane.
8795         
8796         * gst/gstelement.c: (gst_element_set_state):
8797         Add g_return_val_if_fail() to protect against segfaults.
8798
8799 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8800
8801         * docs/gst/tmpl/gstevent.sgml:
8802         * gst/gstevent.c:
8803         * gst/gstevent.h:
8804           inlined remaining docs, added missing doc comments
8805
8806 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8807
8808         * check/gst/gstbin.c: (GST_START_TEST):
8809           since we don't know when preroll is done, use refcount range
8810           check for the sink
8811         * gst/check/gstcheck.h:
8812           add macro for checking refcount range
8813
8814 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8815
8816         * check/Makefile.am:
8817           clean up environment for when registry gets built versus
8818           when actual tests are run; valgrind seems to not report
8819           leaks if GST_PLUGIN_PATH is set to some specific values
8820         * check/gst/gstbin.c: (GST_START_TEST):
8821           add more refcounting checks; maybe this exposes a
8822           preroll lock bug ?
8823         * common/check.mak:
8824         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8825         * gst/check/gstcheck.h:
8826         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8827         (gst_bin_change_state):
8828         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8829           add/fix debugging/whitespace
8830
8831 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8832
8833         * check/gst/gstevent.c: (event_probe), (test_event),
8834         (GST_START_TEST):
8835          Er, don't call gst_bin_watch_for_state_change you idiot.
8836
8837 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8838
8839         * check/Makefile.am:
8840           Use CHECK_CFLAGS and CHECK_LIBS
8841         * check/gst/gstevent.c: (event_probe), (test_event),
8842         (GST_START_TEST):
8843           Don't leak events.
8844         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8845         (gst_base_src_start), (gst_base_src_stop),
8846         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8847         (gst_base_src_change_state):
8848           Sprinkle gst_base_src_stop liberally around error paths to fix
8849           problems reusing a source after failed state changes.
8850         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8851         (helper_find_suggest), (gst_type_find_helper):
8852           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8853         * gst/gstevent.h:
8854         * docs/gst/tmpl/gstevent.sgml:
8855           Migrate part of the docs from the SGML file. Wait for ensonic to
8856           tell me how I did it wrong ;)
8857         * tools/gst-typefind.c: (main):
8858           Extra robustness to state changes between files.
8859
8860 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8861
8862         * check/Makefile.am:
8863           don't valgrind the controller test - it's leaking - Stefan, HELP
8864         * gst/check/gstcheck.c: (gst_check_message_error),
8865         (gst_check_chain_func), (gst_check_setup_element),
8866         (gst_check_teardown_element), (gst_check_setup_src_pad),
8867         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8868         (gst_check_teardown_sink_pad):
8869         * gst/check/gstcheck.h:
8870           add a bunch of methods to set up elements, and src and sink pads
8871         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8872         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8873         (GST_START_TEST):
8874           use them
8875         * gst/gstmessage.c:
8876         * gst/gsttag.h:
8877           whitespace/doc fixes
8878
8879 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8880
8881         * gst/gstelement.h:
8882           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8883           be handled by the application and not always printed as well
8884
8885 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8886
8887         * check/Makefile.am:
8888           set GST_TOOLS_DIR
8889         * gst/check/gstcheck.c: (gst_check_message_error):
8890         * gst/check/gstcheck.h:
8891           add a fail_unless_equals_int
8892           add fail_unless for error messages
8893
8894 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8895
8896         * check/Makefile.am:
8897         * check/gst.supp:
8898         * common/Makefile.am:
8899         * common/check.mak:
8900         * common/gst.supp:
8901           factor out some of the common stuff so we can use it
8902
8903 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8904
8905         * check/Makefile.am:
8906         * check/gst/gstiterator.c: (GST_START_TEST):
8907         * check/gst/gstsystemclock.c: (GST_START_TEST),
8908         (gst_systemclock_suite):
8909         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8910         * gst/gstclock.c:
8911           valgrind more tests
8912
8913 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8914
8915         * check/elements/.cvsignore:
8916         * check/elements/gstfakesrc.c:
8917           rename to name of element
8918         * check/elements/identity.c: (chain_func), (event_func),
8919         (setup_identity), (cleanup_identity), (GST_START_TEST),
8920         (identity_suite), (main):
8921           add a test for identity
8922         * check/Makefile.am:
8923         * pkgconfig/Makefile.am:
8924         * pkgconfig/gstreamer-check.pc.in:
8925         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8926         * gst/check:
8927         * gst/Makefile.am:
8928         * configure.ac:
8929           move the check stuff to a library that gets installed
8930         * check/gst-libs/controller.c: (GST_START_TEST):
8931         * check/gst-libs/gdp.c:
8932         * check/gst/gst.c: (GST_START_TEST):
8933         * check/gst/gstbin.c:
8934         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8935         * check/gst/gstbus.c:
8936         * check/gst/gstcaps.c: (GST_START_TEST):
8937         * check/gst/gstelement.c:
8938         * check/gst/gstghostpad.c:
8939         * check/gst/gstiterator.c:
8940         * check/gst/gstmessage.c:
8941         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8942         * check/gst/gstobject.c:
8943         * check/gst/gstpad.c: (GST_START_TEST):
8944         * check/gst/gststructure.c: (GST_START_TEST):
8945         * check/gst/gstsystemclock.c: (GST_START_TEST),
8946         (gst_systemclock_suite):
8947         * check/gst/gsttag.c: (gst_tag_suite):
8948         * check/gst/gstvalue.c:
8949         * check/pipelines/cleanup.c:
8950         * check/pipelines/simple_launch_lines.c:
8951         * check/states/sinks.c:
8952           change include statement
8953
8954         * docs/gst/gstreamer-sections.txt:
8955         * docs/gst/tmpl/gstpad.sgml:
8956           document more pad stuff
8957         * gst/gstminiobject.c: (gst_mini_object_ref),
8958         (gst_mini_object_unref):
8959           debug refcounting
8960
8961 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8962
8963         * docs/gst/tmpl/gst.sgml:
8964         * gst/gst.c:
8965           eliminate another tmpl file, fix spelling in the long-description
8966
8967 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8968
8969         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8970         (test_event), (timediff), (gstevents_suite):
8971           Should fix build on 64-bit arch's
8972
8973 2005-08-18  Andy Wingo  <wingo@pobox.com>
8974
8975         Make sure that when a pipeline goes to PLAYING, that data has
8976         actually hit the sink.
8977
8978         * check/states/sinks.c (test_sink): A sink that doesn't get any
8979         data shouldn't return SUCCESS for going to either PLAYING or
8980         PAUSED. Test also the return values on the way back down.
8981
8982         * gst/gstelement.c (gst_element_set_state): When changing the
8983         state of an element currently changing state asynchronously, go to
8984         lost-state after commiting the pending state. Makes future calls
8985         to get_state continue to return ASYNC.
8986
8987         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8988         ASYNC when going to PLAYING if we still don't have preroll, as can
8989         happen with live sources.
8990
8991 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8992
8993         * docs/pwg/advanced-types.xml:
8994           Hack long paragraph into 2 chunks as a workaround for buggy
8995           jadetex version in sid and breezy that loops infinitely and
8996           eats all RAM.
8997
8998 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8999
9000         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9001         (test_event), (timediff), (gstevents_suite):
9002           Provide more error margin in clock measurements to allow for 
9003           g_get_current_time inaccuracies.
9004
9005 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9006
9007         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9008         (test_event), (timediff), (gstevents_suite):
9009            Fix error message output so I might be able to tell why the
9010            test works here but fails on the build farm.
9011
9012 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9013
9014         * check/Makefile.am:
9015         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9016         (test_event), (timediff), (gstevents_suite), (main):
9017           I wrote a test!
9018
9019         * docs/design/part-seeking.txt:
9020           Spelling correction
9021
9022         * docs/gst/tmpl/gstevent.sgml:
9023         * docs/gst/tmpl/gstfakesrc.sgml:
9024           Docs updates.
9025
9026         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9027           Treat a buffer-without-newsegment the same as a receiving 
9028           a newsegment not in time format, and disable syncing to the clock
9029           with a warning.
9030
9031         * gst/gstbus.c: (gst_bus_set_sync_handler):
9032           Assert if anyone tries to replace the existing sync_handler for bus, 
9033           as only the owner should be setting it.
9034
9035         * gst/gstevent.h:
9036           Have a fixed set of custom event enums with events identified by
9037           their structure name (as in 0.8), rather than a free-for-all
9038           allowing collisions between enum values from different plugins.
9039
9040         * gst/gstpad.c: (gst_pad_class_init):
9041           Docs change.
9042           
9043         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9044           Handle out-of-band downstream events from the sending thread.
9045
9046 2005-08-17  Andy Wingo  <wingo@pobox.com>
9047
9048         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9049         play-timeout==0 to mean no timeout at all. In that case, don't
9050         bother with a get_state or a warning, just return directly, even
9051         if it's ASYNC.
9052
9053         * gst/base/gstbasetransform.c: Debug changes.
9054
9055         * gst/gstutils.h:
9056         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9057         ensure bins post state change messages. A bit of a hack but I can't
9058         think of a way to avoid it.
9059
9060         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9061
9062 2005-08-16  Andy Wingo  <wingo@pobox.com>
9063
9064         * gst/base/gstadapter.h:
9065         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9066         peek() but you own the data. Not terribly efficient atm.
9067
9068 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9069
9070         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9071         (gst_element_found_tags):
9072         * gst/gstutils.h:
9073           Add two utility functions for tag handling.
9074
9075 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9076
9077         * docs/manual/advanced-dataaccess.xml:
9078         * docs/manual/basics-helloworld.xml:
9079           Fix docs to use _bin_add() before _link(), which fixes the examples
9080           with recent core versions (reported by Madhan Raj M
9081           <raj_madan@rediffmail.com>, #313199).
9082
9083 2005-08-16  Wim Taymans  <wim@fluendo.com>
9084
9085         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9086         Added subtract checks.
9087
9088         * docs/design/part-events.txt:
9089         Some more docs about newsegment
9090
9091         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9092         Fix FIXME
9093
9094         * gst/gstcaps.c: (gst_caps_to_string):
9095         Add comments, cleanups.
9096         
9097         * gst/gstelement.c: (gst_element_save_thyself):
9098         cleanups
9099         
9100         * gst/gstvalue.c: (gst_value_collect_int_range),
9101         (gst_string_unwrap), (gst_value_union_int_int_range),
9102         (gst_value_union_int_range_int_range),
9103         (gst_value_intersect_int_int_range),
9104         (gst_value_intersect_int_range_int_range),
9105         (gst_value_intersect_double_double_range),
9106         (gst_value_intersect_double_range_double_range),
9107         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9108         (gst_value_subtract_int_range_int),
9109         (gst_value_subtract_double_range_double),
9110         (gst_value_subtract_double_range_double_range),
9111         (gst_value_subtract_from_list), (gst_value_subtract_list),
9112         (gst_value_can_compare), (gst_value_compare_fraction):
9113         Cleanups, add comments, remove unneeded asserts.
9114
9115 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9116
9117         * tools/gst-launch.c: (event_loop):
9118           don't convert NULL structures to strings
9119
9120 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
9121
9122         * docs/gst/gstreamer-sections.txt:
9123           made some defines private
9124         * docs/gst/tmpl/gstconfig.sgml:
9125         * docs/gst/tmpl/gstqueue.sgml:
9126         * docs/gst/tmpl/gsttaglist.sgml:
9127         * docs/gst/tmpl/gsttypes.sgml:
9128         * docs/gst/tmpl/gstutils.sgml:
9129         * docs/pwg/appendix-porting.xml:
9130         * gst/base/gstbasesink.h:
9131         * gst/base/gstbasesrc.c:
9132         * gst/base/gstbasesrc.h:
9133         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9134         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9135         * gst/gstelement.c: (gst_element_class_init):
9136         * gst/gstpad.c: (gst_pad_class_init):
9137         * gst/gstqueue.c: (gst_queue_class_init):
9138         * gst/gstxml.c: (gst_xml_class_init):
9139           documented all undocumented signal inline
9140         * libs/gst/controller/gst-controller.h:
9141           added padding
9142
9143 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9144
9145         * docs/pwg/appendix-porting.xml:
9146           Document _set_link_function -> _set_setcaps_function.
9147
9148 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9149
9150         * check/Makefile.am:
9151           add a .check target for running the check
9152         * check/gst-libs/controller.c: (GST_START_TEST):
9153           cosmetic fixups
9154         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9155           complete checks for gstbuffer; would be nice if I could get the
9156           gcov stuff to work so I can see if I actually completed gstbuffer.c
9157         * check/gstcheck.h:
9158           add ASSERT_BUFFER_REFCOUNT
9159
9160 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9161
9162         * docs/gst/gstreamer-sections.txt:
9163         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9164         * gst/gsttag.h:
9165           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9166           spew out a warning if a tag that is already registered
9167           is re-registered, unless it is re-registered with a 
9168           different type (#308438).
9169
9170 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9171
9172         * docs/pwg/appendix-porting.xml:
9173         * docs/pwg/building-state.xml:
9174           Add some paragraphs about state changes in 0.9 to the PWG
9175           and the porting guide, in particular about the new meaning
9176           of GST_STATE_PAUSED and how to write state change functions
9177           with concurrent access by multiple threads in mind.
9178
9179 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9180
9181         * docs/gst/gstreamer-docs.sgml:
9182         * docs/libs/gstreamer-libs-docs.sgml:
9183           added deprecation and since indexes
9184         * libs/gst/controller/gst-controller.c:
9185         * libs/gst/controller/gst-helper.c:
9186           added since tags
9187
9188
9189 2005-08-11  Wim Taymans  <wim@fluendo.com>
9190
9191         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9192         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9193         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9194         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9195         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9196         (gst_ghost_pad_set_target):
9197         Actually implement (re)setting the target on a ghostpad
9198         as described in the docs.
9199
9200 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9201
9202         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9203           Check whether GST_DEBUG_NO_COLOR environment variable is
9204           set and disable coloured debug output if that is the case.
9205
9206 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9207
9208         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9209         (gst_type_find_helper):
9210           The memory returned by gst_type_find_peek() needs to
9211           stay valid until the end of a typefind function, and
9212           typefind functions may keep results from different 
9213           offsets around, so we can't just unref the buffer from
9214           the previous _peek(), but have to save all buffers 
9215           returned by _peek() until typefinding is done and only
9216           free them then.
9217
9218 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9219
9220         * docs/gst/gstreamer-sections.txt:
9221         * gst/gstutils.h:
9222           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9223
9224 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9225
9226         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9227           Fix a pretty good memleak.
9228
9229 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9230
9231         * gst/gstiterator.h:
9232           Fix wrong include and 'make distcheck'.
9233
9234 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9235
9236         * gst/gstbin.c: (bin_bus_handler):
9237           Use gst_element_post_message() instead.
9238
9239 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9240
9241         * gst/base/gstadapter.h:
9242         * gst/base/gstbasesink.h:
9243         * gst/base/gstbasesrc.h:
9244         * gst/base/gstbasetransform.h:
9245         * gst/base/gstcollectpads.h:
9246         * gst/base/gstpushsrc.h:
9247         * gst/gstiterator.h:
9248           Add padding to our base elements' class and instance structs and
9249           to GstIterator (you will need to rebuild all plugins and apps!)
9250
9251 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9252
9253         * gst/gstbin.c: (bin_bus_handler):
9254           Make default message forwarding from child->bus to bin->bus
9255           threadsafe and make it not emit warnings if the parent has no bus.
9256
9257 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9258
9259         * gst/gstelement.c: (activate_pads):
9260           On paused->ready, set pad->caps to NULL, as is the documented
9261           behaviour in this state change. Fixes playback of series of
9262           media files when visualization is enabled in Totem.
9263
9264 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9265
9266         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9267           Allow NULL as filter-caps (which means "any").
9268
9269 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9270
9271         * docs/libs/gstreamer-libs-sections.txt:
9272         * libs/gst/controller/gst-controller.c:
9273         * libs/gst/controller/gst-controller.h:
9274         * libs/gst/controller/gst-helper.c:
9275           adding more entries to the docs and fix small doc-bugs
9276
9277 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9278
9279         * docs/gst/gstreamer-docs.sgml:
9280         * docs/gst/gstreamer-sections.txt:
9281         * docs/gst/gstreamer.types:
9282         * docs/gst/tmpl/gstbasesink.sgml:
9283         * docs/gst/tmpl/gstbasesrc.sgml:
9284         * docs/gst/tmpl/gstbasetransform.sgml:
9285         * docs/gst/tmpl/gstfakesrc.sgml:
9286         * gst/base/gstcollectpads.c:
9287         * gst/base/gstcollectpads.h:
9288         * libs/gst/controller/gst-controller.c:
9289         * libs/gst/controller/gst-controller.h:
9290         * libs/gst/controller/gst-helper.c:
9291         * libs/gst/controller/gst-interpolation.c:
9292         * libs/gst/controller/lib.c:
9293           added long/short desc for controller docs
9294           added collectpads base class docs
9295           added correct includes to base-class docs
9296
9297 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9298
9299         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9300         (gst_test_mono_source_set_property),
9301         (gst_test_mono_source_class_init), (GST_START_TEST),
9302         (gst_controller_suite):
9303         * docs/gst/gstreamer-docs.sgml:
9304         * docs/gst/gstreamer-sections.txt:
9305         * docs/gst/gstreamer.types:
9306         * docs/libs/gstreamer-libs-docs.sgml:
9307         * docs/libs/gstreamer-libs-sections.txt:
9308         * gst/base/gstadapter.c:
9309         * libs/gst/controller/gst-controller.c:
9310         (gst_controlled_property_new), (gst_controlled_property_free),
9311         (gst_controller_new_valist),
9312         (gst_controller_remove_properties_valist),
9313         (gst_controller_sink_values), (_gst_controller_finalize):
9314         * libs/gst/controller/gst-controller.h:
9315         * libs/gst/controller/gst-helper.c:
9316         (gst_object_control_properties), (gst_object_uncontrol_properties),
9317         (gst_object_get_controller), (gst_object_set_controller),
9318         (gst_object_sink_values), (gst_object_get_value_arrays),
9319         (gst_object_get_value_array):
9320           more tests (and fixes) for the controller
9321           more docs for the controller
9322           integrated companies docs for the adapter 
9323
9324 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9325
9326         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9327         (GST_START_TEST), (fakesrc_suite):
9328           add tests for sizetype
9329
9330 2005-08-04  Andy Wingo  <wingo@pobox.com>
9331
9332         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9333         fixes buffer_alloc proxying among other things.
9334
9335         * gst/base/gstbasetransform.c:
9336         * gst/base/gstbasetransform.h:
9337         Revert patch to gstbasetransform from 7-28 removing
9338         delay_configure.
9339
9340         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9341         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9342         Semantics changed, should return not the size of the output buffer
9343         but the byte size of a buffer with a given caps.
9344
9345         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9346         debug object.
9347         (gst_base_transform_configure_caps): Don't set out_size here: (in,
9348         out) are not the pad caps until setcaps finishes.
9349         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9350         not-in-place case as well. Deal with changing from in-place to
9351         not-in-place within calling pad_alloc_buffer. Still a bit
9352         concerned about the overhead here...
9353
9354 2005-08-03  Andy Wingo  <wingo@pobox.com>
9355
9356         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9357         fixating is an error.
9358
9359 2005-08-04  Edward Hervey  <edward@fluendo.com>
9360
9361         * gst/base/gstadapter.h: 
9362         Added gst_adapter_get_type() to the header
9363
9364 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9365
9366         * check/Makefile.am:
9367         * check/gst-libs/controller.c:
9368         * libs/gst/controller/gst-controller.c:
9369         (gst_controller_new_valist):
9370           added check test suite for the controller
9371         * gst/base/gstpushsrc.c:
9372           fixed a doc typo
9373
9374 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9375
9376         * docs/gst/Makefile.am:
9377         * docs/gst/gstreamer-docs.sgml:
9378         * docs/gst/gstreamer-sections.txt:
9379         * docs/gst/gstreamer.types:
9380         * docs/gst/tmpl/gstfakesrc.sgml:
9381         * gst/base/README:
9382         * gst/base/gstbasesink.c:
9383         * gst/base/gstbasesink.h:
9384         * gst/base/gstbasesrc.c:
9385         * gst/base/gstbasesrc.h:
9386         * gst/base/gstbasetransform.c:
9387         * gst/base/gstpushsrc.c:
9388         * gst/base/gstpushsrc.h:
9389           add short/long description docs to base classes
9390           add pushsrc to the docs
9391           remove consolidated doc fragments
9392
9393 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9394
9395         * configure.ac:
9396         * docs/libs/Makefile.am:
9397         * docs/libs/gstreamer-libs-docs.sgml:
9398         * docs/libs/gstreamer-libs-sections.txt:
9399         * docs/libs/gstreamer-libs.types:
9400         * examples/Makefile.am:
9401         * examples/controller/.cvsignore:
9402         * examples/controller/Makefile.am:
9403         * examples/controller/audio-example.c: (main):
9404         * libs/gst/Makefile.am:
9405         * libs/gst/controller/.cvsignore:
9406         * libs/gst/controller/Makefile.am:
9407         * libs/gst/controller/gst-controller.c:
9408         (on_object_controlled_property_changed), (gst_timed_value_compare),
9409         (gst_timed_value_find),
9410         (gst_controlled_property_set_interpolation_mode),
9411         (gst_controlled_property_new), (gst_controlled_property_free),
9412         (gst_controller_find_controlled_property),
9413         (gst_controller_new_valist), (gst_controller_new),
9414         (gst_controller_remove_properties_valist),
9415         (gst_controller_remove_properties), (gst_controller_set),
9416         (gst_controller_set_from_list), (gst_controller_unset),
9417         (gst_controller_get), (gst_controller_get_all),
9418         (gst_controller_sink_values), (gst_controller_get_value_arrays),
9419         (gst_controller_get_value_array),
9420         (gst_controller_set_interpolation_mode),
9421         (_gst_controller_finalize), (_gst_controller_init),
9422         (_gst_controller_class_init), (gst_controller_get_type):
9423         * libs/gst/controller/gst-controller.h:
9424         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
9425         (g_object_uncontrol_properties), (g_object_get_controller),
9426         (g_object_set_controller), (g_object_sink_values),
9427         (g_object_get_value_arrays), (g_object_get_value_array):
9428         * libs/gst/controller/gst-interpolation.c:
9429         (gst_controlled_property_find_timed_value_node),
9430         (interpolate_none_get), (interpolate_trigger_get),
9431         (interpolate_trigger_get_value_array):
9432         * libs/gst/controller/lib.c: (gst_controller_init):
9433         * pkgconfig/Makefile.am:
9434         * pkgconfig/gstreamer-control-uninstalled.pc.in:
9435         * pkgconfig/gstreamer-control.pc.in:
9436         * testsuite/Makefile.am:
9437         * testsuite/controller/.cvsignore:
9438         * testsuite/controller/Makefile.am:
9439         * testsuite/controller/interpolator.c: (main):
9440           added controller code
9441           removed dparam pc files
9442
9443 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9444         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
9445         (gst_collectpads_stop):
9446           Broadcast the condition when shutting down, to make sure we wake all
9447           threads up. Shut down pads on finalize, for safety.
9448
9449 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9450         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9451         (gst_base_transform_handle_buffer),
9452         (gst_base_transform_change_state):
9453           Handle PAUSED->READY->PAUSED transition after negotiation
9454           occurred already.
9455         * gst/gstmessage.c: (gst_message_init):
9456           Extra piece of debug for new messages.
9457
9458 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
9459
9460         * configure.ac:
9461         * docs/gst/tmpl/gstbasesrc.sgml:
9462         * docs/gst/tmpl/gstelement.sgml:
9463         * docs/gst/tmpl/gstevent.sgml:
9464         * docs/gst/tmpl/gstfakesrc.sgml:
9465         * docs/gst/tmpl/gstformat.sgml:
9466         * docs/gst/tmpl/gstghostpad.sgml:
9467         * docs/gst/tmpl/gstpad.sgml:
9468         * docs/gst/tmpl/gstquery.sgml:
9469         * docs/gst/tmpl/gststructure.sgml:
9470         * docs/gst/tmpl/gsttaglist.sgml:
9471         * docs/gst/tmpl/gstvalue.sgml:
9472         * docs/libs/gstreamer-libs-docs.sgml:
9473         * docs/libs/gstreamer-libs-sections.txt:
9474         * docs/libs/gstreamer-libs.types:
9475         * libs/gst/Makefile.am:
9476         * libs/gst/control/.cvsignore:
9477         * libs/gst/control/Makefile.am:
9478         * libs/gst/control/control.c:
9479         * libs/gst/control/control.h:
9480         * libs/gst/control/dparam.c:
9481         * libs/gst/control/dparam.h:
9482         * libs/gst/control/dparam_smooth.c:
9483         * libs/gst/control/dparam_smooth.h:
9484         * libs/gst/control/dparamcommon.h:
9485         * libs/gst/control/dparammanager.c:
9486         * libs/gst/control/dparammanager.h:
9487         * libs/gst/control/dplinearinterp.c:
9488         * libs/gst/control/dplinearinterp.h:
9489         * libs/gst/control/unitconvert.c:
9490         * libs/gst/control/unitconvert.h:
9491         * testsuite/Makefile.am:
9492         * testsuite/dynparams/.cvsignore:
9493         * testsuite/dynparams/Makefile.am:
9494         * testsuite/dynparams/dparamstest.c:
9495         * tools/Makefile.am:
9496         * tools/gst-inspect.c: (print_element_info), (main):
9497         * tools/gst-xmlinspect.c: (print_element_info), (main):
9498           deactivate and remove dparams (libgstcontrol)
9499
9500 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9501
9502         * gst/elements/gsttypefindelement.c:
9503         (gst_type_find_element_have_type), (gst_type_find_element_init),
9504         (stop_typefinding), (gst_type_find_element_handle_event),
9505         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9506         * gst/elements/gsttypefindelement.h:
9507           Set caps on all outgoing buffers, not just the first one.
9508
9509 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9510
9511         * gst/elements/gsttypefindelement.c:
9512         (gst_type_find_element_have_type),
9513         (gst_type_find_element_check_set_buffer_caps),
9514         (gst_type_find_element_init), (stop_typefinding),
9515         (gst_type_find_element_handle_event),
9516         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9517         * gst/elements/gsttypefindelement.h:
9518           Set caps on first outgoing buffer when we've found the type.
9519
9520 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9521
9522         * docs/gst/gstreamer-docs.sgml:
9523         * docs/gst/gstreamer-sections.txt:
9524         * docs/gst/tmpl/gstscheduler.sgml:
9525         * docs/gst/tmpl/gstschedulerfactory.sgml:
9526           Remove some old cruft from docs.
9527
9528 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9529
9530         * gst/gstpad.h:
9531           Fix inline docs for GstPadLinkReturn.
9532           
9533         * gst/gststructure.c: (gst_structure_has_name):
9534         * gst/gststructure.h:
9535         * docs/gst/gstreamer-sections.txt:
9536           New API: gst_structure_has_name().
9537
9538 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9539
9540         * configure.ac:
9541           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9542           and _LARGEFILE_SOURCE in config.h as required. Do not 
9543           export those flags in our .pc files any longer (#142209).
9544
9545           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9546
9547         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9548         (gst_file_sink_do_seek), (gst_file_sink_event),
9549         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9550           Redo seek/tell calls with large file support in mind; add some
9551           debugging messages; add log message that tells us when large
9552           file support is unavailable or not enabled for some reason.
9553
9554         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9555           Add log message that tells us when large file support 
9556           is unavailable or not enabled for some reason.
9557
9558 2005-07-29  Wim Taymans  <wim@fluendo.com>
9559
9560         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9561         Added test for removing an element with ghostpad from a bin.
9562         Fixed test as current implementation does the right thing.
9563
9564         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9565         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9566         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9567         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9568         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9569         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9570         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9571         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9572         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9573         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9574         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9575         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9576         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9577         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9578         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9579         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9580         * gst/gstghostpad.h:
9581         Clean up ghostpads, remove properties for internal stuff.
9582         Make threadsafe.
9583         Fix refcounting.
9584         Prepare for switching targets, not all use cases work yet.
9585
9586 2005-07-29  Wim Taymans  <wim@fluendo.com>
9587
9588         * docs/design/part-gstghostpad.txt:
9589         Small update.
9590
9591         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9592         (gst_bin_remove_func):
9593         Unlinking pads while holding the bin LOCK is not a good
9594         idea.
9595
9596         * gst/gstpad.c: (gst_pad_class_init),
9597         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9598         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9599         No prob setting template after creating the pad.
9600
9601 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9602
9603         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9604         (gst_bus_peek), (gst_bus_source_dispatch),
9605         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9606         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9607           gst_bus_poll may be called from other threads. Handle
9608           this nicely by not making poll_data disappear off the
9609           stack once gst_bus_poll returns.
9610           gst_bus_peek now increments the refcount on the returned
9611           message.
9612
9613 2005-07-29  Wim Taymans  <wim@fluendo.com>
9614
9615         * docs/design/part-gstghostpad.txt:
9616         Overview of current GhostPad datastructures and use
9617         cases for changing the target.
9618
9619 2005-07-28  Wim Taymans  <wim@fluendo.com>
9620
9621         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9622         Added checks for hierarchy consistency whan adding linked
9623         elements to bins.
9624
9625         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9626         Added check to test element scheduling without bin/pipeline.
9627
9628         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9629         First add elements to bin, then link.
9630         
9631         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9632         (gst_bin_remove_func):
9633         Unlink pads from elements added/removed from bin to maintain
9634         hierarchy consistency.
9635
9636 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9637
9638         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9639         (gst_base_transform_handle_buffer):
9640         * gst/base/gstbasetransform.h:
9641           Remove broken delay_configure (fixes renegotiation of software
9642           scaling pipelines); remove some leftover printf()s.
9643
9644 2005-07-28  Wim Taymans  <wim@fluendo.com>
9645
9646         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9647         Added some more tests for wrong hierarchy
9648
9649         * docs/design/part-overview.txt:
9650         Some updates.
9651
9652         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9653         Cleanups.
9654
9655         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9656         (gst_element_dispose):
9657         Some more cleanups.
9658
9659         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9660         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9661         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9662         (gst_pad_set_caps), (gst_pad_send_event):
9663         Check for correct hierarchy when linking pads. Moving to
9664         strict requirement for ghostpads when linking elements in
9665         different bins.
9666
9667         * gst/gstpad.h:
9668         Clean ups. Added WRONG_HIERARCHY return value.
9669
9670 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9671
9672         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9673           Better debug if no transform is possible.
9674
9675 2005-07-27  Wim Taymans  <wim@fluendo.com>
9676
9677         * docs/random/wtay/network-transp:
9678         Some old doc I had.
9679
9680 2005-07-27  Wim Taymans  <wim@fluendo.com>
9681
9682         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9683         (gst_dp_event_from_packet):
9684         Fix serialization of seek events.
9685
9686 2005-07-27  Wim Taymans  <wim@fluendo.com>
9687
9688         * check/gst-libs/gdp.c: (GST_START_TEST):
9689         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9690         Fix compilation and fix event serialization.
9691
9692 2005-07-27  Wim Taymans  <wim@fluendo.com>
9693
9694         * CHANGES-0.9:
9695         * docs/design/part-TODO.txt:
9696         * docs/design/part-events.txt:
9697         Some docs updates
9698
9699         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9700         (gst_base_sink_event), (gst_base_sink_do_sync),
9701         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9702         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9703         (gst_base_src_do_seek), (gst_base_src_event_handler),
9704         (gst_base_src_loop):
9705         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9706         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9707         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9708         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9709         (gst_base_transform_set_passthrough),
9710         (gst_base_transform_is_passthrough):
9711         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9712         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9713         Event updates.
9714
9715         * gst/gstbuffer.h:
9716         Use faster casts.
9717
9718         * gst/gstelement.c: (gst_element_seek):
9719         * gst/gstelement.h:
9720         Update gst_element_seek.
9721
9722         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9723         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9724         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9725         (gst_event_new_eos), (gst_event_new_newsegment),
9726         (gst_event_parse_newsegment), (gst_event_new_tag),
9727         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9728         (gst_event_parse_qos), (gst_event_new_seek),
9729         (gst_event_parse_seek), (gst_event_new_navigation):
9730         * gst/gstevent.h:
9731         Make GstEvent use GstStructure. Add parsing code, make sure the
9732         API is sufficiently generic.
9733         Mark possible directions of events and serialization.
9734
9735         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9736         (_gst_message_copy), (gst_message_new_segment_start),
9737         (gst_message_new_segment_done), (gst_message_new_custom),
9738         (gst_message_parse_segment_start),
9739         (gst_message_parse_segment_done):
9740         Small cleanups.
9741
9742         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9743         (gst_pad_set_caps), (gst_pad_send_event):
9744         Update for new events. 
9745         Catch events sent in wrong directions.
9746
9747         * gst/gstqueue.c: (gst_queue_link_src),
9748         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9749         (gst_queue_handle_src_query):
9750         Event updates.
9751
9752         * gst/gsttag.c:
9753         * gst/gsttag.h:
9754         Remove event code from this file.
9755
9756         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9757         (gst_dp_event_from_packet):
9758         Event updates.
9759
9760 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9761
9762         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9763         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9764         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9765           Make debugging actually useful.
9766
9767 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9768
9769         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9770         (gst_pad_fixate_caps):
9771           Implement default fixation once again, so that gst_pad_fixate()
9772           actually does anything at all. This probably needs to be some
9773           sort of a last resort, and use profile-based fixation first, but
9774           since that doesn't exist yet, this is the best we have. Fixes
9775           visualization in Totem.
9776
9777 2005-07-22  Wim Taymans  <wim@fluendo.com>
9778
9779         * docs/design/part-events.txt:
9780         Small update.
9781
9782         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9783         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9784         (gst_base_sink_activate_pull):
9785         Some more comments.
9786
9787         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9788         (gst_fake_src_create):
9789         Fix handoff marshall.
9790
9791         * gst/elements/gstidentity.c: (gst_identity_class_init),
9792         (gst_identity_transform_ip):
9793         We're a real inplace element.
9794
9795         * gst/gstbus.c: (gst_bus_post):
9796         Added some comments.
9797
9798         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9799         * tests/muxing/case1.c: (main):
9800         * tests/sched/dynamic-pipeline.c: (main):
9801         * tests/sched/interrupt1.c: (main):
9802         * tests/sched/interrupt2.c: (main):
9803         * tests/sched/interrupt3.c: (main):
9804         * tests/sched/runxml.c: (main):
9805         * tests/sched/sched-stress.c: (main):
9806         * tests/seeking/seeking1.c: (event_received), (main):
9807         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9808         (main):
9809         * tests/threadstate/threadstate3.c: (main):
9810         * tests/threadstate/threadstate4.c: (main):
9811         * tests/threadstate/threadstate5.c: (main):
9812         Fix the tests.
9813
9814 2005-07-21  Wim Taymans  <wim@fluendo.com>
9815
9816         * docs/design/part-seeking.txt:
9817         Some small additions.
9818
9819         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9820         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9821         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9822         * gst/base/gstbasesink.h:
9823         discont values are gint64, handle the math correctly.
9824
9825         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9826         Make the basesrc report error if the source pad is not linked.
9827
9828         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9829         (gst_queue_loop), (gst_queue_handle_src_query),
9830         (gst_queue_src_activate_push):
9831         Make queue collect data even if the srcpad is not linked.
9832         Start pushing out data as soon as it is linked.
9833
9834         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9835         * gst/gstutils.h:
9836         Added gst_flow_get_name() to ease error reporting.
9837
9838 2005-07-20  Wim Taymans  <wim@fluendo.com>
9839
9840         * gst/gstmessage.c: (gst_message_new_segment_start),
9841         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9842         (gst_message_parse_segment_done):
9843         * gst/gstmessage.h:
9844         Added a bunch of messages for advanced seeking.
9845
9846         * gst/parse/grammar.y:
9847         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9848         (gst_dpman_state_changed):
9849         Fix some new-pad -> pad-added signals
9850
9851 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9852
9853         * docs/manual/appendix-porting.xml:
9854         * docs/pwg/appendix-porting.xml:
9855           Document new-pad/state-change signal renames and the FixedList
9856           type rename.
9857
9858 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9859
9860         * docs/manual/advanced-autoplugging.xml:
9861         * docs/manual/basics-helloworld.xml:
9862         * docs/manual/basics-pads.xml:
9863         * docs/random/ds/0.9-suggested-changes:
9864         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9865         * gst/gstelement.h:
9866         * gst/gstevent.h:
9867         * gst/gstformat.h:
9868         * gst/gstquery.h:
9869         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9870         (gst_structure_parse_array), (gst_structure_parse_value):
9871         * gst/gstvalue.c: (gst_type_is_fixed),
9872         (gst_value_list_prepend_value), (gst_value_list_append_value),
9873         (gst_value_list_get_size), (gst_value_list_get_value),
9874         (gst_value_transform_array_string), (gst_value_serialize_array),
9875         (gst_value_deserialize_array), (gst_value_intersect_array),
9876         (gst_value_is_fixed), (_gst_value_initialize):
9877         * gst/gstvalue.h:
9878           GstElement::new-pad -> pad-added, GstElement::state-change ->
9879           state-changed, GstValueFixedList -> GstValueArray, add format and
9880           flags as their own arguments in gst_element_seek() (should improve
9881           "bindeability"), remove function generators since they don't work
9882           under a whole bunch of compilers (they were deprecated already
9883           anyway).
9884
9885 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9886
9887         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9888         (_gst_debug_register_funcptr):
9889         * gst/gstinfo.h:
9890           Fix illegal cast on some platforms (#309253).
9891
9892 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9893
9894         * gst/gstmessage.c: (gst_message_new_custom):
9895         * gst/gstmessage.h:
9896           Add _new_custom, make _new_application a macro to _new_custom.
9897
9898 2005-07-20  Wim Taymans  <wim@fluendo.com>
9899
9900         * gst/base/gstbasesrc.c: (gst_base_src_init),
9901         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9902         * gst/base/gstbasesrc.h:
9903         Add a gboolean to decide when to push out a discont.
9904
9905         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9906         (gst_queue_loop), (gst_queue_handle_src_query),
9907         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9908         (gst_queue_set_property), (gst_queue_get_property):
9909         Some cleanups.
9910
9911         * tests/threadstate/threadstate1.c: (main):
9912         Make a thread test compile and run... very silly..
9913
9914
9915 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9916
9917         * docs/manual/appendix-porting.xml:
9918           Mention removal of libgstgconf-0.9.la and existence of gconf
9919           elements.
9920
9921 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9922
9923         * docs/pwg/advanced-clock.xml:
9924         * docs/pwg/appendix-porting.xml:
9925         * docs/pwg/intro-preface.xml:
9926         * docs/pwg/other-base.xml:
9927         * docs/pwg/other-manager.xml:
9928         * docs/pwg/other-nton.xml:
9929         * docs/pwg/other-ntoone.xml:
9930         * docs/pwg/other-oneton.xml:
9931         * docs/pwg/pwg.xml:
9932           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9933           demuxer), remove n-to-n (was never written), fix some code examples
9934           and links and update the porting section to include all this.
9935
9936 2005-07-19  Wim Taymans  <wim@fluendo.com>
9937
9938         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9939         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9940         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9941         (gst_queue_src_activate_push), (gst_queue_change_state),
9942         (gst_queue_get_property):
9943         * gst/gstqueue.h:
9944         Propagate GstFlowReturn more intelligently upstream and output
9945         an ERROR/EOS when streaming stopped due to fatal error.
9946
9947 2005-07-19  Wim Taymans  <wim@fluendo.com>
9948
9949         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9950         Don't block forever for the state change to complete, the
9951         pipeline already did with a sensible timeout.
9952
9953 2005-07-19  Wim Taymans  <wim@fluendo.com>
9954
9955         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9956         Make sure we never call the create function is we
9957         got deactivated.
9958
9959 2005-07-19  Andy Wingo  <wingo@pobox.com>
9960
9961         * gst/parse/parse.l: Attempt to solve bug #172815.
9962
9963 2005-07-19  Wim Taymans  <wim@fluendo.com>
9964
9965         * docs/design/part-clocks.txt:
9966         * docs/design/part-events.txt:
9967         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9968         Small docs updates.
9969         Only update the seeking values when we are not
9970         busy streaming.
9971
9972 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9973
9974         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9975           Oops, ignore the result of gst_pad_push_event here.
9976
9977 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9978
9979         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9980         (gst_base_src_activate_push):
9981           Send discont event from the loop function, as pads
9982           aren't activated yet in the activate_push handler.
9983
9984         * gst/gstbin.c: (bin_bus_handler):
9985           Don't leak element name.
9986
9987 2005-07-18  Andy Wingo  <wingo@pobox.com>
9988
9989         * configure.ac: Use AS_LIBTOOL_TAGS.
9990
9991 2005-07-18  Wim Taymans  <wim@fluendo.com>
9992
9993         * docs/gst/gstreamer.types:
9994         Remove deleted types.
9995
9996 2005-07-18  Wim Taymans  <wim@fluendo.com>
9997
9998         * check/elements/gstfakesrc.c: (GST_START_TEST):
9999         * configure.ac:
10000         * gst/Makefile.am:
10001         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10002         (init_popt_callback):
10003         * gst/gst.h:
10004         * gst/gst_private.h:
10005         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10006         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10007         * gst/gstbin.h:
10008         * gst/gstbus.h:
10009         * gst/gstconfig.h.in:
10010         * gst/gstelement.c: (gst_element_class_init),
10011         (gst_element_set_base_time), (gst_element_get_base_time),
10012         (iterator_fold_with_resync), (gst_element_change_state),
10013         (gst_element_dispose), (gst_element_get_bus):
10014         * gst/gstelement.h:
10015         * gst/gstelementfactory.h:
10016         * gst/gsterror.c: (_gst_core_errors_init):
10017         * gst/gsterror.h:
10018         * gst/gstevent.h:
10019         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10020         * gst/gstindex.c:
10021         * gst/gstinfo.c: (_gst_debug_init):
10022         * gst/gstmessage.c: (_gst_message_copy):
10023         * gst/gstmessage.h:
10024         * gst/gstminiobject.h:
10025         * gst/gstobject.c:
10026         * gst/gstobject.h:
10027         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10028         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10029         * gst/gstpad.h:
10030         * gst/gstparse.h:
10031         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10032         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10033         (gst_pipeline_get_last_stream_time):
10034         * gst/gstpipeline.h:
10035         * gst/gstpluginfeature.h:
10036         * gst/gstquery.h:
10037         * gst/gstscheduler.c:
10038         * gst/gstscheduler.h:
10039         * gst/gststructure.h:
10040         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10041         (gst_task_finalize), (gst_task_func), (gst_task_create),
10042         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10043         (gst_task_stop), (gst_task_pause):
10044         * gst/gsttask.h:
10045         * gst/gsttypefind.h:
10046         * gst/gsttypes.h:
10047         * gst/registries/gstlibxmlregistry.c: (load_feature),
10048         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10049         * gst/registries/gstxmlregistry.c:
10050         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10051         * gst/schedulers/threadscheduler.c:
10052         * libs/gst/control/dparammanager.h:
10053         * tools/gst-inspect.c: (print_element_list),
10054         (print_plugin_features), (print_element_features):
10055         * tools/gst-xmlinspect.c: (print_element_list),
10056         (print_plugin_info), (main):
10057         Removed plugable schedulers.
10058         Removed Scheduler/Manager from elements.
10059         Removed gsttypes.h, rearranged includes.
10060         Removed dependency pad<->element, element<>pipeline, and
10061         various others,  fix includes.
10062         implement gst_pad_get_parent() with gst_object_get_parent()
10063         Make GstTask sefcontained.
10064         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10065         timeout.
10066         Fix endless loop in iterator_fold_with_resync.
10067
10068
10069 2005-07-18  Wim Taymans  <wim@fluendo.com>
10070
10071         * gst/Makefile.am:
10072         * gst/gstarch.h:
10073         Remove old file.
10074
10075 2005-07-18  Wim Taymans  <wim@fluendo.com>
10076
10077         * gst/Makefile.am:
10078         No more cothreads.h
10079
10080 2005-07-18  Wim Taymans  <wim@fluendo.com>
10081
10082         * gst/cothreads.c:
10083         * gst/cothreads.h:
10084         Let's remove these.
10085
10086 2005-07-18  Wim Taymans  <wim@fluendo.com>
10087
10088         * docs/design/part-dynamic.txt:
10089         * docs/design/part-events.txt:
10090         * docs/design/part-seeking.txt:
10091         Some more docs in the works.
10092
10093         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10094         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10095         (gst_base_transform_setcaps), (gst_base_transform_get_size),
10096         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10097         (gst_base_transform_handle_buffer),
10098         (gst_base_transform_sink_activate_push),
10099         (gst_base_transform_src_activate_pull),
10100         (gst_base_transform_set_passthrough),
10101         (gst_base_transform_is_passthrough):
10102         Refcounting fixes.
10103
10104         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10105         Cleanups.
10106
10107         * gst/gstevent.c: (gst_event_finalize):
10108         Set SRC to NULL.
10109
10110         * gst/gstutils.c: (gst_element_unlink),
10111         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10112         (gst_pad_proxy_setcaps):
10113         * gst/gstutils.h:
10114         Add _get_parent_element() to get a pads parent as an element.
10115
10116 2005-07-18  Wim Taymans  <wim@fluendo.com>
10117
10118         * check/gst/gstbin.c: (GST_START_TEST):
10119         Remove bogus test.
10120
10121 2005-07-18  Wim Taymans  <wim@fluendo.com>
10122
10123         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10124         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10125         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10126         (gst_base_sink_event), (gst_base_sink_do_sync),
10127         (gst_base_sink_chain), (gst_base_sink_loop),
10128         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10129         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10130         Refcounting fixes.
10131         Fix logic for returning ASYNC when not prerolled.
10132
10133 2005-07-18  Wim Taymans  <wim@fluendo.com>
10134
10135         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10136         Fix nasty refcount bug.
10137
10138 2005-07-16 Philippe Khalaf <burger@speedy.org>
10139
10140         * gst/elements/gstfdsrc.c:
10141         * gst/elements/gstfdsrc.h:
10142         * gst/elements/gstelements.c:
10143         * gst/elements/Makefile.am:
10144         Ported fdsrc to 0.9.
10145
10146 2005-07-16  Wim Taymans  <wim@fluendo.com>
10147
10148         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10149         (gst_base_sink_do_sync):
10150         Fix compile error.
10151
10152 2005-07-16  Wim Taymans  <wim@fluendo.com>
10153
10154         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10155         (gst_base_sink_event), (gst_base_sink_get_times),
10156         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10157         * gst/base/gstbasesink.h:
10158         Store and use discont values when syncing buffers as described
10159         in design docs.
10160         
10161         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10162         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10163         (gst_base_src_activate_push):
10164         Push discont event when starting.
10165
10166         * gst/elements/gstidentity.c: (gst_identity_transform):
10167         Small cleanups.
10168
10169         * gst/gstbin.c: (gst_bin_change_state):
10170         Small cleanups in base_time  distribution.
10171
10172         * gst/gstelement.c: (gst_element_set_base_time),
10173         (gst_element_get_base_time), (gst_element_change_state):
10174         * gst/gstelement.h:
10175         Added methods for the base_time of the element.
10176         Some MT fixes.
10177
10178         * gst/gstpipeline.c: (gst_pipeline_send_event),
10179         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10180         (gst_pipeline_get_last_stream_time):
10181         * gst/gstpipeline.h:
10182         MT fixes.
10183         Handle seeking as described in design doc, remove stream_time
10184         hack.
10185         Cleanups clock and stream_time selection code. Added accessors
10186         for the stream_time.
10187         
10188
10189 2005-07-16  Andy Wingo  <wingo@pobox.com>
10190
10191         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10192         (#305291).
10193
10194 2005-07-16  Wim Taymans  <wim@fluendo.com>
10195
10196         * check/gst/gstbin.c: (GST_START_TEST):
10197         Make elements silent as the deep_notify refs the
10198         parent, which might make the test fail.
10199
10200         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10201         Don't hold the lock for too long.
10202
10203 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
10204
10205         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10206           Don't unref the caps we passed to gst_caps_make_writable() after
10207           passing them. gst_caps_make_writable() will do that for us.
10208
10209 2005-07-15  Andy Wingo  <wingo@pobox.com>
10210
10211         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10212         (#157311).
10213
10214         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10215         own marshalling function for the handoff signal. Properly type the
10216         buffer as a buffer. Fixes some warnings. Should do a more general
10217         solution.
10218         (gst_identity_class_init): Plug into the right marshaller.
10219
10220 2005-07-15  Wim Taymans  <wim@fluendo.com>
10221
10222         * docs/design/part-TODO.txt:
10223         * docs/design/part-clocks.txt:
10224         * docs/design/part-element-sink.txt:
10225         * docs/design/part-events.txt:
10226         * docs/design/part-gstpipeline.txt:
10227         Updated docs, mostly DISCONT related.
10228
10229 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
10230
10231         * docs/pwg/building-pads.xml:
10232           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10233
10234 2005-07-15  Andy Wingo  <wingo@pobox.com>
10235
10236         * tools/gst-typefind.c: Update, add copyright block.
10237
10238         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10239         Normalize and truncate caps before fixation.
10240
10241         * gst/gstcaps.h:
10242         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10243         discards all but the first structure from its argument.
10244
10245 2005-07-15  Wim Taymans  <wim@fluendo.com>
10246
10247         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10248         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10249         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10250         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10251         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10252         (gst_base_transform_chain), (gst_base_transform_change_state),
10253         (gst_base_transform_set_passthrough),
10254         (gst_base_transform_is_passthrough):
10255         * gst/base/gstbasetransform.h:
10256         Make passthrough work using the bufferpools.
10257         Changed API a bit, subclasses have to write into a buffer
10258         provided by the base class.
10259         More debug info in nego functions.
10260         
10261         * gst/elements/gstidentity.c: (gst_identity_init),
10262         (gst_identity_transform):
10263         Port to new base class.
10264
10265 2005-07-15  Wim Taymans  <wim@fluendo.com>
10266
10267         * gst/gstmessage.c: (gst_message_new_state_changed):
10268         * tools/gst-launch.c: (event_loop), (main):
10269         Totally dump messages in -launch with the -m option.
10270         Fix message name for State messages,
10271
10272 2005-07-14  Wim Taymans  <wim@fluendo.com>
10273
10274         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10275         Post error messages on errors.
10276
10277 2005-07-14  Wim Taymans  <wim@fluendo.com>
10278
10279         * gst/gstcaps.c: (gst_caps_do_simplify):
10280         Remove debug info.
10281
10282         * gst/gsterror.h:
10283         Define error for stream stopped.
10284
10285         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10286         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
10287         Do proper return values.
10288
10289         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10290         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
10291         (gst_pad_get_range):
10292         Better return values.
10293
10294         * gst/gstpad.h:
10295         Reorganise return values, add macro to check for fatal errors.
10296
10297         * gst/gstqueue.c: (gst_queue_chain):
10298         Return proper GstFlowReturn values,
10299
10300 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10301
10302         * docs/gst/gstreamer-sections.txt:
10303         * docs/gst/gstreamer.types:
10304         * docs/gst/tmpl/gst.sgml:
10305         * docs/gst/tmpl/gstbasesink.sgml:
10306         * docs/gst/tmpl/gstbasesrc.sgml:
10307         * docs/gst/tmpl/gstbasetransform.sgml:
10308         * docs/gst/tmpl/gstbin.sgml:
10309         * docs/gst/tmpl/gstbuffer.sgml:
10310         * docs/gst/tmpl/gstcaps.sgml:
10311         * docs/gst/tmpl/gstclock.sgml:
10312         * docs/gst/tmpl/gstcompat.sgml:
10313         * docs/gst/tmpl/gstconfig.sgml:
10314         * docs/gst/tmpl/gstelement.sgml:
10315         * docs/gst/tmpl/gstelementdetails.sgml:
10316         * docs/gst/tmpl/gstelementfactory.sgml:
10317         * docs/gst/tmpl/gstenumtypes.sgml:
10318         * docs/gst/tmpl/gsterror.sgml:
10319         * docs/gst/tmpl/gstevent.sgml:
10320         * docs/gst/tmpl/gstfakesink.sgml:
10321         * docs/gst/tmpl/gstfakesrc.sgml:
10322         * docs/gst/tmpl/gstfilesink.sgml:
10323         * docs/gst/tmpl/gstfilesrc.sgml:
10324         * docs/gst/tmpl/gstfilter.sgml:
10325         * docs/gst/tmpl/gstformat.sgml:
10326         * docs/gst/tmpl/gstghostpad.sgml:
10327         * docs/gst/tmpl/gstimplementsinterface.sgml:
10328         * docs/gst/tmpl/gstindex.sgml:
10329         * docs/gst/tmpl/gstindexfactory.sgml:
10330         * docs/gst/tmpl/gstinfo.sgml:
10331         * docs/gst/tmpl/gstiterator.sgml:
10332         * docs/gst/tmpl/gstmacros.sgml:
10333         * docs/gst/tmpl/gstmemchunk.sgml:
10334         * docs/gst/tmpl/gstminiobject.sgml:
10335         * docs/gst/tmpl/gstobject.sgml:
10336         * docs/gst/tmpl/gstpad.sgml:
10337         * docs/gst/tmpl/gstpadtemplate.sgml:
10338         * docs/gst/tmpl/gstparse.sgml:
10339         * docs/gst/tmpl/gstpipeline.sgml:
10340         * docs/gst/tmpl/gstplugin.sgml:
10341         * docs/gst/tmpl/gstpluginfeature.sgml:
10342         * docs/gst/tmpl/gstquery.sgml:
10343         * docs/gst/tmpl/gstqueue.sgml:
10344         * docs/gst/tmpl/gstregistry.sgml:
10345         * docs/gst/tmpl/gstregistrypool.sgml:
10346         * docs/gst/tmpl/gstscheduler.sgml:
10347         * docs/gst/tmpl/gstschedulerfactory.sgml:
10348         * docs/gst/tmpl/gststructure.sgml:
10349         * docs/gst/tmpl/gstsystemclock.sgml:
10350         * docs/gst/tmpl/gsttaglist.sgml:
10351         * docs/gst/tmpl/gsttagsetter.sgml:
10352         * docs/gst/tmpl/gsttrace.sgml:
10353         * docs/gst/tmpl/gsttrashstack.sgml:
10354         * docs/gst/tmpl/gsttypefind.sgml:
10355         * docs/gst/tmpl/gsttypefindfactory.sgml:
10356         * docs/gst/tmpl/gsttypes.sgml:
10357         * docs/gst/tmpl/gsturihandler.sgml:
10358         * docs/gst/tmpl/gsturitype.sgml:
10359         * docs/gst/tmpl/gstutils.sgml:
10360         * docs/gst/tmpl/gstvalue.sgml:
10361         * docs/gst/tmpl/gstversion.sgml:
10362         * docs/gst/tmpl/gstxml.sgml:
10363         * docs/libs/tmpl/gstcontrol.sgml:
10364         * docs/libs/tmpl/gstdataprotocol.sgml:
10365         * docs/libs/tmpl/gstdparam.sgml:
10366         * docs/libs/tmpl/gstdplinint.sgml:
10367         * docs/libs/tmpl/gstdpman.sgml:
10368         * docs/libs/tmpl/gstdpsmooth.sgml:
10369         * docs/libs/tmpl/gstgetbits.sgml:
10370         * docs/libs/tmpl/gstunitconvert.sgml:
10371         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10372         (gst_push_src_base_init), (gst_push_src_class_init),
10373         (gst_push_src_init), (gst_push_src_create):
10374         * gst/base/gstpushsrc.h:
10375         * gst/elements/gstelements.c:
10376         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10377         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10378         (gst_fake_sink_init), (gst_fake_sink_set_property),
10379         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10380         (gst_fake_sink_event), (gst_fake_sink_preroll),
10381         (gst_fake_sink_render), (gst_fake_sink_change_state):
10382         * gst/elements/gstfakesink.h:
10383         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10384         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10385         (gst_fake_src_base_init), (gst_fake_src_class_init),
10386         (gst_fake_src_init), (gst_fake_src_event_handler),
10387         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10388         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10389         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10390         (gst_fake_src_create_buffer), (gst_fake_src_create),
10391         (gst_fake_src_start), (gst_fake_src_stop):
10392         * gst/elements/gstfakesrc.h:
10393         * gst/elements/gstfilesink.c: (_do_init),
10394         (gst_file_sink_base_init), (gst_file_sink_class_init),
10395         (gst_file_sink_init), (gst_file_sink_dispose),
10396         (gst_file_sink_set_location), (gst_file_sink_set_property),
10397         (gst_file_sink_get_property), (gst_file_sink_open_file),
10398         (gst_file_sink_close_file), (gst_file_sink_query),
10399         (gst_file_sink_event), (gst_file_sink_render),
10400         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10401         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10402         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10403         * gst/elements/gstfilesink.h:
10404         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10405         (gst_file_src_class_init), (gst_file_src_init),
10406         (gst_file_src_finalize), (gst_file_src_set_location),
10407         (gst_file_src_set_property), (gst_file_src_get_property),
10408         (gst_file_src_map_region), (gst_file_src_map_small_region),
10409         (gst_file_src_create_mmap), (gst_file_src_create_read),
10410         (gst_file_src_create), (gst_file_src_is_seekable),
10411         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10412         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10413         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10414         (gst_file_src_uri_handler_init):
10415         * gst/elements/gstfilesrc.h:
10416           more autistic cleanliness in functions/names/defines
10417
10418 2005-07-13  Andy Wingo  <wingo@pobox.com>
10419
10420         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
10421         source couldn't negotiate.
10422
10423         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
10424         connections again.
10425
10426         * gst/gstutils.h:
10427         * gst/gstutils.c (gst_element_link_pads_filtered): New old
10428         function. I am channeling Hades. Put your boots on suckers!!!
10429
10430 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10431
10432         * testsuite/caps/Makefile.am:
10433         * testsuite/caps/value_compare.c:
10434         * testsuite/caps/value_intersect.c:
10435         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10436           move two testsuite apps over to the check dir
10437
10438 2005-07-12  Wim Taymans  <wim@fluendo.com>
10439
10440         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10441         Added more debug info in the negotiate process.
10442
10443         * gst/gstmessage.h:
10444         Prepare for segment playback.
10445
10446         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
10447         Better debugging.
10448
10449         * gst/gstutils.c:
10450         Some more docs.
10451
10452         * tools/gst-launch.c: (main):
10453         NULL pipeline on errors.
10454
10455 2005-07-12  Andy Wingo  <wingo@pobox.com>
10456
10457         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10458         not it comes from a malloc region. Make sure our copy gets freed.
10459
10460 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10461
10462         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10463         * check/gst/gstmessage.c: (GST_START_TEST):
10464         * check/gst/gststructure.c: (GST_START_TEST),
10465         (gst_structure_suite), (main):
10466           more testing
10467         * gst/gstelement.c: (gst_element_message_full):
10468           clean up GError and debug string now that they get copied
10469         * gst/gstmessage.c: (gst_message_new_error),
10470         (gst_message_new_warning), (gst_message_parse_error),
10471         (gst_message_parse_warning):
10472           use GST_TYPE_G_ERROR for structure_new, and take copies of
10473           arguments, so that we don't mess up refcounting
10474
10475 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10476
10477         * check/Makefile.am:
10478           add per-test valgrind targets
10479         * check/gst-libs/gdp.c: (GST_START_TEST),
10480         (gst_data_protocol_suite), (main):
10481           clean up
10482
10483 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10484
10485         * check/Makefile.am:
10486           instate more valgrindable tests
10487         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10488         (GST_START_TEST), (fakesrc_suite):
10489         * check/gst/gstpad.c: (GST_START_TEST):
10490         * check/gst/gststructure.c: (GST_START_TEST):
10491           fix test leaks
10492         * docs/gst/tmpl/gstminiobject.sgml:
10493         * gst/gstpad.c: (gst_pad_finalize):
10494           fix the static mutex leak
10495
10496 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10497
10498         * check/Makefile.am:
10499           add two more tests for valgrinding
10500         * check/gst/gstvalue.c: (GST_START_TEST):
10501           test refcount of deserialized buffer, found a leak
10502         * docs/gst/gstreamer-docs.sgml:
10503         * docs/gst/gstreamer-sections.txt:
10504         * docs/gst/gstreamer.types:
10505         * docs/gst/tmpl/gstminiobject.sgml:
10506           add miniobject to docs
10507         * gst/gstminiobject.c:
10508           add some docs
10509         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10510         (gst_string_unwrap):
10511           fix a hard-to-find invalid write for one of the tests
10512           fix a leak for deserialized buffers
10513
10514 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10515
10516         * docs/pwg/advanced-events.xml:
10517         * docs/pwg/advanced-request.xml:
10518         * docs/pwg/advanced-scheduling.xml:
10519         * docs/pwg/appendix-porting.xml:
10520         * docs/pwg/building-boiler.xml:
10521         * docs/pwg/intro-preface.xml:
10522         * docs/pwg/other-ntoone.xml:
10523           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10524           of example code and explanation for pad activation, loop() and
10525           getrange() functions and a bit more. Remove old comments pointing
10526           to loop-functions.
10527         * examples/pwg/Makefile.am:
10528           Add loop/getrange examples.
10529
10530 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10531
10532         * configure.ac:
10533           check for valgrind binary + some fixes
10534         * check/gst.supp:
10535           valgrind suppressions for the tests
10536         * check/Makefile.am:
10537           add a valgrind: target that valgrinds the unit tests
10538         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10539         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10540         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10541         * check/gst/gstghostpad.c:
10542           added some cleanup
10543         * check/gst/gstdata.c:
10544           removed
10545         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10546         (thread_unref), (gst_mini_object_suite), (main):
10547           added
10548         * gst/gst.c: (gst_deinit):
10549         * gst/gst.h:
10550           add a method to clean up.
10551         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10552         (gst_system_clock_obtain):
10553           allow for disposing the system clock.
10554         * tools/gst-launch.c: (main):
10555           deinit
10556
10557 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10558
10559         * docs/gst/tmpl/gstbasesrc.sgml:
10560         * docs/gst/tmpl/gstfakesrc.sgml:
10561         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10562         (gst_base_src_init), (gst_base_src_set_property),
10563         (gst_base_src_get_property), (gst_base_src_get_range),
10564         (gst_base_src_start):
10565         * gst/base/gstbasesrc.h:
10566           add num-buffers property
10567         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10568         (gst_fakesrc_init), (gst_fakesrc_set_property),
10569         (gst_fakesrc_get_property), (gst_fakesrc_create),
10570         (gst_fakesrc_start):
10571           remove num-buffers property
10572
10573 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10574
10575         * docs/gst/gstreamer-sections.txt:
10576         * docs/gst/tmpl/gstbasesink.sgml:
10577         * docs/gst/tmpl/gstbasesrc.sgml:
10578         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10579         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10580         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10581         (gst_base_sink_set_property), (gst_base_sink_get_property),
10582         (gst_base_sink_handle_object), (gst_base_sink_event),
10583         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10584         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10585         (gst_base_sink_loop), (gst_base_sink_deactivate),
10586         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10587         (gst_base_sink_change_state):
10588         * gst/base/gstbasesink.h:
10589         * gst/base/gstbasesrc.h:
10590         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10591         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10592         (gst_filesink_init):
10593           more macro splitting
10594
10595 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10596
10597         * gst/gstelement.c: (gst_element_get_bus):
10598           add debug
10599         * tools/gst-launch.c: (check_intr), (event_loop):
10600           fix bus leaks
10601
10602 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10603
10604         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10605           fix a caps leak
10606
10607 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10608
10609         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10610         (gst_base_src_finalize):
10611           add finalize method and clean up properly
10612         * gst/gstpipeline.c: (gst_pipeline_dispose):
10613           add debug
10614
10615 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10616
10617         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10618         (gst_bin_suite):
10619           add more things to check
10620         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10621         * gst/gstelement.c:
10622           more debug
10623
10624 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10625
10626         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10627         (GST_START_TEST), (fakesrc_suite):
10628         * check/gst-libs/gdp.c: (GST_START_TEST):
10629         * check/gst/gst.c: (GST_START_TEST):
10630         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10631         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10632         * check/gst/gstbus.c: (GST_START_TEST):
10633         * check/gst/gstcaps.c: (GST_START_TEST):
10634         * check/gst/gstdata.c: (GST_START_TEST):
10635         * check/gst/gstelement.c: (GST_START_TEST):
10636         * check/gst/gstghostpad.c: (GST_START_TEST):
10637         * check/gst/gstiterator.c: (GST_START_TEST):
10638         * check/gst/gstmessage.c: (GST_START_TEST):
10639         * check/gst/gstobject.c: (GST_START_TEST):
10640         * check/gst/gstpad.c: (GST_START_TEST):
10641         * check/gst/gststructure.c: (GST_START_TEST):
10642         * check/gst/gstsystemclock.c: (GST_START_TEST),
10643         (gst_systemclock_suite):
10644         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10645         * check/gst/gstvalue.c: (GST_START_TEST):
10646         * check/pipelines/cleanup.c: (GST_START_TEST):
10647         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10648         * check/states/sinks.c: (GST_START_TEST):
10649         * check/gstcheck.c: (gst_check_init):
10650         * check/gstcheck.h:
10651           add debugging category
10652           use GST_START_TEST now, so we add a debug line
10653
10654 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10655
10656         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10657           add test for state change message on a bin
10658         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10659           add another test
10660         * gst/gstbin.c: (gst_bin_init):
10661         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10662         * gst/gstelement.c: (gst_element_post_message),
10663         (gst_element_set_state):
10664         * gst/gstelementfactory.c: (gst_element_factory_create):
10665         * gst/gstmessage.c: (gst_message_new):
10666         * gst/gstscheduler.c:
10667           various debugging additions and cleanups
10668
10669 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10670
10671         * check/Makefile.am:
10672         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10673         (main):
10674           adding tests for elements
10675         * gst/gstelement.c: (gst_element_dispose):
10676
10677 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10678
10679         * gst/registries/gstlibxmlregistry.c: (load_feature):
10680           plug more leaks.  A simple gst_init() now is leakfree, yay.
10681
10682 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10683
10684         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10685         (gst_xml_registry_load):
10686           plug another memleak
10687
10688 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10689
10690         * configure.ac:
10691           use GST_SET_ERROR_CFLAGS
10692         * docs/faq/cvs.xml:
10693           change to ERROR_CFLAGS
10694
10695 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10696
10697         * configure.ac:
10698           make GST_ERROR_CFLAGS overridable and re-enable Werror
10699         * docs/faq/cvs.xml:
10700           add a note about error CFLAGS
10701         * docs/gst/tmpl/gstfakesrc.sgml:
10702         * gst/elements/gstfakesrc.c:
10703           comment out some unused code
10704         * gst/gst.c: (split_and_iterate):
10705         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10706         (load_feature):
10707           plug some memleaks
10708
10709 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10710
10711         * common/Makefile.am:
10712         * common/gtk-doc.mak:
10713         * docs/gst/Makefile.am:
10714           factor out gtk-doc.mak
10715
10716 2005-07-07  Wim Taymans  <wim@fluendo.com>
10717
10718         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10719         (gst_thread_scheduler_dispose):
10720         Unlock the STREAM_LOCK completely.
10721
10722 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10723
10724         * check/Makefile.am:
10725         * check/elements/.cvsignore:
10726         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10727         (START_TEST), (fakesrc_suite), (main):
10728         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10729         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10730         (gst_fakesrc_create), (gst_fakesrc_start):
10731         * gst/elements/gstfakesrc.h:
10732           adding a first element test
10733
10734 2005-07-07  Andy Wingo  <wingo@pobox.com>
10735
10736         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10737         debug message.
10738
10739 2005-07-07  Wim Taymans  <wim@fluendo.com>
10740
10741         * gst/gstquery.c:
10742         * gst/gstquery.h:
10743         Remove old types
10744
10745 2005-07-07  Wim Taymans  <wim@fluendo.com>
10746
10747         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10748         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10749         Allow subclasses to implement their own negotiation.
10750
10751 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10752
10753         * docs/design/part-gstbin.txt:
10754         * docs/design/part-gstpipeline.txt:
10755           Update design notes to reflect the movement of
10756           responsibility for bus handling from GstPipeline to
10757           GstBin
10758
10759 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10760
10761         * configure.ac:
10762           Remove unnecessary queue2/3/4 examples.
10763
10764 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10765
10766         * examples/Makefile.am:
10767         * examples/helloworld/helloworld.c: (event_loop), (main):
10768         * examples/queue/queue.c: (event_loop), (main):
10769         * examples/queue2/queue2.c: (main):
10770           Update a couple of the examples to work again.
10771
10772         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10773         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10774          Spelling corrections and extra debug.
10775         
10776         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10777         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10778         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10779         * gst/gstbin.h:
10780         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10781         (gst_pipeline_change_state):
10782         * gst/gstpipeline.h:
10783           Move the bus handler for children to the GstBin, and create a
10784           separate bus for receiving messages from children to the one the
10785           bus sends 'upwards' on.
10786
10787 2005-07-06  Wim Taymans  <wim@fluendo.com>
10788
10789         * gst/base/README:
10790         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10791         (gst_base_sink_handle_object), (gst_base_sink_loop),
10792         (gst_base_sink_change_state):
10793         * gst/base/gstbasesink.h:
10794         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10795         (gst_base_src_init), (gst_base_src_setcaps),
10796         (gst_base_src_getcaps), (gst_base_src_loop),
10797         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10798         (gst_base_src_start), (gst_base_src_change_state):
10799         * gst/base/gstbasesrc.h:
10800         Make basesrc negotiate.
10801         Handle the case where preroll fails in basesink.
10802         Update README.
10803
10804 2005-07-06  Wim Taymans  <wim@fluendo.com>
10805
10806         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10807         Implement the fixate function.
10808         Clean up acceptcaps.
10809
10810 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10811
10812         * docs/pwg/building-filterfactory.xml:
10813         * docs/pwg/pwg.xml:
10814           Remove never-written filter-factory chapter; I'll add the various
10815           base classes to part 4 ("other element types") later on.
10816
10817 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10818
10819         * docs/pwg/advanced-negotiation.xml:
10820         * docs/pwg/building-boiler.xml:
10821         * docs/pwg/building-pads.xml:
10822         * docs/pwg/pwg.xml:
10823         * examples/pwg/Makefile.am:
10824           Add a chapter on caps negotiation, simplify the original code
10825           samples a bit w.r.t. caps negotiation, add link to the advanced
10826           section. Add a bunch of examples showing different use cases of
10827           different types of caps negotiation. Upstream renegotiation isn't
10828           fully documented yet since nobody knows how that works.
10829
10830 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10831
10832         * check/gst/gstpad.c:
10833         * check/gstcheck.c:
10834         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10835           if pad has no parent, return NULL as list of internal links
10836
10837 2005-07-05  Andy Wingo  <wingo@pobox.com>
10838
10839         * gst/elements/gstfilesrc.c:
10840         * gst/elements/gstfakesrc.c: 
10841         * gst/base/gstpushsrc.c:
10842         * gst/base/gstbasesrc.h: 
10843         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10844         
10845 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10846
10847         * Makefile.am:
10848           better report generation target (lcov needs a patch)
10849
10850 2005-07-05  Andy Wingo  <wingo@pobox.com>
10851
10852         * gst/elements, testsuite: Null if we got it...
10853
10854 2005-07-05  Wim Taymans  <wim@fluendo.com>
10855
10856         * configure.ac:
10857         * libs/gst/dataprotocol/Makefile.am:
10858         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10859         * libs/gst/dataprotocol/dataprotocol.h:
10860         * pkgconfig/Makefile.am:
10861         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10862         * pkgconfig/gstreamer-dataprotocol.pc.in:
10863         Ported dataprotol to 0.9. 
10864         Added pkgconfig files.
10865
10866 2005-07-05  Andy Wingo  <wingo@pobox.com>
10867
10868         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10869         Default to returning TRUE for the case when tranform_caps returns
10870         a fixed caps, like for identity or volume.
10871
10872         * check/gst/gstbus.c (pound_bus_with_messages): 
10873         * check/gst/gstmessage.c (START_TEST): 
10874         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10875         message API change.
10876
10877         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10878         logic weaks here: always run transform_caps, trying passthrough
10879         operation only if the original caps intersects with the transform.
10880
10881         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10882         source and sink caps.
10883
10884         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10885         Intersect the peer caps with the pad template before going into
10886         transform_caps.
10887         (gst_base_transform_transform_caps): More debugging.
10888
10889         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10890         src argument.
10891
10892 2005-07-04  Edward Hervey  <edward@fluendo.com>
10893
10894         * gst/gstutils.c:
10895         * gst/gstutils.h:
10896         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10897         in bindings.
10898
10899 2005-07-04  Andy Wingo  <wingo@pobox.com>
10900
10901         * check/gst/gstpad.c: Only set explicit caps on pads.
10902
10903 2005-07-01  Andy Wingo  <wingo@pobox.com>
10904
10905         * tests/network-clock.scm: Commentary update.
10906
10907         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10908         Didn't really make sense, not implementable with basetransform,
10909         etc.
10910         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10911         attempt at implementing the sync property, needs an unlock method.
10912
10913         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10914         New func, by default returns the same caps (the identity
10915         transformation).
10916         (gst_base_transform_getcaps): Uses transform_caps to return
10917         something sensible.
10918         (gst_base_transform_setcaps): Complicated logic to get caps on
10919         both pads, even if they are different, and to call set_caps once
10920         for every time both pads get their caps set.
10921         (gst_base_transform_handle_buffer): Give the ref to the transform
10922         function. Allows in-place modification of the buffer.
10923
10924         * gst/base/gstbasetransform.h (transform_caps): New class method.
10925         Given caps on one side, what can I do on the other.
10926         (set_caps): Take two caps, one for each side of the element.
10927
10928         * gst/gstpad.h:
10929         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10930         caps in place. This is safe because we can check the mutability of
10931         the caps, and a good idea because fixate functions are just called
10932         as a matter of last resort. (Not actually implemented.)
10933         (gst_pad_set_caps): If the caps we're setting is actually the same
10934         as the existing pad caps, just update the pointer without calling
10935         setcaps. Assert that caps is either NULL or fixed, as per the
10936         docs.
10937
10938         * gst/gstghostpad.c: Update for fixate changes.
10939
10940 2005-07-02  Andy Wingo  <wingo@pobox.com>
10941
10942         * gst/gstcaps.c:
10943         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10944         two refcounts makes it immutable, which is enough. Doc more.
10945
10946 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10947
10948         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10949           Put the mini_object into GValue as a mini_object,
10950           not a gpointer, since that's how we declared
10951           the signal.
10952
10953 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10954
10955         * examples/pwg/Makefile.am:
10956           Fix buildbot again.
10957
10958 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10959
10960         * docs/pwg/building-testapp.xml:
10961           Add extra check.
10962         * examples/pwg/Makefile.am:
10963           Fix buildbot.
10964
10965 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10966
10967         * configure.ac:
10968         * examples/Makefile.am:
10969         * examples/pwg/Makefile.am:
10970         * examples/pwg/extract.pl:
10971           Enable building the PWG examples.
10972         * docs/pwg/advanced-interfaces.xml:
10973           Add URI interface stub.
10974         * docs/pwg/advanced-types.xml:
10975         * docs/pwg/other-autoplugger.xml:
10976         * docs/pwg/appendix-porting.xml:
10977         * docs/pwg/pwg.xml:
10978           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10979         * docs/pwg/building-boiler.xml:
10980         * docs/pwg/building-chainfn.xml:
10981         * docs/pwg/building-pads.xml:
10982         * docs/pwg/building-props.xml:
10983         * docs/pwg/building-state.xml:
10984         * docs/pwg/building-testapp.xml:
10985           Update the building-*.xml parts for 0.9 changes. All examples
10986           code blocks compile in examples/pwg/*.
10987
10988 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10989
10990         * docs/manual/advanced-autoplugging.xml:
10991         * docs/manual/appendix-checklist.xml:
10992         * docs/manual/appendix-integration.xml:
10993         * docs/manual/highlevel-components.xml:
10994           Fix playbin/decodebin examples, update docs a bit, mention bus
10995           instead of signals in various places, mention kmplayer and
10996           kaffeine since they have a working GStreamer backend in the KDE
10997           section.
10998
10999 2005-06-30  Wim Taymans  <wim@fluendo.com>
11000
11001         * CHANGES-0.9:
11002         * docs/design/draft-ghostpads.txt:
11003         * docs/design/draft-push-pull.txt:
11004         * docs/design/draft-query.txt:
11005         * docs/design/part-TODO.txt:
11006         * docs/design/part-query.txt:
11007         Added CHANGES-0.9 doc, updated status of other docs.
11008         
11009         * gst/gstquery.h:
11010         Remove "hmm" macro
11011
11012 2005-06-30  Wim Taymans  <wim@fluendo.com>
11013
11014         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11015         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11016         (gst_base_sink_change_state):
11017         * gst/base/gstbasesink.h:
11018         Some tweaks, only EOS and a buffer complete a preroll.
11019
11020 2005-06-30  Andy Wingo  <wingo@pobox.com>
11021
11022         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11023         activate_push down to the internal pad as well.
11024
11025 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11026
11027         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11028
11029         * gst/gsttaginterface.c:
11030           Some documentation fixes (#307394 and #307397).
11031
11032 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11033
11034         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11035
11036         * gst/gstvalue.c: (gst_value_intersect_list):
11037           Fix memleak (#309125).
11038
11039 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11040
11041         * docs/manual/advanced-dataaccess.xml:
11042           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11043         * docs/manual/basics-pads.xml:
11044           Add reference for filtered caps to above chapter.
11045
11046 2005-06-30  Wim Taymans  <wim@fluendo.com>
11047
11048         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11049         (gst_bin_change_state):
11050         Probes are gone.
11051         Lame attempt at making the state change function a bit
11052         more readable.
11053
11054 2005-06-30  Wim Taymans  <wim@fluendo.com>
11055
11056         * docs/design/part-clocks.txt:
11057         * docs/design/part-element-sink.txt:
11058         * docs/design/part-events.txt:
11059         * docs/design/part-preroll.txt:
11060         * docs/design/part-states.txt:
11061         Some more tweeks and additions to the docs.
11062
11063 2005-06-30  Wim Taymans  <wim@fluendo.com>
11064
11065         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11066         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11067         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11068         (gst_pad_check_pull_range), (gst_pad_get_range),
11069         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11070         * gst/gstpad.h:
11071         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11072         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11073         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11074         (gst_pad_remove_buffer_probe):
11075         Removed atomic operations, use existing LOCK.
11076         Move exception handling out of main code path.
11077
11078 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11079
11080         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11081         (silly_return_true_function), (gst_pad_class_init),
11082         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11083         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11084         (gst_pad_send_event):
11085           Fix accumulator, add default value by using _emitv() instead
11086           of _emit() for signal emission.
11087
11088 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11089
11090         * docs/manual/advanced-dataaccess.xml:
11091         * examples/manual/Makefile.am:
11092           Add probe example.
11093         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11094           Make work (??).
11095
11096 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
11097
11098         * gst/elements/gstfilesink.c: (gst_filesink_render):
11099           Simplify code so that we don't have to handle short
11100           writes and return GST_FLOW_ERROR if an error occured.
11101
11102 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11103
11104         * docs/gst/gstreamer-docs.sgml:
11105           Remove probes more.
11106
11107 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11108
11109         * docs/gst/gstreamer-sections.txt:
11110         * docs/gst/tmpl/gstpad.sgml:
11111         * docs/gst/tmpl/gstprobe.sgml:
11112         * gst/Makefile.am:
11113         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11114         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11115         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11116         (gst_pad_push_event), (gst_pad_send_event):
11117         * gst/gstpad.h:
11118         * gst/gstutils.c: (gst_pad_add_data_probe),
11119         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11120         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11121         (gst_pad_remove_buffer_probe):
11122         * gst/gstutils.h:
11123           Remove old probes, add new g-signal-based probes and some utility
11124           functions.
11125
11126 2005-06-29  Edward Hervey  <edward@fluendo.com>
11127
11128         * gst/gstelementfactory.c:
11129         * gst/gstutils.h:
11130         * gst/gstutils.c:
11131         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11132         the definition to the header file.
11133
11134 2005-06-29  Andy Wingo  <wingo@pobox.com>
11135
11136         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11137         plugins from the source directory.
11138
11139 2005-06-29  Wim Taymans  <wim@fluendo.com>
11140
11141         * docs/gst/tmpl/gstbuffer.sgml:
11142         * docs/gst/tmpl/gstclock.sgml:
11143         Some fixings for blantently wrong text.
11144
11145 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11146
11147         * check/Makefile.am:
11148         * gst/gst.c: (add_path_func), (init_pre):
11149         * gst/gstregistry.c: (gst_registry_add_path):
11150           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11151           only scan the GST_PLUGIN_PATH locations, and not add
11152           system locations
11153
11154 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11155
11156         * docs/gst/gstreamer-sections.txt:
11157         * docs/gst/tmpl/gstbasesrc.sgml:
11158         * gst/gstelement.c:
11159         * gst/gstelement.h:
11160         * gst/gstevent.c:
11161         * gst/gstutils.c:
11162           doc fixes
11163
11164 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11165
11166         * docs/manual/advanced-autoplugging.xml:
11167           Fix autoplugging example.
11168
11169 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11170
11171         * docs/manual/advanced-autoplugging.xml:
11172         * docs/manual/mime-world.fig:
11173           Try to get autoplugging working, fix type detection. Fix text
11174           in hello-world image.
11175
11176 2005-06-29  Wim Taymans  <wim@fluendo.com>
11177
11178         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11179         (gst_base_sink_change_state):
11180         Small debug line.
11181
11182         * gst/gstclock.h:
11183         map SIGNAL and BROADCAST to the right function.
11184
11185         * gst/gstobject.h:
11186         Remove redundant braces.
11187
11188         * gst/gstpad.c: (gst_pad_set_caps):
11189         Don't call setcaps function when reseting caps to NULL.
11190
11191         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11192         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11193         (gst_system_clock_id_unschedule):
11194         Use BROADCAST as this is what we do.
11195
11196 2005-06-29  Wim Taymans  <wim@fluendo.com>
11197
11198         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11199         We are actually prerolling before commiting the state
11200         change. 
11201
11202 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11203
11204         * docs/manual/advanced-clocks.xml:
11205         * docs/manual/advanced-interfaces.xml:
11206         * docs/manual/advanced-metadata.xml:
11207         * docs/manual/advanced-position.xml:
11208         * docs/manual/advanced-schedulers.xml:
11209         * docs/manual/advanced-threads.xml:
11210         * docs/manual/appendix-porting.xml:
11211         * docs/manual/basics-bins.xml:
11212         * docs/manual/basics-bus.xml:
11213         * docs/manual/basics-elements.xml:
11214         * docs/manual/basics-helloworld.xml:
11215         * docs/manual/basics-pads.xml:
11216         * docs/manual/highlevel-components.xml:
11217         * docs/manual/manual.xml:
11218         * docs/manual/thread.fig:
11219           Update (until threads/scheduling) Application Development Manual;
11220           remove GstThread, add GstBus, add simple porting checklist, add
11221           documentation for tag writing, clocks, make all examples until this
11222           part compile and run.
11223         * examples/manual/Makefile.am:
11224           Update from changes to Application Development Manual; add bus
11225           example, remove thread example.
11226
11227 2005-06-28  Wim Taymans  <wim@fluendo.com>
11228
11229         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11230         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11231         (gst_bus_source_dispatch):
11232         Add debugging messages.
11233         Make internal methods static.
11234         Handle the case where the bus is flushed in the handler.
11235         
11236         * gst/gstelement.c: (gst_element_get_bus):
11237         Fix refcount in _get_bus();
11238
11239         * gst/gstpipeline.c: (gst_pipeline_change_state),
11240         (gst_pipeline_get_clock_func):
11241         Clock refcounting fixes.
11242         Handle the case where preroll timed out more gracefully.
11243         
11244         * gst/gstsystemclock.c: (gst_system_clock_dispose):
11245         Clean up the internal thread in dispose. This is needed
11246         for subclasses that actually get disposed.
11247         
11248         * gst/schedulers/threadscheduler.c:
11249         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11250         (gst_thread_scheduler_dispose):
11251         Free thread pool in dispose.
11252
11253 2005-06-28  Andy Wingo  <wingo@pobox.com>
11254
11255         * tests/network-clock-utils.scm (debug, print-event): New utils.
11256
11257         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11258         (*packet-loss*): Unified loss probability.
11259         (network-time): Report out-of-band events.
11260
11261         * tests/plot-data: Add support for out-of-band events. Hack it
11262         into this script instead of passing it down the pipe; should fix
11263         this later.
11264
11265 2005-06-28  Wim Taymans  <wim@fluendo.com>
11266
11267         * docs/gst/gstreamer.types:
11268         * docs/gst/tmpl/gstbasesrc.sgml:
11269         * docs/gst/tmpl/gstpad.sgml:
11270         Docs fixes.
11271
11272 2005-06-28  Wim Taymans  <wim@fluendo.com>
11273
11274         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11275         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11276         (gst_proxy_pad_do_fixatecaps):
11277         Correctly proxy the check_pull_range function.
11278
11279 2005-06-28  Andy Wingo  <wingo@pobox.com>
11280
11281         * tests/network-clock.scm: Removed need for slib.
11282         
11283 2005-06-28  Wim Taymans  <wim@fluendo.com>
11284
11285         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
11286         (gst_basesink_preroll_queue_flush):
11287         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
11288         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
11289         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11290         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11291         (gst_proxy_pad_set_property):
11292         * gst/gstpad.c:
11293         * gst/gstpad.h:
11294         * gst/gstqueue.c: (gst_queue_init):
11295         The deprecated pad loop function is removed now.
11296
11297 2005-06-28  Andy Wingo  <wingo@pobox.com>
11298
11299         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
11300         New parameters, simulate network packet loss.
11301
11302         * tests/network-clock-utils.scm: Initialize the RNG.
11303
11304 2005-06-28  Wim Taymans  <wim@fluendo.com>
11305
11306         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11307         (gst_basesink_event), (gst_basesink_deactivate):
11308         Flushing the preroll queue always needs to unlock the waiters.
11309
11310 2005-06-28  Edward Hervey  <edward@fluendo.com>
11311
11312         * gst/gstpipeline.c: (gst_pipeline_send_event): 
11313         Wheen a seek was successful on a pipeline, set the stream_time to the
11314         seek offset in order to have a synchronized stream_time.
11315
11316 2005-06-28  Wim Taymans  <wim@fluendo.com>
11317
11318         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11319         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11320         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11321         (gst_proxy_pad_do_fixatecaps):
11322         Call wrapper function instead of just calling the function
11323         pointers. This takes care of any locking and whatmore.
11324
11325 2005-06-28  Wim Taymans  <wim@fluendo.com>
11326
11327         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11328         (gst_pad_pull_range):
11329         * gst/gstpad.h:
11330         CONNECTED -> LINKED.
11331
11332 2005-06-28  Andy Wingo  <wingo@pobox.com>
11333
11334         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11335         source-munging commit!!!
11336
11337         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
11338         (gst_object_sink): Take gpointer arguments, not GstObject --
11339         avoids casts. Like GLib.
11340
11341         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11342         activate.
11343
11344 2005-06-27  Andy Wingo  <wingo@pobox.com>
11345
11346         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11347         remaining buffer.
11348
11349         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11350         returns a sorted copy of the trace list.
11351         (gst_alloc_trace_print_live): New API, only prints traces with
11352         live objects. Sort the list.
11353         (gst_alloc_trace_print_all): Sort the list.
11354         (gst_alloc_trace_print): Align columns.
11355
11356         * gst/elements/gstttypefindelement.c:
11357         * gst/elements/gsttee.c:
11358         * gst/base/gstbasesrc.c:
11359         * gst/base/gstbasesink.c:
11360         * gst/base/gstbasetransform.c:
11361         * gst/gstqueue.c: Adapt for pad activation changes.
11362
11363         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11364         sched.
11365         (gst_pipeline_dispose): Drop ref on sched.
11366
11367         * gst/gstpad.c (gst_pad_init): Set the default activate func.
11368         (gst_pad_activate_default): Push mode by default.
11369         (pre_activate_switch, post_activate_switch): New stubs, things to
11370         do before and after switching activation modes on pads.
11371         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11372         the pad's activate function to choose which mode to activate.
11373         Shortcut on deactivation and call the right function directly.
11374         (gst_pad_activate_pull): New API, (de)activates a pad in pull
11375         mode.
11376         (gst_pad_activate_push): New API, same for push mode.
11377         (gst_pad_set_activate_function) 
11378         (gst_pad_set_activatepull_function) 
11379         (gst_pad_set_activatepush_function): Setters for new API.
11380
11381         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11382         Trace all miniobjects.
11383         (gst_mini_object_make_writable): Unref the arg if we copy, like
11384         gst_caps_make_writable.
11385
11386         * gst/gstmessage.c (_gst_message_initialize): No trace init.
11387
11388         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
11389         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11390         Adapt for new pad API.
11391
11392         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11393
11394         * gst/gstelement.h:
11395         * gst/gstelement.c (gst_element_iterate_src_pads) 
11396         (gst_element_iterate_sink_pads): New API functions.
11397         
11398         * gst/gstelement.c (iterator_fold_with_resync): New utility,
11399         should fold into gstiterator.c in some form.
11400         (gst_element_pads_activate): Simplified via use of fold and
11401         delegation of decisions to gstpad->activate.
11402
11403         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11404         help in debugging.
11405
11406         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11407         class once in init, like gstmessage. Didn't run into this issue
11408         but it seems correct. Don't initialize a trace, gstminiobject does
11409         that.
11410
11411         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11412         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11413         to the bus.
11414         (assert_live_count): New util function, uses alloc traces to check
11415         cleanup.
11416
11417         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
11418         To be modified when unlink drops the internal pad.
11419
11420 2005-06-27  Wim Taymans  <wim@fluendo.com>
11421
11422         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
11423         (gst_bin_change_state):
11424         Cleanup the get_state() function a little, make sure it
11425         iterates the same set of elements.
11426         Added stub iterate_state_order().
11427
11428 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11429
11430         * docs/gst/gstreamer-docs.sgml:
11431         * docs/gst/gstreamer-sections.txt:
11432         * docs/gst/gstreamer.types:
11433         * docs/gst/tmpl/gstbasesink.sgml:
11434         * docs/gst/tmpl/gstbasesrc.sgml:
11435         * docs/gst/tmpl/gstbasetransform.sgml:
11436         * docs/gst/tmpl/gstelement.sgml:
11437         * docs/gst/tmpl/gstiterator.sgml:
11438         * gst/base/gstbasesrc.c:
11439         * gst/base/gstbasesrc.h:
11440         * gst/base/gstbasetransform.h:
11441         * gst/gstelement.c:
11442         * gst/gstiterator.h:
11443           adding basetransform and iterator docs
11444
11445 2005-06-27  Andy Wingo  <wingo@pobox.com>
11446
11447         * docs/design/part-activation.txt: Notes on how activation should
11448         work -- not quite implemented yet.
11449
11450 2005-06-25  Wim Taymans  <wim@fluendo.com>
11451
11452         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11453         At least get the chain function correct, needs more
11454         fixing.
11455
11456 2005-06-25  Wim Taymans  <wim@fluendo.com>
11457
11458         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11459         (gst_basesink_handle_object), (gst_basesink_event),
11460         (gst_basesink_do_sync), (gst_basesink_handle_event),
11461         (gst_basesink_change_state):
11462         * gst/gsttask.h:
11463         Right, two problems here: ghostpads don't take locks and
11464         glib _rec_mutex_lock_full() with depth==0 still locks.
11465         Catch illegal locking and g_warn them.
11466
11467 2005-06-25  Wim Taymans  <wim@fluendo.com>
11468
11469         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11470         Have to check for completion now...
11471
11472 2005-06-25  Wim Taymans  <wim@fluendo.com>
11473
11474         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11475         (gst_basesink_handle_object), (gst_basesink_event),
11476         (gst_basesink_do_sync), (gst_basesink_handle_event),
11477         (gst_basesink_change_state):
11478         * gst/gstpad.h:
11479         Unlock STREAM_LOCK whatever the recursion was.
11480
11481 2005-06-25  Wim Taymans  <wim@fluendo.com>
11482
11483         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11484         (gst_basesink_preroll_queue_empty),
11485         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11486         (gst_basesink_event), (gst_basesink_do_sync),
11487         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11488         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11489         (gst_basesink_change_state):
11490         Reworked the base sink, handle event and buffer serialisation
11491         correctly and removed possible deadlock.
11492         Handle EOS correctly.
11493
11494 2005-06-25  Wim Taymans  <wim@fluendo.com>
11495
11496         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11497         (gst_pipeline_change_state):
11498         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11499         Allow elements to post EOS in the state change function.
11500         Fix up -launch, make it exit the poll loop when the
11501         pipeline actually changed state.
11502         Fix up warning parsing in -launch.
11503
11504 2005-06-25  Wim Taymans  <wim@fluendo.com>
11505
11506         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11507         (gst_tee_sink_activate):
11508         Core takes STREAM_LOCK for us now.
11509
11510 2005-06-25  Wim Taymans  <wim@fluendo.com>
11511
11512         * gst/gstelement.c: (gst_element_get_state_func),
11513         (gst_element_set_state):
11514         * gst/gstelement.h:
11515         * gst/gstmessage.c: (gst_message_parse_error),
11516         (gst_message_parse_warning):
11517         Keep track of current target state while performing a state
11518         change so that subclasses can do something interesting.
11519         Fix parsing of warning/error messages when GError is NULL.
11520
11521 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11522
11523         * docs/gst/Makefile.am:
11524         * docs/gst/gstreamer-docs.sgml:
11525         * docs/gst/gstreamer-sections.txt:
11526         * docs/gst/gstreamer.types:
11527         * docs/gst/tmpl/gstbasesink.sgml:
11528         * docs/gst/tmpl/gstbasesrc.sgml:
11529         * docs/gst/tmpl/gstbin.sgml:
11530         * docs/gst/tmpl/gstcompat.sgml:
11531         * docs/gst/tmpl/gstfakesink.sgml:
11532         * docs/gst/tmpl/gstfakesrc.sgml:
11533         * docs/gst/tmpl/gstfilesink.sgml:
11534         * docs/gst/tmpl/gstfilesrc.sgml:
11535         * docs/gst/tmpl/gstindex.sgml:
11536         * docs/manual/appendix-quotes.xml:
11537         * gst/base/gstbasesrc.h:
11538         * gst/elements/gstfakesrc.h:
11539         * gst/gstmessage.h:
11540           start pulling in base classes and elements in our docs
11541
11542 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11543
11544         * docs/gst/Makefile.am:
11545         * docs/libs/Makefile.am:
11546           fixed make distcheck with gtk-doc 1.3
11547
11548 2005-06-23  Wim Taymans  <wim@fluendo.com>
11549
11550         * gst/gstelement.c: (gst_element_get_state_func),
11551         (gst_element_set_state), (gst_element_change_state):
11552         When the state did not change, also report NO_PREROLL
11553         when it matters.
11554
11555 2005-06-23  Wim Taymans  <wim@fluendo.com>
11556
11557         * gst/gstpad.c: (gst_pad_event_default):
11558         * gst/gstqueue.c: (gst_queue_loop):
11559         No unsafe task pausing please.
11560
11561 2005-06-23  Wim Taymans  <wim@fluendo.com>
11562
11563         * gst/schedulers/threadscheduler.c:
11564         (gst_thread_scheduler_task_start),
11565         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11566         Ref the task before pushing it on the threadpool. This
11567         makes sure that we have a ref when the threadfunction is
11568         actually called.
11569
11570 2005-06-23  Andy Wingo  <wingo@pobox.com>
11571
11572         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11573         offset is greater than the file's size.
11574
11575         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11576         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11577         * gst/gstobject.c (gst_object_class_init): Make the class lock
11578         recursive. Wim won't let me drop deep_notify. Decodebin works
11579         again, whoopdy doo.
11580
11581         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11582         internal pad, and hacks accordingly. Doesn't do it on the target
11583         pad because we change its caps. Probably catches all cases of
11584         interest tho.
11585         (gst_ghost_pad_set_property): Connect to notify::caps as
11586         appropritate.
11587
11588         * tests/network-clock.scm (plot-simulation): Pipe data to the
11589         elite python skript.
11590
11591         * tests/network-clock-utils.scm (define-parameter): New macro,
11592         defines a parameter that can be set via the command line.
11593         (set-parameter!, parse-parameter-arguments): Command line args
11594         parser.
11595
11596         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11597         stdin.
11598
11599 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11600
11601         * gst/elements/gsttypefindelement.c:
11602         (gst_type_find_element_handle_event):
11603           Don't restart typefinding on a discont.
11604         * gst/gstelement.c: (gst_element_set_state):
11605           Debug spelling fix.
11606         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11607           Allow changing mode of an active pad.
11608           Debug output fixes.
11609         * gst/registries/gstlibxmlregistry.c: (load_feature):
11610           Don't cast a static pad template to a normal pad template.
11611
11612 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11613
11614         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11615         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11616           remove gst_strtoll completely, since it didn't actually do
11617           anything more than what g_ascii_strtoull already does.
11618           check for range errors when deserializing
11619           do a cast for the unsigned cases; but further fixing needs
11620           a decision on what the interpretation of "(int)" and
11621           deserialization should be for values that fall outside the
11622           type's boundaries (ie, refuse, or interpret as casting)
11623
11624 2005-06-23  Wim Taymans  <wim@fluendo.com>
11625
11626         * check/Makefile.am:
11627         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11628         * docs/design/part-live-source.txt:
11629         * docs/design/part-states.txt:
11630         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11631         (gst_basesrc_set_live), (gst_basesrc_is_live),
11632         (gst_basesrc_get_range), (gst_basesrc_activate),
11633         (gst_basesrc_change_state):
11634         * gst/base/gstbasesrc.h:
11635         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11636         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11637         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11638         * gst/gstelement.c: (gst_element_get_state_func),
11639         (gst_element_set_state):
11640         * gst/gstelement.h:
11641         * gst/gsttypes.h:
11642         * tools/gst-launch.c: (event_loop), (main):
11643         Added support for live sources and other elements that
11644         cannot do preroll.
11645         Updated design docs, added live-source design doc.
11646         Implemented live source functionality in basesrc
11647         Fix error condition in _bin_get_state()
11648         Implement live source handling in -launch.
11649         Added check for live sources.
11650         Fixed case in GstBin where elements were changed state
11651         multiple times.
11652
11653
11654 2005-06-23  Andy Wingo  <wingo@pobox.com>
11655
11656         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11657         borken refcounting.
11658
11659         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11660         gst_caps_replace takes care of this for us.
11661
11662         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11663         gst_pad_set_caps on the target, not just its setcaps() function.
11664
11665         * tests/network-clock.scm: 
11666         * tests/network-clock-utils.scm: A network clock simulator.
11667         Something of an algorithmic testbed before doing something in C.
11668
11669 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11670
11671         * check/Makefile.am:
11672         * check/gst/capslist.h:
11673           copy over from 0.8, and add two with bitmasks specified with
11674           (int) 0xFF...
11675         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11676           add test to parse everything from capslist.h
11677         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11678         (main):
11679           add test for structure deserialization
11680         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11681           add tests for deserialization of strings to int types
11682         * gst/gststructure.c: (gst_structure_nth_field_name):
11683         * gst/gststructure.h:
11684           add a way to get the name of a field referenced by index
11685         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11686           instead of checking if the resulting long long lies between
11687           min and max, we check if the long long would fit into
11688           a number of bytes for the final type.
11689           This fixes cases where a string represents 2^32 - 1, which
11690           when cast to int would be the (valid) -1, but is bigger than
11691           G_MAXINT
11692
11693 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11694
11695         * gst/parse/grammar.y:
11696           add a log line for type deserialization
11697
11698 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11699
11700         * check/gst/gstvalue.c: (START_TEST):
11701         * gst/gstvalue.c: (gst_value_deserialize):
11702           return long long, not int, so gint64 deserialization actually
11703           works.  Is there any flag that makes the compiler check this ?
11704           Fixes #308559
11705
11706 2005-06-22  Wim Taymans  <wim@fluendo.com>
11707
11708         * gst/gstbuffer.h:
11709         Added convenience macros for setting buffers in GValue.
11710
11711 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11712
11713         * check/gst/.cvsignore:
11714         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11715           add a test deserializing int64, and comment part out because
11716           it fails, yay !
11717
11718 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11719
11720         * check/Makefile.am:
11721         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11722         * testsuite/Makefile.am:
11723         * testsuite/caps/Makefile.am:
11724         * testsuite/caps/value_serialize.c:
11725         * testsuite/test_gst_init.c:
11726           move a value_serialize test over
11727
11728 2005-06-20  Wim Taymans  <wim@fluendo.com>
11729
11730         * gst/gstpad.c:
11731         Small doc updates.
11732         
11733         * gst/gstvalue.c: (gst_value_compare_buffer),
11734         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11735         (gst_value_compare_flags), (gst_value_serialize_flags),
11736         (gst_value_deserialize_flags), (_gst_value_initialize):
11737         Fix serialisation of buffers, they are not boxed types anymore
11738
11739 2005-06-20  Wim Taymans  <wim@fluendo.com>
11740
11741         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11742         Testcase to show error in buffer-on-caps serialisation.
11743
11744 2005-06-20  Andy Wingo  <wingo@pobox.com>
11745
11746         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11747         will be adding to later.
11748
11749         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11750         if its socks fill with rocks.
11751         (gst_system_clock_obtain): Set the name on object construction.
11752         Avoid double-checked locking.
11753
11754 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11755
11756         * gst/gsturi.c: (gst_element_make_from_uri):
11757           Fix potential endless loop.
11758
11759 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11760
11761         * check/Makefile.am:
11762           add gsttag
11763         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11764         (main):
11765           move over from testsuite dir and clean up
11766         * configure.ac:
11767         * gst/gsttag.c:
11768         * testsuite/Makefile.am:
11769         * testsuite/tags/.cvsignore:
11770         * testsuite/tags/Makefile.am:
11771         * testsuite/tags/merge.c:
11772           remove testsuite/tags
11773
11774 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11775
11776         * docs/gst/gstreamer-sections.txt:
11777         * docs/gst/tmpl/gstenumtypes.sgml:
11778         * win32/gstenumtypes.c:
11779           clean up documentation build a little
11780
11781 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11782
11783         * check/gstcheck.h:
11784           add macros for checking refcounts on objects and caps
11785         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11786           add some more unit tests
11787         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11788         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11789           fix leaked refcounts (I hope :)) so unittest works
11790         * gst/gstpad.h:
11791           whitespace removal
11792
11793 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11794
11795         * configure.ac: back to HEAD
11796
11797 === release 0.9.1 ===
11798
11799 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11800
11801         * NEWS:
11802         * RELEASE:
11803           updated
11804
11805 2005-06-17  Andy Wingo  <wingo@pobox.com>
11806
11807         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11808         assert; it's always possible that the pad gets deactivated in
11809         between the checks in gstpad.c and the implementation. Rely on
11810         finish_preroll() to return a FLUSHING or similar instead of on the
11811         assert.
11812         
11813         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11814         clock and post an EOS message if we come out of finish_preroll in
11815         the playing state.
11816
11817 2005-06-16  David Schleef  <ds@schleef.org>
11818
11819         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11820         (gst_capsfilter_set_property): Allow NULL as possible value
11821         for filter_caps property, indicating GST_CAPS_ANY.
11822
11823 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11824
11825         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11826           fix debug output
11827         * gst/schedulers/Makefile.am:
11828           use libgst prefix
11829         * gstreamer.spec.in:
11830           fix spec for it
11831
11832 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11833
11834         * gstreamer.spec.in:
11835           clean up
11836
11837 2005-06-08  Andy Wingo  <wingo@pobox.com>
11838
11839         * gst/gstutils.c: RPAD fixes all around.
11840         (gst_element_link_pads): Refcounting fixes.
11841
11842         * tools/gst-inspect.c:
11843         * tools/gst-xmlinspect.c:
11844         * parse/grammar.y:
11845         * gst/base/gsttypefindhelper.c:
11846         * gst/base/gstbasesink.c:
11847         * gst/gstqueue.c: RPAD fixes.
11848
11849         * gst/gstghostpad.h:
11850         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11851         pads. The tricky thing is they provide both source and sink
11852         interfaces, since they proxy the internal pad for the external
11853         pad, and vice versa. Implement with lower-level ProxyPad objects,
11854         with the interior proxy pad as a child of the exterior ghost pad.
11855         Should write a doc on this.
11856         
11857         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11858         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11859         gst_object API.
11860         
11861         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11862         pads are real pads. No ghost pads in this file. Not documenting
11863         the myriad s/RPAD/PAD/ and REALIZE fixes.
11864         (gst_pad_class_init): Add properties for "direction" and
11865         "template". Both are construct-only, so they can't change during
11866         the life of the pad. Fixes properly deriving from GstPad.
11867         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11868         derived objects, just set properties when creating the objects via
11869         g_object_new.
11870         (gst_pad_get_parent): Implement as a function, return NULL if the
11871         parent is not an element.
11872         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11873         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11874         
11875         * gst/gstobject.c (gst_object_class_init): Make name a construct
11876         property. Don't set it in the object init.
11877
11878         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11879         with UNKNOWN direction.
11880         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11881         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11882         (gst_element_remove_pad): Remove ghost-pad special cases.
11883         (gst_element_pads_activate): Remove rpad cruft.
11884
11885         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11886         catch the pad's-parent-not-an-element case.
11887
11888         * gst/gst.h: Include gstghostpad.h.
11889
11890         * gst/gst.c (init_post): No more real, ghost pads.
11891
11892         * gst/Makefile.am: Add gstghostpad.[ch].
11893
11894         * check/Makefile.am:
11895         * check/gst/gstbin.c:
11896         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11897         into a bin creates ghost pads, and that the refcounts are right.
11898         Partly moved from gstbin.c.
11899
11900 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11901
11902         * check/gst-libs/.cvsignore:
11903         * check/gst/.cvsignore:
11904         * check/pipelines/.cvsignore:
11905           ignore more
11906         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11907         (START_TEST), (cleanup_suite), (main):
11908           add some tests related to cleanup after running pipelines
11909
11910 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11911
11912         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11913           add a testsuite for GstBuffer
11914
11915 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11916
11917         * gst/gstminiobject.h:
11918           add defines for accessing the refcount
11919
11920 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11921
11922         * Makefile.am: added support for html unit test coverage reports
11923
11924 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11925
11926         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11927           Free existing caps if the capsfilter changes. Add a FIXME about
11928           setting those caps on the pads.
11929
11930         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11931           Before adding a ghost pad to a parent bin, check that there isn't
11932           already one for the element on the bin. Prevents infinite recursion
11933           when using decodebin in parse pipelines. Andy says he'll rewrite the
11934           way this works anyway, so ignore the hack.
11935
11936 2005-06-02  Andy Wingo  <wingo@pobox.com>
11937
11938         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11939         file size, pass it on to the type find helper.
11940
11941         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11942         segment_start and segment_end properly according to the seek
11943         method. Segment_end is still a bit flaky because offset can be
11944         negative for CUR and END cases, but it takes -1 as an "unset"
11945         value.
11946
11947 2005-06-02  Wim Taymans  <wim@fluendo.com>
11948
11949         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11950         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11951         (gst_basesink_activate):
11952         * gst/base/gstbasesink.h:
11953         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11954         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11955         (gst_pad_query), (gst_pad_start_task):
11956         * gst/gstpad.h:
11957         * gst/gstqueue.c: (gst_queue_bufferalloc),
11958         (gst_queue_handle_sink_event), (gst_queue_chain):
11959         Bufferalloc: return GstFlowReturn to more accuratly report
11960         why allocation failed.
11961
11962 2005-06-02  Wim Taymans  <wim@fluendo.com>
11963
11964         * gst/gstpipeline.c: (gst_pipeline_send_event):
11965         Take snapshot of state without blocking.
11966
11967 2005-06-02  Wim Taymans  <wim@fluendo.com>
11968
11969         * docs/design/part-TODO.txt:
11970         * docs/design/part-caps.txt:
11971         * docs/design/part-clocks.txt:
11972         * docs/design/part-negotiation.txt:
11973         * docs/design/part-preroll.txt:
11974         Small doc updates 
11975
11976 2005-05-30  Wim Taymans  <wim@fluendo.com>
11977
11978         * gst/elements/gstidentity.c: (gst_identity_event),
11979         (gst_identity_transform), (gst_identity_get_property):
11980         Protect last_message property as it is accessed from
11981         multiple threads.
11982
11983 2005-05-30  Wim Taymans  <wim@fluendo.com>
11984
11985         * gst/gstelement.c: (gst_element_init),
11986         (gst_element_pads_activate), (gst_element_change_state):
11987         Slicker pad activation code.
11988
11989 2005-05-30  Wim Taymans  <wim@fluendo.com>
11990
11991         * gst/Makefile.am:
11992         * gst/gstelement.h:
11993         * gst/gstelementfactory.h:
11994         * gst/gsttypes.h:
11995         Move elementfactory methods to separate .h file.
11996
11997 2005-05-30  Wim Taymans  <wim@fluendo.com>
11998
11999         * docs/design/part-overview.txt:
12000         * gst/gstsystemclock.h:
12001         Small typo fixes, doc updates.
12002
12003 2005-05-30  Wim Taymans  <wim@fluendo.com>
12004
12005         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12006         (init_popt_callback):
12007         Remove cpu-opt flag.
12008
12009 2005-05-30  Wim Taymans  <wim@fluendo.com>
12010
12011         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12012         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12013         * gst/gstbuffer.h:
12014         Avoid typechecking in places where not needed.
12015         Added accessor for malloc_data.
12016
12017 2005-05-30  Wim Taymans  <wim@fluendo.com>
12018
12019         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12020         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12021         (gst_pad_configure_sink), (gst_pad_configure_src),
12022         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12023         (gst_pad_start_task):
12024         Propagate errors from _set_caps() in configure_src/sink
12025         functions instead of returning TRUE.
12026         FLUSH events can travel up and downstream
12027
12028
12029 2005-05-30  Wim Taymans  <wim@fluendo.com>
12030
12031         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12032         (gst_basesink_activate):
12033         Handle EOS in preroll.
12034
12035 2005-05-30  Wim Taymans  <wim@fluendo.com>
12036
12037         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12038         (gst_queue_loop), (gst_queue_handle_src_event):
12039         Remove old pieces of code
12040         Flushing the queue in an upstream event is a very bad idea.
12041
12042 2005-05-26  Andy Wingo  <wingo@pobox.com>
12043
12044         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12045         gst_value_set_mini_object so as to add a ref on the object (which
12046         will be removed when the value is unset).
12047
12048         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12049         arg type in ::handoff.
12050
12051         * gst/gstelement.c (gst_element_change_state): Also deactivate
12052         pads in READY->NULL, just in case the element didn't make it to
12053         PAUSED. Wingo tested, Wim approved.
12054
12055 2005-05-26  Wim Taymans  <wim@fluendo.com>
12056
12057         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12058         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12059         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12060         A flushing pad cannot be used to alloc_buffer from.
12061
12062 2005-05-26  Wim Taymans  <wim@fluendo.com>
12063
12064         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12065         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12066         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12067         (gst_bus_create_watch), (gst_bus_add_watch_full):
12068         * gst/gstbus.h:
12069         Implement a real GSource and use g_main_context_wakeup() to
12070         signal new messages instead of the socketpair.
12071
12072 2005-05-25  Wim Taymans  <wim@fluendo.com>
12073
12074         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12075         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12076         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12077         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12078         (gst_pad_send_event), (gst_pad_start_task):
12079         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12080         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12081         (gst_queue_sink_activate), (gst_queue_src_activate),
12082         (gst_queue_change_state):
12083         * gst/gstqueue.h:
12084         Fix state changes for non sinks. We now change sinks, then elements
12085         with unconnected srcpads, then the rest.
12086         More efficient queue unlocking in flush and state changes.
12087         Set the pad activate mode even if it does not have an activate
12088         function.
12089
12090 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12091
12092         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12093           Don't go in pull mode for non-seekable sources.
12094         * gst/elements/gsttypefindelement.h:
12095         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12096         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12097         (free_entry), (stop_typefinding),
12098         (gst_type_find_element_handle_event), (find_peek),
12099         (gst_type_find_element_chain), (do_pull_typefind),
12100         (gst_type_find_element_change_state):
12101           Allow typefinding (w/o seeking) in push-mode, simplified version
12102           of what was in 0.8.
12103         * gst/gstutils.c: (gst_buffer_join):
12104         * gst/gstutils.h:
12105           gst_buffer_join() from 0.8.
12106
12107 2005-05-25  Wim Taymans  <wim@fluendo.com>
12108
12109         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12110         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12111         (gst_pad_send_event), (gst_pad_start_task):
12112         Disable attempt at mode switching until it is figured out.
12113
12114 2005-05-25  Wim Taymans  <wim@fluendo.com>
12115
12116         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12117         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12118         (gst_basesink_finish_preroll), (gst_basesink_chain),
12119         (gst_basesink_loop), (gst_basesink_activate),
12120         (gst_basesink_change_state):
12121         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12122         (gst_basesrc_get_range), (gst_basesrc_loop),
12123         (gst_basesrc_activate):
12124         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12125         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12126         (gst_real_pad_init), (gst_real_pad_set_property),
12127         (gst_real_pad_get_property), (gst_pad_set_active),
12128         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12129         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12130         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12131         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12132         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12133         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12134         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12135         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12136         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12137         (gst_pad_stop_task):
12138         * gst/gstpad.h:
12139         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12140         (gst_queue_loop), (gst_queue_src_activate):
12141         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12142         (gst_task_get_state):
12143         * gst/gsttask.h:
12144         * gst/schedulers/threadscheduler.c:
12145         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12146         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12147         in task function.
12148         Remove ACTIVE pad flag, use FLUSHING everywhere
12149         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12150         functions.
12151         Add locks around IS_FLUSHING when reading.
12152         Take STREAM lock in chain(), get_range() functions so plugins
12153         don't need to take it anymore.
12154         
12155
12156
12157 2005-05-25  Wim Taymans  <wim@fluendo.com>
12158
12159         * tools/gst-launch.c: (event_loop):
12160         Unref message after using its contents instead of
12161         before.
12162
12163 2005-05-24  Wim Taymans  <wim@fluendo.com>
12164
12165         * docs/design/draft-ghostpads.txt:
12166         * docs/design/draft-push-pull.txt:
12167         * docs/design/draft-query.txt:
12168         * docs/design/part-overview.txt:
12169         Docs updates, added general overview doc.
12170
12171 2005-05-21  David Schleef  <ds@schleef.org>
12172
12173         * docs/gst/tmpl/old/GstBin.sgml:
12174         * docs/gst/tmpl/old/GstBuffer.sgml:
12175         * docs/gst/tmpl/old/GstCaps.sgml:
12176         * docs/gst/tmpl/old/GstClock.sgml:
12177         * docs/gst/tmpl/old/GstCompat.sgml:
12178         * docs/gst/tmpl/old/GstData.sgml:
12179         * docs/gst/tmpl/old/GstElement.sgml:
12180         * docs/gst/tmpl/old/GstEvent.sgml:
12181         * docs/gst/tmpl/old/GstIndex.sgml:
12182         * docs/gst/tmpl/old/GstStructure.sgml:
12183         * docs/gst/tmpl/old/GstTag.sgml:
12184         * docs/gst/tmpl/old/cothreads.sgml:
12185         * docs/gst/tmpl/old/cothreads_compat.sgml:
12186         * docs/gst/tmpl/old/gettext.sgml:
12187         * docs/gst/tmpl/old/gobject2gtk.sgml:
12188         * docs/gst/tmpl/old/grammar.tab.sgml:
12189         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12190         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12191         * docs/gst/tmpl/old/gst_private.sgml:
12192         * docs/gst/tmpl/old/gstaggregator.sgml:
12193         * docs/gst/tmpl/old/gstarch.sgml:
12194         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12195         * docs/gst/tmpl/old/gstbufferstore.sgml:
12196         * docs/gst/tmpl/old/gstdata_private.sgml:
12197         * docs/gst/tmpl/old/gstdisksink.sgml:
12198         * docs/gst/tmpl/old/gstdisksrc.sgml:
12199         * docs/gst/tmpl/old/gstelementfactory.sgml:
12200         * docs/gst/tmpl/old/gstextratypes.sgml:
12201         * docs/gst/tmpl/old/gstfakesink.sgml:
12202         * docs/gst/tmpl/old/gstfakesrc.sgml:
12203         * docs/gst/tmpl/old/gstfdsink.sgml:
12204         * docs/gst/tmpl/old/gstfdsrc.sgml:
12205         * docs/gst/tmpl/old/gstfilesink.sgml:
12206         * docs/gst/tmpl/old/gstfilesrc.sgml:
12207         * docs/gst/tmpl/old/gsthttpsrc.sgml:
12208         * docs/gst/tmpl/old/gstidentity.sgml:
12209         * docs/gst/tmpl/old/gstindexfactory.sgml:
12210         * docs/gst/tmpl/old/gstmarshal.sgml:
12211         * docs/gst/tmpl/old/gstmd5sink.sgml:
12212         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12213         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12214         * docs/gst/tmpl/old/gstpadtemplate.sgml:
12215         * docs/gst/tmpl/old/gstpipefilter.sgml:
12216         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12217         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12218         * docs/gst/tmpl/old/gstshaper.sgml:
12219         * docs/gst/tmpl/old/gstspider.sgml:
12220         * docs/gst/tmpl/old/gstspideridentity.sgml:
12221         * docs/gst/tmpl/old/gststatistics.sgml:
12222         * docs/gst/tmpl/old/gsttee.sgml:
12223         * docs/gst/tmpl/old/gsttimecache.sgml:
12224         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12225         * docs/gst/tmpl/old/gstxmlregistry.sgml:
12226         * docs/gst/tmpl/old/gthread-cothreads.sgml:
12227         * docs/gst/tmpl/old/types.sgml:
12228           I didn't intend to add these or check them in.
12229
12230 2005-05-19  David Schleef  <ds@schleef.org>
12231
12232         * configure.ac: Use -no-common everywhere.  In a sane world, it
12233           would be the default in libtool, because without it, you can't
12234           build DLLs on Windows.
12235         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12236         * docs/gst/gstreamer-sections.txt:
12237         * docs/gst/tmpl/gstcpu.sgml:
12238         * docs/gst/tmpl/gstdata.sgml:
12239         * docs/gst/tmpl/gstthread.sgml:
12240
12241 2005-05-19  David Schleef  <ds@schleef.org>
12242
12243         * gst/gstminiobject.c: (gst_value_set_mini_object),
12244         (gst_value_take_mini_object), (gst_value_get_mini_object):
12245         * gst/gstminiobject.h: Add GValue set/get functions.
12246
12247 2005-05-19  Wim Taymans  <wim@fluendo.com>
12248
12249         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12250         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12251         (gst_subbuffer_init), (gst_buffer_is_span_fast):
12252         * gst/gstbuffer.h:
12253         * gst/gstbus.c: (gst_bus_post):
12254         * gst/gstelement.c: (gst_element_get_random_pad):
12255         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12256         Make subbufer unref the parent in finalize.
12257         some more debugging info.
12258
12259
12260 2005-05-19  Wim Taymans  <wim@fluendo.com>
12261
12262         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12263         (gst_basesink_init), (gst_basesink_finalize),
12264         (gst_basesink_activate), (gst_basesink_change_state):
12265         Don't free preroll queue too early.
12266
12267 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12268
12269         * gst/Makefile.am:
12270         * gst/ROADMAP:
12271           Hi, I'm outdated. Please shoot me.
12272
12273 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12274
12275         * gst/gstpipeline.c: (gst_pipeline_send_event):
12276           Do not access variables after they have been deleted.
12277
12278 2005-05-19  Wim Taymans  <wim@fluendo.com>
12279
12280         * tools/gst-inspect.c: (print_plugin_features):
12281         A plugin feature does unfortunatly not use the
12282         object name yet...
12283
12284 2005-05-18  Wim Taymans  <wim@fluendo.com>
12285
12286         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
12287         Port _span() functions to new subbuffers.
12288
12289 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12290
12291         * gst/gstbin.c: (gst_bin_add_func):
12292           Fix clock settery in bins when adding kids after the clock has
12293           been selected.
12294
12295 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12296
12297         * gst/elements/gstidentity.c: (gst_identity_class_init):
12298           Workaround until signals support GstMiniObject.
12299
12300 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12301
12302         * gst/gstbuffer.c:
12303         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
12304
12305 2005-05-18  Wim Taymans  <wim@fluendo.com>
12306
12307         * gst/base/Makefile.am:
12308         * gst/base/gstadapter.c: (gst_adapter_base_init),
12309         (gst_adapter_class_init), (gst_adapter_init),
12310         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12311         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12312         (gst_adapter_flush), (gst_adapter_available),
12313         (gst_adapter_available_fast):
12314         * gst/base/gstadapter.h:
12315         Ported and added adapter to the base classes.
12316
12317 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12318
12319         * gst/gst.c:
12320         * gst/gstmessage.c:
12321           Make sure the class is reffed/unreffed once before threads can be
12322           used.  Fixes #304551.
12323
12324 2005-05-17  Wim Taymans  <wim@fluendo.com>
12325
12326         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12327         (gst_basesink_chain_unlocked), (gst_basesink_activate):
12328         * gst/gstminiobject.c: (gst_mini_object_get_type),
12329         (gst_mini_object_free):
12330         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12331         (gst_pad_push), (gst_pad_push_event):
12332         * gst/gstqueue.c: (gst_queue_change_state):
12333         Don't queue buffers in basesink when we are flushing.
12334         Unref buffer when flushing in basesink.
12335         Flush queue when going to READY
12336         Unref buffer when _push() returns an error.
12337         Don't free MiniObject instance when refcount is incremented
12338         in _finalize() so that we can recover objects.
12339
12340 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12341
12342         * docs/manual/advanced-schedulers.xml:
12343         * docs/manual/appendix-checklist.xml:
12344         * docs/pwg/advanced-clock.xml:
12345         * docs/pwg/advanced-interfaces.xml:
12346         * docs/pwg/advanced-request.xml:
12347         * docs/pwg/advanced-types.xml:
12348         * docs/pwg/intro-preface.xml:
12349         * examples/plugins/example.c: (gst_example_get_type),
12350         (gst_example_class_init), (gst_example_chain),
12351         (gst_example_set_property), (gst_example_get_property),
12352         (gst_example_change_state), (plugin_init):
12353         * examples/plugins/example.h:
12354           small doc fixes
12355
12356 2005-05-17  Wim Taymans  <wim@fluendo.com>
12357
12358         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12359         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12360         * gst/gstqueue.c: (gst_queue_change_state):
12361         Clear queue when going to READY.
12362         Remove IN_SETCAPS flag too.
12363
12364 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
12365
12366         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12367           Remove implicit cast from gboolean to GstElementStateReturn;
12368           make sure we still return failure in paused => ready case if
12369           the parent class fails to change state and our own stop 
12370           vfunc succeeds.
12371
12372 2005-05-17  Wim Taymans  <wim@fluendo.com>
12373
12374         * tools/gst-launch.c: (event_loop):
12375         Message was unreffed too soon.
12376
12377 2005-05-16  Andy Wingo  <wingo@pobox.com>
12378
12379         * gst/gstbin.c (sink_iterator_filter): Err... um...
12380
12381         * check/gst/gstbin.c (test_ghost_pads): New test for the
12382         ghosting-if-elements-not-in-same-bin behavior.
12383
12384 2005-05-16  David Schleef  <ds@schleef.org>
12385
12386         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12387         accessing refcount directly.
12388
12389 2005-05-15  David Schleef  <ds@schleef.org>
12390
12391         * check/Makefile.am: remove GstData checks
12392         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12393         * gst/Makefile.am: add miniobject, remove data
12394         * gst/gst.h: add miniobject, remove data
12395         * gst/gstdata.c: remove
12396         * gst/gstdata.h: remove
12397         * gst/gstdata_private.h: remove
12398         * gst/gsttypes.h: remove GstEvent and GstMessage
12399         * gst/gstelement.c: (gst_element_post_message): fix for API changes
12400         * gst/gstmarshal.list: change BOXED -> OBJECT
12401
12402         Implement GstMiniObject.
12403         * gst/gstminiobject.c:
12404         * gst/gstminiobject.h:
12405
12406         Modify to be subclasses of GstMiniObject.
12407         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12408         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12409         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12410         (gst_subbuffer_get_type), (gst_subbuffer_init),
12411         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12412         (gst_buffer_span):
12413         * gst/gstbuffer.h:
12414         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12415         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12416         (_gst_event_copy), (gst_event_new):
12417         * gst/gstevent.h:
12418         * gst/gstmessage.c: (_gst_message_initialize),
12419         (gst_message_get_type), (gst_message_class_init),
12420         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
12421         (gst_message_new), (gst_message_new_error),
12422         (gst_message_new_warning), (gst_message_new_tag),
12423         (gst_message_new_state_changed), (gst_message_new_application):
12424         * gst/gstmessage.h:
12425         * gst/gstprobe.c: (gst_probe_perform),
12426         (gst_probe_dispatcher_dispatch):
12427         * gst/gstprobe.h:
12428         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
12429         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
12430         (_gst_query_copy), (gst_query_new):
12431
12432         Update elements for GstData -> GstMiniObject changes
12433         * gst/gstquery.h:
12434         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
12435         (gst_queue_chain), (gst_queue_loop):
12436         * gst/elements/gstbufferstore.c:
12437         (gst_buffer_store_add_buffer_func),
12438         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
12439         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12440         (gst_fakesink_render):
12441         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12442         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
12443         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
12444         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
12445         (gst_filesrc_create_read):
12446         * gst/elements/gstidentity.c: (gst_identity_class_init):
12447         * gst/elements/gsttypefindelement.c:
12448         (gst_type_find_element_src_event), (free_entry_buffers),
12449         (gst_type_find_element_handle_event):
12450         * libs/gst/dataprotocol/dataprotocol.c:
12451         (gst_dp_header_from_buffer):
12452         * libs/gst/dataprotocol/dataprotocol.h:
12453         * libs/gst/dataprotocol/dp-private.h:
12454
12455 2005-05-15  David Schleef  <ds@schleef.org>
12456
12457         * gst/elements/gstelements.c: Don't include headers that were
12458         just removed.
12459
12460 2005-05-15  David Schleef  <ds@schleef.org>
12461
12462         * gst/elements/Makefile.am: Remove some elements that don't
12463         need to be in the core (or even exist at all).
12464         * gst/elements/gstaggregator.c:
12465         * gst/elements/gstaggregator.h:
12466         * gst/elements/gstmd5sink.c:
12467         * gst/elements/gstmd5sink.h:
12468         * gst/elements/gstmultifilesrc.c:
12469         * gst/elements/gstmultifilesrc.h:
12470         * gst/elements/gstpipefilter.c:
12471         * gst/elements/gstpipefilter.h:
12472         * gst/elements/gstshaper.c:
12473         * gst/elements/gstshaper.h:
12474         * gst/elements/gststatistics.c:
12475         * gst/elements/gststatistics.h:
12476         * po/POTFILES.in: Remove above files.
12477
12478 2005-05-14  Andy Wingo  <wingo@pobox.com>
12479
12480         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12481         so as to get the refs right.
12482         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12483         unreffing objects that don't pass the filter.
12484
12485         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12486         gst_element_set_bus.
12487         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12488         normal cases, this will destroy the bus.
12489
12490         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12491         object.
12492
12493         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12494         has no sinks.
12495
12496 2005-05-13  Andy Wingo  <wingo@pobox.com>
12497
12498         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12499         gst_pad_link, call pad_link_maybe_ghosting,
12500         (pad_link_maybe_ghosting): Links pads, making sure that the
12501         elements being linked are in the same bin.
12502         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12503         Helpers for pad_link_maybe_ghosting.
12504
12505 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12506
12507         * configure.ac:
12508           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12509
12510 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12511
12512         * docs/design/part-element-source.txt:
12513           Mention GstPushSrc
12514
12515 2005-05-12  Wim Taymans  <wim@fluendo.com>
12516
12517         * gst/base/gstbasesink.c: (gst_basesink_init),
12518         (gst_basesink_activate):
12519         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12520         (gst_basesrc_is_seekable):
12521         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12522         (bin_element_is_sink), (gst_bin_change_state):
12523         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12524         * gst/gstelement.h:
12525         Identify sinks by their flag to avoid overly complicated
12526         checks (fow now).
12527         Do state changes even for elements not reachable from the
12528         sinks.
12529         BaseSink is a sink now :)
12530         Some more debugging info in the basesrc.
12531
12532
12533 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12534
12535         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12536           Implement _query on a bin, similar to _send_event.
12537
12538 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12539
12540         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12541           Discont event offset format should be GST_FORMAT_BYTES,
12542           not GST_FORMAT_TIME.
12543
12544 2005-05-12  Wim Taymans  <wim@fluendo.com>
12545
12546         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12547         Same fix as Ronald's but without the signal. 
12548
12549 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12550
12551         * gst/gstutils.c: (gst_element_query_position):
12552           No, an element is not a pad.
12553
12554 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12555
12556         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12557         (gst_bin_get_state):
12558           If a child is removed from a bin while we remove the child from
12559           the bin and while we're retrieving its state, signal this to the
12560           get_state function so we abort the wait (instead of waiting for
12561           a timeout) and can immediately re-iterate over all other elements.
12562
12563 2005-05-12  Wim Taymans  <wim@fluendo.com>
12564
12565         * gst/base/Makefile.am:
12566         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12567         (gst_basesrc_start):
12568         * gst/base/gstbasesrc.h:
12569         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12570         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12571         (gst_pushsrc_init), (gst_pushsrc_create):
12572         * gst/base/gstpushsrc.h:
12573         Added is_seekable to BaseSrc
12574         Added simple PushSrc.
12575
12576 2005-05-11  Wim Taymans  <wim@fluendo.com>
12577
12578         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12579         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12580         (gst_element_link_pads), (gst_element_query_position),
12581         (gst_element_query_convert), (intersect_caps_func),
12582         (gst_pad_query_position), (gst_pad_query_convert):
12583         Fix refcounting in utils function.
12584         No point in trying to activate a pad when it's added, it could
12585         be added from the state change function and then we deadlock, the
12586         element has to decide what to do.
12587
12588 2005-05-10  Andy Wingo  <wingo@pobox.com>
12589
12590         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12591         *all* the arguments.
12592
12593         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12594         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12595         lock (according to the docs -- if this is wrong change the docs).
12596
12597         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12598         flush messages in the NULL state.
12599
12600         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12601         message immediately and return.
12602         (gst_bus_set_flushing): New function. If a bus is flushing, it
12603         flushes out any queued messages and immediately unrefs new
12604         messages. This is so when an element goes to NULL, all of the
12605         unhandled messages coming from it can be freed, and their
12606         references to the element dropped. In other words: message source
12607         ref considered harmful :P
12608
12609         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12610         we're finished with it.
12611
12612         * gst/gstmessage.c (gst_message_new_state_changed): 
12613
12614 2005-05-10  Wim Taymans  <wim@fluendo.com>
12615
12616         * gst/gstvalue.c: (gst_value_compare_flags),
12617         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12618         (_gst_value_initialize):
12619         Added flags serialize/deserialize/compare code.
12620
12621 2005-05-09  Andy Wingo  <wingo@pobox.com>
12622
12623         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12624         Intersect the peer's caps with our caps.
12625
12626 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12627
12628         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12629         * gst/elements/gsttypefindelement.c: (find_peek):
12630           Handle negative offsets better. Fixes decodebin.
12631
12632 2005-05-09  Wim Taymans  <wim@fluendo.com>
12633
12634         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12635         (gst_base_transform_event):
12636         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12637         Implement accept_caps.
12638         Fix silly lock/unlock mismatch in base class.
12639
12640 2005-05-09  Wim Taymans  <wim@fluendo.com>
12641
12642         * docs/design/draft-push-pull.txt:
12643         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12644         * gst/elements/gstfilesink.c: (gst_filesink_init),
12645         (gst_filesink_query):
12646         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12647         (gst_type_find_handle_src_query), (find_element_get_length):
12648         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12649         * gst/gstelement.h:
12650         * gst/gstmessage.c:
12651         * gst/gstmessage.h:
12652         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12653         (gst_real_pad_get_caps_unlocked),
12654         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12655         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12656         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12657         (gst_real_pad_dispose), (gst_real_pad_finalize),
12658         (gst_pad_load_and_link), (gst_pad_save_thyself),
12659         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12660         (gst_pad_check_pull_range), (gst_pad_pull_range),
12661         (gst_pad_template_get_type), (gst_pad_template_class_init),
12662         (gst_pad_template_init), (gst_pad_template_dispose),
12663         (name_is_valid), (gst_static_pad_template_get),
12664         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12665         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12666         (gst_pad_get_element_private), (gst_pad_start_task),
12667         (gst_pad_pause_task), (gst_pad_stop_task),
12668         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12669         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12670         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12671         (gst_ghost_pad_new):
12672         * gst/gstpad.h:
12673         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12674         (gst_query_new_position), (gst_query_set_position),
12675         (gst_query_parse_position), (gst_query_new_convert),
12676         (gst_query_set_convert), (gst_query_parse_convert):
12677         * gst/gstquery.h:
12678         * gst/gstqueryutils.c:
12679         * gst/gstqueryutils.h:
12680         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12681         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12682         (gst_queue_handle_src_query):
12683         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12684         (gst_element_query_position), (gst_element_query_convert),
12685         (intersect_caps_func), (gst_pad_query_position),
12686         (gst_pad_query_convert):
12687         * gst/gstutils.h:
12688         * tools/gst-inspect.c: (print_pad_info):
12689         * tools/gst-xmlinspect.c: (print_element_info):
12690         Remove old query functions. Ported old code.
12691         Added position/convert helper functions to gstutils.
12692         Reordered gstpad.c code, grouping relevant things.
12693         Remove gst_message_new(), always need to speficy a specific
12694         message.
12695
12696
12697 2005-05-09  Andy Wingo  <wingo@pobox.com>
12698
12699         * gst/gstiterator.h: Add some includes.
12700
12701         * gst/gstqueryutils.h: Include more headers.
12702
12703         * gst/gstpad.h:
12704         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12705         some uses of gst_pad_query.
12706
12707         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12708         NULL out parameters.
12709         (gst_query_new_position): New proc, allocates a new position
12710         query.
12711
12712         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12713         gstqueryutils.c to the build.
12714
12715         * gst/gststructure.c (gst_structure_set_valist): Implement with
12716         the generic G_VALUE_COLLECT.
12717         
12718 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12719
12720         * gst/Makefile.am: (gst_headers):
12721         Added gstqueryutils.h to the list of headers to install, that was
12722         a 'nachty' move wingo :)
12723
12724 2005-05-06  Andy Wingo  <wingo@pobox.com>
12725
12726         * gst/gstquery.h
12727         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12728         GstData, init a memchunk.
12729         (standard_definitions): Add a few query types, deprecate a few.
12730         (gst_query_get_type): New proc.
12731         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12732         implementation.
12733         (gst_query_new_application, gst_query_get_structure): New public
12734         procs.
12735
12736         * docs/design/draft-query.txt: Removed LINKS from the query types,
12737         because all the rest can be dispatched to other pads -- seemed
12738         ugly to have a query that couldn't be dispatched. internal_links
12739         is fine as a pad method.
12740
12741         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12742         in gstpad.c, but maintain binary compatibility for the moment.
12743         Will fix before 0.9 is out.
12744
12745         * gst/gstqueryutils.c: 
12746         * gst/gstqueryutils.h: New files, implement 3 methods for each
12747         query type: parse_query, parse_response, and set. Probably need an
12748         allocator as well.
12749
12750         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12751
12752         * gst/elements/gstfilesink.c (gst_filesink_query2):
12753         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12754         query_types, and formats methods.
12755
12756         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12757         (gst_pad_set_query2_function): New functions.
12758         (gst_real_pad_init): Set query2_default as the default query2
12759         function. Basically just dispatches to internally linked pads.
12760
12761         Needs review!
12762         
12763         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12764         without using the atomic operations. Only one thread can possibly
12765         be accessing the data at this point. Changed so as to avoid
12766         gst_atomic operations.
12767
12768 2005-05-06  Wim Taymans  <wim@fluendo.com>
12769
12770         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12771         Also set caps if we use the fallback buffer alloc.
12772
12773 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12774
12775         * docs/gst/Makefile.am:
12776         * docs/gst/gstreamer-docs.sgml:
12777         * docs/gst/gstreamer-sections.txt:
12778         * docs/gst/tmpl/gstatomic.sgml:
12779         * docs/gst/tmpl/gstmemchunk.sgml:
12780         * testsuite/elements/struct_i386.h:
12781         * win32/GStreamer.vcproj:
12782         * win32/Makefile:
12783           Purge GstAtomic stuff from docs and win32 makefiles as well
12784
12785 2005-05-06  Wim Taymans  <wim@fluendo.com>
12786
12787         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12788         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12789         * gst/gstpad.c: (gst_pad_peer_get_caps):
12790         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12791         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12792         (gst_queue_src_activate), (gst_queue_change_state):
12793         * gst/gstqueue.h:
12794         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12795         (intersect_caps_func):
12796         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12797         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12798         Some fixes for the peer_get_caps() change.
12799
12800 2005-05-06  Wim Taymans  <wim@fluendo.com>
12801
12802         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12803         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12804         (gst_basesink_activate):
12805         Actually do something with error codes returned from the push
12806         functions.
12807
12808 2005-05-06  Wim Taymans  <wim@fluendo.com>
12809
12810         * docs/design/part-element-sink.txt:
12811         * docs/design/part-element-source.txt:
12812         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12813         (gst_basesink_event), (gst_basesink_activate):
12814         * gst/base/gstbasesink.h:
12815         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12816         (gst_basesrc_activate):
12817         * gst/base/gstbasesrc.h:
12818         * gst/gstelement.c: (gst_element_pads_activate):
12819         Some more documentation.
12820         Fixed scheduling decision in _pads_activate().
12821
12822 2005-05-05  Andy Wingo  <wingo@pobox.com>
12823
12824         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12825         the test suite.
12826
12827 2005-05-05  Wim Taymans  <wim@fluendo.com>
12828
12829         * gst/base/Makefile.am:
12830         * gst/base/gstbasesink.h:
12831         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12832         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12833         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12834         (gst_collectpads_class_init), (gst_collectpads_init),
12835         (gst_collectpads_finalize), (gst_collectpads_new),
12836         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12837         (find_pad), (gst_collectpads_remove_pad),
12838         (gst_collectpads_is_active), (gst_collectpads_collect),
12839         (gst_collectpads_collect_range), (gst_collectpads_start),
12840         (gst_collectpads_stop), (gst_collectpads_peek),
12841         (gst_collectpads_pop), (gst_collectpads_available),
12842         (gst_collectpads_read), (gst_collectpads_flush),
12843         (gst_collectpads_chain):
12844         * gst/base/gstcollectpads.h:
12845         * gst/elements/Makefile.am:
12846         * gst/elements/gstelements.c:
12847         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12848         (gst_fakesink_get_times), (gst_fakesink_event),
12849         (gst_fakesink_preroll), (gst_fakesink_render):
12850         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12851         (gst_filesink_init), (gst_filesink_set_location),
12852         (gst_filesink_open_file), (gst_filesink_close_file),
12853         (gst_filesink_pad_query), (gst_filesink_event),
12854         (gst_filesink_render), (gst_filesink_change_state):
12855         * gst/elements/gstfilesink.h:
12856         Added object to help in making collect pad based elements.
12857         Ported filesink.
12858         Make event function in sink baseclass return gboolean.
12859
12860 2005-05-05  Wim Taymans  <wim@fluendo.com>
12861
12862         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12863         (gst_bin_get_by_name):
12864         * gst/gstbuffer.h:
12865         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12866         (gst_clock_finalize):
12867         * gst/gstdata.c: (gst_data_replace):
12868         * gst/gstdata.h:
12869         * gst/gstelement.c: (gst_element_request_pad),
12870         (gst_element_pads_activate):
12871         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12872         (gst_object_unref):
12873         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12874         (gst_pad_set_checkgetrange_function),
12875         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12876         (gst_pad_check_pull_range), (gst_pad_pull_range),
12877         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12878         (gst_pad_pause_task), (gst_pad_stop_task):
12879         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12880         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12881         Fix name lookup in GstBin.
12882         Added _data_replace() function and _buffer_replace()
12883         Use finalize method to clean up clock.
12884         Fix refcounting on request pads.
12885         Fix pad schedule mode error.
12886         Some more object refcounting debug info,
12887
12888
12889 2005-05-04  Andy Wingo <wingo@pobox.com>
12890
12891         * check/Makefile.am:
12892         * docs/gst/tmpl/gstatomic.sgml:
12893         * docs/gst/tmpl/gstplugin.sgml:
12894         * gst/base/gstbasesink.c: (gst_basesink_activate):
12895         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12896         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12897         (gst_basesrc_query), (gst_basesrc_set_property),
12898         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12899         (gst_basesrc_activate):
12900         * gst/base/gstbasesrc.h:
12901         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12902         (gst_base_transform_src_activate):
12903         * gst/elements/gstelements.c:
12904         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12905         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12906         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12907         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12908         (gst_type_find_element_checkgetrange),
12909         (gst_type_find_element_activate):
12910         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12911         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12912         (gst_caps_load_thyself):
12913         * gst/gstelement.c: (gst_element_pads_activate),
12914         (gst_element_save_thyself), (gst_element_restore_thyself):
12915         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12916         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12917         * gst/gstpad.h:
12918         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12919         (gst_xml_parse_file), (gst_xml_parse_memory),
12920         (gst_xml_get_element), (gst_xml_make_element):
12921         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12922         (_file_index_id_save_xml), (gst_file_index_commit):
12923         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12924         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12925         (load_paths):
12926         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12927         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12928         * tools/gst-complete.c: (main):
12929         * tools/gst-compprep.c: (main):
12930         * tools/gst-inspect.c: (print_element_properties_info):
12931         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12932         * tools/gst-xmlinspect.c: (print_element_properties):
12933         GCC 4 fixen.
12934         
12935 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12936
12937         * gst/gstplugin.c: (gst_plugin_check_module),
12938         (gst_plugin_check_file), (gst_plugin_load_file):
12939             apply patch from #172526 to make register work on MacOSX
12940
12941 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12942
12943         * docs/gst/tmpl/gstconfig.sgml:
12944         * gst/gstconfig.h.in:
12945           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12946         * testsuite/debug/printf_extension.c: (main):
12947           Do not use GST_PTR_FORMAT on pointers to types with
12948           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12949         * testsuite/elements/property.h:
12950           use correct printf format
12951
12952 2005-05-02  Wim Taymans  <wim@fluendo.com>
12953
12954         * docs/design/draft-push-pull.txt:
12955         * docs/design/draft-query.txt:
12956         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12957         (gst_basesrc_start):
12958         Added draft for new query API.
12959         Added draft for better selecting scheduling methods.
12960         Make basesrc ignore length if the subclass does not support
12961         it.
12962
12963 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12964
12965         * gst/Makefile.am:
12966           possible fixes for automake-1.5 - _LIBADD is reserved
12967
12968 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12969
12970         * docs/faq/Makefile.am:
12971         * docs/manual/Makefile.am:
12972         * docs/manuals.mak:
12973         * docs/pwg/Makefile.am:
12974         * gst/Makefile.am:
12975           possible fixes for automake-1.5
12976
12977 2005-04-28  Wim Taymans  <wim@fluendo.com>
12978
12979         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12980         (gst_basesink_pad_getcaps), (gst_basesink_init),
12981         (gst_basesink_do_sync):
12982         * gst/gstclock.c: (gst_clock_entry_new):
12983         * gst/gstevent.c: (gst_event_discont_get_value):
12984         * gst/gstpipeline.c: (pipeline_bus_handler),
12985         (gst_pipeline_change_state):
12986         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12987         Better debugging of clocking info.
12988         Allow NULL values when getting discont values.
12989
12990 2005-04-27  Wim Taymans  <wim@fluendo.com>
12991
12992         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12993         * check/gst/gstpad.c: (gst_pad_suite):
12994         Increase timeout for checks.
12995
12996 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12997
12998         * check/Makefile.am:
12999           fix the broken rule for cleanup.  Apparently this rule is
13000           only needed on FC2, so maybe this warrants further autotool
13001           inspection.
13002
13003 2005-04-26  Wim Taymans  <wim@fluendo.com>
13004
13005         * gst/gsttrashstack.h:
13006         Ooohh. a nasty one! After having a failed pop() from the stack,
13007         it's possible that the stack is empty. In that case, don't
13008         follow the NULL pointer.
13009
13010 2005-04-25  Wim Taymans  <wim@fluendo.com>
13011
13012         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13013         (gst_pad_set_checkgetrange_function),
13014         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13015         (gst_pad_check_pull_range), (gst_pad_pull_range),
13016         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13017         (gst_pad_pause_task), (gst_pad_stop_task):
13018         * gst/gstplugin.c: (gst_plugin_load):
13019         * gst/gstplugin.h:
13020         Remove gst_library_load as it does more harm than good with
13021         the new g_module flags.
13022         Revert bogus caps template check in pad linking, pad caps
13023         are important when linking not the template, which is more
13024         general than the current caps.
13025
13026 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13027
13028         * gst/autoplug/.cvsignore:
13029         * gst/autoplug/Makefile.am:
13030         * gst/autoplug/gstsearchfuncs.c:
13031         * gst/autoplug/gstsearchfuncs.h:
13032         * gst/autoplug/gstspider.c:
13033         * gst/autoplug/gstspider.h:
13034         * gst/autoplug/gstspideridentity.c:
13035         * gst/autoplug/gstspideridentity.h:
13036         * gst/autoplug/spidertest.c:
13037           Die, spider, die.
13038
13039 2005-04-25  Wim Taymans  <wim@fluendo.com>
13040
13041         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13042         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13043         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13044         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13045         * gst/gstpad.h:
13046         Added stubs for unimplemented functions. 
13047
13048 2005-04-24  David Schleef  <ds@schleef.org>
13049
13050         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13051         please fix.
13052
13053 2005-04-24  David Schleef  <ds@schleef.org>
13054
13055         Convert everything from GstAtomicInt to g_atomic_int_*, and
13056         remove gstatomic.
13057         * gst/Makefile.am:
13058         * gst/gstatomic.c:
13059         * gst/gstatomic.h:
13060         * gst/gstatomic_impl.h:
13061         * gst/gstbuffer.c:
13062         * gst/gstcaps.c:
13063         * gst/gstcaps.h:
13064         * gst/gstclock.c:
13065         * gst/gstclock.h:
13066         * gst/gstdata.c:
13067         * gst/gstdata.h:
13068         * gst/gstdata_private.h:
13069         * gst/gstevent.c:
13070         * gst/gstinfo.c:
13071         * gst/gstinfo.h:
13072         * gst/gstmessage.c:
13073         * gst/gstobject.c:
13074         * gst/gstobject.h:
13075         * gst/gststructure.c:
13076         * gst/gststructure.h:
13077         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13078         * gst/gstutils.h:
13079
13080 2005-04-24  David Schleef  <ds@schleef.org>
13081
13082         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13083         make the regressions tests work.  Remove some code that is no
13084         longer true.
13085         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13086         Disable warning for pads without templates.
13087
13088 2005-04-24  David Schleef  <ds@schleef.org>
13089
13090         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
13091         functions that handle filtered links.
13092         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13093         removed functions.
13094         * gst/gstutils.c: Fix/remove utility functions that handle
13095         filtered caps.
13096         * gst/gstutils.h:
13097         * gst/gstvalue.c: Add serialization/deserialization of caps
13098         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
13099         requires fixing so that the filter caps notation creates
13100         a capsfilter element and sets the filter_caps property.  I
13101         think everyone probably wants to keep the shorthand notation.
13102         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13103         * docs/gst/tmpl/gstpad.sgml:
13104
13105         * gst/elements/gstelements.c: Register capsfilter element.
13106         * gst/Makefile.am: fix spacing
13107         * docs/random/ds/0.9-suggested-changes: random
13108
13109 2005-04-23  David Schleef  <ds@schleef.org>
13110
13111         * gst/elements/Makefile.am:
13112         * gst/elements/gstcapsfilter.c: New element that acts like an
13113         identity, but filters caps.  Will eventually replace filtered
13114         caps in pad linking.
13115         * gst/gstutils.c: (gst_element_create_all_pads): New function
13116         to create all the ALWAYS pads that are registered with an
13117         element class.  This functionality should eventually be
13118         merged in with GstElement initialization.
13119         * gst/gstutils.h:
13120         * testsuite/trigger/README: part of trigger test code that should
13121         have been checked in a long time ago.
13122
13123 2005-04-23  David Schleef  <ds@schleef.org>
13124
13125         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
13126         needed with new versions of libtool (nobody will confirm this),
13127         and hard to carry around.
13128         * gst/autoplug/Makefile.am:
13129         * gst/base/Makefile.am:
13130         * gst/elements/Makefile.am:
13131         * gst/indexers/Makefile.am:
13132         * gst/schedulers/Makefile.am:
13133         * libs/gst/bytestream/Makefile.am:
13134         * libs/gst/control/Makefile.am:
13135         * libs/gst/dataprotocol/Makefile.am:
13136         * libs/gst/getbits/Makefile.am:
13137
13138 2005-04-21  Wim Taymans  <wim@fluendo.com>
13139
13140         * docs/design/draft-push-pull.txt:
13141         * docs/design/part-MT-refcounting.txt:
13142         * docs/design/part-TODO.txt:
13143         * docs/design/part-caps.txt:
13144         * docs/design/part-events.txt:
13145         * docs/design/part-gstbus.txt:
13146         * docs/design/part-gstpipeline.txt:
13147         * docs/design/part-messages.txt:
13148         * docs/design/part-push-pull.txt:
13149         * docs/design/part-query.txt:
13150         Some more docs.
13151
13152 2005-04-21  Wim Taymans  <wim@fluendo.com>
13153
13154         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13155         (gst_message_new), (gst_message_new_error),
13156         (gst_message_new_warning), (gst_message_new_tag),
13157         (gst_message_new_state_changed), (gst_message_new_application),
13158         (gst_message_get_structure):
13159         * gst/gstmessage.h:
13160         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13161         (gst_structure_copy_conditional):
13162         Use parent refcount in GstMessage to ensure GstStructure
13163         consistency.
13164         Cleaned up headers a bit.
13165         
13166
13167 2005-04-20  Wim Taymans  <wim@fluendo.com>
13168
13169         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13170         (gst_basesink_pad_getcaps), (gst_basesink_init),
13171         (gst_basesink_chain_unlocked):
13172         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13173         (gst_type_find_helper):
13174         * gst/elements/gsttypefindelement.c:
13175         (gst_type_find_element_have_type), (gst_type_find_element_init),
13176         (stop_typefinding), (gst_type_find_element_handle_event),
13177         (find_suggest), (gst_type_find_element_chain),
13178         (gst_type_find_element_checkgetrange),
13179         (gst_type_find_element_getrange), (do_typefind),
13180         (gst_type_find_element_activate):
13181         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13182         (gst_buffer_default_free), (gst_buffer_default_copy),
13183         (gst_buffer_set_caps):
13184         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13185         (gst_caps_replace):
13186         * gst/gstmessage.c: (gst_message_new),
13187         (gst_message_new_state_changed):
13188         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13189         (gst_pad_set_checkgetrange_function),
13190         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13191         (gst_pad_set_caps), (gst_pad_check_pull_range),
13192         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13193         * gst/gstpad.h:
13194         * gst/gsttypefind.c: (gst_type_find_register):
13195         Make gst_caps_replace() work like other _replace() functions.
13196         Use _caps_replace() where possible.
13197         Make sure _message_new() initialises its field.
13198         Add gst_static_pad_template_get_caps()
13199
13200
13201 2005-04-18  Andy Wingo  <wingo@pobox.com>
13202
13203         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13204         on the peer, not the pad. I think that was a typo. Pass an extra
13205         arg to see if random access is possible. Activate the pads as
13206         PULL_RANGE if possible.
13207
13208         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13209
13210         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
13211         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13212         to PROP_....
13213
13214 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13215
13216         * docs/faq/using.xml:
13217           Add note on gstreamer-properties (#154996).
13218
13219 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13220
13221         * docs/random/bbb/optional-properties:
13222           Some analysis on optional properties.
13223
13224 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13225
13226         * docs/gst/tmpl/gstelementfactory.sgml:
13227         * gst/gstelement.h:
13228         * gst/gstelementfactory.c: (gst_element_factory_init),
13229         (gst_element_factory_cleanup), (gst_element_register),
13230         (__gst_element_factory_add_static_pad_template),
13231         (gst_element_factory_get_static_pad_templates),
13232         (gst_element_factory_can_src_caps),
13233         (gst_element_factory_can_sink_caps):
13234         * gst/registries/Makefile.am:
13235         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13236         (gst_xml_registry_class_init), (gst_xml_registry_init),
13237         (gst_xml_registry_new), (gst_xml_registry_set_property),
13238         (gst_xml_registry_get_property), (get_time), (make_dir),
13239         (gst_xml_registry_get_perms_func),
13240         (plugin_times_older_than_recurse), (plugin_times_older_than),
13241         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13242         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13243         (add_to_char_array), (read_string), (read_uint), (read_enum),
13244         (load_pad_template), (load_feature), (load_plugin), (load_paths),
13245         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13246         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13247         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13248         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13249         (gst_xml_registry_rebuild):
13250         * gst/registries/gstlibxmlregistry.h:
13251         * tools/gst-compprep.c: (main):
13252         * tools/gst-inspect.c: (print_pad_templates_info):
13253         * tools/gst-xmlinspect.c: (print_element_info):
13254           Use libxml2 for registry parsing, use staticpadtemplates in
13255           elementfactories. Makes gst_init() +/- 10x faster.
13256
13257 2005-04-12  Wim Taymans  <wim@fluendo.com>
13258
13259         * gst/base/Makefile.am:
13260         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13261         (gst_basesink_pad_getcaps), (gst_basesink_init),
13262         (gst_basesink_event), (gst_basesink_change_state):
13263         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13264         (gst_basesrc_init), (gst_basesrc_query),
13265         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13266         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13267         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13268         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13269         (gst_basesrc_stop), (gst_basesrc_activate),
13270         (gst_basesrc_change_state):
13271         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13272         (helper_find_suggest), (gst_type_find_helper):
13273         * gst/base/gsttypefindhelper.h:
13274         * gst/elements/Makefile.am:
13275         * gst/elements/gstelements.c:
13276         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13277         (gst_fakesink_get_times), (gst_fakesink_event),
13278         (gst_fakesink_preroll), (gst_fakesink_render):
13279         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13280         (gst_fakesrc_init), (gst_fakesrc_event_handler),
13281         (gst_fakesrc_get_property), (gst_fakesrc_create),
13282         (gst_fakesrc_start), (gst_fakesrc_stop):
13283         * gst/elements/gstfakesrc.h:
13284         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
13285         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13286         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13287         (gst_filesrc_create_read), (gst_filesrc_create),
13288         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
13289         (gst_filesrc_start):
13290         * gst/elements/gsttypefindelement.c:
13291         (gst_type_find_element_have_type), (gst_type_find_element_init),
13292         (start_typefinding), (stop_typefinding), (push_buffer_store),
13293         (gst_type_find_element_handle_event),
13294         (gst_type_find_element_chain),
13295         (gst_type_find_element_checkgetrange),
13296         (gst_type_find_element_getrange), (do_typefind),
13297         (gst_type_find_element_activate),
13298         (gst_type_find_element_change_state):
13299         * gst/elements/gsttypefindelement.h:
13300         * gst/gstpipeline.c: (pipeline_bus_handler):
13301         Added typefind helper.
13302         Small preroll fix in the base sink.
13303         Disable typefind code in basesrc.
13304         Crude port of typefindelement.
13305         Fakesrc cleanups.
13306
13307
13308 2005-04-11  Wim Taymans  <wim@fluendo.com>
13309
13310         * check/gst/gstbus.c: (gstbus_suite):
13311         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13312         * check/gstcheck.h:
13313           Fix up the timeout so that the test does not fail.
13314
13315 2005-04-06  Wim Taymans  <wim@fluendo.com>
13316
13317         * gst/base/README:
13318         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13319         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13320         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13321         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13322         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13323         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13324         (gst_basesrc_stop), (gst_basesrc_activate),
13325         (gst_basesrc_change_state), (basesrc_find_peek),
13326         (basesrc_find_suggest), (gst_basesrc_type_find):
13327         * gst/base/gstbasesrc.h:
13328         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13329         (gst_filesrc_class_init), (gst_filesrc_init),
13330         (gst_filesrc_finalize), (gst_filesrc_set_location),
13331         (gst_filesrc_set_property), (gst_filesrc_get_property),
13332         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13333         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13334         (gst_filesrc_create_read), (gst_filesrc_create),
13335         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13336         * gst/elements/gstfilesrc.h:
13337         * gst/gstelement.c: (gst_element_get_state_func),
13338         (gst_element_lost_state), (gst_element_pads_activate):
13339         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13340         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13341         (gst_pad_pull_range):
13342         * gst/gstpad.h:
13343         More work on the generic source base class, implement seeking,
13344         query.
13345         Make filesrc extend the base source class.
13346         Added gst_pad_set_checkgetrange_function to GstPad.
13347
13348 2005-04-06  Andy Wingo  <wingo@pobox.com>
13349
13350         * pkgconfig/gstreamer-base.pc.in:
13351         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13352
13353         * pkgconfig/Makefile.am:
13354         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13355
13356 2005-04-04  Wim Taymans  <wim@fluendo.com>
13357
13358         * gst/base/Makefile.am:
13359         * gst/base/README:
13360         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13361         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13362         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13363         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13364         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13365         (gst_basesrc_base_init), (gst_basesrc_class_init),
13366         (gst_basesrc_init), (gst_basesrc_get_formats),
13367         (gst_basesrc_get_query_types), (gst_basesrc_query),
13368         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13369         (gst_basesrc_set_property), (gst_basesrc_get_property),
13370         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13371         (gst_basesrc_loop), (gst_basesrc_activate),
13372         (gst_basesrc_change_state):
13373         * gst/base/gstbasesrc.h:
13374         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13375         (gst_fakesrc_class_init), (gst_fakesrc_init),
13376         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13377         (gst_fakesrc_get_property), (gst_fakesrc_create):
13378         * gst/elements/gstfakesrc.h:
13379         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13380         (gst_filesrc_open_file), (gst_filesrc_loop),
13381         (gst_filesrc_activate), (filesrc_find_peek),
13382         (gst_filesrc_type_find):
13383         Made base source class, make fakesrc extend it.
13384         Add comments to basesink class.
13385         Some filesrc cleanup.
13386
13387 2005-03-31  David Schleef  <ds@schleef.org>
13388
13389         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13390         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13391         expected to link against libgstreamer.
13392         * gst/base/Makefile.am: link against libgstreamer
13393         * gst/elements/Makefile.am: same
13394
13395 2005-03-31  Andy Wingo  <wingo@pobox.com>
13396
13397         * tests/instantiate/Makefile.am:
13398         * tests/instantiate/caps.c: Add test to test speed of caps copy
13399         and free.
13400
13401         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13402         GMemChunk to be fair.
13403
13404         * gst/gsttrashstack.h: Remove warning about using the fallback
13405         trash stack implementation, it's still faster than malloc.
13406
13407 2005-03-30  Andy Wingo  <wingo@pobox.com>
13408
13409         * tests/complexity.c: Add a copyright.
13410
13411 2005-03-31  Wim Taymans  <wim@fluendo.com>
13412
13413         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13414         (gst_base_transform_class_init), (gst_base_transform_init),
13415         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13416         (gst_base_transform_get_property),
13417         (gst_base_transform_sink_activate),
13418         (gst_base_transform_src_activate),
13419         (gst_base_transform_change_state):
13420         * gst/base/gstbasetransform.h:
13421         * gst/elements/gstidentity.c: (gst_identity_class_init),
13422         (gst_identity_event), (gst_identity_check_perfect),
13423         (gst_identity_transform), (gst_identity_start),
13424         (gst_identity_stop):
13425         Added start/stop methods to transform base class so subclasses 
13426         don't need to deal with state changes even.
13427
13428 2005-03-31  Wim Taymans  <wim@fluendo.com>
13429
13430         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
13431         (gst_event_new_discontinuous), (gst_event_discont_get_value):
13432         * gst/gstevent.h:
13433         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13434         (gst_pad_pull_range):
13435         Added rate to the discont event to prepare for variable speed
13436         and reverse playback.
13437
13438 2005-03-29  David Schleef  <ds@schleef.org>
13439
13440         * configure.ac:
13441         * testsuite/trigger/Makefile.am:
13442         * testsuite/trigger/trigger.c: A little example program to show
13443         how trigger-based elements can work.
13444
13445 2005-03-29  Wim Taymans  <wim@fluendo.com>
13446
13447         * gst/base/Makefile.am:
13448         * gst/base/README:
13449         * gst/base/gstbasesink.c: (gst_basesink_get_type),
13450         (gst_basesink_base_init), (gst_basesink_class_init),
13451         (gst_basesink_pad_getcaps), (gst_basesink_init),
13452         (gst_basesink_activate), (gst_basesink_change_state):
13453         * gst/base/gstbasesink.h:
13454         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13455         (gst_base_transform_base_init), (gst_base_transform_finalize),
13456         (gst_base_transform_class_init), (gst_base_transform_init),
13457         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13458         (gst_base_transform_event), (gst_base_transform_getrange),
13459         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13460         (gst_base_transform_set_property),
13461         (gst_base_transform_get_property),
13462         (gst_base_transform_sink_activate),
13463         (gst_base_transform_src_activate),
13464         (gst_base_transform_change_state):
13465         * gst/base/gstbasetransform.h:
13466         * gst/elements/gstidentity.c: (gst_identity_finalize),
13467         (gst_identity_class_init), (gst_identity_init),
13468         (gst_identity_event), (gst_identity_check_perfect),
13469         (gst_identity_transform), (gst_identity_set_property),
13470         (gst_identity_get_property), (gst_identity_change_state):
13471         * gst/elements/gstidentity.h:
13472         * gst/gstelement.c: (gst_element_get_state_func),
13473         (gst_element_lost_state), (gst_element_pads_activate):
13474         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13475         (gst_pad_check_pull_range), (gst_pad_pull_range):
13476         * gst/gstpad.h:
13477         Simplify pad activation.
13478         Added function to check if pull_range can be performed.
13479         Error out when pulling inactive or flushing pads.
13480         Removed const from refcounted types as it does not make sense.
13481         Simplify pad templates in basesink
13482         Added base class for simple 1-to-1 transforms.
13483         Make identity subclass the base transform.
13484
13485 2005-03-29  Andy Wingo  <wingo@pobox.com>
13486
13487         * docs/libs/gstreamer-libs-overrides.txt: 
13488         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13489         really don't understand what's going on, but like whatever. I want
13490         green buildbot!
13491
13492         * docs/gst/Makefile.am:
13493         * docs/libs/Makefile.am: Dist the overrides files.
13494
13495         * check/Makefile.am (clean-local): Remove .libs directories.
13496
13497         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13498         elements to EXTRA_DIST, so po/ files are happy.
13499
13500         * po/POTFILES.in: Er, remove it here.
13501
13502         * po/POTFILES: Remove gstspider.c.
13503
13504         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13505
13506         * docs/libs/gstreamer-libs-docs.sgml: 
13507         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13508         bytestream.
13509
13510         * tests/complexity.c (main): Set the length of the preroll queue
13511         on the sinks to prevent a lockup.
13512
13513         * libs/gst/dataprotocol/Makefile.am: 
13514         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13515         the same as the one in check/gst-libs/gdp.c.
13516
13517         * po/, docs/gst/: Commit automatic changes to docs and po files.
13518
13519         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13520         the versioned libgstbase.
13521
13522         * check/Makefile.am: Depend on an unversioned gst-register, seems
13523         to make autoconf happier.
13524
13525         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13526
13527 2005-03-28  Wim Taymans  <wim@fluendo.com>
13528
13529         * configure.ac:
13530         * docs/design/part-gstelement.txt:
13531         * docs/design/part-negotiation.txt:
13532         * docs/design/part-preroll.txt:
13533         * docs/design/part-scheduling.txt:
13534         * docs/design/part-states.txt:
13535         * gst/Makefile.am:
13536         * gst/base/Makefile.am:
13537         * gst/base/README:
13538         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13539         (gst_basesink_base_init), (gst_basesink_class_init),
13540         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13541         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13542         (gst_basesink_set_pad_functions),
13543         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13544         (gst_basesink_set_property), (gst_basesink_get_property),
13545         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13546         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13547         (gst_basesink_preroll_queue_push),
13548         (gst_basesink_preroll_queue_empty),
13549         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13550         (gst_basesink_event), (gst_basesink_get_times),
13551         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13552         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13553         (gst_basesink_loop), (gst_basesink_activate),
13554         (gst_basesink_change_state):
13555         * gst/base/gstbasesink.h:
13556         * gst/elements/Makefile.am:
13557         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13558         (gst_fakesink_class_init), (gst_fakesink_init),
13559         (gst_fakesink_set_property), (gst_fakesink_get_property),
13560         (gst_fakesink_get_times), (gst_fakesink_event),
13561         (gst_fakesink_preroll), (gst_fakesink_render),
13562         (gst_fakesink_change_state):
13563         * gst/elements/gstfakesink.h:
13564         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13565         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13566         * gst/gstelement.c: (gst_element_add_pad),
13567         (gst_element_get_state_func), (gst_element_abort_state),
13568         (gst_element_commit_state), (gst_element_lost_state),
13569         (gst_element_set_state), (gst_element_pads_activate):
13570         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13571         * gst/gstpipeline.c: (gst_pipeline_send_event),
13572         (gst_pipeline_change_state):
13573         Added state change code.
13574         Added/updated docs.
13575         Added sink base class, make fakesink extend the base class.
13576         Small cleanups in GstPipeline.
13577
13578 2005-03-26  David Schleef  <ds@schleef.org>
13579
13580         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13581         is broken and should be implemented in a different library.
13582         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13583         * gst/gst.h: remove gstcpu.h
13584         * gst/gstcpu.c: remove
13585         * gst/gstcpu.h: remove
13586         * gst/Makefile.am.future: Remove this file.  It's ancient.
13587
13588 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13589
13590         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13591         (gst_bin_send_event):
13592           Add default event/set_manager handlers. The set_manager handler
13593           takes care that the manager is distributed over kids that were
13594           already in the bin before the manager was set. The event handler
13595           is a utility virtual function that sends the event over all sinks,
13596           so that gst_element_send_event (bin, event); has the expected
13597           behaviour.
13598         * gst/gstpad.c: (gst_pad_event_default):
13599           Re-install default event handling for discontinuities, so that
13600           seeking works without requiring hacks in applications or extra
13601           code in sinks.
13602         * gst/gstpipeline.c: (gst_pipeline_class_init),
13603         (gst_pipeline_send_event):
13604           Half hack, half utility: set a pipeline to PAUSED for seek events,
13605           since that is the only way we can guarantee a/v sync. Means that
13606           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13607           and it "just works".
13608
13609 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13610
13611         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13612           Lock/unlock mismatch.
13613
13614 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13615
13616         * docs/faq/gst-uninstalled:
13617           add gst-plugins-base
13618         * docs/gst/Makefile.am:
13619           don't error out until docs are fixed
13620         * docs/gst/gstreamer.types:
13621           remove thread
13622
13623 2005-03-22  Wim Taymans  <wim@fluendo.com>
13624
13625         * check/Makefile.am:
13626         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13627         * gst/gststructure.c: (gst_structure_set_valist),
13628         (gst_structure_copy_conditional):
13629         Activated more tests.
13630         Added message test.
13631         Added G_TYPE_POINTER to GstStructure.
13632         
13633
13634 2005-03-22  Wim Taymans  <wim@fluendo.com>
13635
13636         * docs/design/part-TODO.txt:
13637         * docs/design/part-events.txt:
13638         * docs/design/part-gstbin.txt:
13639         * docs/design/part-gstbus.txt:
13640         * docs/design/part-gstpipeline.txt:
13641         * docs/design/part-messages.txt:
13642         * gst/gstbus.c:
13643         * gst/gstmessage.c:
13644         Docs updates
13645
13646 2005-03-21  Wim Taymans  <wim@fluendo.com>
13647
13648         * gst/gstbus.c: (gst_bus_post):
13649         Fix copy-and-paste error.
13650
13651 2005-03-21  Wim Taymans  <wim@fluendo.com>
13652
13653         * check/Makefile.am:
13654         * gst/Makefile.am:
13655         * gst/elements/Makefile.am:
13656         * gst/elements/gstelements.c:
13657         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13658         (gst_fakesink_event), (gst_fakesink_chain):
13659         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13660         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13661         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13662         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13663         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13664         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13665         (gst_fakesrc_loop), (gst_fakesrc_activate),
13666         (gst_fakesrc_change_state):
13667         * gst/elements/gstfakesrc.h:
13668         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13669         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13670         (gst_filesrc_open_file), (gst_filesrc_loop),
13671         (gst_filesrc_activate), (gst_filesrc_change_state),
13672         (filesrc_find_peek), (filesrc_find_suggest),
13673         (gst_filesrc_type_find):
13674         * gst/elements/gstidentity.c: (gst_identity_finalize),
13675         (gst_identity_class_init), (gst_identity_init),
13676         (gst_identity_proxy_getcaps), (identity_queue_push),
13677         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13678         (gst_identity_getrange), (gst_identity_chain),
13679         (gst_identity_sink_loop), (gst_identity_src_loop),
13680         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13681         (gst_identity_set_property), (gst_identity_get_property),
13682         (gst_identity_change_state):
13683         * gst/elements/gstidentity.h:
13684         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13685         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13686         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13687         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13688         (gst_tee_sink_activate):
13689         * gst/elements/gsttee.h:
13690         * gst/gst.c: (gst_register_core_elements), (init_post):
13691         * gst/gst.h:
13692         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13693         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13694         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13695         (gst_bin_change_state):
13696         * gst/gstbin.h:
13697         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13698         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13699         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13700         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13701         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13702         (bus_watch_callback), (bus_watch_destroy),
13703         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13704         (poll_timeout), (gst_bus_poll):
13705         * gst/gstbus.h:
13706         * gst/gstcaps.h:
13707         * gst/gstdata.h:
13708         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13709         (gst_element_post_message), (gst_element_message_full),
13710         (gst_element_get_state_func), (gst_element_get_state),
13711         (gst_element_abort_state), (gst_element_commit_state),
13712         (gst_element_lost_state), (gst_element_set_state),
13713         (gst_element_pads_activate), (gst_element_change_state),
13714         (gst_element_dispose), (gst_element_set_manager_func),
13715         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13716         (gst_element_set_manager), (gst_element_get_manager),
13717         (gst_element_set_bus), (gst_element_get_bus),
13718         (gst_element_set_scheduler), (gst_element_get_scheduler):
13719         * gst/gstelement.h:
13720         * gst/gstevent.c: (gst_event_new_segment_seek),
13721         (gst_event_new_flush):
13722         * gst/gstevent.h:
13723         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13724         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13725         (gst_message_new_eos), (gst_message_new_error),
13726         (gst_message_new_warning), (gst_message_new_tag),
13727         (gst_message_new_state_changed), (gst_message_new_application),
13728         (gst_message_get_structure), (gst_message_parse_tag),
13729         (gst_message_parse_state_changed), (gst_message_parse_error),
13730         (gst_message_parse_warning):
13731         * gst/gstmessage.h:
13732         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13733         (gst_real_pad_set_property), (gst_pad_set_active),
13734         (gst_pad_is_active), (gst_pad_set_blocked_async),
13735         (gst_pad_set_blocked), (gst_pad_is_blocked),
13736         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13737         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13738         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13739         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13740         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13741         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13742         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13743         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13744         (gst_pad_set_caps), (gst_pad_configure_sink),
13745         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13746         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13747         (gst_real_pad_dispose), (gst_real_pad_finalize),
13748         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13749         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13750         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13751         * gst/gstpad.h:
13752         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13753         (pipeline_bus_handler), (gst_pipeline_change_state),
13754         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13755         * gst/gstpipeline.h:
13756         * gst/gstprobe.h:
13757         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13758         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13759         (gst_queue_link_src), (gst_queue_bufferalloc),
13760         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13761         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13762         (gst_queue_loop), (gst_queue_handle_src_event),
13763         (gst_queue_handle_src_query), (gst_queue_src_activate),
13764         (gst_queue_change_state):
13765         * gst/gstqueue.h:
13766         * gst/gstscheduler.c: (gst_scheduler_init),
13767         (gst_scheduler_dispose), (gst_scheduler_create_task),
13768         (gst_scheduler_factory_create):
13769         * gst/gstscheduler.h:
13770         * gst/gststructure.c: (gst_structure_get_type),
13771         (gst_structure_copy_conditional):
13772         * gst/gststructure.h:
13773         * gst/gsttaginterface.h:
13774         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13775         (gst_task_init), (gst_task_dispose), (gst_task_create),
13776         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13777         (gst_task_pause):
13778         * gst/gsttask.h:
13779         * gst/gstthread.c:
13780         * gst/gstthread.h:
13781         * gst/gsttypes.h:
13782         * gst/schedulers/Makefile.am:
13783         * gst/schedulers/cothreads_compat.h:
13784         * gst/schedulers/entryscheduler.c:
13785         * gst/schedulers/faircothreads.c:
13786         * gst/schedulers/faircothreads.h:
13787         * gst/schedulers/fairscheduler.c:
13788         * gst/schedulers/gstbasicscheduler.c:
13789         * gst/schedulers/gstoptimalscheduler.c:
13790         * gst/schedulers/gthread-cothreads.h:
13791         * gst/schedulers/threadscheduler.c:
13792         (gst_thread_scheduler_task_get_type),
13793         (gst_thread_scheduler_task_class_init),
13794         (gst_thread_scheduler_task_init),
13795         (gst_thread_scheduler_task_start),
13796         (gst_thread_scheduler_task_stop),
13797         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13798         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13799         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13800         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13801         (plugin_init):
13802         * libs/gst/Makefile.am:
13803         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13804         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13805         (gst_file_pad_parent_set):
13806         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13807         (gst_dp_event_from_packet):
13808         * tests/complexity.c: (main):
13809         * tests/mass_elements.c: (main):
13810         * testsuite/states/locked.c: (message_received), (main):
13811         * testsuite/states/parent.c: (main):
13812         * tools/gst-inspect.c: (print_element_flag_info),
13813         (print_implementation_info), (print_pad_info):
13814         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13815         (main):
13816         * tools/gst-md5sum.c: (event_loop), (main):
13817         * tools/gst-typefind.c: (main):
13818         * tools/gst-xmlinspect.c: (print_element_info):
13819         Next big merge.
13820         Added GstBus for mainloop integration.
13821         Added GstMessage for sending notifications on the bus.
13822         Added GstTask as an abstraction for pipeline entry points.
13823         Removed GstThread.
13824         Removed Schedulers.
13825         Simplified GstQueue for multithreaded core.
13826         Made _link threadsafe, removed old capsnego.
13827         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13828         Added pad blocking functions.
13829         Reworked scheduling functions in GstPad to prepare for
13830         scheduling updates soon.
13831         Moved events out of data stream.
13832         Simplified GstEvent types.
13833         Added return values to push/pull.
13834         Removed clocking from GstElement.
13835         Added prototypes for state change function for next merge.
13836         Removed iterate from bins and state change management.
13837         Fixed some elements, disabled others for now.
13838         Fixed -inspect and -launch.
13839         Added check for GstBus.
13840
13841 2005-03-10  Wim Taymans  <wim@fluendo.com>
13842
13843         * docs/design/part-MT-refcounting.txt:
13844         * docs/design/part-clocks.txt:
13845         * docs/design/part-gstelement.txt:
13846         * docs/design/part-gstobject.txt:
13847         * docs/design/part-standards.txt:
13848         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13849         (gst_bin_remove_func), (gst_bin_remove):
13850         * gst/gstbin.h:
13851         * gst/gstbuffer.c:
13852         * gst/gstcaps.h:
13853         * testsuite/clock/clock1.c: (main):
13854         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13855         (main):
13856         * testsuite/dlopen/loadgst.c: (do_test):
13857         * testsuite/refcounting/bin.c: (add_remove_test1),
13858         (add_remove_test2), (main):
13859         * testsuite/refcounting/element.c: (main):
13860         * testsuite/refcounting/element_pad.c: (main):
13861         * testsuite/refcounting/pad.c: (main):
13862         * tools/gst-launch.c: (sigint_handler_sighandler):
13863         * tools/gst-typefind.c: (main):
13864         Doc updates.
13865         Added doc about clock.
13866         removed gst_bin_iterate_recurse_up(), marked methods
13867         for removal.
13868         Fix more testsuites.
13869
13870 2005-03-09  Wim Taymans  <wim@fluendo.com>
13871
13872         * gst/gstpad.c: (gst_pad_get_direction),
13873         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13874         (gst_pad_collect_valist):
13875         * testsuite/bins/interface.c: (main):
13876         * testsuite/caps/audioscale.c: (test_caps):
13877         * testsuite/caps/caps.c: (test1), (test2), (test3):
13878         * testsuite/caps/deserialize.c: (main):
13879         * testsuite/caps/enumcaps.c: (main):
13880         * testsuite/caps/filtercaps.c: (main):
13881         * testsuite/caps/intersect2.c: (main):
13882         * testsuite/caps/random.c: (main):
13883         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13884         * testsuite/caps/sets.c: (check_caps):
13885         * testsuite/caps/simplify.c: (check_caps), (main):
13886         * testsuite/caps/subtract.c: (check_caps):
13887         Fix _pad_get_direction wrt ghostpads.
13888         Fix caps testsuite.
13889
13890 2005-03-09  Wim Taymans  <wim@fluendo.com>
13891
13892         * check/Makefile.am:
13893         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13894         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13895         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13896         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13897         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13898         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13899         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13900         (bin_element_is_sink), (gst_bin_iterate_sinks),
13901         (gst_bin_iterate_all_by_interface):
13902         * gst/gstbin.h:
13903         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13904         (gst_element_change_state), (gst_element_dispose),
13905         (gst_element_finalize), (gst_element_set_loop_function):
13906         * gst/gstelement.h:
13907         * gst/gstiterator.c: (find_custom_fold_func):
13908         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13909         (gst_pad_collectv), (gst_pad_collect_valist),
13910         (gst_pad_template_new):
13911         * gst/gstpipeline.c: (gst_pipeline_class_init),
13912         (gst_pipeline_dispose), (gst_pipeline_set_property),
13913         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13914         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13915         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13916         * gst/gstutils.h:
13917         * gst/schedulers/entryscheduler.c:
13918         * gst/schedulers/gstbasicscheduler.c:
13919         (gst_basic_scheduler_cothreaded_chain),
13920         (gst_basic_scheduler_chain_add_element):
13921         * testsuite/bins/interface.c: (main):
13922         Added GstBin test.
13923         Added GstSystemClock test.
13924         Implemented clock distribution code in GstBin.
13925         Implemented iterate sinks method for future use.
13926         Rearranged gstelement.h
13927         Fix GstIterator comparison bug.
13928         Moved some code to GstPipeline, mostly clocking related.
13929
13930 2005-03-09  Wim Taymans  <wim@fluendo.com>
13931
13932         * configure.ac:
13933         * gst/gst_private.h:
13934         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13935         (gst_bin_remove_func), (gst_bin_remove),
13936         (gst_bin_get_by_name_recurse_up):
13937         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13938         (gst_clock_id_compare_func), (gst_clock_id_wait),
13939         (gst_clock_id_wait_async), (gst_clock_init),
13940         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13941         * gst/gstelement.h:
13942         * gst/gstinfo.c: (_gst_debug_init):
13943         * gst/gstobject.h:
13944         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13945         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13946         * gst/gstpad.h:
13947         Bump version number, we're now 0.9.0
13948         Add future debugging category.
13949         Fix NULL _unref() in _get_by_name_recurse_up
13950         Rearrange gstpad.h.
13951         Update some docs.
13952
13953 2005-03-08  Wim Taymans  <wim@fluendo.com>
13954
13955         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13956         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13957         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13958         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13959         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13960         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13961         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13962         * gst/elements/gstidentity.c: (gst_identity_class_init):
13963         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13964         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13965         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13966         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13967         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13968         (gst_tee_link):
13969         * gst/gstelement.c: (gst_element_class_init),
13970         (gst_element_base_class_init), (gst_element_init),
13971         (gst_element_get_random_pad), (gst_element_wait_state_change),
13972         (gst_element_change_state), (gst_element_dispose),
13973         (gst_element_finalize), (gst_element_set_loop_function):
13974         * gst/gstelement.h:
13975         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13976         * gst/gstthread.c: (gst_thread_class_init),
13977         (gst_thread_release_children_locks), (gst_thread_change_state):
13978         * gst/schedulers/gstbasicscheduler.c:
13979         (gst_basic_scheduler_loopfunc_wrapper),
13980         (gst_basic_scheduler_chain_wrapper),
13981         (gst_basic_scheduler_src_wrapper),
13982         (gst_basic_scheduler_remove_element):
13983         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13984         Remove threadsafe properties. Fix elements because GObject
13985         complains when installing a property before declaring a
13986         set/get_property handler.
13987         Rearrange gstelement.h file, use STATE macros for state locks.
13988         Free mutexes in the finalize method instead of dispose.
13989
13990 2005-03-08  Wim Taymans  <wim@fluendo.com>
13991
13992         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13993         * gst/gstthread.c: (gst_thread_release_children_locks):
13994         Added parentage check.
13995         Fix build og GstThread again.
13996
13997 2005-03-08  Wim Taymans  <wim@fluendo.com>
13998
13999         * docs/design/part-MT-refcounting.txt:
14000         * docs/design/part-conventions.txt:
14001         * docs/design/part-gstobject.txt:
14002         * docs/design/part-relations.txt:
14003         * docs/design/part-standards.txt:
14004         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14005         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14006         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14007         (gst_bin_iterate_all_by_interface):
14008         * gst/gstbuffer.h:
14009         * gst/gstclock.h:
14010         * gst/gstelement.c: (gst_element_class_init),
14011         (gst_element_change_state), (gst_element_set_loop_function):
14012         * gst/gstelement.h:
14013         * gst/gstiterator.c:
14014         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14015         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14016         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14017         (gst_object_set_parent), (gst_object_unparent),
14018         (gst_object_check_uniqueness):
14019         * gst/gstobject.h:
14020         Docs updates, clean up some headers.
14021
14022 2005-03-07  Wim Taymans  <wim@fluendo.com>
14023
14024         * check/.cvsignore:
14025         * check/Makefile.am:
14026         * check/gst-libs/.cvsignore:
14027         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14028         * check/gst/.cvsignore:
14029         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14030         (START_TEST), (gstbus_suite), (main):
14031         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14032         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14033         (gst_data_suite), (main):
14034         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14035         (add_fold_func), (gstiterator_suite), (main):
14036         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14037         (thread_name_object), (thread_name_object_default),
14038         (gst_object_name_compare), (gst_object_suite), (main):
14039         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14040         (gst_pad_suite), (main):
14041         * check/gstcheck.c: (gst_check_log_message_func),
14042         (gst_check_log_critical_func), (gst_check_init):
14043         * check/gstcheck.h:
14044         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14045         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14046         Added checks.
14047
14048 2005-03-07  Wim Taymans  <wim@fluendo.com>
14049
14050         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14051         (gst_list_iterator_next), (gst_list_iterator_resync),
14052         (gst_list_iterator_free), (gst_iterator_new_list),
14053         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14054         (gst_iterator_free), (gst_iterator_push), (filter_next),
14055         (filter_resync), (filter_uninit), (filter_free),
14056         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14057         (gst_iterator_foreach), (find_custom_fold_func),
14058         (gst_iterator_find_custom):
14059         * gst/gstiterator.h:
14060         Added missing files.
14061
14062 2005-03-07  Wim Taymans  <wim@fluendo.com>
14063
14064         * Makefile.am:
14065         * configure.ac:
14066         * docs/design/part-MT-refcounting.txt:
14067         * docs/design/part-conventions.txt:
14068         * docs/design/part-gstobject.txt:
14069         * docs/design/part-relations.txt:
14070         * examples/mixer/mixer.c: (main):
14071         * examples/thread/thread.c: (eos), (main):
14072         * gst/Makefile.am:
14073         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14074         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14075         (gst_spider_plug_from_srcpad):
14076         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14077         (gst_spider_identity_change_state),
14078         (gst_spider_identity_sink_loop_type_finding):
14079         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14080         * gst/elements/gstidentity.c: (gst_identity_init):
14081         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14082         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14083         * gst/elements/gsttypefindelement.c: (free_entry):
14084         * gst/gst.c:
14085         * gst/gst.h:
14086         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14087         (gst_bin_set_clock_func), (gst_bin_auto_clock),
14088         (gst_bin_set_index), (gst_bin_set_element_sched),
14089         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14090         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14091         (gst_bin_iterate_elements), (iterate_child_recurse),
14092         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14093         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14094         (compare_interface), (gst_bin_get_by_interface),
14095         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14096         * gst/gstbin.h:
14097         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14098         (gst_buffer_default_free), (gst_buffer_default_copy),
14099         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14100         (gst_buffer_create_sub):
14101         * gst/gstbuffer.h:
14102         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14103         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14104         (gst_caps_unref), (gst_static_caps_get),
14105         (gst_caps_remove_and_get_structure), (gst_caps_append),
14106         (gst_caps_append_structure), (gst_caps_remove_structure),
14107         (gst_caps_copy_nth), (gst_caps_set_simple),
14108         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14109         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14110         (gst_caps_structure_intersect_field), (gst_caps_intersect),
14111         (gst_caps_structure_subtract_field), (gst_caps_subtract),
14112         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14113         (gst_caps_structure_figure_out_union),
14114         (gst_caps_switch_structures), (gst_caps_do_simplify),
14115         (gst_caps_replace), (gst_caps_from_string),
14116         (gst_caps_copy_conditional):
14117         * gst/gstcaps.h:
14118         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14119         (_gst_clock_id_free), (gst_clock_id_unref),
14120         (gst_clock_id_compare_func), (gst_clock_id_wait),
14121         (gst_clock_id_wait_async), (gst_clock_class_init),
14122         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14123         (gst_clock_get_time), (gst_clock_set_time_adjust),
14124         (gst_clock_set_property), (gst_clock_get_property):
14125         * gst/gstclock.h:
14126         * gst/gstcompat.h:
14127         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14128         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14129         * gst/gstdata.h:
14130         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14131         (gst_element_requires_clock), (gst_element_provides_clock),
14132         (gst_element_set_clock), (gst_element_clock_wait),
14133         (gst_element_wait), (gst_element_set_time_delay),
14134         (gst_element_is_indexable), (gst_element_add_pad),
14135         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14136         (pad_compare_name), (gst_element_get_static_pad),
14137         (gst_element_request_pad), (gst_element_get_request_pad),
14138         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14139         (gst_element_class_get_pad_template_list),
14140         (gst_element_class_get_pad_template), (gst_element_error_func),
14141         (gst_element_get_random_pad), (gst_element_get_event_masks),
14142         (gst_element_send_event), (gst_element_seek),
14143         (gst_element_get_query_types), (gst_element_query),
14144         (gst_element_get_formats), (gst_element_convert),
14145         (gst_element_is_locked_state), (gst_element_set_locked_state),
14146         (gst_element_sync_state_with_parent), (gst_element_change_state),
14147         (gst_element_finalize), (gst_element_yield),
14148         (gst_element_interrupt), (gst_element_set_scheduler),
14149         (gst_element_get_scheduler), (gst_element_set_loop_function):
14150         * gst/gstelement.h:
14151         * gst/gstevent.h:
14152         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14153         (gst_format_get_by_nick), (gst_format_get_details),
14154         (gst_format_iterate_definitions):
14155         * gst/gstformat.h:
14156         * gst/gstindex.c: (gst_index_gtype_resolver):
14157         * gst/gstinfo.c:
14158         * gst/gstinfo.h:
14159         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14160         (gst_mem_chunk_free):
14161         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14162         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14163         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14164         (gst_object_dispatch_properties_changed),
14165         (gst_object_set_name_default), (gst_object_set_name),
14166         (gst_object_get_name), (gst_object_set_name_prefix),
14167         (gst_object_get_name_prefix), (gst_object_set_parent),
14168         (gst_object_get_parent), (gst_object_unparent),
14169         (gst_object_check_uniqueness), (gst_object_save_thyself),
14170         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14171         (gst_object_set_property), (gst_object_get_property),
14172         (gst_object_get_path_string):
14173         * gst/gstobject.h:
14174         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14175         (gst_real_pad_init), (gst_real_pad_get_property),
14176         (gst_pad_custom_new), (gst_pad_get_direction),
14177         (gst_pad_set_active), (gst_pad_is_active),
14178         (gst_pad_set_event_function), (gst_pad_is_linked),
14179         (gst_pad_link_free), (gst_pad_link_intersect),
14180         (gst_pad_link_fixate), (gst_pad_set_caps),
14181         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14182         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14183         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14184         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14185         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14186         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14187         (gst_pad_realize), (gst_pad_get_allowed_caps),
14188         (gst_real_pad_dispose), (gst_real_pad_finalize),
14189         (gst_pad_collectv), (gst_pad_collect_valist),
14190         (gst_pad_template_dispose), (gst_pad_template_new),
14191         (gst_pad_get_internal_links):
14192         * gst/gstpad.h:
14193         * gst/gstpipeline.c: (gst_pipeline_dispose),
14194         (gst_pipeline_change_state):
14195         * gst/gstpipeline.h:
14196         * gst/gstplugin.c:
14197         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14198         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14199         * gst/gstpluginfeature.h:
14200         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14201         * gst/gstquery.c: (_gst_query_type_initialize),
14202         (gst_query_type_register), (gst_query_type_get_by_nick),
14203         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14204         * gst/gstquery.h:
14205         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14206         * gst/gstscheduler.c: (gst_scheduler_add_element),
14207         (gst_scheduler_factory_create):
14208         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14209         (gst_structure_free), (gst_structure_set_name),
14210         (gst_structure_id_set_value), (gst_structure_set_value),
14211         (gst_structure_set_valist), (gst_structure_remove_field),
14212         (gst_structure_remove_fields),
14213         (gst_structure_remove_fields_valist),
14214         (gst_structure_remove_all_fields), (gst_structure_foreach),
14215         (gst_structure_map_in_place),
14216         (gst_caps_structure_fixate_field_nearest_int),
14217         (gst_caps_structure_fixate_field_nearest_double):
14218         * gst/gststructure.h:
14219         * gst/gstsystemclock.c: (gst_system_clock_class_init),
14220         (gst_system_clock_init), (gst_system_clock_dispose),
14221         (gst_system_clock_async_thread),
14222         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14223         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14224         * gst/gstsystemclock.h:
14225         * gst/gsttag.c: (gst_tag_list_add_value_internal),
14226         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14227         * gst/gsttaginterface.c:
14228         * gst/gstthread.c: (gst_thread_dispose),
14229         (gst_thread_release_children_locks), (gst_thread_change_state),
14230         (gst_thread_main_loop):
14231         * gst/gsttrashstack.h:
14232         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14233         * gst/gsttypes.h:
14234         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14235         (gst_element_request_pad), (gst_element_get_pad_from_template),
14236         (gst_element_request_compatible_pad),
14237         (gst_element_get_compatible_pad_filtered),
14238         (gst_element_get_compatible_pad), (gst_element_state_get_name),
14239         (gst_element_link_pads_filtered), (gst_element_link_filtered),
14240         (gst_element_link_many), (gst_element_link),
14241         (gst_element_link_pads), (gst_element_unlink_pads),
14242         (gst_element_unlink_many), (gst_element_unlink),
14243         (gst_pad_can_link_filtered), (gst_pad_can_link),
14244         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14245         (gst_object_default_error), (gst_bin_add_many),
14246         (gst_bin_remove_many), (gst_element_populate_std_props),
14247         (gst_element_class_install_std_props), (gst_buffer_merge),
14248         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14249         (link_fold_func), (gst_pad_proxy_setcaps):
14250         * gst/gstutils.h:
14251         * gst/gstvalue.c: (gst_value_deserialize_string):
14252         * gst/parse/grammar.y:
14253         * gst/schedulers/gstbasicscheduler.c:
14254         (gst_basic_scheduler_cothreaded_chain),
14255         (gst_basic_scheduler_chain_recursive_add),
14256         (gst_basic_scheduler_pad_link):
14257         * gst/schedulers/gstoptimalscheduler.c:
14258         (get_group_schedule_function),
14259         (gst_opt_scheduler_state_transition),
14260         (gst_opt_scheduler_add_element), (element_get_reachables_func):
14261         * libs/gst/bytestream/bytestream.c:
14262         * libs/gst/dataprotocol/dataprotocol.c:
14263         (gst_dp_header_from_buffer):
14264         * po/nb.po:
14265         * po/ru.po:
14266         * tests/threadstate/threadstate2.c: (eos):
14267         * tools/gst-compprep.c: (main):
14268         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14269         (print_pad_info), (print_children_info):
14270         * tools/gst-launch.c: (idle_func), (main):
14271         * tools/gst-md5sum.c: (idle_func), (main):
14272         * tools/gst-xmlinspect.c: (print_element_info):
14273         First THREADED backport attempt, focusing on adding locks and
14274         making sure the API is threadsafe. Needs more work. More docs
14275         follow this week.
14276
14277 2005-02-24  Andy Wingo  <wingo@pobox.com>
14278
14279         * tests/bench-complexity.scm:
14280         * tests/complexity.gnuplot: New files, good for running complexity
14281         benchmarks.
14282
14283         * tests/Makefile.am:
14284         * tests/complexity.c: New test, sets up N elements, at each level
14285         teeing into M streams per element. Eeeenteresting.
14286
14287         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
14288         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
14289         running bench-mass_elements.scm.
14290
14291         * tests/bench-mass_elements.scm: New script, runs mass_elements
14292         for various numbers of identities, outputting the results to a
14293         file. Requires guile 1.6. Just for testing.
14294
14295 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14296
14297         * gst/schedulers/fairscheduler.c:
14298           compile with debug disabled
14299
14300 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14301
14302         * configure.ac:
14303           hunting season on 0.9 is now OPEN