CVS surgery + support to move base, check, and net out of gst and into libs/gst
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2
3         * check/Makefile.am:
4         * configure.ac:
5         * docs/gst/Makefile.am:
6         * gst/Makefile.am:
7         * gst/base/.cvsignore:
8         * gst/base/Makefile.am:
9         * gst/base/README:
10         * gst/base/gstadapter.c:
11         * gst/base/gstadapter.h:
12         * gst/base/gstbasesink.c:
13         * gst/base/gstbasesink.h:
14         * gst/base/gstbasesrc.c:
15         * gst/base/gstbasesrc.h:
16         * gst/base/gstbasetransform.c:
17         * gst/base/gstbasetransform.h:
18         * gst/base/gstcollectpads.c:
19         * gst/base/gstcollectpads.h:
20         * gst/base/gstpushsrc.c:
21         * gst/base/gstpushsrc.h:
22         * gst/base/gsttypefindhelper.c:
23         * gst/base/gsttypefindhelper.h:
24         * gst/check/Makefile.am:
25         * gst/check/gstcheck.c:
26         * gst/check/gstcheck.h:
27         * gst/net/Makefile.am:
28         * gst/net/gstnet.h:
29         * gst/net/gstnetclientclock.c:
30         * gst/net/gstnetclientclock.h:
31         * gst/net/gstnettimepacket.c:
32         * gst/net/gstnettimepacket.h:
33         * gst/net/gstnettimeprovider.c:
34         * gst/net/gstnettimeprovider.h:
35         * libs/gst/Makefile.am:
36         * libs/gst/base/Makefile.am:
37         * libs/gst/base/gstbasetransform.c:
38         * libs/gst/check/Makefile.am:
39         * plugins/elements/Makefile.am:
40         * po/POTFILES.in:
41           CVS surgery + support to move base, check, and net out of gst
42           and into libs/gst
43
44 2005-11-29  Andy Wingo  <wingo@pobox.com>
45
46         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
47
48         * gst/gststructure.h (struct _GstStructure): Only one pointer of
49         padding.
50
51         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
52
53         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
54
55         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
56
57         * gst/gstobject.h: (struct _GstObject): Only one pointer of
58         padding; reduces object size by about 30%. We don't expect
59         anything else to go into gstobject.
60
61         * gst/gstminiobject.h (struct _GstMiniObject)
62         (struct _GstMiniObjectClass): Only one pointer of padding; the
63         payload is only a pointer and two ints anyway. For the class there
64         are only two methods as well.
65         
66         * gst/gstelement.h (struct _GstElementClass): Removed
67         the state_changed signal callback, it is not used.
68
69 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
70
71         * docs/gst/gstreamer.types:
72           fix includes, though they are a little dinky
73
74 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
75
76         * check/Makefile.am:
77           look in the right place for elements, a lot more chance of
78           success
79         * gst/Makefile.am:
80           remove indexers and elements subdirs
81         * plugins/Makefile.am:
82           make indexers conditional
83
84 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
85
86         * Makefile.am:
87         * configure.ac:
88         * plugins/elements/Makefile.am:
89         * plugins/elements/gstcapsfilter.c:
90         * plugins/elements/gstfilesink.c:
91         * plugins/elements/gstfilesrc.c:
92         * plugins/elements/gstidentity.c:
93         * plugins/indexers/Makefile.am:
94           do CVS surgery and related build fixery to move elements
95           and indexers in a new gstreamer/plugins directory, out of the
96           gst/ directory
97
98 2005-11-29  Andy Wingo  <wingo@pobox.com>
99
100         * check/Makefile.am:
101         * pkgconfig/gstreamer-net-uninstalled.pc.in:
102         * pkgconfig/gstreamer-net.pc.in:
103         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
104         #322257.
105
106 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
107
108         * tools/Makefile.am:
109         * tools/gst-complete.1.in:
110         * tools/gst-complete.c:
111         * tools/gst-compprep.1.in:
112         * tools/gst-compprep.c:
113           removing -compprep and -complete
114
115 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
116
117         * gst/gstevent.c: (gst_event_new_new_segment),
118         (gst_event_parse_new_segment):
119         * gst/gstevent.h:
120           fix #320529 - clean up new_segment API and structure.
121           Let's hope everyone was using the methods, and not the structure.
122
123 2005-11-29  Edward Hervey  <edward@fluendo.com>
124
125         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
126         (gst_base_sink_event), (gst_base_sink_do_sync),
127         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
128         Properly handle non GST_FORMAT_TIME segment
129         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
130         Properly handle non GST_FORMAT_TIME segment
131         * gst/gstsegment.c:
132         This function is valid if the accumulator is 0 and the format
133         is different from the requested format.
134         
135 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
136
137         * docs/gst/gstreamer-sections.txt:
138         Add gst_query_new_seeking and gst_query_parse_seeking to the
139         docs.
140
141 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
142
143         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
144           Treat a pad alloc with new caps the same as if we were not
145           negotiated, in order to allow a changing upstream output
146           to produce a new format of data.
147
148 2005-11-29  Edward Hervey  <edward@fluendo.com>
149
150         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
151         (gst_base_transform_event), (gst_base_transform_eventfunc):
152         The event virtual method is now properly implemented, with a default
153         handler
154         Sub classes should call the parent_class event method. They should
155         return FALSE if they had a problem handling the given event, or don't
156         want GstBaseTransform to send that even downstream
157         * gst/elements/gstidentity.c: (gst_identity_class_init),
158         (gst_identity_init), (gst_identity_event),
159         (gst_identity_transform_ip), (gst_identity_set_property),
160         (gst_identity_get_property):
161         * gst/elements/gstidentity.h:
162         Added the single-segment boolean property.
163         If set to TRUE, it will output a single segment of data, starting from
164         0, will eat up all incoming newsegment, and modify the timestamp of the
165         buffers accordingly
166
167 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
168
169         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
170           Don't ref NULL target pad (#322751). Improve docs.
171
172 2005-11-29  Michael Smith  <msmith@fluendo.com>
173
174         * gst/gstregistryxml.c: (load_plugin):
175           Don't crash if we failed to load a feature from a plugin. 
176
177 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
178
179         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
180         (GST_START_TEST):
181           use more check API and less GLib API
182
183 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
184
185         * Makefile.am:
186           don't run checks if we don't have check
187         * common/check.mak:
188           remove the registry when running make torture
189         * docs/gst/gstreamer-sections.txt:
190           remove second multiply
191         * gst/gstqueue.c: (gst_queue_loop):
192           fix a compile warning when disabling debug
193
194 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
195
196         * gst/gstinfo.h:
197         Hey! Let's print the pad name if the pointer != NULL instead
198         of when it == NULL :-)
199
200 2005-11-28  Wim Taymans  <wim@fluendo.com>
201
202         * check/gst/gstutils.c: (GST_START_TEST):
203         Updated check, add some scaling accuracy checking code.
204
205         * gst/gstutils.c: (gst_util_div128_64),
206         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
207         (gst_util_uint64_scale_int):
208         Fix 6 times faster division code. Optimize for common 
209         1/1 and less common X/1 cases.
210
211 2005-11-28  Wim Taymans  <wim@fluendo.com>
212
213         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
214         More checks.
215
216         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
217         (do_linear_regression), (gst_clock_add_observation):
218         Cleanups.
219         Release lock when the clock cannot be slaved.
220         Catch the case where the regression returned an invalid denominator.
221
222         * gst/gstutils.c: (gst_util_div128_64_iterate),
223         (gst_util_div128_64), (gst_util_uint64_scale_int64),
224         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
225         Add protentially more performant non-iterative 128/64 divide function
226         that unfortunatly does not work yet.
227         Shortcut the trivial 0/X = 0 case.
228         Remove the warnings on overflow.
229
230 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
231
232         * gst/gstplugin.c: (gst_plugin_register_func):
233           everything causing a plugin not to load should be at least a WARNING
234
235 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
236
237         * docs/random/ensonic/dparams.txt:
238           some TODOs for the next dev cycle
239         * libs/gst/controller/gstcontroller.c:
240         (gst_controlled_property_set_interpolation_mode),
241         (gst_controlled_property_new):
242         * libs/gst/controller/gstcontroller.h:
243           use base type to assign acccessor functions
244
245 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
246
247         * check/Makefile.am:
248         Oops, that should have been top_srcdir
249
250 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
251
252         * check/Makefile.am:
253         * check/elements/fdsrc.c: (GST_START_TEST):
254         Use a cmdline define to specify the location of a file to use for
255         testing, to avoid breaking distcheck.
256
257 2005-11-28  Andy Wingo  <wingo@pobox.com>
258
259         * gst/gstpad.c (fixate_value): Use array functions for arrays.
260
261 2005-11-28  Edward Hervey  <edward@fluendo.com>
262
263         * tools/gst-launch.c: (main):
264         Clarify the output strings, makes it easier to translate.
265         Fixes #322626
266
267 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
268
269         * gst/Makefile.am:
270           don't try and build net if we don't even have <sys/socket.h>
271
272 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
273
274         * check/Makefile.am:
275         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
276         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
277           Add tests for fdsrc seekability
278
279         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
280         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
281         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
282         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
283         * gst/elements/gstfdsrc.h:
284           fdsrc should not be a 'live' source.
285           Implement seeking on seekable fd's.
286
287         * gst/gstquery.c: (gst_query_new_seeking),
288         (gst_query_parse_seeking):
289         * gst/gstquery.h:
290           Implement SEEKING query functions: 
291             *_new_seeking and *_parse_seeking
292
293 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
294
295         * gst/gstelement.c: (gst_element_dispose):
296           don't loop forever
297
298         * gst/gstiterator.c:
299         * gst/gststructure.c:
300           doc fixes
301
302         * libs/gst/controller/gstcontroller.c:
303         (gst_controlled_property_set_interpolation_mode):
304         * libs/gst/controller/gstcontroller.h:
305         * libs/gst/controller/gstinterpolation.c:
306         (interpolate_none_get_enum_value_array):
307           support controlling enums
308
309 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
310
311         * gst/gstvalue.c:
312           Improve documentation for gst_value_union().
313
314         * gst/gstvalue.h:
315           Change return value for union, intersect and subtract functions
316           from gint to gboolean.
317
318 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
319
320         * gst/gstvalue.c: (gst_value_serialize_any_list),
321         (gst_value_transform_any_list_string),
322         (gst_value_deserialize_list), (gst_value_deserialize_array),
323         (gst_value_set_int_range), (gst_value_deserialize_int_range),
324         (gst_value_set_double_range), (gst_value_deserialize_double_range),
325         (gst_value_set_fraction_range_full),
326         (gst_value_deserialize_fraction_range),
327         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
328         (gst_value_deserialize_boolean),
329         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
330         (gst_value_serialize_float), (gst_value_deserialize_float),
331         (gst_string_wrap), (gst_value_deserialize_string),
332         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
333         (gst_value_union_int_range_int_range),
334         (gst_value_intersect_int_range_int_range),
335         (gst_value_intersect_double_range_double_range),
336         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
337         (gst_value_subtract_int_range_int_range),
338         (gst_value_subtract_double_double_range),
339         (gst_value_subtract_double_range_double_range),
340         (gst_value_deserialize_fraction):
341         * gst/gstvalue.h:
342           Use gint, gdouble and gchar in our API instead of int, double and
343           char (and make usage in gstvalue.c more consistent).
344
345 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
346
347         * check/Makefile.am:
348         * libs/gst/controller/Makefile.am:
349         * libs/gst/dataprotocol/Makefile.am:
350           fix up Makefile.am and remove GST_ENABLE_NEW
351
352 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
353
354         * configure.ac:
355         * gst/Makefile.am:
356         * gst/base/Makefile.am:
357         * gst/check/Makefile.am:
358         * gst/elements/Makefile.am:
359         * gst/net/Makefile.am:
360           update LDFLAGS use some more
361
362 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
363
364         * common/m4/gst-doc.m4:
365           Fixes #312589
366
367 2005-11-26  Edward Hervey  <edward@fluendo.com>
368
369         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
370         This shouldn't issue a g_warning since it returns NULL if it
371         couldn't find the plugin, and all functions using this behave
372         properly on a NULL return. Switching to a GST_WARNING.
373
374 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
375
376         * gst/gstbin.c: (gst_bin_handle_message_func):
377         Don't leak clock messages.
378
379 2005-11-25  Wim Taymans  <wim@fluendo.com>
380
381         * gst/gstutils.c: (gst_util_uint64_scale_int64),
382         (gst_util_uint64_scale_int):
383         Optimisations, remove unneeded vars.
384
385 2005-11-25  Wim Taymans  <wim@fluendo.com>
386
387         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
388         Added more checks for the high precision uint64 cases.
389
390         * gst/gstutils.c: (gst_util_uint64_scale_int64),
391         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
392         Implement high precission (guint64 * guint64) / guint64.
393
394 2005-11-24  Wim Taymans  <wim@fluendo.com>
395
396         * gst/base/gstbasesrc.c: (gst_base_src_query):
397         Fix wrong percentage query.
398
399         * gst/gstutils.c: (gst_util_uint64_scale),
400         (gst_util_uint64_scale_int):
401         Add some more common cases that can be handled 
402         efficiently to _scale.
403
404 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
405
406         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
407         (gst_mini_object_suite):
408           don't use check calls from threads; check probably isn't
409           threadsafe and using a lock to make it threadsafe would
410           defeat the purpose of this check
411         * gst/check/gstcheck.c:
412         * gst/check/gstcheck.h:
413           use GST_DEBUG some more
414
415 2005-11-24  Wim Taymans  <wim@fluendo.com>
416
417         * gst/gstutils.c: (gst_util_uint64_scale),
418         (gst_util_uint64_scale_int):
419         Chain trivial case to _scale_int.
420
421 2005-11-24  Wim Taymans  <wim@fluendo.com>
422
423         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
424         Added test for scaling.
425
426         * gst/gstclock.h:
427         Small doc fix.
428
429         * gst/gstutils.c: (gst_util_uint64_scale_int):
430         Implemented high precision scaling code.
431
432 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
433
434         * gst/gstinfo.h:
435           do not crash on pad==NULL
436
437 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
438
439         Patch by: Stefan Kost
440
441         * common/gtk-doc.mak:
442         * docs/gst/Makefile.am:
443         * docs/libs/Makefile.am:
444           Fix distcheck issues for the libraries docs build
445           Closes #319599.
446
447 2005-11-24  Michael Smith <msmith@fluendo.com>
448
449         * docs/manual/basics-helloworld.xml:
450           Fix bug #315027: memory leak in example code in docs.
451
452 2005-11-24  Michael Smith <msmith@fluendo.com>
453
454         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
455           Unlock the PREROLL_LOCK in a failure case.
456
457 2005-11-24  Wim Taymans  <wim@fluendo.com>
458
459         * docs/gst/gstreamer-sections.txt:
460         * gst/base/gstadapter.h:
461         * gst/base/gstbasesink.h:
462         * gst/base/gstbasesrc.h:
463         * gst/base/gstbasetransform.h:
464         * gst/base/gstpushsrc.h:
465         * gst/elements/gstfakesink.h:
466         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
467         * gst/elements/gstfakesrc.h:
468         * gst/elements/gstfilesink.h:
469         * gst/elements/gstfilesrc.h:
470         * gst/gst.c:
471         * gst/gstbin.c:
472         * gst/gstbuffer.c: (_gst_buffer_copy):
473         * gst/gstbus.h:
474         * gst/gstcaps.c:
475         * gst/gstchildproxy.c:
476         * gst/gstclock.c:
477         * gst/gstelement.c:
478         * gst/gstelementfactory.c:
479         * gst/gstelementfactory.h:
480         * gst/gstevent.c:
481         * gst/gstghostpad.h:
482         * gst/gstindex.h:
483         * gst/gstinterface.h:
484         * gst/gstminiobject.c:
485         * gst/gstminiobject.h:
486         * gst/gstpad.c:
487         * gst/gstpad.h:
488         * gst/gstpadtemplate.h:
489         * gst/gstpipeline.h:
490         * gst/gstpluginfeature.h:
491         * gst/gstquery.h:
492         * gst/gstqueue.h:
493         * gst/gsttaglist.c:
494         * gst/gsttaglist.h:
495         * gst/gsttagsetter.c:
496         * gst/gsttagsetter.h:
497         * gst/gsttrace.c:
498         * gst/gsttrace.h:
499         * gst/gsttypefind.h:
500         * gst/gsturi.h:
501         * gst/gstvalue.c:
502         * gst/net/gstnetclientclock.c:
503         * gst/net/gstnetclientclock.h:
504         * gst/net/gstnettimepacket.c:
505         * gst/net/gstnettimeprovider.c:
506         * gst/net/gstnettimeprovider.h:
507         Doc fixes.
508
509 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
510
511         * configure.ac: back to HEAD
512
513 === release 0.9.6 ===
514
515 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
516
517         * configure.ac:
518           releasing 0.9.6, "Always On Time"
519
520 2005-11-23  Wim Taymans  <wim@fluendo.com>
521
522         * docs/gst/gstreamer-sections.txt:
523         * gst/glib-compat.c:
524         * gst/gsttagsetter.c:
525         * gst/gstvalue.c:
526         * gst/net/gstnetclientclock.c:
527         * gst/net/gstnettimepacket.h:
528         Doc updates.
529
530 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
531
532         * docs/faq/using.xml:
533         * docs/libs/tmpl/gstcontrol.sgml:
534         * docs/manual/advanced-dparams.xml:
535         * docs/manual/appendix-checklist.xml:
536         * docs/manual/basics-elements.xml:
537         * docs/pwg/other-source.xml:
538         * docs/random/moving-plugins:
539         * gst/gstpad.c:
540         * tools/gst-launch.1.in:
541           remove mentions of sinesrc
542
543 2005-11-23  Michael Smith <msmith@fluendo.com>
544
545         * docs/gst/gstreamer-sections.txt:
546           Update for new API and API changes.
547         * gst/gstobject.h:
548           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
549         * gst/gstvalue.c:
550           Documentation typo fix.
551         * gst/net/gstnettimepacket.c:
552           Documentation fixes for arguments.
553
554 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
555
556         * gst/gststructure.c: (gst_structure_get_fraction),
557         (gst_structure_parse_value),
558         (gst_structure_fixate_field_nearest_fraction):
559         * gst/gststructure.h:
560         * gst/gstutils.c: (gst_util_uint64_scale_int):
561         * gst/gstutils.h:
562         * scripts/update-funcnames:
563         API Changes. 
564         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
565         Make gst_structure_fixate_field_nearest_fraction take a numerator
566         and denominator argument instead of a GValue
567         add gst_structure_get_fraction helper function.
568
569 2005-11-23  Wim Taymans  <wim@fluendo.com>
570
571         * docs/design/part-TODO.txt:
572         Update TODO.
573
574         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
575         * gst/net/gstnetclientclock.h:
576         Use parent fields for timeout and window_size.
577
578 2005-11-23  Andy Wingo  <wingo@pobox.com>
579
580         * check/net/gstnetclientclock.c (test_functioning): Adjust to
581         rate_num/rate_denom change.
582
583         * gst/net/gstnetclientclock.c
584         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
585         OBJECT_LOCK. Don't call add_observation with the lock.
586
587         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
588         fraction.
589         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
590         rate fraction.
591         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
592         deal with rate as a fraction whose numerator and denominator are
593         GstClockTime values.
594         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
595         master; the other fields are protected by the SLAVE_LOCK.
596         (do_linear_regression): Note that this must be called with the
597         SLAVE_LOCK.
598         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
599         OBJECT_LOCK. Call set_calibration instead of touching the
600         variables directly.
601         (gst_clock_set_property, gst_clock_get_property): Protect
602         master/slave parameters with the SLAVE_LOCK.
603
604         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
605         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
606         note that all of the instance variables that add_observation and
607         the set_master functions use are protected by that lock and not
608         the OBJECT_LOCK.
609         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
610
611         * gst/gstclock.c (gst_clock_add_observation): No longer requires
612         the caller to take the object lock.
613
614 2005-11-23  Wim Taymans  <wim@fluendo.com>
615
616         * gst/gsterror.c: (_gst_core_errors_init):
617         * gst/gsterror.h:
618         Add error for clock stuff.
619
620         * gst/gstpipeline.c: (gst_pipeline_change_state),
621         (gst_pipeline_set_clock):
622         Post clock error when clock cannot be used in a pipeline.
623
624 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
625
626         * docs/gst/gstreamer-sections.txt:
627           make two symbols from gstinfo private for the docs
628         * gst/base/gstcollectpads.h:
629         * gst/gstutils.c:
630           fix doc typos, update docs
631
632 2005-11-22  Wim Taymans  <wim@fluendo.com>
633
634         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
635         (gst_base_sink_wait), (gst_base_sink_do_sync),
636         (gst_base_sink_handle_event):
637         * gst/base/gstbasesink.h:
638         No need to store the clock, the parent element class already
639         has it.
640
641         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
642         Updates for clock_set returning a gboolean
643
644         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
645         (gst_clock_id_wait_async), (gst_clock_class_init),
646         (gst_clock_init), (gst_clock_finalize),
647         (gst_clock_get_internal_time), (gst_clock_get_time),
648         (gst_clock_slave_callback), (gst_clock_set_master),
649         (gst_clock_get_master), (do_linear_regression),
650         (gst_clock_add_observation), (gst_clock_set_property),
651         (gst_clock_get_property):
652         * gst/gstclock.h:
653         Implement master/slave. When setting a clock as a slave, a
654         periodic timeout is scheduled to sample master and slave times.
655         Then the slave clock is recalibrated to match offset and rate
656         of the master clock.
657         Update logging a bit.
658         Add flag so that a clock can state that is cannot be slaved to
659         another clock.
660
661         * gst/gstelement.c: (gst_element_set_clock):
662         * gst/gstelement.h:
663         The set clock returns a gboolean for when an element cannot
664         deal with the selected clock in the pipeline. 
665
666         * gst/gstpipeline.c: (gst_pipeline_change_state),
667         (gst_pipeline_set_clock):
668         * gst/gstpipeline.h:
669         Handle the case where the selected clock cannot be set on
670         the pipeline.
671
672         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
673         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
674         (gst_net_client_clock_set_property),
675         (gst_net_client_clock_get_property),
676         (gst_net_client_clock_observe_times):
677         * gst/net/gstnetclientclock.h:
678         Use regression code in GstClock parent, remove duplicated
679         functionality.
680
681 2005-11-22  Michael Smith <msmith@fluendo.com>
682
683         * gst/gstutils.c: (gst_util_clock_time_scale):
684         * gst/gstutils.h:
685         * docs/gst/gstreamer-sections.txt:
686           Rename method to have extra underscore.
687
688 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
689
690         * gst/elements/Makefile.am:
691         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
692         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
693         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
694         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
695         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
696         * gst/elements/gstfakesrc.h:
697         * gst/gstqueue.c: (queue_leaky_get_type):
698           correctly fix GEnumValues so that nick is the short lowercase
699           dashed tag
700         * tools/gst-inspect.c: (print_element_properties_info):
701           also show the nick, since it's useful to use from parse_launch
702           syntax
703           Fixes #322139
704
705 2005-11-22  Michael Smith <msmith@fluendo.com>
706
707         * gst/gstutils.c: (gst_util_clocktime_scale):
708         * gst/gstutils.h:
709         * docs/gst/gstreamer-sections.txt:
710           Add util method for scaling a clocktime by a fraction. Useful 
711           implementation is left as an exercise for the reader.
712
713 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
714
715         * gst/gstvalue.c: (gst_value_collect_fraction_range):
716         If needed, allocate storage in the destination value during
717         collection.
718
719 2005-11-22  Edward Hervey  <edward@fluendo.com>
720
721         * docs/gst/gstreamer-sections.txt:
722         * gst/Makefile.am:
723         * gst/gst.h:
724         * gst/gsturitype.c:
725         * gst/gsturitype.h:
726         * gst/gstutils.c: (gst_util_set_object_arg):
727         * tools/gst-compprep.c: (main):
728         * tools/gst-inspect.c: (print_element_properties_info):
729         Removed GstURI, closes bug #321061
730
731 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
732
733         * check/gst/gststructure.c: (GST_START_TEST):
734         * gst/gststructure.c: (gst_structure_parse_value):
735           Oops, broke automatic string type parsing.
736           Add a test to catch it in future.
737
738 2005-11-22  Andy Wingo  <wingo@pobox.com>
739
740         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
741         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
742         Actually rename the function implementations. Grr.
743
744 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
745
746         * check/gst/capslist.h:
747           Comment test cases
748         * check/gst/gststructure.c: (GST_START_TEST),
749         (gst_structure_suite):
750           Test automatic value type detection in gst_structure_from_string.
751         * gst/gststructure.c: (gst_structure_parse_value):
752           Add fraction as a type we try and guess automatically in
753           caps/structure strings.
754
755 2005-11-22  Andy Wingo  <wingo@pobox.com>
756
757         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
758
759         * gst/gsttagsetter.h:
760         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
761         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
762         (gst_tag_setter_add_tag_valist)
763         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
764         _add_values, _add_valist, and _add_valist_values. Since this is an
765         interface the function suffixes should be more explicit so
766         language binding don't end up with element.add_valist ->
767         gst_tag_setter_add_valist, for example. Fixes #322069.
768
769 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
770
771         * check/gst/gstcaps.c: (GST_START_TEST):
772           Extend caps string tests to check that a caps to string
773           conversion is reversible and produces the same caps.
774
775         * gst/gststructure.c: (gst_structure_value_get_generic_type):
776           Output "fraction" as the generic type fraction range, so caps
777           serialisation and deserialisation works.
778         * check/gst/capslist.h:
779         * gst/gstvalue.c: (gst_value_deserialize_fraction):
780           Support 'MIN' and 'MAX' for deserialising fractions.
781
782 2005-11-22  Andy Wingo  <wingo@pobox.com>
783
784         * gst/gstevent.h (gst_event_new_new_segment)
785         (gst_event_parse_new_segment, gst_event_new_buffer_size)
786         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
787         Renamed from *_newsegment, *_buffersize, *_notarget.
788
789         * scripts/update-funcnames: New script, performs the changes
790         listed above.
791
792 2005-11-22  Wim Taymans  <wim@fluendo.com>
793
794         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
795         Make sure the GstFlowReturn is returned.
796
797         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
798         (gst_bus_add_signal_watch):
799         * gst/gstbus.h:
800         add gst_bus_add_signal_watch_full.
801
802         * gst/gstplugin.c: (gst_plugin_load_file):
803         Small style cleanup.
804
805 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
806
807         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
808           Block the fakesrc srcpad when we send an event, to avoid
809           contention on the stream_lock causing random test failures.
810
811 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
812
813         * check/gst/gstvalue.c: (GST_START_TEST):
814         * gst/gstvalue.c: (gst_value_fraction_subtract):
815           Fix subtraction.
816
817 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
818
819         * gst/gst.h:
820           include "gstchildproxy.h"
821         * gst/gstchildproxy.h:
822         * libs/gst/controller/gstcontroller.h:
823           use G_GNUC_NULL_TERMINATED
824
825 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
826
827         * check/gst/capslist.h:
828         * check/gst/gstcaps.c: (GST_START_TEST):
829         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
830         * gst/gststructure.c: (gst_structure_parse_range),
831         (gst_structure_fixate_field_nearest_fraction):
832         * gst/gststructure.h:
833         * gst/gstvalue.c: (gst_value_init_fraction_range),
834         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
835         (gst_value_collect_fraction_range),
836         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
837         (gst_value_set_fraction_range_full),
838         (gst_value_get_fraction_range_min),
839         (gst_value_get_fraction_range_max),
840         (gst_value_serialize_fraction_range),
841         (gst_value_transform_fraction_range_string),
842         (gst_value_compare_fraction_range),
843         (gst_value_deserialize_fraction_range),
844         (gst_value_intersect_fraction_fraction_range),
845         (gst_value_intersect_fraction_range_fraction_range),
846         (gst_value_subtract_fraction_fraction_range),
847         (gst_value_subtract_fraction_range_fraction),
848         (gst_value_subtract_fraction_range_fraction_range),
849         (gst_value_collect_fraction), (gst_value_fraction_multiply),
850         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
851         (gst_value_transform_string_fraction), (_gst_value_initialize):
852         * gst/gstvalue.h:
853           Implement fraction ranges and extend GstFraction to support
854           arithmetic subtraction, as well as deserialization from integer
855           strings such as "100"
856           Add a testsuite as for int and double range set operations
857
858 2005-11-21  Andy Wingo  <wingo@pobox.com>
859
860         * gst/gsttaglist.h: 
861         * gst/gstcaps.h: 
862         * gst/gststructure.h: Add glib-compat.h.
863
864 2005-11-21  Wim Taymans  <wim@fluendo.com>
865
866         * gst/gstbin.c: (gst_bin_change_state_func):
867         Fix for #321595
868
869 2005-11-21  Wim Taymans  <wim@fluendo.com>
870
871         * gst/gstsegment.h:
872         And add a nice define too.
873
874 2005-11-21  Wim Taymans  <wim@fluendo.com>
875
876         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
877         (gst_segment_new), (gst_segment_free), (gst_segment_init),
878         (gst_segment_set_duration), (gst_segment_set_last_stop),
879         (gst_segment_set_seek), (gst_segment_set_newsegment),
880         (gst_segment_to_stream_time), (gst_segment_to_running_time),
881         (gst_segment_clip):
882         * gst/gstsegment.h:
883         Make binding friendly.
884
885 2005-11-21  Andy Wingo  <wingo@pobox.com>
886
887         * gst/gsttagsetter.h: 
888         * gst/gsttaglist.h: 
889         * gst/gststructure.h: 
890         * gst/gstcaps.h: 
891         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
892         #319940.
893
894         * gst/gsterror.c (_gst_core_errors_init):
895         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
896         category.
897
898         * gst/Makefile.am (gst_headers): Add glib-compat.h.
899         (noinst_HEADERS): noinst the -private.
900
901 2005-11-21  Michael Smith <msmith@fluendo.com>
902
903         * gst/gstplugin.h:
904         * gst/gstregistry.h:
905           Remove unimplemented declarations for which we can see no sensible
906           use.
907
908 2005-11-21  Andy Wingo  <wingo@pobox.com>
909
910         * gst/gst.h: Include glib-compat.h.
911
912         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
913
914         * gst/glib-compat.c: Include the public and the private header.
915
916         * gst/glib-compat-private.h: Copied here from glib-compat.h.
917
918         * gst/gstvalue.c: 
919         * gst/gstpad.c: 
920         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
921
922         * check/gst/gstevent.c (create_custom_events): Check that
923         FLUSH_STOP is serialized.
924
925         * check/elements/identity.c (event_func): 
926         * check/elements/fakesrc.c (event_func): No stream lock, the core
927         takes it.
928
929         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
930         stream lock taking, yay.
931
932         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
933         ensure that core takes the stream lock.
934
935         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
936         lock name change.
937
938         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
939         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
940         it already. For the flush start we do take it though so we get the
941         right preroll state change messages.
942
943         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
944         the stream lock here, the core does it for us.
945
946         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
947         GST_STREAM_GET_LOCK.
948         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
949         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
950         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
951         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
952         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
953         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
954
955         * gst/gstpad.c: Update for stream lock name change.
956
957         * gst/base/gstbasesink.c: Update for preroll lock name change.
958
959 2005-11-21  Wim Taymans  <wim@fluendo.com>
960
961         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
962         (gst_clock_get_master):
963         * gst/gstclock.h:
964         * gst/gstsystemclock.c: (gst_system_clock_init):
965         Convert Clock flags to object flags.
966         Added methods to manage master/slave clocks.
967
968 2005-11-21  Wim Taymans  <wim@fluendo.com>
969
970         * check/gst/gstsegment.c: (GST_START_TEST):
971         * docs/design/part-TODO.txt:
972         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
973         (gst_base_sink_event), (gst_base_sink_do_sync),
974         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
975         (gst_base_sink_query), (gst_base_sink_change_state):
976         * gst/base/gstbasesink.h:
977         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
978         (gst_base_src_default_newsegment),
979         (gst_base_src_configure_segment), (gst_base_src_do_seek),
980         (gst_base_src_get_range), (gst_base_src_loop),
981         (gst_base_src_change_state):
982         * gst/base/gstbasesrc.h:
983         * gst/base/gstbasetransform.c:
984         (gst_base_transform_prepare_output_buf),
985         (gst_base_transform_event), (gst_base_transform_change_state):
986         * gst/base/gstbasetransform.h:
987         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
988         (gst_collect_pads_event):
989         * gst/base/gstcollectpads.h:
990         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
991         (gst_fake_src_create):
992         * gst/elements/gstfakesrc.h:
993         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
994         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
995         (gst_segment_set_last_stop), (gst_segment_set_seek),
996         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
997         (gst_segment_to_running_time), (gst_segment_clip):
998         * gst/gstsegment.h:
999         More segment updates, replace code in plugins with segment
1000         helper functions.
1001
1002 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1003
1004         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1005         Don't ignore sscanf results
1006
1007 2005-11-21  Andy Wingo  <wingo@pobox.com>
1008
1009         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1010
1011         * *.h:
1012         * *.c: Ran scripts/update-macros. Oh yes.
1013
1014         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1015         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1016         GST_GET_LOCK, etc.
1017
1018         * scripts/update-macros: New script. Run it on your files to
1019         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1020         well.
1021
1022 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1023
1024         * docs/gst/Makefile.am:
1025         * docs/gst/gstreamer-docs.sgml:
1026         * docs/gst/gstreamer-sections.txt:
1027         * docs/gst/gstreamer.types:
1028         * gst/gstinfo.h:
1029           more docs fixes, add new api to the docs
1030
1031 2005-11-21  Andy Wingo  <wingo@pobox.com>
1032
1033         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1034         state_broadcast call.
1035
1036         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1037
1038 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1039
1040         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1041         function calls for arrays.
1042
1043 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1044
1045         * docs/random/ensonic/media-device-daemon.txt:
1046           wild idea, can this be done?
1047         * docs/gst/gstreamer-sections.txt:
1048         * gst/gsterror.h:
1049         * gst/gstfilter.c:
1050         * gst/gstfilter.h:
1051         * gst/gstplugin.h:
1052         * gst/gstpluginfeature.c:
1053         * gst/gsttrace.c:
1054         * gst/gstvalue.c:
1055         * gst/gstvalue.h:
1056           doc fixes and additions
1057
1058 2005-11-21  Andy Wingo  <wingo@pobox.com>
1059
1060         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1061         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1062         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1063         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1064         private to the basesrc implementation.
1065
1066         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1067         behalf of event function if necessary. It should no longer be
1068         necessary to take the stream lock in pad's event functions. Fixes
1069         #320299.
1070
1071 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1072         * docs/gst/gstreamer-sections.txt:
1073         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1074         (gst_structure_fixate_field_nearest_double),
1075         (gst_structure_fixate_field_boolean):
1076         * gst/gststructure.h:
1077         * win32/common/libgstreamer.def:
1078         * win32/gstreamer.def:
1079
1080         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1081         (#322027)
1082
1083 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1084
1085         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1086         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1087         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1088         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1089         (gst_fdsrc_uri_handler_init):
1090         * gst/elements/gstfdsrc.h:
1091           Port fd:// URI handler from 0.8 to fdsrc
1092
1093 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1094
1095         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1096         (gst_value_serialize_fourcc):
1097         * gst/gstvalue.h:
1098           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1099           consistent with our other format defines (#320324).
1100
1101 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1102
1103         * gst/gstvalue.c: (gst_value_is_fixed):
1104           Revert previous commit. Value lists are by definition
1105           not fixed, as they are a list of possible values.
1106
1107 2005-11-21  Andy Wingo  <wingo@pobox.com>
1108
1109         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1110         during the stable series if we need it. Fixes #319178.
1111
1112         * gst/gstevent.c (gst_event_new_filler): Removed.
1113
1114         * check/gst/gstevent.c: Update comment about filler events.
1115
1116 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1117
1118         * gst/gstvalue.c: (gst_value_is_fixed):
1119           Should handle both value arrays and value lists.
1120
1121 2005-11-21  Andy Wingo  <wingo@pobox.com>
1122
1123         patch by: Alessandro Dessina <alessandro nnva org>
1124
1125         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1126         functions to access arrays. Fixes #321962.
1127
1128 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1129
1130         * docs/gst/gstreamer.types:
1131           gst_collectpads_get_type => gst_collect_pads_get_type.
1132           
1133         * gst/base/gstbasetransform.c:
1134           Remove unused SIGNAL_HANDOFF enum.
1135
1136 2005-11-21  Andy Wingo  <wingo@pobox.com>
1137
1138         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1139         the event type (upstream, downstream, serialized). Renamed
1140         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1141         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1142         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1143
1144         * gst/gstevent.c: Update for new CUSTOM event names.
1145
1146         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1147
1148         * gst/gstevent.h:
1149         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1150         bug #319392.
1151
1152 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1153
1154         * docs/gst/gstreamer-sections.txt:
1155         * win32/common/libgstbase.def:
1156         * win32/libgstbase.def:
1157         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1158         (gst_collect_pads_class_init), (gst_collect_pads_init),
1159         (gst_collect_pads_finalize), (gst_collect_pads_new),
1160         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1161         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1162         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1163         (gst_collect_pads_start), (gst_collect_pads_stop),
1164         (gst_collect_pads_peek), (gst_collect_pads_pop),
1165         (gst_collect_pads_available), (gst_collect_pads_read),
1166         (gst_collect_pads_flush), (gst_collect_pads_event),
1167         (gst_collect_pads_chain):
1168         * gst/base/gstcollectpads.h:
1169           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1170           unimplemented functions as unimplemented. Add padding to
1171           GstCollectData. (#320766, #320423)
1172
1173 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1174
1175         * gst/gstmessage.c:
1176           Improve docs for DURATION message (usage of duration parameter)
1177           (#320113)
1178
1179 2005-11-20  Wim Taymans  <wim@fluendo.com>
1180
1181         * check/Makefile.am:
1182         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1183         (main):
1184         * gst/Makefile.am:
1185         * gst/gst.h:
1186         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1187         (gst_segment_set_seek), (gst_segment_set_newsegment),
1188         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1189         (gst_segment_clip):
1190         * gst/gstsegment.h:
1191         Added segment helper structure and methods. Not fully implemented
1192         yet.
1193         Added segment check.
1194
1195 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1196
1197         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1198           Add a deserialisation test for fractions
1199         * examples/metadata/read-metadata.c: (message_loop),
1200         (make_pipeline), (main):
1201           Fix up metadata reading sample.
1202         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1203           Debug format fix
1204         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1205           Don't try and fixate empty caps
1206         * gst/gst_private.h:
1207           Wrap in G_BEGIN_DECLS/G_END_DECLS
1208         * gst/gstvalue.c: (gst_value_collect_fraction),
1209         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1210         (gst_value_transform_string_fraction),
1211         (gst_value_compare_fraction):
1212           Add some extra guards to ensure that we don't end up 
1213           with an invalid denominator of 0 in a gstfraction and
1214           that fractions always get reduced.
1215
1216 2005-11-20  Wim Taymans  <wim@fluendo.com>
1217
1218         * docs/gst/gstreamer-sections.txt:
1219         * gst/gstbuffer.h:
1220         * gst/gstelement.c:
1221         * gst/gstformat.c:
1222         * gst/gstformat.h:
1223         * gst/gstindex.h:
1224         * gst/gstquery.c:
1225         * gst/gstquery.h:
1226         * gst/gstvalue.c:
1227         Doc fixes.
1228
1229 2005-11-20  Wim Taymans  <wim@fluendo.com>
1230
1231         * docs/design/part-TODO.txt:
1232         * gst/gstcaps.h:
1233         Make a proper enum of the flag.
1234
1235 2005-11-19  Wim Taymans  <wim@fluendo.com>
1236
1237         * docs/design/part-TODO.txt:
1238         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1239         (gst_format_to_quark), (gst_format_register):
1240         * gst/gstformat.h:
1241         * gst/gstquery.c: (_gst_query_initialize),
1242         (gst_query_type_get_name), (gst_query_type_to_quark),
1243         (gst_query_type_register):
1244         * gst/gstquery.h:
1245         Add type to quark and type to string conversions.
1246
1247 2005-11-19  Andy Wingo  <wingo@pobox.com>
1248
1249         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1250         #320097.
1251
1252 2005-11-19  Wim Taymans  <wim@fluendo.com>
1253
1254         * docs/design/part-TODO.txt:
1255         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1256         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1257         (gst_bin_handle_message_func):
1258         * gst/gstbin.h:
1259         Make message handling overridable.
1260
1261 2005-11-19  Andy Wingo  <wingo@pobox.com>
1262
1263         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1264
1265         * gst/gstclock.h:
1266         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1267         be a GstClockTime.
1268         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1269         is a GstClockTime. Fixes #321710.
1270
1271         * gst/gstclock.h (GstClock): Remove offset property. Add
1272         internal_calibration and external_calibration. Fix padding. Pad
1273         also by GstClockTime so we don't run into problems.
1274
1275         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1276         (gst_clock_get_rate_offset): Remove.
1277         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1278
1279         * gst/gstutils.h:
1280         * gst/gstutils.c (g_static_rec_cond_wait)
1281         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1282
1283         * gst/gstbin.c: Remove terrible continue_state prototype.
1284
1285         * gst/gstelement.h (gst_element_continue_state): Make public.
1286
1287         * gst/gstelement.h:
1288         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1289         by continue_state. Fixes #319389.
1290
1291         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1292         Really fixes #168438. However I don't see anywhere where the
1293         filter function is called... stupid GStreamer...
1294         
1295         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1296         don't have a dispose function, so it won't get called when the
1297         object is unreffed, but oh well!
1298
1299         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1300         allows a destroy function to be set so user_data can be freed.
1301         Fixes #168438.
1302         (gst_index_set_filter): Call gst_index_set_filter_full.
1303
1304         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1305
1306         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1307         string should produce an error, given the lack of a way to
1308         represent NULL strings. Fixes #165650.
1309         
1310         * gst/gstvalue.h: 
1311         * gst/gstvalue.c (gst_value_array_append_value) 
1312         (gst_value_array_prepend_value, gst_value_array_get_size) 
1313         (gst_value_array_get_value): New API, copied from
1314         gst_value_list_*, only operates on arrays.
1315         (gst_value_list_append_value, gst_value_list_prepend_value) 
1316         (gst_value_list_concat, gst_value_list_get_size) 
1317         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1318
1319         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1320         init_list, because it works on both.
1321         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1322         (gst_value_copy_list_or_array): Renamed from copy_list.
1323         (gst_value_free_list_or_array): Renamed from free_list.
1324         (gst_value_collect_list_or_array): Renamed from collect_list.
1325         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1326         (gst_value_list_or_array_peek_pointer): Renamed from
1327         list_peek_pointer.
1328         (_gst_value_array_value_table, _gst_value_list_value_table):
1329         Update value table functions.
1330         (gst_value_compare_list_or_array): Renamed from compare_list.
1331
1332         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1333         some constness.
1334
1335         * gst/gsttaglist.c:
1336         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1337         GstTagList*. Fixes #143472.
1338
1339         * gst/gststructure.h: Clarify what the foreach/map functions can
1340         or can't do to their arguments.
1341
1342 2005-11-18  Wim Taymans  <wim@fluendo.com>
1343
1344         * gst/gstclock.c: (gst_clock_set_calibration),
1345         (gst_clock_get_calibration):
1346         Doc and API fixes.
1347         Calibration can be set with internal time equal to current
1348         internal time too.
1349
1350 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1351
1352         * gst/gsterror.c:
1353         * gst/gsterror.h:
1354           document
1355
1356 2005-11-18  Andy Wingo  <wingo@pobox.com>
1357
1358         * configure.ac: 
1359         * pkgconfig/gstreamer-net.pc.in:
1360         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1361         * pkgconfig/Makefile.am: Add net pkgconfig files.
1362
1363 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1364
1365         * gst/gstcaps.c:
1366         * gst/gstghostpad.c:
1367         * gst/gsttrace.c:
1368         * gst/gstvalue.c:
1369         * gst/gstvalue.h:
1370           docs fixes
1371
1372 2005-11-18  Andy Wingo  <wingo@pobox.com>
1373
1374         * gst/net/gstnetclientclock.c: Turn off debugging.
1375
1376         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1377         times connverge somewhat. Can't make a real test.
1378
1379         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1380         integer arithmetic. Return the minimum of the domain, which can be
1381         set as "internal" for gst_clock_set_calibration.
1382         (gst_net_client_clock_observe_times): Call _set_calibration.
1383         (gst_net_client_clock_new): Call _set_calibration instead of
1384         rate_offset.
1385
1386         * check/net/gstnetclientclock.c (test_functioning): Use the right
1387         adjustment api.
1388
1389         * gst/gstclock.h:
1390         * gst/gstclock.c (gst_clock_get_calibration) 
1391         (gst_clock_set_calibration): New functions, obsolete the ones I
1392         added yesterday. Doh. Precision issues mean we have to extrapolate
1393         from a point in the more recent past than 1970.
1394         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1395         obsolete.
1396         (gst_clock_adjust_unlocked): Use the right calibration data.
1397
1398 2005-11-18  Edward Hervey  <edward@fluendo.com>
1399
1400         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1401         Also reset the ->current_* values in READY->PAUSED
1402
1403 2005-11-18  Andy Wingo  <wingo@pobox.com>
1404
1405         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1406         Whoops, check the right fd. Also add some debugging.
1407         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1408         (do_linear_regression): Add a crapload of debugging. Subtract off
1409         the minimum values from the input series to discard unneeded bits.
1410         Use only int arithmetic. There is still double arithmetic when
1411         calculating the intercept that needs fixing. Return boolean to
1412         indicate success; FALSE would mean the domain or range is too
1413         great. Still needs fixes.
1414
1415 2005-11-18  Wim Taymans  <wim@fluendo.com>
1416
1417         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1418         For the current position in stream time, we need to subtract
1419         accumulated time.
1420         
1421         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1422         Release lock before calling the callback function of async
1423         entries.
1424
1425 2005-11-18  Andy Wingo  <wingo@pobox.com>
1426
1427         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1428         Port goes all the way to MAXUINT16.
1429
1430         * gst/net/gstnettimeprovider.c: Make the port range the same as
1431         for the kernel: 0 assigns, otherwise ports are less than
1432         MAXUINT16.
1433
1434         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1435         port change.
1436
1437         * check/net/gstnetclientclock.c (test_functioning): Add the start
1438         of another test. 
1439
1440 2005-11-18  Wim Taymans  <wim@fluendo.com>
1441
1442         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1443         (gst_bin_remove_func), (bin_bus_handler):
1444         * gst/gstbin.h:
1445         Removing a clock provider from a bin, triggers a clock lost message
1446         so that a new clock will be selected.
1447         Adding a clock to a bin triggers a clock provider message.
1448         Make sure we reselect a clock when we received a clock lost message.
1449         Keep a reference to the element that provided the clock.
1450
1451 2005-11-18  Andy Wingo  <wingo@pobox.com>
1452
1453         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1454         the clock initially so it produces values around the base time.
1455         (gst_net_client_clock_class_init): Typo fix.
1456         (gst_net_client_clock_thread): Add note on when the socket gets
1457         closed.
1458
1459 2005-11-17  Wim Taymans  <wim@fluendo.com>
1460
1461         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1462         Free remote and local time arrays.
1463
1464 2005-11-17  Wim Taymans  <wim@fluendo.com>
1465
1466         * gst/net/gstnetclientclock.c: (do_linear_regression),
1467         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1468         Fix compilation, uninitialized vars and a forgotten continue.
1469
1470 2005-11-17  Andy Wingo  <wingo@pobox.com>
1471
1472         * check/Makefile.am (check_PROGRAMS): 
1473         * check/net/gstnetclientclock.c: Add a most minimal test for the
1474         net client clock. More to come later.
1475
1476         * gst/net/gstnet.h: 
1477         * gst/net/Makefile.am: Add netclientclock.
1478
1479         * gst/net/gstnetclientclock.h:
1480         * gst/net/gstnetclientclock.c: New files, implement an untested
1481         GstClock that takes its time from a network time provider.
1482         Implements the algorithm in network-clock.scm.
1483
1484         * tests/network-clock.scm (*window-size*): Rename from
1485         *queue-length*.
1486         * tests/network-clock.scm (network-time): 
1487         * tests/network-clock-utils.scm (q-push): Update callers.
1488
1489 2005-11-17  Wim Taymans  <wim@fluendo.com>
1490
1491         * gst/gstbin.c: (gst_bin_provide_clock_func),
1492         (gst_bin_sort_iterator_new):
1493         And unref the child too..
1494
1495 2005-11-17  Wim Taymans  <wim@fluendo.com>
1496
1497         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1498         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1499         Refactor the sort iterator so it can be used while holding the
1500         LOCK too.
1501         Make clock selection select a clock closest to the source.
1502
1503 2005-11-17  Michael Smith <msmith@fluendo.com>
1504
1505         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1506         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1507         * gst/gstclock.h:
1508           Anonymous structs are a gcc (and some other compilers) extension, so
1509           don't use them. Since this is only for ABI-compatibility, and our
1510           API/ABI freeze is over in a few days, this whole thing will only
1511           last a few days, so don't bother trying to think up a meaningful
1512           name for the struct.
1513
1514 2005-11-17  Andy Wingo  <wingo@pobox.com>
1515
1516         * gst/gstclock.h (GstClock): Add rate and offset properties,
1517         preserving ABI stability. Add rate/offset accessors. Will file bug
1518         for the freeze break.
1519
1520         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1521         and offset, trying to keep precision and avoiding
1522         underflow/overflow.
1523         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1524         functions. Make gst_clock_set_time_adjust obsolete.
1525         (gst_clock_set_time_adjust): Note that this function is obsolete.
1526         Will file bug soon.
1527
1528         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1529         greppable by using GST_PADDING-1+1.
1530
1531 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1532
1533         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1534
1535         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1536           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1537
1538         * gst/gstpadtemplate.h:
1539         * gst/gstpluginfeature.h:
1540           Don't use c++ style comments in headers (#321638).
1541
1542 2005-11-16  Andy Wingo  <wingo@pobox.com>
1543
1544         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1545         buffer.
1546
1547         * check/net/gstnettimeprovider.c: Check to see that the time
1548         provider actually provides times. Works, yo!
1549
1550 2005-11-16  Wim Taymans  <wim@fluendo.com>
1551
1552         * check/Makefile.am:
1553         Enable more tests.
1554
1555         * check/elements/fakesrc.c: (GST_START_TEST):
1556         Set element to NULL before disposing it.
1557
1558 2005-11-16  Andy Wingo  <wingo@pobox.com>
1559
1560         * gst/net/Makefile.am:
1561         * gst/net/gstnet.h:
1562         * gst/net/gstnettimeprovider.c: 
1563         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1564         provider, include it from gstnet.h, and add it to the build.
1565
1566         * gst/net/gstnettimepacket.h: 
1567         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1568         sending and receiving.
1569
1570 2005-11-16  Wim Taymans  <wim@fluendo.com>
1571
1572         * check/Makefile.am:
1573         Enable valgrind check.
1574
1575         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1576         (gst_fake_src_alloc_buffer):
1577         Fix memleak.
1578
1579 2005-11-16  Wim Taymans  <wim@fluendo.com>
1580
1581         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1582         Call parent finalize too.
1583
1584 2005-11-16  Wim Taymans  <wim@fluendo.com>
1585
1586         * check/Makefile.am:
1587         Enable valgrind check that should work fine now.
1588
1589         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1590         * gst/gstqueue.c: (gst_queue_init):
1591         Fix memleaks in pad allocation.
1592
1593 2005-11-16  Andy Wingo  <wingo@pobox.com>
1594
1595         * gst/net/Makefile.am:
1596         * gst/net/gstnet.h: New part of core to hold network elements and
1597         objects. Put in core because it exposes API that applications want
1598         to use. The library is named libgstnet-tempname right now because
1599         of the existing libgstnet in gst-plugins-base. Solution is
1600         probably to rename the one in plugins-base; will file a bug for
1601         the freeze break.
1602
1603         * gst/net/gstnettimeprovider.c: 
1604         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1605         get_time call over the network.
1606
1607         * configure.ac: 
1608         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1609
1610         * check/Makefile.am:
1611         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1612         get additions shortly.
1613
1614 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1615
1616         * gst/gstpad.c: (gst_pad_new_from_static_template):
1617         * gst/gstpad.h:
1618           add gst_pad_new_from_static_template functions
1619         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1620         (gst_check_setup_sink_pad):
1621         * gst/elements/gsttee.c: (gst_tee_init):
1622           and use them
1623
1624 2005-11-16  Wim Taymans  <wim@fluendo.com>
1625
1626         * gst/gstpad.c: (gst_pad_pause_task):
1627         Removed warning, it's not really an error either.
1628
1629 2005-11-16  Wim Taymans  <wim@fluendo.com>
1630
1631         * gst/base/gstbasetransform.c:
1632         (gst_base_transform_prepare_output_buf),
1633         (gst_base_transform_event):
1634         Check if the caps are NULL, this can happen if the element
1635         is shutting down and the pad caps are set to NULL.
1636
1637 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1638
1639         * gst/elements/gsttee.c: (gst_tee_init):
1640           fix pad template leak in tee
1641
1642 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1643
1644         * gst/glib-compat.c: (g_value_dup_gst_object):
1645         * gst/glib-compat.h:
1646         * gst/gstpad.c: (gst_pad_set_property):
1647           use gst_object_ref when setting the pad template; this will
1648           trigger the pad template leaks on GLib 2.6 and the slaves
1649
1650 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1651
1652         * gst/glib-compat.c: (gst_flags_get_first_value):
1653         * gst/glib-compat.h:
1654         * gst/gstregistryxml.c:
1655           remove functions copied from GLib 2.6
1656
1657 2005-11-16  Michael Smith <msmith@fluendo.com>
1658
1659         * gst/Makefile.am:
1660           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1661           do, but only breaks with newer valgrind versions. We're not a
1662           valgrind tool, we have no link-time dependencies on libcoregrind.
1663
1664 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1665
1666         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1667           some debug changes
1668         * gst/gstmessage.h:
1669           typo fixes
1670
1671 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1672
1673         * gst/base/gstbasesrc.c: (gst_base_src_init):
1674         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1675         * gst/gstqueue.c: (gst_queue_init):
1676         * gst/gstregistryxml.c: (load_feature):
1677           Revert all these unrefs, they don't even pass make check !
1678
1679 2005-11-15  Johan Dahlin  <johan@gnome.org>
1680
1681         * gst/base/gstbasesrc.c: (gst_base_src_init):
1682         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1683         * gst/gstqueue.c: (gst_queue_init): 
1684         Free pad templates, fixes a couple of leaks.
1685
1686 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1687
1688         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1689
1690         * gst/gstpad.c: (gst_pad_get_property):
1691           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1692           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1693           (#321452)
1694
1695 2005-11-15  Wim Taymans  <wim@fluendo.com>
1696
1697         * gst/gstevent.c:
1698         Small doc update.
1699
1700 2005-11-15  Andy Wingo  <wingo@pobox.com>
1701
1702         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1703
1704         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1705         using GST_CLOCK_TIME_NONE to disable base time management.
1706         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1707         time if it was NONE before.
1708         (gst_pipeline_change_state): Only munge the base time if
1709         stream_time != GST_CLOCK_TIME_NONE.
1710
1711         * check/gst/gstpipeline.c (test_base_time): Punt around the
1712         problem of the probe not being called, because that's not the
1713         issue I'm looking at. Add a check that setting stream_time to NONE
1714         disables base time management.
1715         
1716 2005-11-15  Wim Taymans  <wim@fluendo.com>
1717
1718         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1719         segment_stop == -1 at startup.
1720
1721         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1722         (gst_base_transform_change_state):
1723         Init segment values at start.
1724
1725 2005-11-15  Wim Taymans  <wim@fluendo.com>
1726
1727         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1728         0 segment values are 0 in any format.
1729
1730         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1731         * gst/base/gstbasetransform.h:
1732         Parse newsegment correctly in basetransform
1733
1734         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1735         Sync to clock using updated segment values.
1736
1737 2005-11-15  Andy Wingo  <wingo@pobox.com>
1738
1739         * check/gst/gstpipeline.c (test_base_time): Add check that the
1740         base time and stream time are reset correctly.
1741
1742 2005-11-15  Wim Taymans  <wim@fluendo.com>
1743
1744         * docs/design/part-TODO.txt:
1745         Some more TODO items.
1746
1747 2005-11-15  Andy Wingo  <wingo@pobox.com>
1748
1749         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1750         error if the user selected "no clock" as the clocking method.
1751
1752         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1753         timestamps with live capture.
1754
1755         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1756         is 0 but we are a live source, timestamp the buffers using the
1757         element's clock.
1758
1759 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1760
1761         * docs/gst/gstreamer-sections.txt:
1762         * gst/gsterror.c:
1763         * gst/gstghostpad.c:
1764         * gst/gstobject.h:
1765         * gst/gstxml.c:
1766           more section docs
1767
1768 2005-11-14  Wim Taymans  <wim@fluendo.com>
1769
1770         * common/gst.supp:
1771           add suppressions from Wim's Debian machine
1772
1773 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1774
1775         * common/gst.supp:
1776           add suppressions from Andy's AMD64 Ubuntu machine
1777
1778 2005-11-14  Andy Wingo  <wingo@pobox.com>
1779
1780         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1781         STATE_LOCK not necessary. Fixes #311489.
1782
1783         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1784         #305291.
1785
1786         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1787         this function is not implemented.
1788
1789 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1790
1791         * gst/base/gstbasetransform.c:
1792         (gst_base_transform_prepare_output_buf):
1793         Ref the source pad caps while we need them.
1794         Fixes (#321386)
1795
1796 2005-11-11  Wim Taymans  <wim@fluendo.com>
1797
1798         * docs/gst/gstreamer-sections.txt:
1799         Added some docs for GstCollectData.
1800
1801         * gst/base/gstadapter.c:
1802         Some small code example fix.
1803
1804         * gst/base/gstcollectpads.c:
1805         * gst/base/gstcollectpads.h:
1806         Document some more.
1807
1808 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1809
1810         * configure.ac: back to HEAD
1811
1812 === release 0.9.5 ===
1813
1814 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1815
1816         * configure.ac:
1817           releasing 0.9.5, "Bike Lunch Day"
1818
1819 2005-11-11  Wim Taymans  <wim@fluendo.com>
1820
1821         * gst/gstbuffer.c: (_gst_buffer_copy):
1822         Copy more flags.
1823
1824         * gst/gstcaps.c: (gst_caps_is_equal):
1825         Fix some docs.
1826         Make _is_equal fast in the trivial cases.
1827
1828         * gst/gstminiobject.c:
1829         * gst/gstminiobject.h:
1830         More docs. Spifify .h file.
1831
1832         * gst/gstutils.c:
1833         Small doc update.
1834
1835 2005-11-11  Wim Taymans  <wim@fluendo.com>
1836
1837         * gst/base/gstbasetransform.c:
1838         (gst_base_transform_prepare_output_buf),
1839         (gst_base_transform_handle_buffer):
1840         Small cleanups.
1841         If we're processing a buffer and need to allocate an output
1842         buffer, we cannot accept a format change. If we did get a 
1843         format change, we have to alloc a buffer ourselves of the 
1844         right size.
1845
1846 2005-11-11  Wim Taymans  <wim@fluendo.com>
1847
1848         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1849         While checking the flag for reentrancy in the gstcaps function
1850         is nice to detect recursive invocations, it also makes it 
1851         impossible to call getcaps from multiple threads, which must be
1852         possible. So, checking for recursive calls has to go.
1853
1854 2005-11-11  Michael Smith <msmith@fluendo.com>
1855
1856         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1857           Don't sync on buffers that fall partially outside our current
1858           segment. Prevents an assertion failure/abort playing some files.
1859
1860 2005-11-10  Andy Wingo  <wingo@pobox.com>
1861
1862         * check/gst/gstbin.c (test_message_state_changed_children): Style
1863         fix..
1864
1865         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1866         gst_bus_poll with the signal watch. Ensures that poll and a signal
1867         watch see the same messages.
1868
1869         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1870         a poll and a watch at the same time get the same messages.
1871
1872 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1873
1874         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1875         * gst/gstcaps.c: (gst_caps_intersect):
1876           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1877           and it's not needed.
1878
1879 2005-11-10  Wim Taymans  <wim@fluendo.com>
1880
1881         * docs/design/part-TODO.txt:
1882         Updated todo.
1883
1884 2005-11-10  Wim Taymans  <wim@fluendo.com>
1885
1886         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1887         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1888         (gst_base_src_do_sync), (gst_base_src_get_range):
1889         Implement clock sync in base class.
1890
1891 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1892
1893         patch by: Tim-Philipp Müller <tim at centricular dot net>
1894
1895         * gst/gststructure.c: (gst_structure_parse_field),
1896         (gst_structure_from_string):
1897           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1898           so that gst_parse_launch() can deal with spaces in filtered link
1899           caps (fixes #164479)
1900         * check/gst/capslist.h:
1901         * check/gst/gststructure.c: (GST_START_TEST):
1902           add unit tests for this change
1903
1904 2005-11-10  Wim Taymans  <wim@fluendo.com>
1905
1906         * docs/gst/gstreamer-sections.txt:
1907         * gst/gstelement.c:
1908         * gst/gstelement.h:
1909         Fix docs, move some STATE macros to private.
1910
1911 2005-11-10  Wim Taymans  <wim@fluendo.com>
1912
1913         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1914         Added check for bug #317341
1915
1916         * gst/gstbuffer.c:
1917         * gst/gstbuffer.h:
1918         Some more spiffifying.
1919
1920         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1921         Call peer linkfunction if we are a source pad. Totally fixes
1922         #317341
1923
1924         * gst/gstpad.c:
1925         Update docs, source pads should call the peer linkfunction
1926         so they can atomically perform the pad link.
1927
1928 2005-11-09  Wim Taymans  <wim@fluendo.com>
1929
1930         * gst/gstbuffer.c:
1931         * gst/gstbuffer.h:
1932         Uber-spiffy-spiffify some more.
1933
1934 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1935
1936         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1937         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1938         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1939         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1940         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1941         * gst/gstpad.c: (gst_pad_init):
1942           Use GST_DEBUG_FUNCPTR() more extensively.
1943
1944 2005-11-09  Wim Taymans  <wim@fluendo.com>
1945
1946         * gst/gstobject.c: (gst_object_class_init):
1947         * gst/gstobject.h:
1948         Documentation fixes.
1949
1950 2005-11-09  Edward Hervey  <edward@fluendo.com>
1951
1952         * gst/gsttypefindfactory.c:
1953         Fix docs.
1954         
1955 2005-11-09  Edward Hervey  <edward@fluendo.com>
1956
1957         * gst/base/gsttypefindhelper.c:
1958         * gst/gsttypefind.c:
1959         * gst/gsttypefind.h:
1960         Fix docs.
1961
1962 2005-11-09  Wim Taymans  <wim@fluendo.com>
1963
1964         * gst/gstiterator.c:
1965         Fix revision data.
1966
1967         * gst/gsttask.c:
1968         * gst/gsttask.h:
1969         Fix docs.
1970
1971 2005-11-09  Wim Taymans  <wim@fluendo.com>
1972
1973         * gst/gstevent.h:
1974         * gst/gsturi.h:
1975         Fix docs.
1976
1977 2005-11-09  Wim Taymans  <wim@fluendo.com>
1978
1979         * docs/gst/gstreamer-sections.txt:
1980         Moved the message async delivery private lock and cond
1981         to the private section.
1982
1983         * gst/gstmessage.c:
1984         * gst/gstmessage.h:
1985         Fixed docs.
1986
1987 2005-11-09  Edward Hervey  <edward@fluendo.com>
1988
1989         * docs/gst/gstreamer-sections.txt:
1990         * gst/gsturi.c:
1991         * gst/gsturi.h:
1992         Document GstURIHandler
1993
1994 2005-11-09  Wim Taymans  <wim@fluendo.com>
1995
1996         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1997         (gst_iterator_find_custom):
1998         * gst/gstiterator.h:
1999         Fix iterator docs.
2000
2001 2005-11-09  Wim Taymans  <wim@fluendo.com>
2002
2003         * gst/gstbin.h:
2004         Document another field.
2005
2006         * gst/gststructure.c:
2007         * gst/gststructure.h:
2008         Document.
2009
2010 2005-11-09  Wim Taymans  <wim@fluendo.com>
2011
2012         * gst/gstbin.h:
2013         Documented structs.
2014
2015 2005-11-09  Wim Taymans  <wim@fluendo.com>
2016
2017         * docs/gst/gstreamer-sections.txt:
2018         Added some new macros.
2019
2020         * gst/gstclock.c:
2021         * gst/gstclock.h:
2022         * gst/gstobject.h:
2023         Docs updates.
2024
2025 2005-11-09  Wim Taymans  <wim@fluendo.com>
2026
2027         * docs/design/part-TODO.txt:
2028         Some more items for the TODO
2029
2030         * gst/gstcaps.c:
2031         * gst/gstcaps.h:
2032         Document GstCaps.
2033
2034 2005-11-09  Andy Wingo  <wingo@pobox.com>
2035
2036         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2037         to work on something else now tho...
2038
2039         * gst/base/gstadapter.c: More adapter docs.
2040
2041         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2042         (gst_file_sink_stop): New functions, replace the state change
2043         handler.
2044         (gst_file_sink_class_init): Hook up the start and stop functions.
2045         (gst_file_sink_base_init): Don't set the state change handler any
2046         more. It was a bit ugly too, being set from here...
2047         (gst_file_sink_get_property, gst_file_sink_set_property):
2048         Cleanups...
2049         (gst_file_sink_set_location): More robust check that doesn't call
2050         GST_STATE. Ugggggg.
2051
2052 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2053
2054         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2055           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2056
2057 2005-11-08  Wim Taymans  <wim@fluendo.com>
2058
2059         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2060         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2061         (gst_base_sink_chain), (gst_base_sink_change_state):
2062         * gst/base/gstbasesink.h:
2063         * gst/base/gstbasesrc.h:
2064         * gst/gstelement.h:
2065         * gst/gstevent.h:
2066         Avoid excessive typechecking in macros.
2067
2068         * gst/gstminiobject.c: (gst_mini_object_get_type),
2069         (gst_mini_object_init), (gst_mini_object_new),
2070         (gst_mini_object_free):
2071         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2072         (gst_object_finalize):
2073         Remove cruft code, optimize alloc_trace.
2074
2075 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2076
2077         * docs/faq/gst-uninstalled:
2078           fix up PS1 for systems that try to reset it
2079
2080 2005-11-07  Wim Taymans  <wim@fluendo.com>
2081
2082         * gst/base/gstbasesrc.c: (gst_base_src_init),
2083         (gst_base_src_get_range):
2084         Set the segment_end to -1 initially. Fixed typefind.
2085
2086 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2087
2088         * gst/base/gstadapter.c:
2089           Debug category should be 'adapter', not 'GstAdapter'.
2090           
2091         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2092         (gst_collectpads_class_init), (gst_collectpads_init),
2093         (gst_collectpads_peek), (gst_collectpads_pop),
2094         (gst_collectpads_event), (gst_collectpads_chain):
2095           Add debug category and some debugging output. Use boilerplate
2096           macros. Remove some extraneous words from docs.
2097
2098 2005-11-05  Andy Wingo  <wingo@pobox.com>
2099
2100         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2101         macro.
2102
2103 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2104
2105         * docs/gst/gstreamer-sections.txt:
2106         * gst/gstcaps.h:
2107         * gst/gstinfo.c:
2108         * gst/gstminiobject.h:
2109         * gst/gstobject.h:
2110         * gst/gstutils.h:
2111           more docs added
2112
2113 2005-11-04  Wim Taymans  <wim@fluendo.com>
2114
2115         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2116         Small update to stop at the configured segment_end
2117         position.
2118
2119 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2120
2121         * gst/gstregistry.c:
2122         * gst/gstregistry.h:
2123           added missing docs
2124
2125 2005-11-04  Edward Hervey  <edward@fluendo.com>
2126
2127         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2128         Check if we are doing a segment seek and have arrived at the
2129         end of that segment.
2130
2131 2005-11-04  Wim Taymans  <wim@fluendo.com>
2132
2133         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2134         Don't leak a mutex unlock in case of an error.
2135
2136         * gst/gstbus.h:
2137         Doc fixes.
2138
2139 2005-11-04  Wim Taymans  <wim@fluendo.com>
2140
2141         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2142         (gst_bus_post):
2143         Get the context to wake up only once.
2144
2145 2005-11-03  Wim Taymans  <wim@fluendo.com>
2146
2147         * check/states/sinks.c: (GST_START_TEST):
2148         Uncomment fixed check.
2149
2150         * docs/design/part-TODO.txt:
2151         Updated TODO.
2152
2153         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2154         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2155         (gst_base_sink_get_position):
2156         If we are going to PLAYING, post the right pending state
2157         when we post the intermediate paused message.
2158
2159         * gst/gstelement.c: (gst_element_continue_state),
2160         (gst_element_set_state_func), (gst_element_change_state):
2161         Don't post state changes that were between the same state
2162         and were not ASYNC.
2163
2164 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2165
2166         * docs/gst/gstreamer-sections.txt:
2167         * gst/gstcaps.h:
2168         * gst/gstinfo.c:
2169         * gst/gstminiobject.h:
2170         * gst/gstobject.h:
2171         * gst/gstutils.h:
2172           more docs and doc style fixes
2173
2174 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2175
2176         * docs/gst/gstreamer-sections.txt:
2177         * gst/gstelement.c:
2178         * gst/gstminiobject.c:
2179         doc fixes
2180
2181 2005-11-03  Andy Wingo  <wingo@pobox.com>
2182
2183         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2184         state-changed messages actually have the right order and the right
2185         values.
2186
2187 2005-11-03  Wim Taymans  <wim@fluendo.com>
2188
2189         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2190         Added some more checks. Specifically the case where NO_PREROLL
2191         elements are in the pipeline.
2192
2193         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2194         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2195         (gst_base_sink_get_position):
2196         Post READY->PAUSED state change messages too.
2197         Fix bug where VOID was posted as pending state...
2198
2199         * gst/gstbin.c: (gst_bin_recalc_state):
2200         use _element_continue_state() to continue the state change.
2201
2202         * gst/gstelement.c: (gst_element_continue_state),
2203         (gst_element_commit_state), (gst_element_set_state_func),
2204         (gst_element_change_state), (gst_element_change_state_func):
2205         Lots of state change cleanups, assign the STATE_RETURN in
2206         a new continue_state() function that also propagates the
2207         last return value from a state change to the app.
2208         Update some debug statements with proper category.
2209
2210 2005-11-03  Wim Taymans  <wim@fluendo.com>
2211
2212         * docs/design/part-events.txt:
2213         * docs/design/part-gstpipeline.txt:
2214         * docs/design/part-messages.txt:
2215         * docs/design/part-overview.txt:
2216         * docs/design/part-seeking.txt:
2217         * docs/design/part-states.txt:
2218         * docs/design/part-trickmodes.txt:
2219         * docs/manual/advanced-position.xml:
2220         Small docs updates.
2221
2222         * gst/gstobject.h:
2223         People think !! is ugly, this looks better.
2224
2225         * gst/gstpad.c: (gst_pad_set_blocked_async):
2226         Remove !! since it's fixed elsewhere now.
2227
2228 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2229
2230         * gst/gstminiobject.h:
2231         * gst/gstobject.h:
2232           Add !! to _FLAG_IS_SET macros to make the result boolean.
2233
2234 2005-11-03  Edward Hervey  <edward@fluendo.com>
2235
2236         * gst/gstpad.c: (gst_pad_set_blocked_async):
2237         comparing a flag and a gboolean rarely returns coherent results...
2238         Added two characters (!!) to make that work correctly.
2239         
2240 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2241
2242         * gst/gstbus.c: (gst_bus_class_init):
2243           Fix some typos.
2244           
2245         * gst/gstqueue.c: (gst_queue_loop):
2246           Don't assume a miniobject that isn't a buffer is an
2247           event (it could be that there is a refcounting
2248           problem somewhere and the pointer is stale and
2249           refers to an already destroyed miniobject).
2250
2251 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2252
2253         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2254
2255 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2256
2257         * docs/manual/advanced-position.xml:
2258           Update seek example and explanations to current 0.9 API.
2259
2260         * gst/elements/gsttypefindelement.c:
2261         (gst_type_find_element_activate):
2262           Remove FIXME comment now that the found caps
2263           are unreffed.
2264
2265 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2266
2267         * gst/gstregistryxml.c: (load_feature):
2268           Add another GST_STR_NULL instance
2269
2270 2005-11-02  Edward Hervey  <edward@fluendo.com>
2271
2272         * gst/gstpad.c: (handle_pad_block):
2273         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2274         
2275 2005-11-02  Wim Taymans  <wim@fluendo.com>
2276
2277         * gst/gstbin.c:
2278         Fix typo in docs.
2279
2280         * gst/gstelement.c: (gst_element_commit_state):
2281         Remove unused value.
2282
2283         * gst/gstiterator.c:
2284         Mention that the returned element is reffed in the docs.
2285
2286 2005-11-02  Wim Taymans  <wim@fluendo.com>
2287
2288         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2289         (gst_pad_push), (gst_pad_push_event):
2290         Unlock blocked pads when they are flushed.
2291
2292 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2293
2294         * docs/README:
2295         * docs/gst/gstreamer-sections.txt:
2296         * gst/gstbin.c:
2297           doc updates
2298         * gst/gstregistry.c: (gst_registry_scan_path_level):
2299           fix for a nasty little missed situation where an installed plug-in
2300           which was in the cache did not get overridden by an uninstalled one
2301           which was earlier in the plugin path because the newly created plugin
2302           for the uninstalled one (not in the registry) didn't get its
2303           ->registered set to TRUE
2304
2305 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2306
2307         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2308         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2309         (gst_collectpads_is_active), (gst_collectpads_collect),
2310         (gst_collectpads_collect_range), (gst_collectpads_start),
2311         (gst_collectpads_stop), (gst_collectpads_peek),
2312         (gst_collectpads_pop), (gst_collectpads_available),
2313         (gst_collectpads_read), (gst_collectpads_flush):
2314           Guard public API with assertions.
2315         
2316         * gst/gstpad.c:
2317           Fix docs for gst_pad_set_link_function().
2318
2319 2005-11-02  Johan Dahlin  <johan@gnome.org>
2320
2321         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2322         Unref found_caps after we used it.
2323
2324 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2325
2326         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2327           Don't try to ref NULL.
2328
2329 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2330
2331         * win32/common/config.h.in:
2332           provide a GST_FUNCTION that just gives a string for now
2333
2334 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2335
2336         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2337         (gst_object_flags_get_type), (register_gst_bin_flags),
2338         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2339         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2340         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2341         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2342         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2343         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2344         (gst_clock_flags_get_type), (register_gst_state),
2345         (gst_state_get_type), (register_gst_state_change_return),
2346         (gst_state_change_return_get_type), (register_gst_state_change),
2347         (gst_state_change_get_type), (register_gst_element_flags),
2348         (gst_element_flags_get_type), (register_gst_core_error),
2349         (gst_core_error_get_type), (register_gst_library_error),
2350         (gst_library_error_get_type), (register_gst_resource_error),
2351         (gst_resource_error_get_type), (register_gst_stream_error),
2352         (gst_stream_error_get_type), (register_gst_event_type),
2353         (gst_event_type_get_type), (register_gst_seek_type),
2354         (gst_seek_type_get_type), (register_gst_seek_flags),
2355         (gst_seek_flags_get_type), (register_gst_format),
2356         (gst_format_get_type), (register_gst_index_certainty),
2357         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2358         (gst_index_entry_type_get_type),
2359         (register_gst_index_lookup_method),
2360         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2361         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2362         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2363         (gst_index_flags_get_type), (register_gst_debug_level),
2364         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2365         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2366         (gst_iterator_result_get_type), (register_gst_iterator_item),
2367         (gst_iterator_item_get_type), (register_gst_message_type),
2368         (gst_message_type_get_type), (register_gst_mini_object_flags),
2369         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2370         (gst_pad_link_return_get_type), (register_gst_flow_return),
2371         (gst_flow_return_get_type), (register_gst_activate_mode),
2372         (gst_activate_mode_get_type), (register_gst_pad_direction),
2373         (gst_pad_direction_get_type), (register_gst_pad_flags),
2374         (gst_pad_flags_get_type), (register_gst_pad_presence),
2375         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2376         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2377         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2378         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2379         (gst_plugin_flags_get_type), (register_gst_rank),
2380         (gst_rank_get_type), (register_gst_query_type),
2381         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2382         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2383         (gst_tag_flag_get_type), (register_gst_task_state),
2384         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2385         (gst_alloc_trace_flags_get_type),
2386         (register_gst_type_find_probability),
2387         (gst_type_find_probability_get_type), (register_gst_uri_type),
2388         (gst_uri_type_get_type), (register_gst_parse_error),
2389         (gst_parse_error_get_type):
2390         * win32/common/gstversion.h:
2391           update win32 copies
2392
2393 2005-11-01  Luca Ognibene  <luogni@tin.it>
2394
2395         * gst/gst.c:
2396           fix docs. popt is dead, long live GOption.
2397
2398 2005-10-31  Wim Taymans  <wim@fluendo.com>
2399
2400         * gst/gstbuffer.h:
2401         Small doc fix.
2402
2403 2005-10-31  Andy Wingo  <wingo@pobox.com>
2404
2405         * Boo!
2406
2407         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2408
2409         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2410         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2411         the possibility of deadlocks here if code calling notify() or
2412         set() has a lock that can be taken in another notify handler (ABBA
2413         with class lock and e.g. python GIL state lock).
2414
2415 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2416
2417         * gst/gstbus.c: Doc updates.
2418
2419 2005-10-28  Wim Taymans  <wim@fluendo.com>
2420
2421         * docs/design/part-TODO.txt:
2422         * gst/gstiterator.c:
2423         * gst/gstsystemclock.c:
2424         * gst/gstsystemclock.h:
2425         Doc updates.
2426
2427 2005-10-28  Edward Hervey  <edward@fluendo.com>
2428
2429         * docs/gst/gstreamer-docs.sgml:
2430         * docs/gst/gstreamer-sections.txt:
2431         the GstURIType documentation page is private, it only defines GstURIType
2432         which should be defined in the GstURIHandler page
2433         
2434 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2435
2436         * gst/gstbin.c: (gst_bin_class_init):
2437         * gst/gstbin.h:
2438         * gst/gstutils.c:
2439         Documentation updates.
2440
2441 2005-10-28  Wim Taymans  <wim@fluendo.com>
2442
2443         * docs/gst/gstreamer-sections.txt:
2444         * gst/gstclock.c:
2445         * gst/gstclock.h:
2446         Documented the clocks.
2447
2448 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2449
2450         * docs/gst/gstreamer-sections.txt:
2451           move some macros to private sections
2452         * gst/gstminiobject.c:
2453         * gst/gstminiobject.h:
2454           add descriptions provided by ds and some more
2455         * gst/gstpad.h:
2456           mark macro as to be removed
2457
2458 2005-10-28  Wim Taymans  <wim@fluendo.com>
2459
2460         * docs/design/part-TODO.txt:
2461         Add an item to TODO.
2462
2463         * gst/gstiterator.c: (gst_iterator_fold),
2464         (gst_iterator_find_custom):
2465         * gst/gstiterator.h:
2466         Add iterator docs.
2467
2468 2005-10-28  Wim Taymans  <wim@fluendo.com>
2469
2470         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2471         (gst_base_transform_init):
2472         Don't leak class.
2473
2474         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2475         An EOS event marks the queue as completely filled.
2476
2477 2005-10-27  Wim Taymans  <wim@fluendo.com>
2478
2479         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2480         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2481         Some more debugging.
2482
2483         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2484         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2485         (gst_base_transform_event), (gst_base_transform_getrange),
2486         (gst_base_transform_chain):
2487         * gst/base/gstbasetransform.h:
2488         Fix debugging,
2489         Protect transform and concurrent buffer alloc with a new lock.
2490         Try not to break ABI/API.
2491
2492 2005-10-27  Wim Taymans  <wim@fluendo.com>
2493
2494         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2495         (gst_base_src_init), (gst_base_src_query),
2496         (gst_base_src_default_newsegment),
2497         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2498         (gst_base_src_send_event), (gst_base_src_event_handler),
2499         (gst_base_src_pad_get_range), (gst_base_src_loop),
2500         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2501         (gst_base_src_start), (gst_base_src_deactivate),
2502         (gst_base_src_activate_push), (gst_base_src_change_state):
2503         Move some stuff around and cleanup things.
2504
2505 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2506
2507         * gst/base/gstbasesrc.c: (gst_base_src_query):
2508           Add missing break statements.
2509
2510 2005-10-27  Wim Taymans  <wim@fluendo.com>
2511
2512         * check/gst/gstbin.c: (GST_START_TEST):
2513         An extra refcount is taken in basesrc.
2514
2515         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2516         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2517         (gst_base_src_loop):
2518         Small cleanups, check for flushing after being unlocked from the 
2519         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2520         Don't send out EOS when going to READY.
2521
2522 2005-10-27  Wim Taymans  <wim@fluendo.com>
2523
2524         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2525         (gst_base_sink_get_position):
2526         Some more debug.
2527
2528         * gst/gstbin.c: (message_check), (bin_replace_message),
2529         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2530         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2531         (bin_query_duration_init), (bin_query_duration_fold),
2532         (bin_query_duration_done), (bin_query_generic_fold),
2533         (gst_bin_query):
2534         * tools/gst-launch.c: (main):
2535         Remove old option.
2536
2537 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2538
2539         * examples/controller/audio-example.c: (main):
2540         * examples/queue/queue.c: (event_loop):
2541         * gst/base/gstbasetransform.h:
2542         * gst/gstelement.c: (gst_element_send_event):
2543         * gst/gstevent.h:
2544         * gst/gstpad.c: (gst_pad_send_event):
2545           fixing examples
2546           fixing docs typos
2547           changing log priority in error situations
2548
2549 2005-10-25  Wim Taymans  <wim@fluendo.com>
2550
2551         * gst/gstbin.c: (message_check), (bin_replace_message),
2552         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2553         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2554         (bin_query_duration_init), (bin_query_duration_fold),
2555         (bin_query_duration_done), (bin_query_generic_fold),
2556         (gst_bin_query):
2557         Some doc and debug updates.
2558         Cache previously requested query DURATION for speed. invalidate
2559         cached duration if element posts a DURATION message.
2560
2561 2005-10-25  Wim Taymans  <wim@fluendo.com>
2562
2563         * docs/design/part-TODO.txt:
2564         Update TODO.
2565
2566         * gst/gstbin.c: (message_check), (bin_replace_message),
2567         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2568         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2569         (bin_query_duration_init), (bin_query_duration_fold),
2570         (bin_query_duration_done), (bin_query_generic_fold),
2571         (gst_bin_query):
2572         Handle SEGMENT_START/DONE messages correctly.
2573         More evolved query algorithm that handles duration queries
2574         correctly.
2575
2576         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2577         (gst_element_get_state_func), (gst_element_abort_state),
2578         (gst_element_commit_state), (gst_element_lost_state):
2579         Some more debugging.
2580
2581         * gst/gstmessage.h:
2582         Added doc.
2583
2584 2005-10-25  Wim Taymans  <wim@fluendo.com>
2585
2586         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2587         Don't use invalid stream_time.
2588
2589         * gst/gstevent.c: (gst_event_new_newsegment):
2590         stream_time in newsegment cannot be undefined.
2591
2592 2005-10-24  Wim Taymans  <wim@fluendo.com>
2593
2594         * gst/gstbus.c:
2595         Doc fix.
2596
2597         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2598         (gst_queue_loop):
2599         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2600
2601 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2602
2603         * docs/libs/tmpl/gstdparam.sgml:
2604         * docs/libs/tmpl/gstdplinint.sgml:
2605         * docs/libs/tmpl/gstdpman.sgml:
2606         * docs/libs/tmpl/gstdpsmooth.sgml:
2607         * docs/libs/tmpl/gstunitconvert.sgml:
2608           these are obsolete
2609
2610 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2611
2612         * configure.ac:
2613           back to HEAD
2614
2615 === release 0.9.4 ===
2616
2617 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2618
2619         * configure.ac:
2620           releasing 0.9.4, "Tyrannosaurus Rex"
2621
2622 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2623
2624         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2625         (gst_file_sink_get_current_offset):
2626           Use fseeko() and ftello() if available. When falling back on
2627           lseek() to get the current offset, fflush() first to make sure
2628           everything is up-to-date and we get the right offset.
2629
2630 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2631
2632         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2633         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2634         * gst/gsterror.c: (_gst_stream_errors_init):
2635         * gst/gsterror.h:
2636         * gst/gstqueue.c: (gst_queue_loop):
2637         * po/POTFILES.in:
2638           remove prematurely added error category and clean up the instances
2639
2640 2005-10-21  Wim Taymans  <wim@fluendo.com>
2641
2642         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2643         (gst_base_sink_get_position), (gst_base_sink_query),
2644         (gst_base_sink_change_state):
2645         Simply set the right flag when going to playing, that's all
2646         we need to do instead of calling a function inside the object
2647         lock (that could take the lock as well and deadlock)
2648
2649 2005-10-21  Wim Taymans  <wim@fluendo.com>
2650
2651         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2652         (gst_base_src_loop):
2653         Don't warn, the peer element knows what to do best when
2654         the seek failed, it might try something else.
2655
2656 2005-10-21  Wim Taymans  <wim@fluendo.com>
2657
2658         * gst/base/gstbasesrc.c: (gst_base_src_init),
2659         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2660         Fix seeking.
2661
2662 2005-10-21  Wim Taymans  <wim@fluendo.com>
2663
2664         * docs/design/part-segments.txt:
2665         More docs.
2666
2667         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2668         Correctly set caps, even on the subbufer.
2669
2670 2005-10-21  Wim Taymans  <wim@fluendo.com>
2671
2672         * docs/gst/gstreamer-docs.sgml:
2673         * docs/gst/gstreamer-sections.txt:
2674         * gst/gstelement.h:
2675         * gst/gstevent.c:
2676         * gst/gstevent.h:
2677         * gst/gstmessage.h:
2678         * gst/gstpad.h:
2679         * gst/gstparse.h:
2680         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2681         * gst/gsttask.h:
2682         * gst/gstutils.c:
2683         * gst/gstutils.h:
2684         And 2% more doc coverage.
2685
2686 2005-10-21  Andy Wingo  <wingo@pobox.com>
2687
2688         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2689         position reporting.
2690
2691 2005-10-20  Wim Taymans  <wim@fluendo.com>
2692
2693         * gst/gsterror.c: (gst_error_get_message):
2694         * gst/gstparse.h:
2695         * gst/gstquery.h:
2696         * gst/gststructure.c:
2697         * gst/gsttrace.c:
2698         * gst/gstutils.c:
2699         More docs.
2700
2701 2005-10-20  Wim Taymans  <wim@fluendo.com>
2702
2703         * gst/gstbuffer.h:
2704         * gst/gstpad.c:
2705         * gst/gstparse.c:
2706         Another 1% more coverage.
2707
2708 2005-10-20  Wim Taymans  <wim@fluendo.com>
2709
2710         * docs/gst/gstreamer-sections.txt:
2711         * gst/gstelement.c: (gst_element_get_state_func),
2712         (gst_element_abort_state), (gst_element_commit_state),
2713         (gst_element_lost_state):
2714         * gst/gstevent.h:
2715         * gst/gstquery.c: (gst_query_set_position),
2716         (gst_query_parse_position), (gst_query_set_duration),
2717         (gst_query_parse_duration), (gst_query_new_convert):
2718         * gst/gstutils.c:
2719         Yay! 1% more docs coverage.
2720
2721 2005-10-20  Wim Taymans  <wim@fluendo.com>
2722
2723         * gst/gstpad.h:
2724         * gst/gstquery.c: (gst_query_set_position),
2725         (gst_query_parse_position), (gst_query_set_duration),
2726         (gst_query_parse_duration), (gst_query_new_convert):
2727         * gst/gstquery.h:
2728         * gst/gstutils.c: (gst_element_query_convert):
2729         * gst/gstutils.h:
2730         Docs and consistency fixes.
2731
2732 2005-10-20  Wim Taymans  <wim@fluendo.com>
2733
2734         * gst/gsttask.c:
2735         * gst/gsttask.h:
2736         More docs.
2737
2738 2005-10-20  Wim Taymans  <wim@fluendo.com>
2739
2740         * gst/gstbin.c: (message_check), (bin_replace_message),
2741         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2742         (update_degree), (gst_bin_sort_iterator_next),
2743         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2744         Reworked the message handling a bit, cache the messages instead of
2745         only the senders. alows us to do more in the future.
2746
2747 2005-10-20  Wim Taymans  <wim@fluendo.com>
2748
2749         * docs/design/part-TODO.txt:
2750         Update TODO
2751
2752         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2753         (gst_base_sink_query):
2754         Don't use clock time to report position when in EOS.
2755
2756 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2757
2758         * tools/gst-inspect.c: (print_interfaces),
2759         (print_element_properties_info), (print_element_info):
2760           Fix interface output with gst-inspect -a; don't print
2761           newlines after double/float properties.
2762
2763 2005-10-20  Wim Taymans  <wim@fluendo.com>
2764
2765         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2766         (gst_base_sink_query):
2767         Speed up current position calculation.
2768
2769         * gst/base/gstbasesrc.c: (gst_base_src_query),
2770         (gst_base_src_default_newsegment):
2771         Correctly set stream position in newsegment.
2772
2773         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2774         (update_degree), (gst_bin_sort_iterator_next),
2775         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2776         * gst/gstmessage.c: (gst_message_new_custom):
2777         Clean up debugging info
2778
2779         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2780         (gst_queue_loop), (gst_queue_handle_src_query):
2781         Pause task faster.
2782
2783 2005-10-19  Wim Taymans  <wim@fluendo.com>
2784
2785         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2786         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2787         Fix query handling again.
2788
2789 2005-10-19  Wim Taymans  <wim@fluendo.com>
2790
2791         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2792         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2793         * gst/base/gstbasesrc.c: (gst_base_src_query):
2794         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2795         * gst/elements/gsttypefindelement.c:
2796         (gst_type_find_handle_src_query), (find_element_get_length),
2797         (gst_type_find_element_activate):
2798         API change fix.
2799
2800         * gst/gstquery.c: (gst_query_new_position),
2801         (gst_query_set_position), (gst_query_parse_position),
2802         (gst_query_new_duration), (gst_query_set_duration),
2803         (gst_query_parse_duration), (gst_query_set_segment),
2804         (gst_query_parse_segment):
2805         * gst/gstquery.h:
2806         Bundling query position/duration is not a good idea since duration
2807         does not change much and we don't want to recalculate it for every
2808         position query, so they are separated again..
2809         Base value in segment query is not needed.
2810
2811         * gst/gstqueue.c: (gst_queue_handle_src_query):
2812         * gst/gstutils.c: (gst_element_query_position),
2813         (gst_element_query_duration), (gst_pad_query_position),
2814         (gst_pad_query_duration):
2815         * gst/gstutils.h:
2816         Updates for query API change.
2817         Added some docs here and there.
2818
2819 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2820
2821         * check/gst/gstbin.c: (GST_START_TEST):
2822         * check/gst/gstghostpad.c: (GST_START_TEST):
2823         * check/pipelines/cleanup.c: (GST_START_TEST):
2824           wait on thread to die so we can check refcount correctly
2825
2826 2005-10-18  Wim Taymans  <wim@fluendo.com>
2827
2828         * check/pipelines/stress.c: (GST_START_TEST):
2829         Make check a little more time consuming.
2830
2831 2005-10-18  Wim Taymans  <wim@fluendo.com>
2832
2833         * check/Makefile.am:
2834         * check/pipelines/stress.c: (GST_START_TEST),
2835         (simple_launch_lines_suite), (main):
2836         Small state change torture test.
2837
2838         * docs/design/part-states.txt:
2839         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2840         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2841         (gst_base_sink_change_state):
2842         Never take state lock from streaming thread, clean up ugly
2843         hacks. Unfortunatly core does not yet support nice ways to
2844         async commit state.
2845         
2846         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2847         (bin_bus_handler):
2848         Start state recalc if a STATE_DIRTY message is posted, but only
2849         on the toplevel bin.
2850
2851         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2852         (gst_element_get_state_func), (gst_element_abort_state),
2853         (gst_element_commit_state), (gst_element_lost_state),
2854         (gst_element_set_state_func), (gst_element_change_state):
2855         * gst/gstelement.h:
2856         State variables are now protected with the LOCK, the state
2857         lock is only used to serialize _set_state().
2858
2859 2005-10-18  Wim Taymans  <wim@fluendo.com>
2860
2861         * check/gst/gstbin.c: (GST_START_TEST):
2862         * check/gst/gstmessage.c: (GST_START_TEST):
2863         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2864         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2865         (bin_bus_handler):
2866         * gst/gstelement.c: (gst_element_abort_state),
2867         (gst_element_commit_state), (gst_element_lost_state):
2868         * gst/gstmessage.c: (gst_message_new_state_changed),
2869         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2870         (gst_message_new_segment_done), (gst_message_new_duration),
2871         (gst_message_parse_state_changed),
2872         (gst_message_parse_segment_start),
2873         (gst_message_parse_segment_done), (gst_message_parse_duration):
2874         * gst/gstmessage.h:
2875         * tools/gst-launch.c: (event_loop):
2876         Seriously, this is better than a previous commit as we only need
2877         to notify the fact that an element changed state in a streaming
2878         thread, marking the state of the parents dirty, hence the 
2879         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2880         message.
2881
2882 2005-10-18  Wim Taymans  <wim@fluendo.com>
2883
2884         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2885         (gst_bin_recalc_func):
2886         * gst/gstelement.c: (gst_element_set_clock),
2887         (gst_element_abort_state), (gst_element_lost_state):
2888         Cleanups, prepare for state change fixes.
2889
2890 2005-10-18  Wim Taymans  <wim@fluendo.com>
2891
2892         * gst/gstbin.h:
2893         * gst/gstelement.c: (gst_element_class_init),
2894         (gst_element_set_state), (gst_element_set_state_func):
2895         * gst/gstelement.h:
2896         Pending ABI changes.
2897         GThreadPool in GstBinClass to monitor async state changes.
2898         state_cookie in GstElement to detect concurrent gst/set state.
2899         set_state is now virtual too in case a very complicated element
2900         has to be constructed.
2901
2902 2005-10-18  Wim Taymans  <wim@fluendo.com>
2903
2904         * check/gst/gstbin.c: (GST_START_TEST):
2905         * check/gst/gstmessage.c: (GST_START_TEST):
2906         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2907         * gst/gstbin.c: (bin_bus_handler):
2908         * gst/gstelement.c: (gst_element_commit_state),
2909         (gst_element_lost_state):
2910         * gst/gstmessage.c: (gst_message_new_state_changed),
2911         (gst_message_new_segment_start), (gst_message_new_segment_done),
2912         (gst_message_new_duration), (gst_message_parse_state_changed),
2913         (gst_message_parse_segment_start),
2914         (gst_message_parse_segment_done), (gst_message_parse_duration):
2915         * gst/gstmessage.h:
2916         * tools/gst-launch.c: (event_loop):
2917         Make messages future proof.
2918         state-change gets a flag if it was a message comming from the
2919         streaming thread.
2920         segment-start/stop can also be specified in other formats.
2921         A message to notify an app that a pipeline changed playback 
2922         duration.
2923         Also fix a GstMessage leak in -launch
2924
2925 2005-10-18  Andy Wingo  <wingo@pobox.com>
2926
2927         * gst/gstelement.c (gst_element_dispose): More helpful message.
2928
2929 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2930
2931         reviewed by: <delete if not using a buddy>
2932
2933         * common/gtk-doc.mak:
2934
2935 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2936
2937         * gst/gstregistry.c: (gst_registry_scan_path_level):
2938           unref a plug-in we get that was already initialized
2939
2940 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2941
2942         * docs/gst/gstreamer-sections.txt:
2943         * docs/libs/gstreamer-libs-sections.txt:
2944         * gst/gstelement.h:
2945           add new api entries
2946           hide internal macro
2947
2948 2005-10-17  Andy Wingo  <wingo@pobox.com>
2949
2950         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2951         cleanup.
2952
2953         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2954
2955         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2956
2957         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2958         (gst_element_get_state_func): Better debug message.
2959         (gst_element_commit_state): s/INFO/DEBUG/.
2960         (gst_element_lost_state, gst_element_change_state): 
2961
2962         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2963         (gst_message_new_custom): s/INFO/LOG/.
2964
2965 2005-10-17  Michael Smith <msmith@fluendo.com>
2966
2967         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2968           Check if end time is valid using end time, not start time.
2969
2970 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2971
2972         * check/gst-libs/controller.c: (GST_START_TEST),
2973         (gst_controller_suite):
2974         * libs/gst/controller/gstcontroller.c:
2975         (gst_controlled_property_set_interpolation_mode):
2976         * libs/gst/controller/gstcontroller.h:
2977         * libs/gst/controller/gstinterpolation.c:
2978         * testsuite/controller/.cvsignore:
2979         * testsuite/controller/Makefile.am:
2980         * testsuite/controller/interpolator.c:
2981           merge controller testsuites
2982           fix broken tests
2983           remove mem-chunk from docs
2984
2985 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2986
2987         * gst/gstmemchunk.c:
2988         * gst/gstmemchunk.h:
2989         * gst/gsttrashstack.c:
2990         * gst/gsttrashstack.h:
2991           out.  get out.  you're fired.  to the Attic !
2992
2993 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2994
2995         * gst/gstcaps.c: (gst_caps_intersect):
2996           fix signedness issues in a (hopefully) correct way
2997         * gst/gstelement.c: (gst_element_pads_activate):
2998           some debugging
2999         * gst/gstobject.c: (gst_object_set_parent):
3000           some debugging
3001
3002 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3003
3004         * gst/gstvalue.h: Fix prototypes.
3005
3006 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3007
3008         * docs/gst/gstreamer-sections.txt:
3009         * gst/gst.c: (gst_version_string):
3010         * gst/gst.h:
3011         * gst/gstversion.h.in:
3012         * win32/common/libgstreamer.def:
3013           add gst_version_string ()
3014
3015 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3016
3017         * configure.ac:
3018           clean up further
3019         * gst/gst.c: (init_post):
3020         * win32/common/config.h.in:
3021           it's PLUGINDIR now
3022         * gst/gstcaps.c: (gst_caps_intersect):
3023           use gint64, the range could be bigger than a guint
3024
3025 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3026
3027         * gst/gstclock.h:
3028           document potential problem in 2038
3029
3030 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3031
3032         * gst/gstcaps.c: (gst_caps_intersect):
3033           Fix guint j diving under 0
3034
3035 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3036
3037         * configure.ac:
3038         * win32/common/config.h:
3039         * win32/common/config.h.in:
3040           check for process.h, declares getpid() on Windows
3041         * gst/gstinfo.c:
3042           include process.h if we have it
3043         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3044         * gst/gstmemchunk.h:
3045           fix signedness issues
3046         * win32/common/libgstreamer.def:
3047           fix get_type's
3048
3049 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3050
3051         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3052         fix. Because of unsigned ints, caps intersection was going nuts and
3053         trying to access structures with G_MAXUINT index. That fixes
3054         videotestsrc ! ffmpegcolorspace ! fakesink
3055         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3056         consistency.
3057
3058 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3059
3060         * configure.ac:
3061           use the gettext macro
3062         * gst/elements/gstelements.c:
3063         * gst/gst.c:
3064         * gst/indexers/gstindexers.c:
3065           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3066         * win32/common/config.h:
3067           updated config.h
3068         * win32/common/config.h.in:
3069           add the template to generate config.h
3070         * win32/common/gstenumtypes.c:
3071         * win32/common/gstversion.h:
3072           updated copies
3073
3074 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3075
3076         * gst/gst.c: (gst_version):
3077         * gst/gstversion.h.in:
3078           add the nano
3079
3080 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3081
3082         * gst/gstevent.h:
3083           Oops, add missing closing bracket.
3084
3085 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3086
3087         * configure.ac:
3088           use common m4's for argument checking
3089
3090 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3091
3092         * docs/gst/gstreamer-sections.txt:
3093         * gst/gstevent.h:
3094           Add GST_EVENT_TYPE_NAME() macro.
3095
3096 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3097
3098         * gst/gstinfo.c:
3099         * gst/gstpluginfeature.c:
3100         * gst/gsttask.c:
3101           privatize more symbols
3102
3103 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3104
3105         * configure.ac:
3106           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3107           everything that uses GStreamer API should have the includes
3108
3109 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3110
3111         * docs/gst/gstreamer-sections.txt:
3112         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3113         * gst/gstvalue.h:
3114           give each value a _get_type, removes the DATA exports
3115
3116 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3117
3118         * gst/gst.c:
3119         * gst/gst.h:
3120           remove _gst_registry_auto_load, not used anymore
3121         * gst/gstbin.c: (gst_bin_get_type):
3122         * gst/gstbin.h:
3123         * gst/gstelement.c: (gst_element_get_type):
3124         * gst/gstelement.h:
3125         * gst/gstobject.c: (gst_object_get_type):
3126         * gst/gstobject.h:
3127         * gst/gstpad.c: (gst_pad_get_type):
3128         * gst/gstpad.h:
3129           make _get_type functions similar, fixes data export from library
3130
3131 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3132
3133         * configure.ac:
3134           correctly make conditionals
3135         * gst/elements/Makefile.am:
3136         * gst/elements/gstelements.c:
3137           fix typo causing fdsrc not to build
3138
3139 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3140
3141         * testsuite/Makefile.am:
3142         * testsuite/bytestream/.cvsignore:
3143         * testsuite/bytestream/Makefile.am:
3144         * testsuite/bytestream/filepadsink.c:
3145         * testsuite/bytestream/gstbstest.c:
3146         * testsuite/bytestream/test1.c:
3147         * testsuite/bytestream/testfile1:
3148         * testsuite/caps/normalisation.c:
3149         * testsuite/caps/random.c: (main):
3150         * testsuite/cleanup/.cvsignore:
3151         * testsuite/cleanup/Makefile.am:
3152         * testsuite/cleanup/cleanup1.c:
3153         * testsuite/cleanup/cleanup2.c:
3154         * testsuite/cleanup/cleanup3.c:
3155         * testsuite/cleanup/cleanup4.c:
3156         * testsuite/cleanup/cleanup5.c:
3157         * testsuite/controller/interpolator.c:
3158         * testsuite/debug/printf_extension.c: (main):
3159         * testsuite/elements/tee.c:
3160         * testsuite/negotiation/.cvsignore:
3161         * testsuite/negotiation/Makefile.am:
3162         * testsuite/negotiation/pad_link.c:
3163         * testsuite/pad/Makefile.am:
3164         * testsuite/pad/chainnopull.c:
3165         * testsuite/pad/getnopush.c:
3166         * testsuite/pad/link.c:
3167         * testsuite/refcounting/sched.c: (create_pipeline):
3168         * testsuite/registry/Makefile.am:
3169         * testsuite/registry/gst-print-formats.c:
3170         * testsuite/schedulers/.cvsignore:
3171         * testsuite/schedulers/142183-2.c:
3172         * testsuite/schedulers/142183.c:
3173         * testsuite/schedulers/143777-2.c:
3174         * testsuite/schedulers/143777.c:
3175         * testsuite/schedulers/147713.c:
3176         * testsuite/schedulers/147819.c:
3177         * testsuite/schedulers/147894-2.c:
3178         * testsuite/schedulers/147894.c:
3179         * testsuite/schedulers/Makefile.am:
3180         * testsuite/schedulers/group_link.c:
3181         * testsuite/schedulers/queue_link.c:
3182         * testsuite/schedulers/relink.c:
3183         * testsuite/schedulers/unlink.c:
3184         * testsuite/schedulers/unref.c:
3185         * testsuite/schedulers/useless_iteration.c:
3186         * testsuite/states/bin.c:
3187           clean out/remove some stuff from the testsuite directories
3188
3189 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3190
3191         * configure.ac:
3192           check for some headers
3193         * gst/elements/Makefile.am:
3194         * gst/elements/gstelements.c:
3195           don't compile fdsrc without sys/socket.h
3196         * gst/indexers/Makefile.am:
3197         * gst/indexers/gstindexers.c: (plugin_init):
3198           don't compile fileindex without mmap
3199
3200 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3201
3202         * configure.ac:
3203           reorganize
3204           clean up
3205           document more
3206           remove cruft
3207         * check/Makefile.am:
3208         * docs/gst/Makefile.am:
3209         * examples/helloworld/Makefile.am:
3210         * gst/Makefile.am:
3211         * gst/base/Makefile.am:
3212         * gst/check/Makefile.am:
3213         * gst/elements/Makefile.am:
3214         * gst/indexers/Makefile.am:
3215         * gst/parse/Makefile.am:
3216         * libs/gst/controller/Makefile.am:
3217         * libs/gst/dataprotocol/Makefile.am:
3218         * examples/helloworld/helloworld.c: (event_loop):
3219           compile fixes, though it's not being compiled currently
3220
3221 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3222
3223         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3224           Add some simple tests for the new taglist date API.
3225
3226 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3227
3228         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3229         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3230           Beautify 'last-message' output: print 'none' for buffer timestamps
3231           and durations if none is set; improve alignment with next messages.
3232
3233 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3234
3235         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3236         * gst/gstpluginfeature.h:
3237         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3238         * gst/gstregistry.h:
3239         * docs/gst/gstreamer-sections.txt:
3240           Add new API to check plugin feature version requirements.
3241
3242         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3243           Some basic tests for the above.         
3244
3245 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3246
3247         * gst/gststructure.c: (gst_structure_to_string):
3248           guard against NULL printf - happens when for example
3249           a message structure with GstClock gets serialized
3250
3251 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3252
3253         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3254           Fix presumable copy'n'pasto.
3255
3256 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3257
3258         * gst/elements/gstfakesrc.h:
3259         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3260         * gst/elements/gsttypefindelement.c:
3261           fix some signedness
3262         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3263           I wonder if this could actually write +2GB files before
3264
3265 2005-10-13  Andy Wingo  <wingo@pobox.com>
3266
3267         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3268         Fix Timmeke Waymans bug.
3269         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3270         string of the proper length to gst_caps_from_string. There's a
3271         potential for, before this fix, that this could cause someone
3272         connecting over the network to cause a segfault if the payload is
3273         not NUL-terminated.
3274
3275 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3276
3277         * docs/design/draft-push-pull.txt:
3278         * docs/design/part-overview.txt:
3279         * docs/random/TODO-pre-0.9:
3280         * docs/random/old/ChangeLog.gstreamer:
3281         * gst/base/gstpushsrc.c:
3282         * gst/gstclock.c:
3283           fixed typos
3284
3285 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3286
3287         * gst/glib-compat.c: (gst_flags_get_first_value):
3288         * gst/glib-compat.h:
3289         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3290         (gst_value_compare_double), (gst_value_serialize_flags):
3291           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3292           infinite loop
3293
3294 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3295
3296         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3297         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3298           fix up debugging
3299         * tools/gst-launch.c: (event_loop):
3300           print out clock nicely
3301
3302 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3303
3304         * docs/gst/gstreamer-sections.txt:
3305         * gst/gsttaglist.h:
3306         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3307         (gst_tag_list_get_date_index):
3308           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3309           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3310
3311 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3312
3313         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3314         (gst_collectpads_chain):
3315         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3316         in CollectData.
3317
3318 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3319
3320         * docs/gst/gstreamer-sections.txt:
3321         * gst/gst.c:
3322         * gst/gsterror.h:
3323         * tools/gst-inspect.c: (main):
3324         * tools/gst-launch.c: (main):
3325         * tools/gst-run.c: (main):
3326         * tools/gst-xmlinspect.c: (main):
3327           fix GOption context leaks
3328           doc fixes
3329
3330 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3331
3332         * gst/gstbus.c:
3333           use HAVE_UNISTD_H
3334         * win32/common/config.h:
3335           update config
3336         * win32/vs6/grammar.dsp:
3337         * win32/vs6/libgstelements.dsp:
3338         * win32/vs6/libgstreamer.dsp:
3339           update vs6 files
3340
3341 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3342
3343         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3344         * gst/base/gstbasesrc.c: (gst_base_src_query):
3345           fix more guint64<->gdouble conversions
3346
3347 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3348
3349         * Makefile.am:
3350           add win32-update target
3351         * win32/common/gstconfig.h:
3352         * win32/common/gstenumtypes.c:
3353         * win32/common/gstenumtypes.h:
3354         * win32/common/gstversion.h:
3355           add files that visual studio can't generate
3356
3357 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3358
3359         * Makefile.am:
3360           add a win32-update target
3361         * configure.ac:
3362
3363 2005-10-12  Wim Taymans  <wim@fluendo.com>
3364
3365         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3366         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3367         * gst/gstelement.c: (gst_element_commit_state),
3368         (gst_element_set_state):
3369         Protect flags with proper lock.
3370         unref provided cached clock in dispose.
3371
3372 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3373
3374         * gst/gst.c:
3375         * gst/gstminiobject.h:
3376         * gst/gstpad.h:
3377         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3378           removed unused flags from miniobject
3379           doc fixes
3380
3381 2005-10-12  Wim Taymans  <wim@fluendo.com>
3382
3383         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3384         (gst_file_sink_event), (gst_file_sink_render):
3385         Flush before seeking.
3386
3387 2005-10-12  Andy Wingo  <wingo@pobox.com>
3388
3389         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3390         always been the case.
3391
3392 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3393
3394         * check/gst/gstbin.c: (GST_START_TEST):
3395         * docs/gst/gstreamer-sections.txt:
3396         * gst/base/gstbasesink.c: (gst_base_sink_init):
3397         * gst/base/gstbasesrc.c: (gst_base_src_init),
3398         (gst_base_src_get_range), (gst_base_src_check_get_range),
3399         (gst_base_src_start), (gst_base_src_stop):
3400         * gst/base/gstbasesrc.h:
3401         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3402         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3403         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3404         (bin_bus_handler):
3405         * gst/gstbin.h:
3406         * gst/gstbuffer.h:
3407         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3408         * gst/gstbus.h:
3409         * gst/gstelement.c: (gst_element_is_locked_state),
3410         (gst_element_set_locked_state), (gst_element_commit_state),
3411         (gst_element_set_state):
3412         * gst/gstelement.h:
3413         * gst/gstindex.c: (gst_index_init):
3414         * gst/gstindex.h:
3415         * gst/gstminiobject.h:
3416         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3417         (gst_object_set_parent):
3418         * gst/gstobject.h:
3419         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3420         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3421         * gst/gstpad.h:
3422         * gst/gstpadtemplate.h:
3423         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3424         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3425         * gst/gstpipeline.h:
3426         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3427         (gst_file_index_commit):
3428         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3429         * testsuite/pad/link.c: (gst_test_src_init),
3430         (gst_test_filter_init), (gst_test_sink_init):
3431         * testsuite/states/locked.c: (main):
3432           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3433           moved bitshift from macro to enum definition
3434
3435 2005-10-12  Wim Taymans  <wim@fluendo.com>
3436
3437         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3438         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3439         (gst_file_sink_render):
3440         Some more debugging info.
3441
3442 2005-10-12  Wim Taymans  <wim@fluendo.com>
3443
3444         * docs/design/part-states.txt:
3445         * tools/gst-launch.c: (main):
3446         Some doc updates.
3447         Revert non-intentional change.
3448
3449 2005-10-12  Wim Taymans  <wim@fluendo.com>
3450
3451         * check/gst/gstbin.c: (GST_START_TEST):
3452         * check/gst/gstelement.c: (GST_START_TEST):
3453         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3454         * check/gst/gstghostpad.c: (GST_START_TEST):
3455         * check/gst/gstpipeline.c: (GST_START_TEST):
3456         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3457         * check/states/sinks.c: (GST_START_TEST):
3458         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3459         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3460         (gst_bin_remove_func), (gst_bin_get_state_func),
3461         (gst_bin_recalc_state), (gst_bin_change_state_func),
3462         (bin_bus_handler):
3463         * gst/gstelement.c: (gst_element_get_state_func),
3464         (gst_element_get_state), (gst_element_abort_state),
3465         (gst_element_commit_state), (gst_element_set_state),
3466         (gst_element_change_state), (gst_element_change_state_func):
3467         * gst/gstelement.h:
3468         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3469         (gst_pipeline_provide_clock_func):
3470         * gst/gstutils.c: (gst_element_link_pads_filtered):
3471         * tools/gst-launch.c: (main):
3472         * tools/gst-typefind.c: (main):
3473         Use GstClockTime in _get_state() instead of GTimeVal.
3474         Remove old code in gstutils.c
3475
3476 2005-10-12  Andy Wingo  <wingo@pobox.com>
3477
3478         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3479         removed.
3480
3481         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3482         there is no task. Shouldn't affect any code, as nothing in our
3483         plugins checks this return value.
3484         (gst_pad_stop_task): Also take the stream lock if the pad has no
3485         task. Docs updated.
3486
3487 2005-10-12  Wim Taymans  <wim@fluendo.com>
3488
3489         * gst/gstpad.c: (pre_activate), (post_activate),
3490         (gst_pad_activate_pull), (gst_pad_activate_push):
3491         Cleanup activation code. Reset old state if
3492         activation failed.
3493
3494 2005-10-12  Wim Taymans  <wim@fluendo.com>
3495
3496         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3497         (gst_base_sink_change_state):
3498         No need to prerol after receiving EOS.
3499
3500         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3501         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3502         * gst/elements/gstidentity.c: (gst_identity_event):
3503         Print events more verbosely.
3504
3505 2005-10-12  Wim Taymans  <wim@fluendo.com>
3506
3507         * check/Makefile.am:
3508         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3509         * check/states/sinks2.c:
3510         Moved sinks2 testcode in sinks check.
3511
3512         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3513         (gst_bin_remove_func), (gst_bin_recalc_state),
3514         (gst_bin_change_state_func), (bin_bus_handler):
3515         Fix potential race condition when _get_state() iterated over an
3516         ASYNC element right before it posted a state completion.
3517
3518         * gst/gstclock.h:
3519         Do proper cast here.
3520
3521         * gst/gstevent.c: (gst_event_new_newsegment),
3522         (gst_event_parse_newsegment):
3523         A playback rate of 0.0 is not allowed.
3524
3525 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3526
3527         * win32/common/config.h:
3528         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3529         (_trewinddir), (_ttelldir), (_tseekdir):
3530         * win32/common/dirent.h:
3531         * win32/common/gtchar.h:
3532         * win32/common/libgstbase.def:
3533         * win32/common/libgstreamer.def:
3534         * win32/vs6/grammar.dsp:
3535         * win32/vs6/gst_inspect.dsp:
3536         * win32/vs6/gst_launch.dsp:
3537         * win32/vs6/gstreamer.dsw:
3538         * win32/vs6/libgstbase.dsp:
3539         * win32/vs6/libgstelements.dsp:
3540         * win32/vs6/libgstreamer.dsp:
3541           Visual Studio 6 project files, and a new common directory.
3542           Phear.
3543
3544 2005-10-11  Wim Taymans  <wim@fluendo.com>
3545
3546         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3547         (gst_base_sink_do_sync), (gst_base_sink_query),
3548         (gst_base_sink_change_state):
3549         * gst/base/gstbasesink.h:
3550         Correctly parse newsegment info.
3551
3552 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3553
3554         * gst/gst.c: (init_post):
3555           split plugin paths correctly
3556
3557 2005-10-11  Wim Taymans  <wim@fluendo.com>
3558
3559         * check/gst/gstevent.c: (GST_START_TEST):
3560         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3561         (gst_base_sink_change_state):
3562         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3563         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3564         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3565         * gst/gstevent.c: (gst_event_new_newsegment),
3566         (gst_event_parse_newsegment):
3567         * gst/gstevent.h:
3568         Added extra flag to newsegment for future API freeze.
3569         Updated check and base elements.
3570
3571 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3572
3573         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3574         (gst_collectpads_add_pad), (gst_collectpads_pop),
3575         (gst_collectpads_event), (gst_collectpads_chain):
3576         * gst/base/gstcollectpads.h: Handle EOS correctly.
3577
3578 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3579
3580         * tools/gst-launch.c: (main):
3581           more null protecting
3582
3583 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3584
3585         * gst/gst-i18n-lib.h:
3586           check for ENABLE_NLS, not GETTEXT_PACKAGE
3587         * gst/gstregistry.c: (gst_registry_add_plugin),
3588         (gst_registry_scan_path_level),
3589         (_gst_registry_remove_cache_plugins):
3590           protect possibly NULL strings
3591         * gst/parse/types.h:
3592           config.h already included before
3593         * tools/gst-inspect.c: (main):
3594           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3595           check for ENABLE_NLS, not GETTEXT_PACKAGE
3596         * tools/gst-launch.c: (main):
3597           check for ENABLE_NLS, not GETTEXT_PACKAGE
3598
3599 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3600
3601         * configure.ac:
3602           if we don't have glib, fail before testing 2.8
3603         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3604           fix a leak, should fix plugins-base testsuite
3605
3606 2005-10-11  Andy Wingo  <wingo@pobox.com>
3607
3608         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3609         take the mode we're going to as an arg. Go head and set the mode
3610         and flushing flags now, so that if the activate function starts a
3611         thread all the flags will be in the right state.
3612         (post_activate): Renamed also. Just handle making sure streaming
3613         finishes for the deactivation case, and setting the deactivated
3614         mode.
3615         (gst_pad_set_active): Complain loudly if deactivation fails.
3616         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3617         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3618         remove the terrible hack.
3619
3620 2005-10-11  Wim Taymans  <wim@fluendo.com>
3621
3622         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3623         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3624         (gst_bin_recalc_state), (gst_bin_change_state_func),
3625         (gst_bin_dispose), (bin_bus_handler):
3626         * gst/gstbin.h:
3627         Prepare to make current EOS message queue more generic.
3628         Fix some typos.
3629
3630         * gst/gstevent.c: (gst_event_new_newsegment),
3631         (gst_event_parse_newsegment):
3632         * gst/gstevent.h:
3633         Rename base to stream_time.
3634
3635         * gst/gstmessage.h:
3636         Fix typo in docs.
3637
3638 2005-10-11  Wim Taymans  <wim@fluendo.com>
3639
3640         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3641         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3642         (gst_bin_change_state_func), (bin_bus_handler):
3643         * gst/gstbin.h:
3644         Work on proper clock selection.
3645
3646 2005-10-11  Edward Hervey  <edward@fluendo.com>
3647
3648         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3649         * libs/gst/controller/gstcontroller.h:
3650         Added GList* version of _remove_properties() in order to be able to wrap
3651         it in bindings.
3652
3653 2005-10-11  Wim Taymans  <wim@fluendo.com>
3654
3655         * docs/design/part-states.txt:
3656         Some more docs.
3657
3658         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3659         (gst_bin_change_state_func), (bin_bus_handler):
3660         Doc updates. Don't distribute the same clock over and over again.
3661
3662         * gst/gstclock.c:
3663         * gst/gstclock.h:
3664         Doc updates.
3665
3666         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3667         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3668         (gst_pad_send_event):
3669         * gst/gstpad.h:
3670         Make probe emission threadsafe again.
3671         Register quarks and move _get_name() from utils.
3672         Doc updates.
3673
3674         * gst/gstpipeline.c: (gst_pipeline_class_init),
3675         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3676         Only redistribute the clock of it changed.
3677
3678         * gst/gstsystemclock.h:
3679         Doc updates. 
3680
3681         * gst/gstutils.c:
3682         * gst/gstutils.h:
3683         Moved the _flow_get_name() to GstPad.
3684
3685 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3686
3687         * check/gst-libs/gdp.c: (GST_START_TEST):
3688         * check/gst/gstcaps.c: (GST_START_TEST):
3689         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3690         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3691         (gst_dp_packet_from_caps):
3692           fix more valgrind warnings before turning up the heat
3693
3694 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3695
3696         * gst/parse/grammar.y:
3697           some cleanup before the hacking
3698
3699 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3700
3701         * gst/base/gstbasesrc.c: (gst_base_src_query):
3702           use conversions
3703         * gst/gstutils.c: (gst_guint64_to_gdouble),
3704         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3705         * gst/gstutils.h:
3706           externalize, basesrc uses it
3707           obviously the implementation needs testing
3708
3709 2005-10-10  Wim Taymans  <wim@fluendo.com>
3710
3711         * tests/sched/Makefile.am:
3712         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3713         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3714
3715 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3716
3717         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3718           apparently converting from guint64 to double is not implemented
3719           on MSVC
3720
3721 2005-10-10  Wim Taymans  <wim@fluendo.com>
3722
3723         * check/Makefile.am:
3724         * check/generic/states.c: (GST_START_TEST):
3725         * check/gst/gstbin.c: (GST_START_TEST):
3726         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3727         * check/states/sinks.c: (GST_START_TEST):
3728         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3729         (main):
3730         Check fixes, use API as stated in design docs, remove hacks.
3731
3732         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3733         (gst_base_sink_change_state):
3734         Catch stopping our task while we're shutting down.
3735
3736         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3737         (gst_bin_remove_func), (gst_bin_get_state_func),
3738         (gst_bin_recalc_state), (gst_bin_change_state_func),
3739         (bin_bus_handler):
3740         * gst/gstbin.h:
3741         * gst/gstelement.c: (gst_element_init),
3742         (gst_element_get_state_func), (gst_element_abort_state),
3743         (gst_element_commit_state), (gst_element_lost_state),
3744         (gst_element_set_state), (gst_element_change_state),
3745         (gst_element_change_state_func):
3746         * gst/gstelement.h:
3747         New state change algorithm (see #318116)
3748
3749         * gst/gstpipeline.c: (gst_pipeline_class_init),
3750         (gst_pipeline_init), (gst_pipeline_set_property),
3751         (gst_pipeline_get_property), (do_pipeline_seek),
3752         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3753         * gst/gstpipeline.h:
3754         Remove crude state change hacks.
3755
3756         * gst/gstutils.h:
3757         Remove crude hacks.
3758
3759         * tools/gst-launch.c: (main):
3760         Fixes for state change. Needs some more work to fully use the
3761         new stuff.
3762
3763 2005-10-10  Andy Wingo  <wingo@pobox.com>
3764
3765         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3766
3767         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3768         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3769         issue.
3770
3771 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3772
3773         * gst/gstiterator.c: (gst_iterator_new):
3774           Fix my previous commit: GTypes passed to gst_iterator_new()
3775           can be fundamental types.
3776
3777 2005-10-10  Wim Taymans  <wim@fluendo.com>
3778
3779         * gst/gstelement.c: (gst_element_iterate_pad_list),
3780         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3781         (gst_element_iterate_sink_pads):
3782         Use src/sink pads lists for the respective iterators instead
3783         of filtering.
3784
3785 2005-10-10  Andy Wingo  <wingo@pobox.com>
3786
3787         Merged in popt removal + GOption addition patch from Ronald, bug
3788         #169772.
3789
3790         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3791         GstElement macros around, remove popt-related symbols, add goption
3792         stuff.
3793
3794         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3795         
3796         * docs/gst/Makefile.am:
3797         * docs/libs/Makefile.am: No POPT_CFLAGS.
3798         
3799         * examples/manual/Makefile.am:
3800         * docs/manual/basics-init.xml: Doc updates with an example.
3801         
3802         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3803         (gst_init), (parse_one_option), (parse_goption_arg):
3804         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3805         bit of hand merging and debugging to get the GOption stuff working
3806         tho.
3807         
3808         * tests/Makefile.am:
3809         * tools/Makefile.am:
3810         * tools/gst-inspect.c: (main):
3811         * tools/gst-launch.c: (main):
3812         * tools/gst-run.c: (main):
3813         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3814
3815 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3816
3817         * gst/gstiterator.c: (gst_iterator_new):
3818           Add assertions to make sure passed GType is likely to really
3819           be a GType (as the compiler won't catch it if the size and
3820           GType arguments get mixed up, see #318447).
3821
3822 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3823
3824         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3825
3826         * gst/gstbin.c: (gst_bin_iterate_sorted):
3827           Pass GType and size arguments to gst_iterator_new() in the right
3828           order (maybe we should make _new() take the GType as first argument
3829           just like _new_list()?) (#318447).
3830           
3831
3832 2005-10-10  Wim Taymans  <wim@fluendo.com>
3833
3834         * gst/gstelement.c: (gst_element_finalize):
3835         And free the GStaticRecMutex too
3836
3837 2005-10-10  Andy Wingo  <wingo@pobox.com>
3838
3839         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3840         Allocate and free the mutex properly.
3841
3842         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3843         New macros.
3844         (GstElement): The state_lock is now recursive. Rebuild your
3845         plugins, suckers. Old macros adapted.
3846
3847         * docs/gst/gstreamer-sections.txt: Doc updates.
3848
3849         * gst/gstutils.h:
3850         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3851         (g_static_rec_cond_wait): Ported from state changes patch, while
3852         we wait on bug #317802 to be solved in a well-distributed GLib.
3853
3854         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3855         gst_element_change_state, variable name changes.
3856         (gst_element_change_state): Split out of gst_element_set_state in
3857         preparation for the state change merge. Doesn't pay attention to
3858         the 'transition' argument.
3859         (gst_element_set_state): Updates, hopefully purely cosmetic.
3860         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3861         state change patch.
3862         (gst_element_get_state_func): Renamed from get_state, cosmetic
3863         changes.
3864
3865 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3866
3867         * gst/elements/gstelements.c:
3868         * win32/GStreamer.vcproj:
3869         * win32/config.h:
3870         * win32/dirent.c: (_tseekdir):
3871         * win32/gst-inspect.vcproj:
3872         * win32/gst-launch.vcproj:
3873         * win32/gstconfig.h:
3874         * win32/gstelements.vcproj:
3875         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3876         * win32/gstreamer.def:
3877         * win32/msvc71.sln:
3878           updates for the win32 build (patch from Sebastien Moutte)
3879
3880 2005-10-10  Andy Wingo  <wingo@pobox.com>
3881
3882         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3883         gst_bin_get_state, cleaned up (but no logic changes).
3884         (bin_element_is_sink): Comment updates.
3885         (sink_iterator_filter): Remove needless cast.
3886         (gst_bin_iterate_sinks): Doc update.
3887         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3888         cleaned up (but no logic changes).
3889
3890         * check/states/sinks.c (test_src_sink): Cleanups from the state
3891         change patch.
3892         (test_livesrc_sink): Sync on the state.
3893
3894         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3895         the state change patch.
3896
3897         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3898         change patch.
3899
3900         * check/gst/gstbin.c: Merge in some style fixes and additional
3901         checks from Wim's state change patch.
3902
3903 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3904
3905         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3906         (gst_type_find_helper):
3907           Check whether we have the requested data already in our list of
3908           cached buffers before pulling a new buffer; also make the buffer
3909           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3910
3911 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3912
3913         * gst/gstcaps.c:
3914         * gst/gstevent.c:
3915           doc updates
3916         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3917           don't use long long, it's not portable.  Replacing with
3918           gint64 seems to work; let's hope no skeletons fall out of the closet.
3919
3920 2005-10-10  Andy Wingo  <wingo@pobox.com>
3921
3922         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3923
3924 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3925
3926         * docs/gst/gstreamer-sections.txt:
3927         * gst/gstevent.c:
3928         * gst/gstevent.h:
3929         * gst/gstinfo.c:
3930         * gst/gstinfo.h:
3931         * gst/gstmessage.c: (gst_message_parse_state_changed):
3932         * gst/gstpad.c:
3933         * gst/gstpad.h:
3934           more docs, fix compilation
3935
3936 2005-10-09  Philippe Khalaf <burger@speedy.org>
3937         * gst/gstmessage.c:
3938           Fixed a few forgotten variables on previous commit
3939
3940 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3941
3942         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3943           Fix evil typefind crasher: getrange() might return a short
3944           buffer at the end of a file, but gst_type_find_peek() must
3945           either return the full data as requested or NULL, but
3946           never a short buffer.
3947
3948 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3949
3950         * gst/gstmessage.c: (gst_message_new_state_changed),
3951         (gst_message_parse_state_changed):
3952         * gst/gstmessage.h:
3953           don't use "new", it's a C++ keyword
3954
3955 2005-10-08  Wim Taymans  <wim@fluendo.com>
3956
3957         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3958         * gst/gstelement.c: (gst_element_post_message):
3959         * gst/gstpipeline.c: (gst_pipeline_change_state):
3960         Small docs and debug updates.
3961
3962 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3963
3964         * docs/gst/gstreamer-sections.txt:
3965         * gst/gstelementfactory.c:
3966         * gst/gstevent.c:
3967         * gst/gsttaglist.c:
3968           more docs
3969
3970 2005-10-08  Wim Taymans  <wim@fluendo.com>
3971
3972         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3973         (gst_bin_dispose), (bin_bus_handler):
3974         Fix typos, add comments.
3975         Clear EOS list when going to PAUSED from any direction and do it
3976         in a threadsafe way.
3977         Get base time in a threadsafe way too.
3978         Fix confusing debug in the change_state function.
3979         Various other small cleanups.
3980         
3981         * gst/gstelement.c: (gst_element_post_message):
3982         Fix very verbose bus posting code.
3983
3984         * gst/gstpipeline.c: (gst_pipeline_class_init),
3985         (gst_pipeline_set_property), (gst_pipeline_get_property),
3986         (gst_pipeline_change_state):
3987         Small ARG_ -> PROP_ cleanup
3988
3989 2005-10-08  Wim Taymans  <wim@fluendo.com>
3990
3991         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3992         Do a less CPU demanding EOS check because we can.
3993
3994 2005-10-08  Wim Taymans  <wim@fluendo.com>
3995
3996         * libs/gst/dataprotocol/dataprotocol.c:
3997         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3998         (gst_dp_packet_from_event):
3999         * libs/gst/dataprotocol/dataprotocol.h:
4000         * libs/gst/dataprotocol/dp-private.h:
4001         It's about time we bump the version number.
4002         Since event types don't fit in the guint8 anymore describing
4003         the payload type, make payload type 16 bits wide.
4004
4005 2005-10-08  Wim Taymans  <wim@fluendo.com>
4006
4007         * docs/design/part-TODO.txt:
4008         * docs/design/part-clocks.txt:
4009         * docs/design/part-events.txt:
4010         * docs/design/part-gstbin.txt:
4011         * docs/design/part-gstelement.txt:
4012         * docs/design/part-gstpipeline.txt:
4013         * docs/design/part-live-source.txt:
4014         * docs/design/part-messages.txt:
4015         * docs/design/part-overview.txt:
4016         * docs/design/part-states.txt:
4017         Many doc updates.
4018
4019 2005-10-08  Wim Taymans  <wim@fluendo.com>
4020
4021         * gst/gstevent.c:
4022         * gst/gstevent.h:
4023         Fix event quark registration.
4024         Add some space between events so we can insert them in the
4025         right groups.
4026
4027 2005-10-08  Wim Taymans  <wim@fluendo.com>
4028
4029         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4030         (gst_base_sink_handle_buffer):
4031         Better log message.
4032
4033         * gst/gstbus.h:
4034         * gst/gstelement.h:
4035         More docs.
4036
4037         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4038         (gst_queue_set_property), (gst_queue_get_property):
4039         * gst/gstqueue.h:
4040         Remove old unused properties.
4041
4042 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4043         * docs/gst/gstreamer-sections.txt:
4044         * gst/gstmessage.c:
4045         * gst/gstmessage.h:
4046         * gst/gstminiobject.c:
4047         * gst/gstminiobject.h:
4048         * gst/gstobject.h:
4049         * gst/gstpad.h:
4050         * gst/gstutils.h:
4051           lots of new docs and doc fixes
4052
4053 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4054
4055         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4056         * gst/gstplugin.h:
4057         * gst/gstregistry.c: (gst_registry_lookup_locked),
4058         (gst_registry_scan_path_level):
4059         * gst/gstregistryxml.c: (load_plugin):
4060           Only ever load one plugin for a given plugin basename.
4061           This ensures correct overriding of GST_PLUGIN_PATH over
4062           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4063           system installed plugins.
4064
4065 2005-10-08  Wim Taymans  <wim@fluendo.com>
4066
4067         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4068         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4069         Prepare for doing QOS.
4070
4071 2005-10-08  Wim Taymans  <wim@fluendo.com>
4072
4073         * check/gst/gstbin.c: (GST_START_TEST):
4074         * check/pipelines/cleanup.c: (GST_START_TEST):
4075         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4076         Allow new clock message too.
4077
4078 2005-10-08  Wim Taymans  <wim@fluendo.com>
4079
4080         * gst/gstmessage.c: (gst_message_new_error),
4081         (gst_message_new_warning), (gst_message_new_tag),
4082         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4083         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4084         (gst_message_new_segment_start), (gst_message_new_segment_done),
4085         (gst_message_parse_state_changed),
4086         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4087         (gst_message_parse_new_clock):
4088         * gst/gstmessage.h:
4089         Also carry the clock in question.
4090
4091 2005-10-08  Wim Taymans  <wim@fluendo.com>
4092
4093         * gst/gstmessage.c: (gst_message_new_custom),
4094         (gst_message_new_eos), (gst_message_new_error),
4095         (gst_message_new_warning), (gst_message_new_tag),
4096         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4097         (gst_message_new_new_clock), (gst_message_new_segment_start),
4098         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4099         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4100         * gst/gstmessage.h:
4101         Clean up.
4102         Added clock related messages.
4103
4104         * gst/gstpipeline.c: (gst_pipeline_change_state):
4105         Post message when the clock changed.
4106
4107         * tools/gst-launch.c: (event_loop):
4108         Print new clock.
4109
4110 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4111
4112         * tools/gst-inspect.c: (print_element_properties_info):
4113           Can't pass NULL strings to g_print() on windows.
4114
4115 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4116
4117         * docs/Makefile.am:
4118         * docs/gst/Makefile.am:
4119         * docs/gst/gstreamer-docs.sgml:
4120         * docs/gst/running.xml:
4121         * docs/version.entities.in:
4122           add a chapter on running GStreamer.
4123           document GST_DEBUG and GST_PLUGIN* env vars
4124
4125 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4126
4127         * Makefile.am:
4128           remove include dir
4129         * configure.ac:
4130           remove PLUGINS_BUILDDIR stuff
4131         * gst/gst.c: (init_post):
4132           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4133         * idiottest.mak:
4134           remove, it was condescending and not needed
4135
4136 2005-10-08  Wim Taymans  <wim@fluendo.com>
4137
4138         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4139         (gst_base_sink_handle_object), (gst_base_sink_event),
4140         (gst_base_sink_wait), (gst_base_sink_handle_event),
4141         (gst_base_sink_change_state):
4142         * gst/base/gstbasesink.h:
4143         Repost EOS message while going to PLAYING if still EOS.
4144         Make sure that when receiving a FLUSH_START we don't attempt
4145         to sync on the clock anymore.
4146
4147 2005-10-08  Wim Taymans  <wim@fluendo.com>
4148
4149         * tools/gst-launch.c: (event_loop):
4150         Better message printout.
4151
4152 2005-10-08  Wim Taymans  <wim@fluendo.com>
4153
4154         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4155         (gst_bin_child_proxy_get_children_count):
4156         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4157         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4158         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4159         (gst_child_proxy_set_valist):
4160         * gst/parse/grammar.y:
4161         Make ChildProxy threadsafe and fix mem leaks.
4162
4163 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4164
4165         * gst/gst.c: (init_post):
4166           debug the GST_PLUGIN_ env vars
4167
4168 2005-10-08  Wim Taymans  <wim@fluendo.com>
4169
4170         * check/gst/gstbin.c: (GST_START_TEST):
4171         * check/gst/gstmessage.c: (GST_START_TEST):
4172         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4173         * gst/gstelement.c: (gst_element_commit_state),
4174         (gst_element_lost_state):
4175         * gst/gstmessage.c: (gst_message_new_state_changed),
4176         (gst_message_parse_state_changed):
4177         * gst/gstmessage.h:
4178         * tools/gst-launch.c: (event_loop):
4179         Added extra field to STATE_CHANGE message with the pending
4180         state, which will be different from the new state soon.
4181
4182 2005-10-08  Wim Taymans  <wim@fluendo.com>
4183
4184         * gst/gstbus.c: (gst_bus_pop):
4185         * gst/gstclock.c:
4186         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4187         Small cleanups and doc updates.
4188
4189 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4190
4191         * gst/gst.c: (init_pre):
4192         * gst/gstbin.c: (gst_bin_add_func):
4193           log distributing clocks and base time
4194         * gst/gstregistry.c: (gst_registry_add_plugin),
4195         (gst_registry_scan_path_level), (gst_registry_scan_path):
4196           clean up the debugging output a little
4197         * gst/gstutils.c: (gst_element_state_get_name):
4198           warn about a memleak (I've actually seen this be used, though
4199           it was probably a bug)
4200
4201 2005-10-07  Wim Taymans  <wim@fluendo.com>
4202
4203         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4204         (gst_base_src_init), (gst_base_src_default_newsegment),
4205         (gst_base_src_newsegment), (gst_base_src_do_seek),
4206         (gst_base_src_loop), (gst_base_src_start):
4207         * gst/base/gstbasesrc.h:
4208         Make the newsegment event customizable by subclasses.
4209
4210 2005-10-07  Wim Taymans  <wim@fluendo.com>
4211
4212         * gst/gstevent.c: (gst_event_new_buffersize),
4213         (gst_event_parse_buffersize):
4214         * gst/gstevent.h:
4215         New event for future idea.
4216
4217 2005-10-07  Andy Wingo  <wingo@pobox.com>
4218
4219         * gst/gstelement.c (gst_element_post_message): Doc update.
4220
4221         * docs/gst/gstreamer-sections.txt: Update.
4222
4223         * gst/gstmessage.c (gst_message_new_application): Made into a
4224         function like honest API calls.
4225         (gst_message_new_element): New message type.
4226
4227         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4228
4229         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4230         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4231         times.
4232
4233         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4234         NO_PREROLL from gst_element_change_state to fall through.
4235
4236 2005-10-07  Wim Taymans  <wim@fluendo.com>
4237
4238         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4239         (gst_ghost_pad_do_activate_push):
4240         Activating a ghostpad with no internal pad in push mode
4241         is ok.
4242
4243 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4244
4245         * gst/gstobject.h:
4246           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4247           Fixes compilation on Windows.
4248
4249 2005-10-07  Michael Smith <msmith@fluendo.com>
4250
4251         * tools/gst-inspect.c:
4252           Print out feature and plugin count at the end when printing out
4253           all features.
4254
4255 2005-10-04  Michael Smith <msmith@fluendo.com>
4256
4257         * gst/gsterror.c: (_gst_stream_errors_init):
4258           Add another error string used in a few existing plugins.
4259
4260         * gst/gstplugin.c:
4261         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4262         * tools/gst-inspect.c: (print_element_info):
4263           When a feature disappears from a plugin (and the feature exists in
4264           the cached registry file), things went horribly wrong. This isn't a
4265           complete fix, we should actually be removing the 'missing' features
4266           from the features list when we load the actual plugin. That's not
4267           yet implemented. 
4268
4269 2005-10-04  Johan Dahlin  <johan@gnome.org>
4270
4271         * check/gst/gstiterator.c: (GST_START_TEST):
4272         * gst/gstbin.c: (gst_bin_iterate_elements),
4273         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4274         * gst/gstelement.c: (gst_element_iterate_pads):
4275         * gst/gstformat.c: (gst_format_iterate_definitions):
4276         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4277         (gst_iterator_new_list), (gst_iterator_filter):
4278         * gst/gstiterator.h:
4279         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4280         Add a GType to GstIterator, update callsites and tests.
4281
4282 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4283
4284         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4285           give events a chance to be handled by event probes when the pad
4286           is not linked
4287
4288 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4289
4290         * gst/gstevent.c: (gst_event_type_get_name),
4291         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4292         * gst/gstevent.h:
4293           add string representations for event types
4294
4295 2005-10-06  Wim Taymans  <wim@fluendo.com>
4296
4297         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4298         Don't use NULL pointers.
4299
4300 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4301
4302         * gst/gst_private.h:
4303         * gst/gstbus.c:
4304         * gst/gstelement.c:
4305         * gst/gstinfo.c:
4306         * gst/gstpluginfeature.c:
4307           widen the debug category in output to fit the biggest one we have
4308           add a bus category and use it
4309           play with the colors
4310           fix up some categories
4311
4312 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4313
4314         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4315           add push activation of sink ghost pads.
4316           Andye, please verify
4317
4318 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4319
4320         * gst/gstutils.c: (gst_element_link_pads):
4321           fix a bug in the case where neither element has a pad
4322         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4323           add a test for that case
4324
4325 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4326
4327         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4328           emit have-data before checking for peers.  This allows
4329           for probe handlers to connect elements.  This helps autopluggers.
4330         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4331         (gst_pad_suite):
4332           add six checks, linked/unlinked with no/true/false probe
4333
4334 2005-10-04  Wim Taymans  <wim@fluendo.com>
4335
4336         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4337         (gst_fake_sink_event), (gst_fake_sink_preroll),
4338         (gst_fake_sink_render), (gst_fake_sink_change_state):
4339         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4340         (gst_fake_src_get_property), (gst_fake_src_create),
4341         (gst_fake_src_stop):
4342         * gst/elements/gstidentity.c: (gst_identity_stop):
4343         Protect last_message with lock.
4344
4345 2005-10-04  Edward Hervey  <edward@fluendo.com>
4346
4347         * gst/gstformat.h: 
4348         Added precision in the comments for GST_FORMAT_DEFAULT
4349
4350 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4351
4352         * tools/gst-launch.c: (main):
4353           Don't try to run erroneous pipelines.
4354
4355 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4356
4357         * gst/gstbus.c: We don't need this header.
4358
4359 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4360
4361         * configure.ac:
4362           back to development
4363
4364 === release 0.9.3 ===
4365
4366 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4367
4368         * README:
4369         * configure.ac:
4370           Releasing 0.9.3, "Unregistered"
4371
4372 2005-10-03  Andy Wingo  <wingo@pobox.com>
4373
4374         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4375         whereby calling a pad's activatepush() function can start a thread
4376         that starts to push or pull before the pad gets the FLUSHING flag
4377         unset. Hack around it by holding the stream lock until the flag is
4378         set. Need to replace this with a proper solution. Together with
4379         the ghost pad fixes, this fixes mp3 playing/tagreading.
4380
4381         * docs/design/part-gstghostpad.txt: Add a note about activation of
4382         proxy pads outside of ghost pads.
4383
4384         * gst/gstghostpad.c: Implement the ghost pad activation design.
4385
4386 2005-10-02  Andy Wingo  <wingo@pobox.com>
4387
4388         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4389         It is volatile, after all.
4390
4391         * docs/design/part-gstghostpad.txt: Flesh out activation with
4392         ghost pads.
4393
4394         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4395         GST_DEBUG_FUNCPTR.
4396
4397 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4398
4399         * configure.ac:
4400           Fix (unused) AM_CONDITIONAL tests.
4401
4402 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4403
4404         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4405
4406         * gst/gstutils.c: (gst_pad_query_convert):
4407           Add assertion that makes sure src_val is >=0, just like
4408           gst_query_new_convert() has. (#315895)
4409
4410 2005-09-30  Edward Hervey  <edward@fluendo.com>
4411
4412         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4413         Let's not iterate pads we're not interested in, it avoids getting 
4414         sky-high refcounts on sinkpad.
4415
4416 2005-09-30  Wim Taymans  <wim@fluendo.com>
4417
4418         * gst/gstelement.c: (gst_element_set_state),
4419         (gst_element_change_state):
4420         Small tweak, element in ASYNC remains ASYNC.
4421
4422 2005-09-30  Wim Taymans  <wim@fluendo.com>
4423
4424         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4425         Only error is an error.
4426
4427         * gst/gstbin.c: (gst_bin_change_state):
4428         Better debugging.
4429
4430         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4431         Also call pad_block in pad alloc.
4432
4433         * gst/gstutils.c: (gst_flow_get_name):
4434         Better debugging.
4435
4436 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4437
4438         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4439         (gst_base_src_get_range):
4440           Fix documentation typos. Add some more debug info.
4441
4442 2005-09-29  David Schleef  <ds@schleef.org>
4443
4444         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4445           more end-user friendly.
4446         * tools/gst-inspect.c: (main): Check if command-line argument is
4447           a file and attempt to load that file as a plugin.
4448
4449 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4450
4451         * check/gst/gstbin.c:
4452         * check/states/sinks.c:
4453           fix tests for the new warning
4454         * check/gst/gstpipeline.c:
4455           add a test for pipeline and bus interaction
4456         * gst/gstelement.c:
4457           elements should be NULL if they get disposed; add a warning if not
4458
4459 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4460
4461         * gst/gstobject.c:
4462           for 2.6 refcounting, make debug log more correct by printing
4463           the actual refcounts at the time of swap (Wim)
4464
4465 2005-09-29  Andy Wingo  <wingo@pobox.com>
4466
4467         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4468         removes signal watches previously added via
4469         gst_bus_add_signal_watch.
4470         (gst_bus_add_signal_watch): Don't return the source id, just store
4471         it on the bus if there wasn't an id already.
4472
4473         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4474         add_signal_watch and remove_signal_watch.
4475
4476 2005-09-29  Edward Hervey  <edward@fluendo.com>
4477
4478         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4479         Better if we actually iterate the list :)
4480
4481 2005-09-29  Wim Taymans  <wim@fluendo.com>
4482
4483         * check/gst/gstbin.c: (GST_START_TEST):
4484         Change for new bus API.
4485
4486         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4487         (send_messages), (GST_START_TEST), (gstbus_suite):
4488         Change for new bus signal API.
4489
4490         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4491         (gst_bus_source_prepare), (gst_bus_source_check),
4492         (gst_bus_create_watch), (gst_bus_add_watch_full),
4493         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4494         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4495         * gst/gstbus.h:
4496         Remove support for multiple GSources operating on different
4497         message types as it is too complex and unneeded when using
4498         signals.
4499         Added support for receiving signals from the bus.
4500
4501 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4502
4503         * docs/libs/tmpl/gstdataprotocol.sgml:
4504         * docs/manual/advanced-dataaccess.xml:
4505         * gst/elements/gstcapsfilter.c:
4506         * gst/gstutils.c:
4507           rename filter-caps to caps property
4508
4509 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4510
4511         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4512           More robust fraction string parsing.
4513
4514         * docs/pwg/appendix-porting.xml:
4515           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4516
4517 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4518
4519         * gst/gstcaps.c: (gst_caps_do_simplify):
4520           Thou shalt not free a structure and then continue using it
4521           in the next loop iteration.
4522
4523         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4524         (gst_caps_suite):
4525           Add test case for caps simplification.
4526
4527 2005-09-29  Wim Taymans  <wim@fluendo.com>
4528
4529         * check/gst/gstbin.c: (GST_START_TEST):
4530         Oops.
4531
4532 2005-09-29  Wim Taymans  <wim@fluendo.com>
4533
4534         * check/gst/gstbin.c: (GST_START_TEST):
4535         Add bus to bin.
4536
4537         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4538         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4539         (find_element), (gst_bin_sort_iterator_next),
4540         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4541         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4542         (gst_bin_change_state), (gst_bin_dispose):
4543         A bin does not have a bus, it gets the bus from the parent.
4544
4545         * gst/gstelement.c: (gst_element_requires_clock),
4546         (gst_element_provides_clock), (gst_element_is_indexable),
4547         (gst_element_is_locked_state), (gst_element_change_state),
4548         (gst_element_set_bus_func):
4549         Small cleanups.
4550
4551         * gst/gstpipeline.c: (gst_pipeline_class_init),
4552         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4553         The pipeline provides a bus.
4554
4555 2005-09-28  Johan Dahlin  <johan@gnome.org>
4556
4557         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4558         gst_structure_get_enum instead of gst_structure_get_int
4559
4560         * gst/gststructure.c (gst_structure_get_enum): Impl.
4561
4562         * gst/gststructure.h (gst_structure_get_enum): Add
4563
4564         * docs/gst/gstreamer-sections.txt: Ditto
4565
4566         * gst/gstmessage.c (gst_message_new_state_changed): Use
4567         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4568         which does introspection.
4569         Reviewed by Christian Schaller
4570
4571 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4572
4573         * gst/gstinfo.c: (gst_debug_log_default):
4574           don't do dummy g_strdup()s
4575         * libs/gst/controller/gstcontroller.c:
4576         (on_object_controlled_property_changed),
4577         (gst_controlled_property_new), (gst_controller_new_valist),
4578         (gst_controller_new_list),
4579         (gst_controller_remove_properties_valist), (gst_controller_set),
4580         (gst_controller_get), (gst_controller_sync_values),
4581         (gst_controller_get_value_array), (_gst_controller_class_init),
4582         (gst_controller_get_type):
4583         * libs/gst/controller/gstcontroller.h:
4584         * libs/gst/controller/gstinterpolation.c:
4585         (gst_controlled_property_find_timed_value_node):
4586           convert // to /**/ comments
4587
4588 2005-09-28  Wim Taymans  <wim@fluendo.com>
4589
4590         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4591         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4592         (gst_bus_sync_signal_handler):
4593         * gst/gstbus.h:
4594         Added async-message and sync-message signals to the bus.
4595         Added helper BusFunc to emit signals for all posted messages.
4596
4597         * gst/gstmessage.c: (gst_message_type_get_name),
4598         (gst_message_type_to_quark), (gst_message_get_type):
4599         * gst/gstmessage.h:
4600         Register quarks for message names.
4601
4602 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4603
4604         * docs/libs/gstreamer-libs-sections.txt:
4605         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4606         (gst_controller_new_list):
4607         * libs/gst/controller/gstcontroller.h:
4608           added another constructor for language bindings
4609
4610 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4611
4612         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4613           add another check
4614         * gst/gstbus.c:
4615           add some doc
4616         * gst/gstinfo.c: (_gst_debug_init):
4617           slightly more readable color for refcount debugging
4618
4619 2005-09-28  Wim Taymans  <wim@fluendo.com>
4620
4621         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4622         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4623         (find_element), (gst_bin_sort_iterator_next),
4624         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4625         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4626         (gst_bin_change_state), (gst_bin_dispose):
4627         Small doc fixes. get_clock -> provide_clock.
4628
4629         * gst/gstelement.c: (gst_element_class_init),
4630         (gst_element_provides_clock), (gst_element_provide_clock),
4631         (gst_element_get_clock), (gst_element_commit_state),
4632         (gst_element_lost_state):
4633         * gst/gstelement.h:
4634         Make get/set_clock() symetric. Add provide_clock vmethod since
4635         that is actually what this function does.
4636
4637         * gst/gstpipeline.c: (gst_pipeline_class_init),
4638         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4639         (gst_pipeline_get_clock):
4640         get_clock -> provide_clock.
4641
4642 2005-09-28  Andy Wingo  <wingo@pobox.com>
4643
4644         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4645         lieu of real docs...
4646
4647         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4648
4649 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4650
4651         * gst/elements/gstcapsfilter.c:
4652         * gst/elements/gstfakesink.c:
4653         * gst/elements/gstfakesrc.c:
4654         * gst/elements/gstfdsink.c:
4655         * gst/elements/gstfdsrc.c:
4656         * gst/elements/gstfilesink.c:
4657         * gst/elements/gstfilesrc.c:
4658         * gst/elements/gstidentity.c:
4659         * gst/elements/gsttee.c:
4660         * gst/elements/gsttypefindelement.c:
4661           Make element details static.
4662
4663 2005-09-28  Wim Taymans  <wim@fluendo.com>
4664
4665         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4666         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4667         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4668         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4669         (gst_bin_change_state), (gst_bin_dispose):
4670         Some documentation updates.
4671         Clean up dispose handlers.
4672
4673         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4674         * gst/gstpad.c: (gst_pad_dispose):
4675         Clean up dispose handler.
4676
4677         * gst/gstpipeline.c: (gst_pipeline_change_state):
4678         Removed spurious UNLOCK.
4679
4680 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4681
4682         * docs/gst/gstreamer-sections.txt:
4683         * gst/base/gstbasesrc.h:
4684         * gst/gstelement.h:
4685         * gst/gstevent.h:
4686         * gst/gstobject.h:
4687         * gst/gstpad.h:
4688         * gst/gstpipeline.c:
4689         * gst/gstpipeline.h:
4690         * gst/gstutils.h:
4691         * gst/gstxml.h:
4692           added two new functions to the docs
4693                 documents all undocumented GstXXXFlags
4694                 completed some incomplete docs 
4695
4696 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4697
4698         * gst/gstbin.c: (gst_bin_dispose):
4699         * gst/gstelement.c: (gst_element_dispose):
4700           remove now useless and leaky resurrection code in dispose
4701         * gst/base/gstbasesrc.c: (gst_base_src_init):
4702         * gst/gstelementfactory.c: (gst_element_factory_create):
4703         * gst/gstobject.c: (gst_object_set_parent):
4704           add some debugging
4705
4706 2005-09-27  Wim Taymans  <wim@fluendo.com>
4707
4708         * docs/design/part-TODO.txt:
4709         Update TODO.
4710
4711         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4712         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4713         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4714         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4715         (gst_bin_change_state):
4716         * gst/gstelement.h:
4717         Remove element variable, we keep element info in the iterator now.
4718
4719 2005-09-27  Andy Wingo  <wingo@pobox.com>
4720
4721         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4722         values.
4723
4724 2005-09-27  Wim Taymans  <wim@fluendo.com>
4725
4726         * check/gst/gstbin.c: (GST_START_TEST):
4727         Enable check that works now.
4728
4729         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4730         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4731         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4732         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4733         (gst_bin_change_state):
4734         * gst/gstbin.h:
4735         Redid the state change algorithm using a topological sort algo.
4736         Handles all cases correctly.
4737         Exposed iterator for state change order.
4738
4739         * gst/gstelement.h:
4740         Temp storage for state changes. Need to get rid of this soon.
4741
4742 2005-09-27  Wim Taymans  <wim@fluendo.com>
4743
4744         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4745         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4746         (link_fold_func), (gst_pad_proxy_setcaps):
4747         Leak fixes, the fold functions need to unref the passed object and
4748         _get_parent_*() returns ref to parent.
4749
4750 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4751
4752         * check/gst/gstbuffer.c: (test_make_writable):
4753           Plug leak in test case and fix 'make check-valgrind'
4754
4755 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4756
4757         * gst/gstbuffer.c: (gst_subbuffer_init):
4758           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4759           works correctly in all circumstances (we could have just copied
4760           the parent buffer's readonly flag, but conceptually it seems
4761           cleaner to mark all subbuffers as read-only). (based on patch
4762           by Alessandro Decina, #314710).
4763         
4764         * check/gst/gstbuffer.c: (create_read_only_buffer),
4765         (test_make_writable), (test_subbuffer_make_writable),
4766         (gst_test_suite):
4767           Add some tests for gst_buffer_make_writable().
4768
4769 2005-09-27  Wim Taymans  <wim@fluendo.com>
4770
4771         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4772         use gst_object_has_ancestor().
4773
4774         * gst/gstobject.c: (gst_object_has_ancestor):
4775         * gst/gstobject.h:
4776         gst_object_has_ancestor() copied from gstbin.c as it is a
4777         usefull function.
4778
4779         * tests/instantiate/create.c: (create_all_elements):
4780         * tests/lat.c: (handoff_src), (handoff_sink):
4781         * tests/sched/runxml.c: (main):
4782         * tests/seeking/seeking1.c: (main):
4783         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4784         (main):
4785         Fix compilation of some tests.
4786
4787 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4788
4789         * gst/gsterror.h:
4790           Remove comment. GST_TYPE_G_ERROR is here to stay,
4791           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4792           (#316961, #300610).
4793
4794 2005-09-26  Wim Taymans  <wim@fluendo.com>
4795
4796         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4797         Added check that shows error in state change order.
4798
4799 2005-09-26  Wim Taymans  <wim@fluendo.com>
4800
4801         * gst/gstbin.c: (gst_bin_change_state):
4802         Make state change function use 3 queues again, we were
4803         adding elements in the wrong order.
4804
4805         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4806         Some debug info,
4807
4808         * gst/gstpad.c: (gst_pad_dispose):
4809         Added some debug info first.
4810
4811 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4812
4813         * docs/design/draft-push-pull.txt:
4814         * docs/design/part-events.txt:
4815         * docs/design/part-overview.txt:
4816         * docs/design/part-scheduling.txt:
4817           Replace all _pull_region() with _pull_range()
4818           
4819 2005-09-26  Andy Wingo  <wingo@pobox.com>
4820
4821         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4822
4823         * check/gst-libs/controller.c: Update for controller api change.
4824
4825         * configure.ac: 
4826         * tests/Makefile.am:
4827         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4828         over by GLib bug 118439.
4829         
4830         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4831         routines to a function.
4832
4833         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4834
4835         * libs/gst/controller/gsthelper.c:
4836         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4837         (gst_object_sync_values): Renamed from sink_values. Ugh.
4838
4839         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4840
4841         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4842         Renamed from controller_key, as it is exported.
4843
4844         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4845
4846 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4847
4848         * gst/Makefile.am:
4849         * gst/gst.h:
4850         * gst/gstpad.h:
4851         * gst/gstpadtemplate.h:
4852         * gst/gstquery.c:
4853         * gst/gstquery.h:
4854         * gst/gstqueryutils.c:
4855         * gst/gstqueryutils.h:
4856           remove queryutils headers after moving the two used functions
4857           to gstquery.  also fixes build problem for gstsiddec
4858
4859 2005-09-26  Michael Smith <msmith@fluendo.com>
4860
4861         * tools/gst-launch.1.in:
4862         Correct documentation in manpage of debug syntax
4863
4864 2005-09-26  Wim Taymans  <wim@fluendo.com>
4865
4866         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4867         (gst_base_src_is_seekable), (gst_base_src_change_state):
4868         Some more debugging info.
4869
4870 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4871
4872         * docs/gst/gstreamer-sections.txt:
4873         * gst/base/gstbasetransform.h:
4874         * gst/gstindex.h:
4875           added more docs
4876
4877 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4878
4879         * docs/gst/.cvsignore:
4880         * docs/gst/tmpl/.cvsignore:
4881         * docs/gst/tmpl/gstpipeline.sgml:
4882         * docs/gst/tmpl/gstplugin.sgml:
4883         * gst/gstpipeline.c:
4884         * gst/gstplugin.c:
4885         * gst/gstplugin.h:
4886           inlined the last two docs files
4887           removed the tmpl directory from cvs (no more conflicts here!)
4888
4889 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4890
4891         * docs/gst/gstreamer-sections.txt:
4892         * docs/gst/tmpl/.cvsignore:
4893         * docs/gst/tmpl/gstpad.sgml:
4894         * docs/gst/tmpl/gstpadtemplate.sgml:
4895         * gst/Makefile.am:
4896         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4897         (gst_pad_finalize), (gst_pad_set_pad_template):
4898         * gst/gstpad.h:
4899         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4900         (gst_pad_template_class_init), (gst_pad_template_init),
4901         (gst_pad_template_dispose), (name_is_valid),
4902         (gst_static_pad_template_get), (gst_pad_template_new),
4903         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4904         (gst_pad_template_pad_created):
4905         * gst/gstpadtemplate.h:
4906           inlined two more docs
4907           factored gstpadtemplate out of gstpad
4908
4909 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4910
4911         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4912         (test_children_state_change_order_semi_sink):
4913           Fix test case: we can't rely on a fixed state change order when
4914           going from READY => PAUSED because the sink might commit its 
4915           new state first when the first buffer created by the source 
4916           reaches the sink before the source has finished its change state.
4917           (Test case still fails at times, see #316856, comment 5 onwards)
4918
4919 2005-09-24  Wim Taymans  <wim@fluendo.com>
4920
4921         * docs/design/part-events.txt:
4922         * docs/design/part-gstbus.txt:
4923         * docs/design/part-gstpipeline.txt:
4924         * docs/design/part-messages.txt:
4925         * docs/design/part-overview.txt:
4926         * docs/design/part-segments.txt:
4927         * gst/gstbin.c:
4928         * gst/gstbuffer.c:
4929         * gst/gstclock.c:
4930         * gst/gstelement.c:
4931         * gst/gstevent.c:
4932         * gst/gstfilter.c:
4933         * gst/gstiterator.c:
4934         Various documentation updates.
4935
4936 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4937
4938         * gst/gstclock.h:
4939           Well, that's embarassing.  Luckily we weren't using
4940           GST_CLOCK_DIFF anywhere.
4941
4942 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4943
4944         * common/gtk-doc.mak:
4945           don't fail on building XML, FC4 slave shows a bunch of doc
4946           missing bits that I don't get
4947         * gst/gstpad.c:
4948         * gst/gstpipeline.c:
4949         * gst/gststructure.c:
4950           some doc updates
4951
4952 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4953
4954         * docs/design/part-gstbin.txt:
4955         * docs/design/part-gstbus.txt:
4956         * gst/gstbus.c:
4957           Add blurb about how the bus goes into flushing mode and
4958           drops all messages when its bin goes from READY into NULL 
4959           state.
4960
4961 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4962
4963         * docs/gst/gstreamer-sections.txt:
4964         * gst/gststructure.c: (gst_structure_get_clock_time):
4965         * gst/gststructure.h:
4966           add a method to get a GstClockTime out of a structure
4967
4968 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4969
4970         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4971         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4972           Added test to check state change order in bins (can still be made
4973           to fail here under heavy disk load; bails out with 'Push on pad
4974           fakesink:sink0, but it was not activated in push mode').
4975
4976         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4977           Fix state change order when there is only a semi sink (#316856)
4978
4979         * gst/gstbus.c: (gst_bus_class_init):
4980           Use _class_peek_parent(), not _class_ref(); fix docs to say
4981           'default main context' instead of 'mainloop' where that is
4982           what's meant.
4983
4984         * gst/gstelement.c: (gst_element_commit_state),
4985         (gst_element_set_state):
4986           Fix typos in debug messages
4987
4988 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4989
4990         * docs/README:
4991         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4992         * gst/gstpluginfeature.c:
4993         * gst/gstutils.c:
4994           various doc updates
4995         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4996           change an assert into an error until it gets fixed properly
4997
4998 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4999
5000         * docs/gst/gstreamer-sections.txt:
5001         * docs/gst/tmpl/.cvsignore:
5002         * docs/gst/tmpl/gstelement.sgml:
5003         * docs/gst/tmpl/gstinfo.sgml:
5004         * docs/gst/tmpl/gstobject.sgml:
5005         * gst/gstelement.c:
5006         * gst/gstelement.h:
5007         * gst/gstinfo.c:
5008         * gst/gstinfo.h:
5009         * gst/gstobject.c: (gst_object_class_init):
5010         * gst/gstobject.h:
5011           inlined 3 more biiiig doc files and added some missing docs on the fly
5012
5013 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5014
5015         * check/gst/.cvsignore:
5016         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5017         * gst/gstregistryxml.c: (load_plugin),
5018         (gst_registry_xml_save_plugin):
5019           put back source in registry.  add checks for find_plugin.
5020         * testsuite/states/bin.c: (assert_state), (empty_bin),
5021         (test_adding_one_element), (main):
5022         * testsuite/states/locked.c: (main):
5023           some compile/run fixes
5024
5025 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5026
5027         * check/gst/gstvalue.c: (GST_START_TEST):
5028           fix leaks in the test itself
5029
5030 2005-09-22  Wim Taymans  <wim@fluendo.com>
5031
5032         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5033         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5034         (gst_base_sink_query):
5035         Prepare for more accurate position reporting and query
5036         handling.
5037
5038         * gst/gstelement.c: (gst_element_send_event),
5039         (gst_element_set_state):
5040         Add some comment.
5041
5042 2005-09-22  Wim Taymans  <wim@fluendo.com>
5043
5044         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5045         (gst_query_parse_segment):
5046         * gst/gstquery.h:
5047         More documentation.
5048         Add segment query for future use.
5049
5050 2005-09-22  Wim Taymans  <wim@fluendo.com>
5051
5052         * gst/gstbin.c: (gst_bin_add_func):
5053         Some more debug info.
5054
5055         * gst/gstelement.c: (gst_element_send_event):
5056         Simplify send_event
5057
5058         * gst/gstelement.h:
5059         Don't know how flags got broken.
5060
5061         * gst/gstquery.h:
5062         Added new query.
5063
5064 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5065
5066         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5067           Add simplistic test suite for GST_TYPE_DATE serialisation and
5068           deserialisation.
5069
5070 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5071
5072         * docs/gst/gstreamer-sections.txt:
5073         * gst/gststructure.c: (gst_structure_set_valist),
5074         (gst_structure_get_date):
5075         * gst/gststructure.h:
5076         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5077         (gst_date_copy), (gst_value_compare_date),
5078         (gst_value_serialize_date), (gst_value_deserialize_date),
5079         (gst_value_transform_date_string),
5080         (gst_value_transform_string_date), (_gst_value_initialize):
5081         * gst/gstvalue.h:
5082           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5083           bunch of utility functions along with a hack that checks that
5084           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5085           is required. Part of the grand scheme in #170777.
5086
5087 2005-09-22  Andy Wingo  <wingo@pobox.com>
5088
5089         * gst/gstconfig.h.in: Psych out gtk-doc.
5090
5091         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5092
5093         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5094
5095         * tools/gst-inspect.c (print_element_list): Plug some
5096         inconsequential leaks.
5097
5098         * gst/gstregistry.c (gst_registry_get_default): Doc.
5099
5100         * check/gst/gstplugin.c: 
5101         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5102         * gst/gstelementfactory.c (gst_element_factory_create): 
5103         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5104         refcount changes.
5105
5106         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5107         (gst_plugin_feature_load): Doc, don't eat refs.
5108
5109         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5110         (gst_plugin_list_free): Doc.
5111         (gst_plugin_load_file): Doc updates.
5112
5113         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5114         accessors returning refcounted objects, return a ref.
5115
5116         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5117         accessor for caps. IDEMPOTENCE. Oh yes.
5118
5119 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5120
5121         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5122
5123         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5124         (_gst_debug_register_funcptr):
5125           Add mutex to serialise access to the hash table with
5126           the function pointer => function name string mapping;
5127           make that hash table static scope (#316809).
5128
5129         * gst/registries/.cvsignore:
5130           Remove left-over file.
5131
5132 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5133
5134         * docs/pwg/appendix-porting.xml:
5135           And something about newsegment events and caps-on-buffers to
5136           the porting guide (feel free to improve).
5137
5138 2005-09-21  Andy Wingo  <wingo@pobox.com>
5139
5140         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5141         data and event probes on the same pad.
5142         (test_buffer_probe_once): Test that removing probes from within
5143         the probe functions works.
5144
5145 2005-09-21  Andy Wingo  <wingo@pobox.com>
5146
5147         * check/gst/gstutils.c: New file.
5148         (test_buffer_probe_n_times): A simple buffer probe test. More to
5149         come, foolios.
5150
5151         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5152         have-data::buffer, not have-data.
5153         (gst_pad_add_event_probe): Likewise for have-data::event.
5154         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5155         peer' isn't quite right yet though.
5156         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5157         (gst_pad_remove_data_probe): Change to take the guint handler_id
5158         as their arg, not the function+data, which is more glib-like.
5159
5160         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5161         the signal emission to indicate if the data is a buffer or an
5162         event.
5163         (gst_pad_get_type): Initialize buffer and event quarks.
5164         (gst_pad_class_init): have-data is now a detailed signal, yes it
5165         is.
5166
5167 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5168
5169         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5170         * gst/gstutils.c: (gst_util_set_value_from_string),
5171         (gst_util_set_object_arg):
5172           Don't put functional code in g_return_if_fail() or
5173           g_return_val_if_fail() statements, otherwise things will 
5174           break when G_DISABLE_CHECKS is defined during compilation.
5175
5176 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5177
5178         * docs/gst/tmpl/.cvsignore:
5179         * docs/gst/tmpl/gstvalue.sgml:
5180         * gst/gstvalue.c:
5181         * gst/gstvalue.h:
5182           inlied another one and added  some obvious docs
5183
5184 2005-09-21  Wim Taymans  <wim@fluendo.com>
5185
5186         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5187         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5188         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5189         (gst_fdsrc_get_property), (gst_fdsrc_create):
5190         * gst/elements/gstfdsrc.h:
5191         Properly implement fdsrc. Removed signal and timeout,
5192         better implemented somewhere else.
5193
5194 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5195
5196         * docs/gst/tmpl/.cvsignore:
5197         * docs/gst/tmpl/gstimplementsinterface.sgml:
5198         * gst/gstinterface.c:
5199           inlined more docs
5200
5201 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5202
5203         * docs/gst/gstreamer-sections.txt:
5204         * docs/gst/tmpl/.cvsignore:
5205         * docs/gst/tmpl/gstenumtypes.sgml:
5206           remove obsolete doc file
5207
5208 2005-09-21  David Schleef  <ds@schleef.org>
5209
5210         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5211         little beer, fix a little leak.
5212
5213 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5214
5215         * docs/gst/gstreamer-docs.sgml:
5216         * docs/gst/gstreamer-sections.txt:
5217         * docs/gst/tmpl/.cvsignore:
5218         * gst/Makefile.am:
5219         * gst/gst.h:
5220         * gst/gstbin.c:
5221         * gst/gstelement.h:
5222         * gst/gstindex.c: (gst_index_class_init):
5223         * gst/gstindex.h:
5224         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5225         (gst_index_factory_class_init), (gst_index_factory_init),
5226         (gst_index_factory_finalize), (gst_index_factory_new),
5227         (gst_index_factory_destroy), (gst_index_factory_find),
5228         (gst_index_factory_create), (gst_index_factory_make):
5229         * gst/gstindexfactory.h:
5230         * gst/gstpluginfeature.c:
5231         * gst/gstpluginfeature.h:
5232         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5233           more docs inlined, splitted gstindex.{c,h}
5234
5235 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5236
5237         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5238           fix a leak
5239
5240 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5241
5242         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5243           Set sync to FALSE by default.
5244
5245 2005-09-20  Wim Taymans  <wim@fluendo.com>
5246
5247         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5248         (gst_base_sink_init):
5249         Make sync property settable from subclass.
5250
5251         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5252         (gst_fake_sink_change_state):
5253         Set sync to FALSE by default.
5254
5255 2005-09-20  Wim Taymans  <wim@fluendo.com>
5256
5257         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5258         * tools/gst-launch.c: (main):
5259         The timeout handler should have lower priority than the source
5260         so we don't timeout before popping a message with 0 timeout.
5261         Dump error messages after failed state change.
5262
5263 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5264
5265         * tools/gst-inspect.c: (print_element_properties_info):
5266           Fix two typos.
5267
5268 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5269
5270         * check/gst/gstevent.c:
5271         * gst/elements/gstfakesink.c:
5272         * gst/elements/gstfakesink.h:
5273           remove the sync property from fakesink.
5274           has the side effect of setting sync TRUE
5275           for fakesink, which is a change.  Anyone who knows how
5276           to fix this nicely in a GObject-y way, feel free.
5277
5278 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5279
5280         * docs/gst/gstreamer-docs.sgml:
5281           remove probe refsection
5282
5283 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5284
5285         * check/Makefile.am:
5286           disable valgrinding the controller test again
5287         * docs/gst/gstreamer-sections.txt:
5288           update for api-changes
5289
5290 2005-09-20  Wim Taymans  <wim@fluendo.com>
5291
5292         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5293         (gst_base_sink_set_property), (gst_base_sink_get_property),
5294         (gst_base_sink_do_sync):
5295         * gst/base/gstbasesink.h:
5296         Added sync property to basesink to disable clock sync.
5297
5298 2005-09-20  Andy Wingo  <wingo@pobox.com>
5299
5300         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5301         eating the caller's refcount.
5302
5303         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5304         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5305         refcount.
5306
5307         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5308         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5309         of GLib 2.8 public, so we can know which refcount to check in
5310         tests.
5311
5312         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5313         (gst_object_init): Only set the gst refcount if we're going ahead
5314         with the refcount hack.
5315
5316 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5317
5318         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5319         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5320           more leaks plumbed, added more debug-logging
5321         * gst/gstmacros.h:
5322           whitespace fix
5323
5324 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5325
5326         * gst/gstmessage.c:
5327           remove include of gstmemchunk.h
5328
5329 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5330
5331         * gst/gstclock.c: (_gst_clock_id_free):
5332           Commit from the Political Party For More Atomic CVS Commits,
5333           so that people don't waste too much of their day fishing
5334           out obvious leaks out of massive commits.
5335           Oh, and fix a pretty damn obvious leak in the memchunk
5336           removal code.
5337
5338 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5339
5340         * check/Makefile.am:
5341         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5342           plug mem-leak, re-add to valgrindable tests
5343
5344 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5345
5346         * gst/gstplugin.h:
5347           unbreak the build for those who have chronic arthritis
5348           and typing "make check" is just too taxing on the hands
5349
5350 2005-09-20  Andy Wingo  <wingo@pobox.com>
5351
5352         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5353         really want it out, you should fix plugins at the same time.
5354
5355 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5356
5357         * configure.ac:
5358         * docs/gst/gstreamer-sections.txt:
5359         * gst/gstobject.c:
5360           added missing symbols to api docs
5361           disable ref-count hack if we have glib >= 2.8
5362
5363 2005-09-19  David Schleef  <ds@schleef.org>
5364
5365         * docs/gst/Makefile.am: Ignore a few more internal headers
5366         * docs/gst/gstreamer-docs.sgml: Remove old sections
5367         * docs/gst/gstreamer-sections.txt: Remove old sections
5368         * docs/gst/tmpl/gstobject.sgml: update
5369         * docs/gst/tmpl/gstplugin.sgml: update
5370         * docs/gst/tmpl/gstpluginfeature.sgml: update
5371         * docs/random/ds/0.9-suggested-changes: update.
5372         * gst/Makefile.am: remove memchunk and trashstack, since they're
5373           not used.
5374         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5375         * gst/gst.h: don't include some headers
5376         * gst/gstchildproxy.c: add gstmarshal.h
5377         * gst/gstclock.c: Don't use memchunks
5378         * gst/gstminiobject.c: Add some docs
5379         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5380         * gst/gstobject.h: same
5381         * gst/gstplugin.c: include gstmacros.h
5382         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5383         * gst/gstquery.c: don't use memchunks
5384         * gst/gstregistry.c: rename gst_registry_deinit()
5385         * gst/gstregistry.h: same
5386
5387 2005-09-19  David Schleef  <ds@schleef.org>
5388
5389         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5390         * docs/libs/gstreamer-libs-sections.txt:
5391         * docs/libs/tmpl/gstgetbits.sgml:
5392         * docs/libs/tmpl/gstputbits.sgml:
5393
5394 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5395
5396         * win32/gstenumtypes.c:
5397         * win32/gstenumtypes.h:
5398           Update.
5399
5400 2005-09-19  Wim Taymans  <wim@fluendo.com>
5401
5402         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5403         Automatically PAUSE and RESUME a pipeline when a flushing seek
5404         is performed.
5405
5406 2005-09-19  Andy Wingo  <wingo@pobox.com>
5407
5408         * gst/gstregistry.h: Spacing fixen.
5409
5410 2005-09-19  Wim Taymans  <wim@fluendo.com>
5411
5412         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5413         Handle state change failure more correctly.
5414
5415 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5416
5417         * check/Makefile.am:
5418         * check/pipelines/cleanup.c: (run_pipeline):
5419         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5420         (GST_START_TEST):
5421           enable cleanup again after fixing the leak
5422         * docs/README:
5423           some more info on docs
5424
5425 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5426
5427         * check/Makefile.am:
5428           re-enable tests now that leaks are plugged
5429         * check/gst/gst.c:
5430         * check/gst/gstbin.c:
5431         * check/gst/gstpipeline.c:
5432           add some more tests while fixing leaks
5433         * common/check.mak:
5434           make sure binaries are uptodate when valgrinding/gdbing
5435         * gst/gst.c:
5436         * gst/gstelementfactory.c:
5437           remove a ref too many, and add a FIXME for when we get
5438           round to disposing of classes
5439         * gst/gstplugin.c:
5440           fix the refcounting when loading a plugin from a file and
5441           the code pretends that the pointer is the same even though
5442           of course it can change
5443         * gst/gstpluginfeature.c:
5444           unref plugins marked cached (a bit confusing as a name)
5445           as the docs state should be done
5446           various doc additions to explain refcounting
5447         * gst/gstregistry.c:
5448         * gst/gstregistryxml.c:
5449           debugging
5450
5451 2005-09-19  Wim Taymans  <wim@fluendo.com>
5452
5453         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5454         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5455         (send_messages), (GST_START_TEST), (gstbus_suite):
5456         * check/gst/gstpipeline.c: (GST_START_TEST):
5457         * check/pipelines/cleanup.c: (run_pipeline):
5458         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5459         (GST_START_TEST):
5460         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5461         (gst_bus_source_check), (gst_bus_source_dispatch),
5462         (gst_bus_create_watch), (gst_bus_add_watch_full),
5463         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5464         * gst/gstbus.h:
5465         * tools/gst-launch.c: (event_loop):
5466         * tools/gst-md5sum.c: (event_loop):
5467         GstBusHandler -> GstBusFunc, return value has the same meaning as
5468         any other GSource (FALSE == remove source).
5469         _add_watch() and _add_watch_full() now take a MessageType mask to
5470         only handle specific types of messages.
5471         _poll() returns the GstMessage instead of the message type to avoid
5472         race conditions.
5473         _have_pending() takes a MessageType mask now too.
5474         Added testsuite for multiple bus watches.
5475         Fix testsuites and applications for new bus API.
5476
5477 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5478
5479         * check/Makefile.am:
5480           mark a bunch of the tests as to fix until we fix them
5481
5482 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5483
5484         * common/check.mak:
5485           use GST_PLUGIN settings for valgrind tests as well, so we're
5486           valgrinding the correct thing
5487         * gst/gst.c: (init_post):
5488           plug another leak
5489
5490 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5491
5492         * gst/gst.c: (init_post), (gst_deinit):
5493         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5494         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5495         * gst/gstindex.c: (gst_index_factory_class_init),
5496         (gst_index_factory_finalize):
5497         * gst/gstobject.c: (gst_object_dispose):
5498         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5499         (gst_plugin_load_file), (gst_plugin_desc_free):
5500         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5501         (gst_plugin_feature_finalize):
5502         * gst/gstregistry.c: (gst_registry_class_init),
5503         (gst_registry_init), (gst_registry_finalize),
5504         (gst_registry_get_default), (gst_registry_deinit):
5505         * gst/gstregistry.h:
5506         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5507           various cleanups and memleak plugging.  make valgrind is happy now.
5508
5509 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5510
5511         * common/check.mak:
5512           add a check-valgrind target
5513
5514 2005-09-18  David Schleef  <ds@schleef.org>
5515
5516         * tools/gst-inspect.c: Revert the GOption code.
5517
5518 2005-09-17  David Schleef  <ds@schleef.org>
5519
5520         * check/Makefile.am: Fix environment variables.
5521         * check/gst/gstplugin.c: Fix for API changes.
5522         * tools/gst-inspect.c: Fix for API changes.
5523         * tools/gst-xmlinspect.c: Fix for API changes.
5524         * gst/gstelementfactory.c:
5525         * gst/gstplugin.c:
5526         * gst/gstplugin.h:
5527         * gst/gstpluginfeature.c:
5528         * gst/gstpluginfeature.h:
5529         * gst/gstregistry.c:
5530         * gst/gstregistry.h:
5531         * gst/gstregistryxml.c:
5532         * gst/gsttypefind.c:
5533         * gst/gsttypefindfactory.c:
5534         * gst/indexers/gstfileindex.c:
5535         * gst/indexers/gstmemindex.c:
5536         * gst/schedulers/Makefile.am:
5537           Change registry to keep track of both plugins and features,
5538           removing the feature tracking from plugins themselves.
5539
5540 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5541
5542         * check/Makefile.am:
5543         * tools/gst-register.1.in:
5544           remove gst-register
5545
5546 2005-09-15  David Schleef  <ds@schleef.org>
5547
5548         * check/gst/gstplugin.c:
5549         * gst/gstelementfactory.c:
5550         * gst/gstplugin.c:
5551         * gst/gstpluginfeature.c:
5552         * gst/gstregistry.c:
5553           Getting tired of debugging.  Disabled all the unreffing of
5554           plugins and features, which fixes the segfaults, but of
5555           course leaks like crazy.  At least playbin works.
5556
5557 2005-09-15  David Schleef  <ds@schleef.org>
5558
5559         * check/gst/gstplugin.c: (register_check_elements),
5560         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5561         More testing
5562         * gst/elements/gsttypefindelement.c: Fix refcounting.
5563         * gst/gsttypefind.c:
5564         * gst/gsttypefindfactory.c:
5565         * gst/gsttypefindfactory.h:
5566
5567 2005-09-15  David Schleef  <ds@schleef.org>
5568
5569         * gst/gstindex.c: get refcounting correct.
5570         * gst/gstregistry.c: Handle the case where a feature/plugin is
5571           not found.
5572
5573 2005-09-15  David Schleef  <ds@schleef.org>
5574
5575         * check/Makefile.am:
5576         * check/gst/gstplugin.c: Add test
5577         * gst/gstplugin.c: Fix problems noticed by testsuite
5578         * gst/gstplugin.h:
5579         * gst/gstregistry.c: 
5580         * gst/gstregistry.h:
5581
5582 2005-09-15  David Schleef  <ds@schleef.org>
5583
5584         * gst/gstplugin.c: Implement semi-decent recounting and locking
5585           in plugins and plugin features.
5586         * gst/gstplugin.h:
5587         * gst/gstpluginfeature.c:
5588         * gst/gstpluginfeature.h:
5589         * gst/gstregistry.c:
5590
5591 2005-09-15  Michael Smith <msmith@fluendo.com>
5592
5593         * gst/gstregistry.c: (gst_registry_get_feature_list):
5594           Implement this. Makes oggdemux work; decodebin still broken.
5595
5596 2005-09-14  David Schleef  <ds@schleef.org>
5597
5598         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5599           #316076)
5600         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5601         * gst/check/Makefile.am:
5602         * libs/gst/controller/Makefile.am:
5603         * libs/gst/dataprotocol/Makefile.am:
5604
5605 2005-09-14  David Schleef  <ds@schleef.org>
5606
5607         * configure.ac: Remove getbits library.  Nothing uses it, and
5608           it should be in something like liboil if someone did want
5609           to use it.
5610         * libs/gst/Makefile.am:
5611         * libs/gst/getbits/Makefile.am:
5612         * libs/gst/getbits/gbtest.c:
5613         * libs/gst/getbits/getbits.c:
5614         * libs/gst/getbits/getbits.h:
5615         * libs/gst/getbits/gstgetbits_generic.c:
5616         * libs/gst/getbits/gstgetbits_i386.s:
5617         * libs/gst/getbits/gstgetbits_inl.h:
5618
5619 2005-09-14  David Schleef  <ds@schleef.org>
5620
5621         * gst/Makefile.am: Dist glib-compat.h
5622
5623 2005-09-14  David Schleef  <ds@schleef.org>
5624
5625         * configure.ac: Remove gst/registries, since it's no longer used.
5626         * gst/registries/Makefile.am:
5627         * gst/registries/gstlibxmlregistry.c:
5628         * gst/registries/gstlibxmlregistry.h:
5629         * gst/registries/gstxmlregistry.c:
5630         * gst/registries/gstxmlregistry.h:
5631         * gst/registries/registrytest.c:
5632
5633 2005-09-14  David Schleef  <ds@schleef.org>
5634
5635         * gst/glib-compat.h:
5636         * gst/gstregistryxml.c:
5637           Convergence is near.  Seriously.
5638
5639 2005-09-14  David Schleef  <ds@schleef.org>
5640
5641         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5642         * gst/glib-compat.h:
5643           Attempt #4 to appease the buildbots.
5644
5645 2005-09-14  David Schleef  <ds@schleef.org>
5646
5647         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5648           Attempt #3.
5649
5650 2005-09-14  David Schleef  <ds@schleef.org>
5651
5652         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5653         Attempt #2.
5654
5655 2005-09-14  David Schleef  <ds@schleef.org>
5656
5657         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5658           the new functions.
5659
5660 2005-09-14  David Schleef  <ds@schleef.org>
5661
5662         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5663         * gst/glib-compat.h: Add some functions that are in newer versions
5664           of glib than we care to require.
5665         * gst/gstregistryxml.c: Use them.
5666
5667 2005-09-14  David Schleef  <ds@schleef.org>
5668
5669         * po/POTFILES.in: remove gst-register.c
5670
5671 2005-09-14  David Schleef  <ds@schleef.org>
5672
5673         * docs/gst/gstreamer-docs.sgml:
5674         * docs/gst/gstreamer-sections.txt:
5675         * docs/gst/gstreamer.types:
5676         * docs/gst/tmpl/gstelement.sgml:
5677         * docs/gst/tmpl/gstplugin.sgml:
5678         * docs/gst/tmpl/gstpluginfeature.sgml:
5679           Documentation updates for registry changes.
5680
5681 2005-09-14  David Schleef  <ds@schleef.org>
5682
5683         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5684           because we don't require glib-2.8.
5685
5686 2005-09-14  David Schleef  <ds@schleef.org>
5687
5688         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5689           registries directory.
5690
5691 2005-09-14  David Schleef  <ds@schleef.org>
5692
5693         * check/Makefile.am:
5694         * check/generic/states.c:
5695         * gst/Makefile.am:
5696         * gst/gst.c:
5697         * gst/gst.h:
5698         * gst/gst_private.h:
5699         * gst/gstelementfactory.c:
5700         * gst/gstindex.c:
5701         * gst/gstinfo.c:
5702         * gst/gstplugin.c:
5703         * gst/gstplugin.h:
5704         * gst/gstpluginfeature.c:
5705         * gst/gstpluginfeature.h:
5706         * gst/gstregistry.c:
5707         * gst/gstregistry.h:
5708         * gst/gstregistrypool.c: remove
5709         * gst/gstregistrypool.h: remove
5710         * gst/gsttypefind.c:
5711         * gst/gsttypefindfactory.c:
5712         * gst/gsturi.c:
5713         * tools/Makefile.am:
5714         * tools/gst-compprep.c:
5715         * tools/gst-inspect.c:
5716         * tools/gst-register.c: remove
5717         * tools/gst-xmlinspect.c:
5718           Registry rewrite.  Changes registry from being a file created
5719           by a tool into a simple cache file created automatically by 
5720           libgstreamer.  Removed gst-register (because it's no longer
5721           needed).  Remove registry pools, because we only have one
5722           registry implementation (XML).  Fix up other subsystems as
5723           necessary.
5724
5725 2005-09-13  Michael Smith <msmith@fluendo.com>
5726
5727         * gst/gstconfig.h.in:
5728           Don't Use windows linking attributes for MinGW. Fixes #316157
5729
5730 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5731
5732         * gst/gstutils.c: (set_state_async_thread_func),
5733         (gst_element_set_state_async):
5734           Apparently people think it's better if this function doesn't
5735           try to set the state to whatever state was asked for on the first
5736           call to this function for any object.  Seriously.
5737
5738 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5739
5740         * check/gst/gstpipeline.c: (GST_START_TEST):
5741         * docs/gst/gstreamer-sections.txt:
5742         * gst/gstutils.c: (set_state_async_thread_func),
5743         (gst_element_set_state_async):
5744         * gst/gstutils.h:
5745           add a "gst_element_set_state_async" method that
5746           sets the state and starts a thread to make sure the state
5747           change completes as best as it can
5748
5749 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5750
5751         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5752           codify design+behaviour in testsuite after discussion
5753
5754 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5755
5756         * docs/gst/tmpl/gstelement.sgml:
5757         * docs/manual/appendix-quotes.xml:
5758           add a quote
5759         * gst/gstelement.c: (gst_element_set_state):
5760           add some debug
5761
5762 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5763
5764         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5765         (gst_base_transform_prepare_output_buf),
5766         (gst_base_transform_handle_buffer):
5767         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5768         (gst_capsfilter_prepare_buf):
5769           Remove the requirement for sub-classes to call the parent
5770           implementation of prepare_output_buffer with a wrapper function.
5771           
5772         * gst/gsttaglist.h:
5773         * gst/gsttagsetter.h:
5774           Fix #define wrapper
5775
5776 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5777
5778         * docs/gst/gstreamer-sections.txt:
5779           more doc cleanups
5780
5781 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5782
5783         * docs/gst/gstreamer-sections.txt:
5784         * docs/gst/tmpl/gstelement.sgml:
5785         * docs/gst/tmpl/gstplugin.sgml:
5786         * gst/gstminiobject.c:
5787         * gst/gstvalue.h:
5788           docs now stop throwing warnings
5789
5790 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5791
5792         * docs/gst/gstreamer-sections.txt:
5793         * docs/gst/gstreamer.types:
5794         * docs/gst/tmpl/gstpad.sgml:
5795         * docs/gst/tmpl/gsttypes.sgml:
5796         * gst/base/gstadapter.h:
5797         * gst/base/gstbasesink.h:
5798         * gst/base/gstbasesrc.h:
5799         * gst/gstbin.h:
5800         * gst/gstbuffer.h:
5801         * gst/gstbus.h:
5802         * gst/gstcaps.h:
5803         * gst/gstclock.h:
5804         * gst/gstelement.h:
5805         * gst/gstevent.h:
5806         * gst/gstmessage.h:
5807         * gst/gstpad.h:
5808         * gst/gststructure.c:
5809         * gst/registries/gstlibxmlregistry.h:
5810           various documentation fixes
5811
5812 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5813
5814         * docs/gst/gstreamer-sections.txt:
5815         * docs/gst/tmpl/gstvalue.sgml:
5816           rearrange gstvalue section
5817         * gst/gstutils.c: (gst_element_state_get_name):
5818           NONE -> VOID
5819         * gst/gstvalue.c: (_gst_value_initialize):
5820         * gst/gstvalue.h:
5821           doc updates
5822
5823 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5824
5825         * check/gst-libs/controller.c:
5826           Header include fix.
5827         * gst/base/gstbasetransform.c:
5828         (gst_base_transform_default_prepare_buf),
5829         (gst_base_transform_handle_buffer):
5830         * gst/base/gstbasetransform.h:
5831           Some more basetransform changes and fixes to enable sub-classes
5832           that modify buffer metadata only.
5833         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5834         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5835         (gst_capsfilter_prepare_buf):
5836           If the output pad has fixed allowed caps and input buffers 
5837           don't have any, set the fixed caps on outgoing buffers.
5838
5839 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5840         * check/elements/identity.c: (GST_START_TEST):
5841           Make the error a little clearer when the test fails because
5842           identity made a copy of the buffer.
5843         * docs/gst/gstreamer-sections.txt:
5844           New symbols in gstbasetransform.h
5845         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5846         (gst_base_transform_init), (gst_base_transform_transform_size),
5847         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5848         (gst_base_transform_default_prepare_buf),
5849         (gst_base_transform_get_unit_size),
5850         (gst_base_transform_buffer_alloc),
5851         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5852         (gst_base_transform_change_state),
5853         (gst_base_transform_set_passthrough),
5854         (gst_base_transform_set_in_place),
5855         (gst_base_transform_is_in_place):
5856         * gst/base/gstbasetransform.h:
5857           Change BaseTransform to separate in_place operate from same_caps
5858           output. in_place implies that the element can perform the transform
5859           on incoming buffers in-place, even if the caps on the output are
5860           different.
5861           Sub-class elements can now implement special buffer allocation
5862           methods for outgoing buffers if they wish to.
5863           Big documentation addition.
5864         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5865         * gst/elements/gstelements.c:
5866           Changes for basetransform modifications.
5867         * gst/elements/Makefile.am:
5868         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5869           Compile fix. Extra debug output.
5870
5871 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5872
5873         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5874         (gst_pad_suite):
5875           add tests for valid pad naming
5876         * gst/check/gstcheck.c: (gst_check_log_message_func),
5877         (gst_check_log_critical_func):
5878           add ASSERT_WARNING
5879           remove printing of code, it is fragile when the code contains
5880           % and the line number is enough info
5881         * gst/check/gstcheck.h:
5882         * gst/gstpad.c: (gst_pad_template_new):
5883           fix memleaks
5884
5885 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5886
5887         * configure.ac:
5888           say what CHECK flags we use
5889         * docs/libs/gstreamer-libs.types:
5890         * libs/gst/controller/Makefile.am:
5891         * libs/gst/controller/gst-controller.c:
5892         * libs/gst/controller/gst-controller.h:
5893         * libs/gst/controller/gst-helper.c:
5894         * libs/gst/controller/gst-interpolation.c:
5895         * libs/gst/controller/gstcontroller.c:
5896         * libs/gst/controller/gsthelper.c:
5897         * libs/gst/controller/gstinterpolation.c:
5898         * tools/gst-inspect.c: (print_plugin_info):
5899           we don't use dashes in header names
5900
5901 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5902
5903         * check/Makefile.am:
5904         * check/gst/.cvsignore:
5905         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5906         (gst_pipeline_suite), (main):
5907           adding a test for pipelines and state changes
5908         * gst/gstutils.c: (get_state_func):
5909           add some debugging
5910         * gstreamer.spec.in:
5911           fix up spec file
5912
5913 2005-09-08  Michael Smith <msmith@fluendo.com>
5914
5915         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5916         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5917         (gst_file_src_is_seekable), (gst_file_src_get_size),
5918         (gst_file_src_start):
5919         * gst/elements/gstfilesrc.h:
5920           Various fixes for unseekable, unmmapable, and non-normal files, so
5921           that fallback to read() rather than mmap() works.
5922         * gst/gstevent.c: (gst_event_new_newsegment):
5923           Allow newsegment events with segment_start == segment_end, as will
5924           correctly happen if you use filesrc on a zero-size file, for
5925           example.
5926
5927 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5928
5929         * gst/gstplugin.c: (gst_plugin_load_file):
5930           Call g_module_close when we don't load the module
5931
5932         * gst/registries/gstlibxmlregistry.c:
5933         (gst_xml_registry_get_property):
5934           Port leak fix from 0.8
5935
5936 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5937
5938         * docs/gst/gstreamer-docs.sgml:
5939         * docs/gst/tmpl/.cvsignore:
5940         * docs/gst/tmpl/gsttrace.sgml:
5941         * docs/gst/tmpl/gsttrashstack.sgml:
5942         * gst/Makefile.am:
5943         * gst/gst.h:
5944         * gst/gstelement.h:
5945         * gst/gstevent.h:
5946         * gst/gstmessage.c:
5947         * gst/gstmessage.h:
5948         * gst/gsttag.c:
5949         * gst/gsttag.h:
5950         * gst/gsttaginterface.c:
5951         * gst/gsttaginterface.h:
5952         * gst/gsttaglist.c:
5953         * gst/gsttaglist.h:
5954         * gst/gsttagsetter.c:
5955         * gst/gsttagsetter.h:
5956         * gst/gsttrace.c:
5957         * gst/gsttrace.h:
5958         * gst/gsttrashstack.c:
5959           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5960           inlined docs for gsttrace, gsttrashstack
5961
5962 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5963
5964         * gst/Makefile.am:
5965         * gst/elements/gstbufferstore.h:
5966         * gst/elements/gsttypefindelement.c:
5967         * gst/elements/gsttypefindelement.h:
5968         * gst/gst.h:
5969         * gst/gsttypefind.c:
5970         * gst/gsttypefind.h:
5971         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5972         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5973         (gst_type_find_factory_dispose),
5974         (gst_type_find_factory_unload_thyself),
5975         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5976         (gst_type_find_factory_get_caps),
5977         (gst_type_find_factory_get_extensions),
5978         (gst_type_find_factory_call_function):
5979         * gst/gsttypefindfactory.h:
5980         * gst/registries/gstlibxmlregistry.c:
5981         * gst/registries/gstxmlregistry.c:
5982           splitted gsttypefind into gsttypefind, gsttypefindfactory
5983
5984 2005-09-07  Andy Wingo  <wingo@pobox.com>
5985
5986         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5987         condition whereby the pad's task function is entered before the
5988         pad_mode variable was set.
5989
5990 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5991
5992         * gst/gstpad.c: (gst_pad_alloc_buffer):
5993           Catch misbehaving pad_alloc functions that don't
5994           set up caps and do it for them.
5995
5996 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5997
5998         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5999           test for pipe!=NULL
6000         * docs/gst/tmpl/.cvsignore:
6001         * docs/gst/tmpl/gstmemchunk.sgml:
6002         * docs/gst/tmpl/gstparse.sgml:
6003         * docs/gst/tmpl/gsttaglist.sgml:
6004         * docs/gst/tmpl/gsttagsetter.sgml:
6005         * docs/gst/tmpl/gsttypefind.sgml:
6006         * docs/gst/tmpl/gsttypefindfactory.sgml:
6007         * gst/gstmemchunk.c:
6008         * gst/gstparse.c:
6009         * gst/gsttag.c:
6010         * gst/gsttaginterface.c:
6011         * gst/gsttypefind.c:
6012         * gst/gsttypefind.h:
6013           inlined more docs
6014
6015 === release 0.9.2 ===
6016
6017 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6018
6019         * NEWS:
6020         * RELEASE:
6021         * configure.ac:
6022           releasing 0.9.2, "South"
6023
6024 2005-09-05  Andy Wingo  <wingo@pobox.com>
6025
6026         * gst/registries/gstxmlregistry.h:
6027         * gst/registries/gstxmlregistry.c: Um... resurrect...
6028         
6029         * gst/registries/gstxmlregistry.h:
6030         * gst/registries/gstxmlregistry.c: and update to newer API.
6031         Incidentally they should be a bit faster now that they don't have
6032         to parse the caps.
6033         
6034 2005-09-05  Andy Wingo  <wingo@pobox.com>
6035
6036         * gst/registries/gstxmlregistry.h:
6037         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6038         replaced by the libxml registry a while back
6039
6040 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6041
6042         * docs/gst/tmpl/gstplugin.sgml:
6043         * gst/elements/gstelements.c:
6044         * gst/gst.c:
6045         * gst/gstplugin.c: (gst_plugin_register_func),
6046         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6047         (gst_plugin_get_source):
6048         * gst/gstplugin.h:
6049         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6050         (gst_xml_registry_save_plugin):
6051         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6052         (gst_xml_registry_save_plugin):
6053         * tools/gst-inspect.c: (print_plugin_info):
6054           add a "source" plugin description field, to represent the source
6055           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6056           will set it to PACKAGE, which is automake's idea of the name of
6057           the source project.
6058
6059 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6060
6061         * Makefile.am:
6062         * autogen.sh:
6063         * configure.ac:
6064         * docs/Makefile.am:
6065         * docs/faq/Makefile.am:
6066         * docs/gst/tmpl/gstelement.sgml:
6067         * docs/gst/tmpl/gsttypes.sgml:
6068         * docs/htmlinstall.mak:
6069         * docs/manual/Makefile.am:
6070         * docs/pwg/Makefile.am:
6071           reorganize doc build a little
6072           split out docbook and gtk-doc stuff
6073           have two separate --enable's and enable them through autogen
6074           but disable by default in configure (to be similar to other
6075           projects)
6076         * gstreamer.spec.in:
6077           clean up docs install
6078         * po/af.po:
6079         * po/az.po:
6080         * po/ca.po:
6081         * po/cs.po:
6082         * po/de.po:
6083         * po/en_GB.po:
6084         * po/fr.po:
6085         * po/it.po:
6086         * po/nb.po:
6087         * po/nl.po:
6088         * po/ru.po:
6089         * po/sq.po:
6090         * po/sr.po:
6091         * po/sv.po:
6092         * po/tr.po:
6093         * po/uk.po:
6094         * po/vi.po:
6095           translation updates
6096
6097 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6098
6099         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6100           Add comment.
6101           
6102         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6103         (gst_fake_sink_change_state):
6104           Make state change function thread-safe.
6105           
6106         * gst/gstpad.c: (gst_pad_alloc_buffer):
6107           Set offset on generic buffer allocated by fallback.
6108
6109 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6110
6111         * docs/gst/gstreamer-sections.txt:
6112         * docs/gst/tmpl/gstelement.sgml:
6113         * gst/gstpad.c:
6114         * libs/gst/controller/gst-controller.c:
6115         (gst_controlled_property_set_interpolation_mode),
6116         (gst_controlled_property_new),
6117         (gst_controller_find_controlled_property):
6118          run the wingo-magic script against the docs
6119
6120 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6121
6122         * docs/gst/gstreamer-docs.sgml:
6123         * docs/gst/gstreamer-sections.txt:
6124         * docs/gst/tmpl/.cvsignore:
6125         * docs/gst/tmpl/gstelementdetails.sgml:
6126         * docs/gst/tmpl/gstelementfactory.sgml:
6127         * gst/gst.c:
6128         * gst/gstbus.c:
6129         * gst/gstelementfactory.c:
6130         * gst/gstelementfactory.h:
6131           merged elementdetails docs into elementfactory docs
6132           inlined both
6133
6134 2005-09-02  Andy Wingo  <wingo@pobox.com>
6135
6136         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6137         consider this enum an enum and not a flags.
6138
6139 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6140
6141         * docs/gst/gstreamer-docs.sgml:
6142         * docs/gst/tmpl/.cvsignore:
6143         * docs/gst/tmpl/gstghostpad.sgml:
6144         * docs/gst/tmpl/gstiterator.sgml:
6145         * docs/gst/tmpl/gstmacros.sgml:
6146         * docs/gst/tmpl/gstrealpad.sgml:
6147         * docs/gst/tmpl/gstregistry.sgml:
6148         * docs/gst/tmpl/gstregistrypool.sgml:
6149         * docs/gst/tmpl/gststructure.sgml:
6150         * docs/gst/tmpl/gstsystemclock.sgml:
6151         * docs/gst/tmpl/gsttrace.sgml:
6152         * gst/gstghostpad.c:
6153         * gst/gstmacros.h:
6154         * gst/gstmemchunk.c:
6155         * gst/gstmemchunk.h:
6156         * gst/gstqueue.c:
6157         * gst/gstregistry.c:
6158         * gst/gstregistrypool.c:
6159         * gst/gststructure.c:
6160         * gst/gstsystemclock.c:
6161           more docs inlined
6162
6163 2005-09-02  Andy Wingo  <wingo@pobox.com>
6164
6165         * gst/gstelement.h (GstState): Renamed from GstElementState,
6166         changed to be a normal enum instead of flags.
6167         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6168         munged to be GST_STATE_CHANGE_*.
6169         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6170         work with the new state representation.
6171         (GstStateChange): New enumeration of possible state transitions.
6172         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6173         (GstElementClass::change_state): Pass the GstStateChange along as
6174         an argument. Helps language bindings, so they don't have to use
6175         tricky lock-needing macros like GST_STATE_CHANGE ().
6176
6177         * scripts/update-states (file): New script. Run it on a file to
6178         update it for state naming and API changes. Updates files in
6179         place.
6180
6181         * All files updated for the new API.
6182
6183 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6184
6185         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6186         * gst/gstutils.c: (gst_util_set_value_from_string),
6187         (gst_util_set_object_arg):
6188           fix a bunch of unchecked return values
6189         * tools/gst-complete.c: (main):
6190         * gstreamer.spec.in:
6191           clean up a little
6192
6193 2005-09-01  Wim Taymans  <wim@fluendo.com>
6194
6195         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6196         (gst_base_sink_event), (gst_base_sink_do_sync),
6197         (gst_base_sink_handle_event):
6198         * gst/base/gstbasesink.h:
6199         Handle newsegments more correctly.
6200
6201         * gst/gstbus.c:
6202         Fix docs.
6203
6204         * gst/gstevent.c: (gst_event_new_newsegment):
6205         A newsegment cannot have a start_time of -1
6206
6207 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6208
6209         * win32/gstenumtypes.c:
6210         * win32/gstenumtypes.h:
6211           Update
6212
6213 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6214
6215         * libs/gst/controller/gst-controller.c:
6216         (gst_controlled_property_set_interpolation_mode),
6217         (gst_controlled_property_new):
6218          fixed boolean again
6219
6220 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6221
6222         * docs/faq/gst-uninstalled:
6223           add -good
6224         * gst/gstevent.c:
6225         * gst/gstevent.h:
6226           remove wrong docs
6227         * gst/gstutils.c: (gst_element_link_filtered):
6228         * gst/gstutils.h:
6229           add gst_element_link_filtered
6230
6231 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6232
6233         * docs/gst/gstreamer-docs.sgml:
6234         * docs/gst/gstreamer-sections.txt:
6235         * docs/gst/tmpl/.cvsignore:
6236         * docs/gst/tmpl/gsterror.sgml:
6237         * docs/gst/tmpl/gstfilter.sgml:
6238         * docs/gst/tmpl/gsturihandler.sgml:
6239         * docs/gst/tmpl/gsturitype.sgml:
6240         * docs/gst/tmpl/gstutils.sgml:
6241         * docs/gst/tmpl/gstxml.sgml:
6242         * gst/gsterror.c:
6243         * gst/gsterror.h:
6244         * gst/gstfilter.c:
6245         * gst/gsturi.c:
6246         * gst/gsturitype.c:
6247         * gst/gstutils.c:
6248         * gst/gstxml.c:
6249           inlined more docs, fixed double id-ref
6250
6251 2005-08-31  Wim Taymans  <wim@fluendo.com>
6252
6253         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6254         (gst_base_transform_handle_buffer):
6255         Passthrough elements don't need the caps as they don't care.
6256
6257 2005-08-31  Wim Taymans  <wim@fluendo.com>
6258
6259         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6260         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6261         Don't leak refcounts on buffers.
6262
6263 2005-08-31  Wim Taymans  <wim@fluendo.com>
6264
6265         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6266         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6267         (gst_base_transform_chain), (gst_base_transform_change_state):
6268         * gst/base/gstbasetransform.h:
6269         Handle the case where we are not negotiated more gracefully.
6270
6271 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6272
6273         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6274         (gst_file_src_map_region):
6275           Set READONLY flag on mmap'ed buffers, otherwise
6276           gst_buffer_make_writable() won't work properly (#314708).
6277
6278 2005-08-31  Wim Taymans  <wim@fluendo.com>
6279
6280         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6281         passthrough elements can even do inplace on non writable
6282         buffers (as they don't touch them).
6283
6284 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6285
6286         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6287         (gst_test_mono_source_set_property),
6288         (gst_test_mono_source_class_init), (GST_START_TEST),
6289         (gst_controller_suite):
6290           more tests (hehe I have the most)
6291         * gst/gstbus.c:
6292           describe popping messages whenusing mulltiple sources
6293         * libs/gst/controller/gst-controller.c:
6294         (gst_controlled_property_set_interpolation_mode),
6295         (gst_controlled_property_new):
6296         * libs/gst/controller/gst-controller.h:
6297         * libs/gst/controller/gst-interpolation.c:
6298           implement boolean properties
6299
6300 2005-08-31  Wim Taymans  <wim@fluendo.com>
6301
6302         * gst/gstminiobject.c: (gst_mini_object_ref):
6303         Cannot assert that the refcount has to be positive
6304         since a disposed object can be resurrected.
6305
6306 2005-08-31  Wim Taymans  <wim@fluendo.com>
6307
6308         * gst/gstpad.c: (gst_pad_init):
6309         Revert change, need to first fix badly behaving 
6310         apps.
6311
6312 2005-08-30  Wim Taymans  <wim@fluendo.com>
6313
6314         * check/elements/fakesrc.c: (setup_fakesrc):
6315         * check/elements/identity.c: (setup_identity):
6316         Activate pads before using them.
6317
6318 2005-08-30  Wim Taymans  <wim@fluendo.com>
6319
6320         * gst/base/gstadapter.c: (gst_adapter_flush):
6321         Flushing out 0 bytes is ok for this function.
6322
6323         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6324         no newsegment gives a warning and sets the start/stop to 
6325         invalid.
6326
6327         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6328         (gst_base_transform_set_passthrough):
6329         Some debug info.
6330
6331         * gst/gstminiobject.c: (gst_mini_object_ref):
6332         Check refcount here too.
6333
6334         * gst/gstpad.c: (gst_pad_init):
6335         Pads are initially flushing and refusing data.
6336
6337         * gst/gstutils.c: (gst_element_link_pads_filtered):
6338         When adding a capsfilter element make sure it has the
6339         same state as the parent bin.
6340
6341 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6342
6343         * docs/gst/tmpl/.cvsignore:
6344         * docs/gst/tmpl/gstformat.sgml:
6345         * docs/gst/tmpl/gstversion.sgml:
6346         * gst/gstbus.h:
6347         * gst/gstformat.c:
6348         * gst/gstformat.h:
6349         * gst/gstversion.h.in:
6350           more docs and two more inlined
6351
6352 2005-08-30  Wim Taymans  <wim@fluendo.com>
6353
6354         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6355         Don't sync to clock.
6356
6357 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6358
6359         * docs/gst/gstreamer-sections.txt:
6360           ultral33t func10ns deserve to appear in the docs actually
6361         * docs/gst/tmpl/.cvsignore:
6362         * docs/gst/tmpl/gstcompat.sgml:
6363         * docs/gst/tmpl/gstconfig.sgml:
6364         * gst/check/gstcheck.c:
6365         * gst/gstcompat.h:
6366         * gst/gstconfig.h.in:
6367           inlined more docs
6368
6369 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6370
6371         * docs/gst/tmpl/.cvsignore:
6372         * docs/gst/tmpl/gstquery.sgml:
6373         * docs/gst/tmpl/gstutils.sgml:
6374         * gst/gstquery.c:
6375         * gst/gstquery.h:
6376           inlined and extended docs
6377
6378 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6379
6380         * check/gst-libs/controller.c: (GST_START_TEST),
6381         (gst_controller_suite):
6382           more tests
6383         * docs/gst/tmpl/gstutils.sgml:
6384         * docs/libs/gstreamer-libs-sections.txt:
6385         * docs/libs/tmpl/gstdataprotocol.sgml:
6386           include path fixes
6387         * examples/controller/audio-example.c: (main):
6388           controller example works now
6389         * gst/gstclock.h:
6390           doc fixes
6391         * tools/gst-inspect.c: (print_element_properties_info):
6392           show param spec flags
6393
6394 2005-08-29  Andy Wingo  <wingo@pobox.com>
6395
6396         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6397
6398 2005-08-28  Andy Wingo  <wingo@pobox.com>
6399
6400         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6401         as having two arguments instead of just one. Allows superclasses
6402         to access information on subclasses -- see the terrible for() loop
6403         in gtype.c:g_type_create_instance for the reason why. All callers
6404         changed.
6405
6406 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6407
6408         * docs/design/part-messages.txt:
6409           update info
6410         * docs/gst/tmpl/.cvsignore:
6411         * docs/gst/tmpl/gstcaps.sgml:
6412         * docs/gst/tmpl/gstclock.sgml:
6413         * gst/gstbus.c:
6414         * gst/gstcaps.c:
6415         * gst/gstcaps.h:
6416         * gst/gstclock.c:
6417         * gst/gstclock.h:
6418         * gst/gstmessage.c:
6419           added descriptions for bus and message
6420           inline caps and clock docs
6421
6422 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6423
6424         * gst/gstmessage.c:
6425         * gst/gstmessage.h:
6426           doc fixes
6427
6428 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6429
6430         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6431           fix div-by-zero
6432
6433 2005-08-26  Andy Wingo  <wingo@pobox.com>
6434
6435         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6436         element_set_state's return val.
6437         (test_2_elements): Add test that's been disabled for months.
6438
6439         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6440         can-activate-pull properties.
6441
6442         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6443         can-activate-pull properties. Implement is_seekable so fakesrc can
6444         operate in pull mode.
6445
6446         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6447         properties.
6448         (gst_base_sink_activate, gst_base_sink_activate_pull)
6449         (gst_base_sink_activate_push): Make activation mode choosing work.
6450         Cleanups.
6451         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6452         is right. Make pull mode work. Post an eos before pausing in pull
6453         mode.
6454         (gst_base_sink_change_state): Pay attention to the core's
6455         change_state() return val.
6456         
6457         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6458         has-getrange properties. Cleanups.
6459         
6460         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6461         has_getrange and replace with can_activate_pull and
6462         can_activate_push.
6463
6464         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6465         locking comments. Remove has_loop, has_chain and replace with
6466         can_activate_pull and can_activate_push.
6467
6468 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6469
6470         * configure.ac:
6471         * examples/Makefile.am:
6472         * examples/metadata/Makefile.am:
6473         * examples/metadata/read-metadata.c: (message_loop),
6474         (have_pad_handler), (make_pipeline), (print_tag), (main):
6475           Add metadata reading example that loops over a list of filenames,
6476           dumping any tags found.
6477
6478         * gst/gstbus.c: (gst_bus_dispose):
6479         * gst/gstelement.c: (gst_element_dispose):
6480           Release a few potentially-held references in dispose.
6481
6482 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6483
6484         * docs/gst/tmpl/gstminiobject.sgml:
6485           do *not* add tmpl/*.sgml files to CVS!
6486
6487 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6488
6489         * libs/gst/bytestream/.cvsignore:
6490         * libs/gst/bytestream/Makefile.am:
6491         * libs/gst/bytestream/adapter.c:
6492         * libs/gst/bytestream/adapter.h:
6493         * libs/gst/bytestream/bytestream.c:
6494         * libs/gst/bytestream/bytestream.h:
6495         * libs/gst/bytestream/filepad.c:
6496         * libs/gst/bytestream/filepad.h:
6497           removing obsolete files
6498
6499 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6500
6501         * docs/gst/gstreamer-docs.sgml:
6502         * docs/libs/gstreamer-libs-docs.sgml:
6503           disabed additional index entries again, as this makes docs-gen just
6504           slow and they aren't useful yet
6505         * docs/libs/gstreamer-libs-sections.txt:
6506           little -section.txt cleanup for libs
6507
6508 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6509
6510         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6511         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6512           fix up some debugging
6513         (gst_base_transform_get_unit_size),
6514         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6515         (gst_base_transform_handle_buffer):
6516         * gst/base/gstbasetransform.h:
6517           handle and store timed NEWSEGMENT events so that subclasses that
6518           calculate time by counting samples have a segment_start time they
6519           need to add to their timestamps - see audioresample
6520
6521 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6522
6523         * gst/gstbin.h:
6524           removed ';' from the end of macro defs
6525         * docs/gst/gstreamer-docs.sgml:
6526         * docs/gst/gstreamer-sections.txt:
6527         * docs/gst/tmpl/.cvsignore:
6528         * gst/gstbus.h:
6529         * gst/gstelement.c: (gst_element_class_init),
6530         (gst_element_set_state), (activate_pads),
6531         (gst_element_save_thyself):
6532         * gst/gstevent.c: (gst_event_new_newsegment):
6533         * gst/gstevent.h:
6534         * gst/gstiterator.c:
6535         * gst/gstiterator.h:
6536         * gst/gstpad.c:
6537         * gst/gstprobe.h:
6538         * gst/gstutils.c: (gst_pad_query_convert):
6539         * gst/gstutils.h:
6540           fixed parameter name mismatches between source, header and docs
6541           added some more docs, resolved the last batch of unused elements in
6542           docs (now someone needs to doc them)
6543
6544 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6545
6546         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6547         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6548           don't walk through the plugins backwards.  Where is all this
6549           reversed logic coming from ?
6550
6551 2005-08-25  Wim Taymans  <wim@fluendo.com>
6552
6553         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6554         (gst_base_transform_transform_size),
6555         (gst_base_transform_configure_caps),
6556         (gst_base_transform_get_unit_size),
6557         (gst_base_transform_buffer_alloc),
6558         (gst_base_transform_change_state):
6559         * gst/base/gstbasetransform.h:
6560         Cache caps unit_size.
6561         Make sure we cannot negotiate up and downstream at the
6562         same time.
6563
6564 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6565
6566         * gst/gst.c: (init_pre), (init_post):
6567           register the installed plugin path after the env var
6568         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6569         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6570           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6571           directories, so the tests can prefer uninstalled over installed
6572
6573 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6574
6575         * gst/base/gstbasetransform.h:
6576           comment
6577         * gst/gstpad.c:
6578           add to docs
6579
6580 2005-08-25  Wim Taymans  <wim@fluendo.com>
6581
6582         * gst/gstbin.c: (bin_bus_handler):
6583         Be a bit more conservative about the posted message.
6584         
6585         * gst/gstbus.c: (gst_bus_post):
6586         Some cleanups, warn wrong return values.
6587
6588 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6589
6590         * check/gst/gstbin.c: (GST_START_TEST):
6591         * gst/gstbin.c: (bin_bus_handler):
6592         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6593         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6594         (gst_message_new_warning), (gst_message_new_tag),
6595         (gst_message_new_state_changed), (gst_message_new_segment_start),
6596         (gst_message_new_segment_done), (gst_message_new_custom):
6597         * gst/gstmessage.h:
6598         * tools/gst-launch.c: (event_loop):
6599         * tools/gst-md5sum.c: (event_loop):
6600           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6601
6602 2005-08-25  Wim Taymans  <wim@fluendo.com>
6603
6604         * check/generic/states.c: (GST_START_TEST):
6605         Cleanup can be done at the end.
6606
6607         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6608         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6609         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6610         Oh boy.. Thanks for finding this, Thomas. 
6611
6612 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6613
6614         * docs/gst/gstreamer.types:
6615           added missing types
6616
6617 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6618
6619         * docs/gst/gstreamer-docs.sgml:
6620         * docs/gst/gstreamer-sections.txt:
6621         * docs/gst/tmpl/.cvsignore:
6622         * gst/gstbin.c:
6623         * gst/gstiterator.c:
6624         * gst/gstutils.c:
6625         * gst/registries/gstxmlregistry.h:
6626           added missing classes and symbols (123 more to go)
6627           removed removed symbols from section file
6628           fixed many doc-comments
6629
6630 2005-08-24  Wim Taymans  <wim@fluendo.com>
6631
6632         * check/generic/states.c: (GST_START_TEST):
6633         Make sure all tasks are stopped.
6634
6635         * check/gst/gstbin.c: (GST_START_TEST):
6636         Unref after usage for proper valgrinding.
6637
6638         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6639         Really wait for the task to stop before destroying the
6640         mutex.
6641
6642         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6643         (gst_queue_src_activate_push):
6644         Small cleanups. Don't stop the task when we did not start
6645         it.
6646
6647         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6648         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6649         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6650         (gst_task_join):
6651         * gst/gsttask.h:
6652         Protect the stream lock with the object lock.
6653         Disallow setting the stream lock when running.
6654         Add cleanup_all to wait for the threadpool to finish.
6655         Remove code to autoallocate a mutex if none was provided.
6656         Add _join() to wait for a task to stop.
6657         Protect the thread pool with a global lock.
6658
6659 2005-08-24  Wim Taymans  <wim@fluendo.com>
6660
6661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6662         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6663         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6664         * gst/base/gstbasesink.h:
6665         Handle newsegment events correctly.
6666         Drop buffers out of the segment range.
6667
6668 2005-08-22  Andy Wingo  <wingo@pobox.com>
6669
6670         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6671         macro, implements an interface and gstimplementsinterface for a
6672         new type.
6673
6674 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6675
6676         * check/Makefile.am:
6677         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6678           add a test that does a bunch of state changes on elements
6679           needs some fixing for valgrind
6680         * check/states/sinks.c: (gst_object_suite):
6681           whitespace
6682         * gst/gstcaps.h:
6683           add prototype for gst_caps_is_equal_fixed
6684         * gst/gstplugin.c:
6685         * gst/gstregistrypool.c:
6686           doc fixes
6687
6688 2005-08-24  Andy Wingo  <wingo@pobox.com>
6689
6690         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6691         convert a negative value. Doesn't make much sense. Mostly this is
6692         here to force callers to ensure -1 maps to -1.
6693
6694 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6695
6696         * docs/pwg/advanced-types.xml:
6697           Well done to Michael for catching my deliberate introduction
6698           of this spelling mistake. 
6699         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6700         * gst/gstelement.h:
6701           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6702           unlink pads before removing the element from the bin.
6703
6704 2005-08-24  Andy Wingo  <wingo@pobox.com>
6705
6706         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6707         the same thing as GST_DEBUG=*:4.
6708         (parse_debug_level, parse_debug_category): New helper parsers.
6709
6710 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6711
6712         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6713         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6714         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6715         (gst_base_transform_buffer_alloc),
6716         (gst_base_transform_handle_buffer):
6717           use gboolean return values and pointers to size so we can use the
6718           full GST_BUFFER_SIZE range (guint) for buffer sizes
6719           use GstPadDirection for transform_caps
6720         * gst/base/gstbasetransform.h:
6721           rename get_size to get_unit_size since that's what it is
6722         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6723           use GstPadDirection for transform_caps
6724         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6725         * gst/gstutils.h:
6726           cleanup and debugging
6727
6728 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6729
6730         * gst/gstelement.c: (gst_element_class_init),
6731         (gst_element_set_state), (activate_pads),
6732         (gst_element_save_thyself):
6733         * tools/gst-compprep.c: (main):
6734         * tools/gst-inspect.c: (print_element_properties_info):
6735         * tools/gst-xmlinspect.c: (print_element_properties):
6736           Fixed long standing mem-leak
6737
6738 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6739
6740         * check/gst/gstbin.c: (GST_START_TEST):
6741         * gst/gstbin.c: (bin_bus_handler):
6742         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6743         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6744         (gst_message_new_warning), (gst_message_new_tag),
6745         (gst_message_new_state_changed), (gst_message_new_segment_start),
6746         (gst_message_new_segment_done), (gst_message_new_custom):
6747         * gst/gstmessage.h:
6748         * tools/gst-launch.c: (event_loop):
6749         * tools/gst-md5sum.c: (event_loop):
6750           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6751           that applications can sensibly post custom messages with references
6752           to their own objects.
6753
6754 2005-08-24  Andy Wingo  <wingo@pobox.com>
6755
6756         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6757         already.
6758
6759 2005-08-24  Wim Taymans  <wim@fluendo.com>
6760
6761         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6762         (gst_base_transform_transform_caps),
6763         (gst_base_transform_transform_size),
6764         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6765         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6766         (gst_base_transform_handle_buffer):
6767         * gst/base/gstbasetransform.h:
6768         Many fixes and new features added by Thomas. Can now also do
6769         transforms with variable sizes and a custom fixate_caps function.
6770
6771 2005-08-24  Wim Taymans  <wim@fluendo.com>
6772
6773         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6774         Some debugging.
6775
6776         * gst/gstclock.h:
6777         Cast to ClockTime before formatting to time.
6778
6779         * gst/gstutils.h:
6780         Cleanups.
6781
6782 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6783
6784         * check/gst-libs/controller.c: (GST_START_TEST),
6785         (gst_controller_suite):
6786         * docs/gst/tmpl/gstcaps.sgml:
6787         * docs/gst/tmpl/gstghostpad.sgml:
6788         * docs/gst/tmpl/gstquery.sgml:
6789         * docs/gst/tmpl/gstutils.sgml:
6790         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6791         (gst_object_sink_values), (gst_object_get_value_arrays),
6792         (gst_object_get_value_array):
6793           gracefully handle helper method calls to objects that are not beeing
6794           controlled, added test case for that          
6795
6796 2005-08-23  Wim Taymans  <wim@fluendo.com>
6797
6798         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6799         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6800         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6801         (gst_event_parse_qos), (gst_event_new_seek),
6802         (gst_event_parse_seek):
6803         * gst/gstevent.h:
6804         Some more debugging output and doc cleanups.
6805
6806         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6807         Fix possible deadlock.
6808
6809 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6810
6811         * docs/gst/gstreamer-docs.sgml:
6812         * docs/gst/gstreamer-sections.txt:
6813         * docs/gst/gstreamer.types:
6814         * docs/gst/tmpl/.cvsignore:
6815         * gst/gstbin.h:
6816         * gst/gstbus.c:
6817         * gst/gstelement.c:
6818         * gst/gstevent.h:
6819           added 100 symbols from gstreamer-unused.txt to the right sections
6820           fixed more broken comments
6821           added GstBus to docs
6822
6823 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6824
6825         * docs/gst/gstreamer-sections.txt:
6826         * docs/gst/tmpl/.cvsignore:
6827         * docs/gst/tmpl/gstbin.sgml:
6828         * docs/gst/tmpl/gstbuffer.sgml:
6829         * gst/base/gstbasesrc.c:
6830         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6831         * gst/gstbuffer.c:
6832         * gst/gstbuffer.h:
6833         * tools/gst-launch.1.in:
6834           inlined more doc comments, added missing comments and fixed comments
6835           fixed typos
6836
6837 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6838
6839         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6840           some debugging
6841         * gst/gstcaps.h:
6842           whitespace fixes
6843         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6844           more debugging
6845         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6846         * gst/gststructure.h:
6847           add a fixate function for booleans; add a FIXME that these func
6848           names should probably be gst_structure_fixate_*
6849
6850 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6851
6852         * docs/gst/gstreamer-docs.sgml:
6853         * docs/gst/gstreamer-sections.txt:
6854         * gst/Makefile.am:
6855         * gst/gstbin.c: (gst_bin_get_type),
6856         (gst_bin_child_proxy_get_child_by_index),
6857         (gst_bin_child_proxy_get_children_count),
6858         (gst_bin_child_proxy_init):
6859         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6860         (gst_child_proxy_get_child_by_index),
6861         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6862         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6863         (gst_child_proxy_get), (gst_child_proxy_set_property),
6864         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6865         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6866         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6867         * gst/gstchildproxy.h:
6868         * gst/parse/grammar.y:
6869         * tools/gst-inspect.c: (print_interfaces),
6870         (print_element_properties_info), (print_element_info):
6871           ported gstchildproxy over from 0.8
6872           ported gst-inspect fixes and enhancements over from 0.8
6873
6874 2005-08-22  Wim Taymans  <wim@fluendo.com>
6875
6876         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6877         (gst_base_transform_handle_buffer):
6878         Also call the transform function if we have ANY caps.
6879
6880         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6881         Fix debug info.
6882
6883 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6884
6885         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6886           Don't pretend to handle seek events if the source is not seekable
6887
6888 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6889
6890         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6891           Remove extra parameter to debug output
6892
6893         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6894         (gst_base_src_do_seek), (gst_base_src_activate_push):
6895           Fix seek event handling.
6896
6897         * gst/gstpipeline.c: (gst_pipeline_change_state):
6898         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6899         (gst_queue_src_activate_push):
6900           Don't start the src pad task on FLUSH_STOP if the pad
6901           isn't linked.
6902           Debug changes.
6903
6904 2005-08-22  Wim Taymans  <wim@fluendo.com>
6905
6906         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6907         Added check for gst_static_caps_get() refcounting.
6908
6909 2005-08-22  Wim Taymans  <wim@fluendo.com>
6910
6911         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6912         Make _static_caps_get() refcounting sane.
6913         
6914         * gst/gstelement.c: (gst_element_set_state):
6915         Add g_return_val_if_fail() to protect against segfaults.
6916
6917 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6918
6919         * docs/gst/tmpl/gstevent.sgml:
6920         * gst/gstevent.c:
6921         * gst/gstevent.h:
6922           inlined remaining docs, added missing doc comments
6923
6924 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6925
6926         * check/gst/gstbin.c: (GST_START_TEST):
6927           since we don't know when preroll is done, use refcount range
6928           check for the sink
6929         * gst/check/gstcheck.h:
6930           add macro for checking refcount range
6931
6932 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6933
6934         * check/Makefile.am:
6935           clean up environment for when registry gets built versus
6936           when actual tests are run; valgrind seems to not report
6937           leaks if GST_PLUGIN_PATH is set to some specific values
6938         * check/gst/gstbin.c: (GST_START_TEST):
6939           add more refcounting checks; maybe this exposes a
6940           preroll lock bug ?
6941         * common/check.mak:
6942         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6943         * gst/check/gstcheck.h:
6944         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6945         (gst_bin_change_state):
6946         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6947           add/fix debugging/whitespace
6948
6949 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6950
6951         * check/gst/gstevent.c: (event_probe), (test_event),
6952         (GST_START_TEST):
6953          Er, don't call gst_bin_watch_for_state_change you idiot.
6954
6955 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6956
6957         * check/Makefile.am:
6958           Use CHECK_CFLAGS and CHECK_LIBS
6959         * check/gst/gstevent.c: (event_probe), (test_event),
6960         (GST_START_TEST):
6961           Don't leak events.
6962         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6963         (gst_base_src_start), (gst_base_src_stop),
6964         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6965         (gst_base_src_change_state):
6966           Sprinkle gst_base_src_stop liberally around error paths to fix
6967           problems reusing a source after failed state changes.
6968         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6969         (helper_find_suggest), (gst_type_find_helper):
6970           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6971         * gst/gstevent.h:
6972         * docs/gst/tmpl/gstevent.sgml:
6973           Migrate part of the docs from the SGML file. Wait for ensonic to
6974           tell me how I did it wrong ;)
6975         * tools/gst-typefind.c: (main):
6976           Extra robustness to state changes between files.
6977
6978 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6979
6980         * check/Makefile.am:
6981           don't valgrind the controller test - it's leaking - Stefan, HELP
6982         * gst/check/gstcheck.c: (gst_check_message_error),
6983         (gst_check_chain_func), (gst_check_setup_element),
6984         (gst_check_teardown_element), (gst_check_setup_src_pad),
6985         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6986         (gst_check_teardown_sink_pad):
6987         * gst/check/gstcheck.h:
6988           add a bunch of methods to set up elements, and src and sink pads
6989         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6990         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6991         (GST_START_TEST):
6992           use them
6993         * gst/gstmessage.c:
6994         * gst/gsttag.h:
6995           whitespace/doc fixes
6996
6997 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6998
6999         * gst/gstelement.h:
7000           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7001           be handled by the application and not always printed as well
7002
7003 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7004
7005         * check/Makefile.am:
7006           set GST_TOOLS_DIR
7007         * gst/check/gstcheck.c: (gst_check_message_error):
7008         * gst/check/gstcheck.h:
7009           add a fail_unless_equals_int
7010           add fail_unless for error messages
7011
7012 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7013
7014         * check/Makefile.am:
7015         * check/gst.supp:
7016         * common/Makefile.am:
7017         * common/check.mak:
7018         * common/gst.supp:
7019           factor out some of the common stuff so we can use it
7020
7021 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7022
7023         * check/Makefile.am:
7024         * check/gst/gstiterator.c: (GST_START_TEST):
7025         * check/gst/gstsystemclock.c: (GST_START_TEST),
7026         (gst_systemclock_suite):
7027         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7028         * gst/gstclock.c:
7029           valgrind more tests
7030
7031 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7032
7033         * check/elements/.cvsignore:
7034         * check/elements/gstfakesrc.c:
7035           rename to name of element
7036         * check/elements/identity.c: (chain_func), (event_func),
7037         (setup_identity), (cleanup_identity), (GST_START_TEST),
7038         (identity_suite), (main):
7039           add a test for identity
7040         * check/Makefile.am:
7041         * pkgconfig/Makefile.am:
7042         * pkgconfig/gstreamer-check.pc.in:
7043         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7044         * gst/check:
7045         * gst/Makefile.am:
7046         * configure.ac:
7047           move the check stuff to a library that gets installed
7048         * check/gst-libs/controller.c: (GST_START_TEST):
7049         * check/gst-libs/gdp.c:
7050         * check/gst/gst.c: (GST_START_TEST):
7051         * check/gst/gstbin.c:
7052         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7053         * check/gst/gstbus.c:
7054         * check/gst/gstcaps.c: (GST_START_TEST):
7055         * check/gst/gstelement.c:
7056         * check/gst/gstghostpad.c:
7057         * check/gst/gstiterator.c:
7058         * check/gst/gstmessage.c:
7059         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7060         * check/gst/gstobject.c:
7061         * check/gst/gstpad.c: (GST_START_TEST):
7062         * check/gst/gststructure.c: (GST_START_TEST):
7063         * check/gst/gstsystemclock.c: (GST_START_TEST),
7064         (gst_systemclock_suite):
7065         * check/gst/gsttag.c: (gst_tag_suite):
7066         * check/gst/gstvalue.c:
7067         * check/pipelines/cleanup.c:
7068         * check/pipelines/simple_launch_lines.c:
7069         * check/states/sinks.c:
7070           change include statement
7071
7072         * docs/gst/gstreamer-sections.txt:
7073         * docs/gst/tmpl/gstpad.sgml:
7074           document more pad stuff
7075         * gst/gstminiobject.c: (gst_mini_object_ref),
7076         (gst_mini_object_unref):
7077           debug refcounting
7078
7079 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7080
7081         * docs/gst/tmpl/gst.sgml:
7082         * gst/gst.c:
7083           eliminate another tmpl file, fix spelling in the long-description
7084
7085 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7086
7087         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7088         (test_event), (timediff), (gstevents_suite):
7089           Should fix build on 64-bit arch's
7090
7091 2005-08-18  Andy Wingo  <wingo@pobox.com>
7092
7093         Make sure that when a pipeline goes to PLAYING, that data has
7094         actually hit the sink.
7095
7096         * check/states/sinks.c (test_sink): A sink that doesn't get any
7097         data shouldn't return SUCCESS for going to either PLAYING or
7098         PAUSED. Test also the return values on the way back down.
7099
7100         * gst/gstelement.c (gst_element_set_state): When changing the
7101         state of an element currently changing state asynchronously, go to
7102         lost-state after commiting the pending state. Makes future calls
7103         to get_state continue to return ASYNC.
7104
7105         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7106         ASYNC when going to PLAYING if we still don't have preroll, as can
7107         happen with live sources.
7108
7109 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7110
7111         * docs/pwg/advanced-types.xml:
7112           Hack long paragraph into 2 chunks as a workaround for buggy
7113           jadetex version in sid and breezy that loops infinitely and
7114           eats all RAM.
7115
7116 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7117
7118         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7119         (test_event), (timediff), (gstevents_suite):
7120           Provide more error margin in clock measurements to allow for 
7121           g_get_current_time inaccuracies.
7122
7123 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7124
7125         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7126         (test_event), (timediff), (gstevents_suite):
7127            Fix error message output so I might be able to tell why the
7128            test works here but fails on the build farm.
7129
7130 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7131
7132         * check/Makefile.am:
7133         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7134         (test_event), (timediff), (gstevents_suite), (main):
7135           I wrote a test!
7136
7137         * docs/design/part-seeking.txt:
7138           Spelling correction
7139
7140         * docs/gst/tmpl/gstevent.sgml:
7141         * docs/gst/tmpl/gstfakesrc.sgml:
7142           Docs updates.
7143
7144         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7145           Treat a buffer-without-newsegment the same as a receiving 
7146           a newsegment not in time format, and disable syncing to the clock
7147           with a warning.
7148
7149         * gst/gstbus.c: (gst_bus_set_sync_handler):
7150           Assert if anyone tries to replace the existing sync_handler for bus, 
7151           as only the owner should be setting it.
7152
7153         * gst/gstevent.h:
7154           Have a fixed set of custom event enums with events identified by
7155           their structure name (as in 0.8), rather than a free-for-all
7156           allowing collisions between enum values from different plugins.
7157
7158         * gst/gstpad.c: (gst_pad_class_init):
7159           Docs change.
7160           
7161         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7162           Handle out-of-band downstream events from the sending thread.
7163
7164 2005-08-17  Andy Wingo  <wingo@pobox.com>
7165
7166         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7167         play-timeout==0 to mean no timeout at all. In that case, don't
7168         bother with a get_state or a warning, just return directly, even
7169         if it's ASYNC.
7170
7171         * gst/base/gstbasetransform.c: Debug changes.
7172
7173         * gst/gstutils.h:
7174         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7175         ensure bins post state change messages. A bit of a hack but I can't
7176         think of a way to avoid it.
7177
7178         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7179
7180 2005-08-16  Andy Wingo  <wingo@pobox.com>
7181
7182         * gst/base/gstadapter.h:
7183         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7184         peek() but you own the data. Not terribly efficient atm.
7185
7186 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7187
7188         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7189         (gst_element_found_tags):
7190         * gst/gstutils.h:
7191           Add two utility functions for tag handling.
7192
7193 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7194
7195         * docs/manual/advanced-dataaccess.xml:
7196         * docs/manual/basics-helloworld.xml:
7197           Fix docs to use _bin_add() before _link(), which fixes the examples
7198           with recent core versions (reported by Madhan Raj M
7199           <raj_madan@rediffmail.com>, #313199).
7200
7201 2005-08-16  Wim Taymans  <wim@fluendo.com>
7202
7203         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7204         Added subtract checks.
7205
7206         * docs/design/part-events.txt:
7207         Some more docs about newsegment
7208
7209         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7210         Fix FIXME
7211
7212         * gst/gstcaps.c: (gst_caps_to_string):
7213         Add comments, cleanups.
7214         
7215         * gst/gstelement.c: (gst_element_save_thyself):
7216         cleanups
7217         
7218         * gst/gstvalue.c: (gst_value_collect_int_range),
7219         (gst_string_unwrap), (gst_value_union_int_int_range),
7220         (gst_value_union_int_range_int_range),
7221         (gst_value_intersect_int_int_range),
7222         (gst_value_intersect_int_range_int_range),
7223         (gst_value_intersect_double_double_range),
7224         (gst_value_intersect_double_range_double_range),
7225         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7226         (gst_value_subtract_int_range_int),
7227         (gst_value_subtract_double_range_double),
7228         (gst_value_subtract_double_range_double_range),
7229         (gst_value_subtract_from_list), (gst_value_subtract_list),
7230         (gst_value_can_compare), (gst_value_compare_fraction):
7231         Cleanups, add comments, remove unneeded asserts.
7232
7233 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7234
7235         * tools/gst-launch.c: (event_loop):
7236           don't convert NULL structures to strings
7237
7238 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7239
7240         * docs/gst/gstreamer-sections.txt:
7241           made some defines private
7242         * docs/gst/tmpl/gstconfig.sgml:
7243         * docs/gst/tmpl/gstqueue.sgml:
7244         * docs/gst/tmpl/gsttaglist.sgml:
7245         * docs/gst/tmpl/gsttypes.sgml:
7246         * docs/gst/tmpl/gstutils.sgml:
7247         * docs/pwg/appendix-porting.xml:
7248         * gst/base/gstbasesink.h:
7249         * gst/base/gstbasesrc.c:
7250         * gst/base/gstbasesrc.h:
7251         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7252         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7253         * gst/gstelement.c: (gst_element_class_init):
7254         * gst/gstpad.c: (gst_pad_class_init):
7255         * gst/gstqueue.c: (gst_queue_class_init):
7256         * gst/gstxml.c: (gst_xml_class_init):
7257           documented all undocumented signal inline
7258         * libs/gst/controller/gst-controller.h:
7259           added padding
7260
7261 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7262
7263         * docs/pwg/appendix-porting.xml:
7264           Document _set_link_function -> _set_setcaps_function.
7265
7266 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7267
7268         * check/Makefile.am:
7269           add a .check target for running the check
7270         * check/gst-libs/controller.c: (GST_START_TEST):
7271           cosmetic fixups
7272         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7273           complete checks for gstbuffer; would be nice if I could get the
7274           gcov stuff to work so I can see if I actually completed gstbuffer.c
7275         * check/gstcheck.h:
7276           add ASSERT_BUFFER_REFCOUNT
7277
7278 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7279
7280         * docs/gst/gstreamer-sections.txt:
7281         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7282         * gst/gsttag.h:
7283           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7284           spew out a warning if a tag that is already registered
7285           is re-registered, unless it is re-registered with a 
7286           different type (#308438).
7287
7288 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7289
7290         * docs/pwg/appendix-porting.xml:
7291         * docs/pwg/building-state.xml:
7292           Add some paragraphs about state changes in 0.9 to the PWG
7293           and the porting guide, in particular about the new meaning
7294           of GST_STATE_PAUSED and how to write state change functions
7295           with concurrent access by multiple threads in mind.
7296
7297 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7298
7299         * docs/gst/gstreamer-docs.sgml:
7300         * docs/libs/gstreamer-libs-docs.sgml:
7301           added deprecation and since indexes
7302         * libs/gst/controller/gst-controller.c:
7303         * libs/gst/controller/gst-helper.c:
7304           added since tags
7305
7306
7307 2005-08-11  Wim Taymans  <wim@fluendo.com>
7308
7309         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7310         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7311         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7312         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7313         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7314         (gst_ghost_pad_set_target):
7315         Actually implement (re)setting the target on a ghostpad
7316         as described in the docs.
7317
7318 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7319
7320         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7321           Check whether GST_DEBUG_NO_COLOR environment variable is
7322           set and disable coloured debug output if that is the case.
7323
7324 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7325
7326         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7327         (gst_type_find_helper):
7328           The memory returned by gst_type_find_peek() needs to
7329           stay valid until the end of a typefind function, and
7330           typefind functions may keep results from different 
7331           offsets around, so we can't just unref the buffer from
7332           the previous _peek(), but have to save all buffers 
7333           returned by _peek() until typefinding is done and only
7334           free them then.
7335
7336 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7337
7338         * docs/gst/gstreamer-sections.txt:
7339         * gst/gstutils.h:
7340           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7341
7342 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7343
7344         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7345           Fix a pretty good memleak.
7346
7347 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7348
7349         * gst/gstiterator.h:
7350           Fix wrong include and 'make distcheck'.
7351
7352 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7353
7354         * gst/gstbin.c: (bin_bus_handler):
7355           Use gst_element_post_message() instead.
7356
7357 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7358
7359         * gst/base/gstadapter.h:
7360         * gst/base/gstbasesink.h:
7361         * gst/base/gstbasesrc.h:
7362         * gst/base/gstbasetransform.h:
7363         * gst/base/gstcollectpads.h:
7364         * gst/base/gstpushsrc.h:
7365         * gst/gstiterator.h:
7366           Add padding to our base elements' class and instance structs and
7367           to GstIterator (you will need to rebuild all plugins and apps!)
7368
7369 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7370
7371         * gst/gstbin.c: (bin_bus_handler):
7372           Make default message forwarding from child->bus to bin->bus
7373           threadsafe and make it not emit warnings if the parent has no bus.
7374
7375 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7376
7377         * gst/gstelement.c: (activate_pads):
7378           On paused->ready, set pad->caps to NULL, as is the documented
7379           behaviour in this state change. Fixes playback of series of
7380           media files when visualization is enabled in Totem.
7381
7382 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7383
7384         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7385           Allow NULL as filter-caps (which means "any").
7386
7387 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7388
7389         * docs/libs/gstreamer-libs-sections.txt:
7390         * libs/gst/controller/gst-controller.c:
7391         * libs/gst/controller/gst-controller.h:
7392         * libs/gst/controller/gst-helper.c:
7393           adding more entries to the docs and fix small doc-bugs
7394
7395 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7396
7397         * docs/gst/gstreamer-docs.sgml:
7398         * docs/gst/gstreamer-sections.txt:
7399         * docs/gst/gstreamer.types:
7400         * docs/gst/tmpl/gstbasesink.sgml:
7401         * docs/gst/tmpl/gstbasesrc.sgml:
7402         * docs/gst/tmpl/gstbasetransform.sgml:
7403         * docs/gst/tmpl/gstfakesrc.sgml:
7404         * gst/base/gstcollectpads.c:
7405         * gst/base/gstcollectpads.h:
7406         * libs/gst/controller/gst-controller.c:
7407         * libs/gst/controller/gst-controller.h:
7408         * libs/gst/controller/gst-helper.c:
7409         * libs/gst/controller/gst-interpolation.c:
7410         * libs/gst/controller/lib.c:
7411           added long/short desc for controller docs
7412           added collectpads base class docs
7413           added correct includes to base-class docs
7414
7415 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7416
7417         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7418         (gst_test_mono_source_set_property),
7419         (gst_test_mono_source_class_init), (GST_START_TEST),
7420         (gst_controller_suite):
7421         * docs/gst/gstreamer-docs.sgml:
7422         * docs/gst/gstreamer-sections.txt:
7423         * docs/gst/gstreamer.types:
7424         * docs/libs/gstreamer-libs-docs.sgml:
7425         * docs/libs/gstreamer-libs-sections.txt:
7426         * gst/base/gstadapter.c:
7427         * libs/gst/controller/gst-controller.c:
7428         (gst_controlled_property_new), (gst_controlled_property_free),
7429         (gst_controller_new_valist),
7430         (gst_controller_remove_properties_valist),
7431         (gst_controller_sink_values), (_gst_controller_finalize):
7432         * libs/gst/controller/gst-controller.h:
7433         * libs/gst/controller/gst-helper.c:
7434         (gst_object_control_properties), (gst_object_uncontrol_properties),
7435         (gst_object_get_controller), (gst_object_set_controller),
7436         (gst_object_sink_values), (gst_object_get_value_arrays),
7437         (gst_object_get_value_array):
7438           more tests (and fixes) for the controller
7439           more docs for the controller
7440           integrated companies docs for the adapter 
7441
7442 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7443
7444         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7445         (GST_START_TEST), (fakesrc_suite):
7446           add tests for sizetype
7447
7448 2005-08-04  Andy Wingo  <wingo@pobox.com>
7449
7450         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7451         fixes buffer_alloc proxying among other things.
7452
7453         * gst/base/gstbasetransform.c:
7454         * gst/base/gstbasetransform.h:
7455         Revert patch to gstbasetransform from 7-28 removing
7456         delay_configure.
7457
7458         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7459         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7460         Semantics changed, should return not the size of the output buffer
7461         but the byte size of a buffer with a given caps.
7462
7463         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7464         debug object.
7465         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7466         out) are not the pad caps until setcaps finishes.
7467         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7468         not-in-place case as well. Deal with changing from in-place to
7469         not-in-place within calling pad_alloc_buffer. Still a bit
7470         concerned about the overhead here...
7471
7472 2005-08-03  Andy Wingo  <wingo@pobox.com>
7473
7474         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7475         fixating is an error.
7476
7477 2005-08-04  Edward Hervey  <edward@fluendo.com>
7478
7479         * gst/base/gstadapter.h: 
7480         Added gst_adapter_get_type() to the header
7481
7482 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7483
7484         * check/Makefile.am:
7485         * check/gst-libs/controller.c:
7486         * libs/gst/controller/gst-controller.c:
7487         (gst_controller_new_valist):
7488           added check test suite for the controller
7489         * gst/base/gstpushsrc.c:
7490           fixed a doc typo
7491
7492 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7493
7494         * docs/gst/Makefile.am:
7495         * docs/gst/gstreamer-docs.sgml:
7496         * docs/gst/gstreamer-sections.txt:
7497         * docs/gst/gstreamer.types:
7498         * docs/gst/tmpl/gstfakesrc.sgml:
7499         * gst/base/README:
7500         * gst/base/gstbasesink.c:
7501         * gst/base/gstbasesink.h:
7502         * gst/base/gstbasesrc.c:
7503         * gst/base/gstbasesrc.h:
7504         * gst/base/gstbasetransform.c:
7505         * gst/base/gstpushsrc.c:
7506         * gst/base/gstpushsrc.h:
7507           add short/long description docs to base classes
7508           add pushsrc to the docs
7509           remove consolidated doc fragments
7510
7511 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7512
7513         * configure.ac:
7514         * docs/libs/Makefile.am:
7515         * docs/libs/gstreamer-libs-docs.sgml:
7516         * docs/libs/gstreamer-libs-sections.txt:
7517         * docs/libs/gstreamer-libs.types:
7518         * examples/Makefile.am:
7519         * examples/controller/.cvsignore:
7520         * examples/controller/Makefile.am:
7521         * examples/controller/audio-example.c: (main):
7522         * libs/gst/Makefile.am:
7523         * libs/gst/controller/.cvsignore:
7524         * libs/gst/controller/Makefile.am:
7525         * libs/gst/controller/gst-controller.c:
7526         (on_object_controlled_property_changed), (gst_timed_value_compare),
7527         (gst_timed_value_find),
7528         (gst_controlled_property_set_interpolation_mode),
7529         (gst_controlled_property_new), (gst_controlled_property_free),
7530         (gst_controller_find_controlled_property),
7531         (gst_controller_new_valist), (gst_controller_new),
7532         (gst_controller_remove_properties_valist),
7533         (gst_controller_remove_properties), (gst_controller_set),
7534         (gst_controller_set_from_list), (gst_controller_unset),
7535         (gst_controller_get), (gst_controller_get_all),
7536         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7537         (gst_controller_get_value_array),
7538         (gst_controller_set_interpolation_mode),
7539         (_gst_controller_finalize), (_gst_controller_init),
7540         (_gst_controller_class_init), (gst_controller_get_type):
7541         * libs/gst/controller/gst-controller.h:
7542         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7543         (g_object_uncontrol_properties), (g_object_get_controller),
7544         (g_object_set_controller), (g_object_sink_values),
7545         (g_object_get_value_arrays), (g_object_get_value_array):
7546         * libs/gst/controller/gst-interpolation.c:
7547         (gst_controlled_property_find_timed_value_node),
7548         (interpolate_none_get), (interpolate_trigger_get),
7549         (interpolate_trigger_get_value_array):
7550         * libs/gst/controller/lib.c: (gst_controller_init):
7551         * pkgconfig/Makefile.am:
7552         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7553         * pkgconfig/gstreamer-control.pc.in:
7554         * testsuite/Makefile.am:
7555         * testsuite/controller/.cvsignore:
7556         * testsuite/controller/Makefile.am:
7557         * testsuite/controller/interpolator.c: (main):
7558           added controller code
7559           removed dparam pc files
7560
7561 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7562         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7563         (gst_collectpads_stop):
7564           Broadcast the condition when shutting down, to make sure we wake all
7565           threads up. Shut down pads on finalize, for safety.
7566
7567 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7568         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7569         (gst_base_transform_handle_buffer),
7570         (gst_base_transform_change_state):
7571           Handle PAUSED->READY->PAUSED transition after negotiation
7572           occurred already.
7573         * gst/gstmessage.c: (gst_message_init):
7574           Extra piece of debug for new messages.
7575
7576 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7577
7578         * configure.ac:
7579         * docs/gst/tmpl/gstbasesrc.sgml:
7580         * docs/gst/tmpl/gstelement.sgml:
7581         * docs/gst/tmpl/gstevent.sgml:
7582         * docs/gst/tmpl/gstfakesrc.sgml:
7583         * docs/gst/tmpl/gstformat.sgml:
7584         * docs/gst/tmpl/gstghostpad.sgml:
7585         * docs/gst/tmpl/gstpad.sgml:
7586         * docs/gst/tmpl/gstquery.sgml:
7587         * docs/gst/tmpl/gststructure.sgml:
7588         * docs/gst/tmpl/gsttaglist.sgml:
7589         * docs/gst/tmpl/gstvalue.sgml:
7590         * docs/libs/gstreamer-libs-docs.sgml:
7591         * docs/libs/gstreamer-libs-sections.txt:
7592         * docs/libs/gstreamer-libs.types:
7593         * libs/gst/Makefile.am:
7594         * libs/gst/control/.cvsignore:
7595         * libs/gst/control/Makefile.am:
7596         * libs/gst/control/control.c:
7597         * libs/gst/control/control.h:
7598         * libs/gst/control/dparam.c:
7599         * libs/gst/control/dparam.h:
7600         * libs/gst/control/dparam_smooth.c:
7601         * libs/gst/control/dparam_smooth.h:
7602         * libs/gst/control/dparamcommon.h:
7603         * libs/gst/control/dparammanager.c:
7604         * libs/gst/control/dparammanager.h:
7605         * libs/gst/control/dplinearinterp.c:
7606         * libs/gst/control/dplinearinterp.h:
7607         * libs/gst/control/unitconvert.c:
7608         * libs/gst/control/unitconvert.h:
7609         * testsuite/Makefile.am:
7610         * testsuite/dynparams/.cvsignore:
7611         * testsuite/dynparams/Makefile.am:
7612         * testsuite/dynparams/dparamstest.c:
7613         * tools/Makefile.am:
7614         * tools/gst-inspect.c: (print_element_info), (main):
7615         * tools/gst-xmlinspect.c: (print_element_info), (main):
7616           deactivate and remove dparams (libgstcontrol)
7617
7618 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7619
7620         * gst/elements/gsttypefindelement.c:
7621         (gst_type_find_element_have_type), (gst_type_find_element_init),
7622         (stop_typefinding), (gst_type_find_element_handle_event),
7623         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7624         * gst/elements/gsttypefindelement.h:
7625           Set caps on all outgoing buffers, not just the first one.
7626
7627 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7628
7629         * gst/elements/gsttypefindelement.c:
7630         (gst_type_find_element_have_type),
7631         (gst_type_find_element_check_set_buffer_caps),
7632         (gst_type_find_element_init), (stop_typefinding),
7633         (gst_type_find_element_handle_event),
7634         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7635         * gst/elements/gsttypefindelement.h:
7636           Set caps on first outgoing buffer when we've found the type.
7637
7638 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7639
7640         * docs/gst/gstreamer-docs.sgml:
7641         * docs/gst/gstreamer-sections.txt:
7642         * docs/gst/tmpl/gstscheduler.sgml:
7643         * docs/gst/tmpl/gstschedulerfactory.sgml:
7644           Remove some old cruft from docs.
7645
7646 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7647
7648         * gst/gstpad.h:
7649           Fix inline docs for GstPadLinkReturn.
7650           
7651         * gst/gststructure.c: (gst_structure_has_name):
7652         * gst/gststructure.h:
7653         * docs/gst/gstreamer-sections.txt:
7654           New API: gst_structure_has_name().
7655
7656 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7657
7658         * configure.ac:
7659           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7660           and _LARGEFILE_SOURCE in config.h as required. Do not 
7661           export those flags in our .pc files any longer (#142209).
7662
7663           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7664
7665         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7666         (gst_file_sink_do_seek), (gst_file_sink_event),
7667         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7668           Redo seek/tell calls with large file support in mind; add some
7669           debugging messages; add log message that tells us when large
7670           file support is unavailable or not enabled for some reason.
7671
7672         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7673           Add log message that tells us when large file support 
7674           is unavailable or not enabled for some reason.
7675
7676 2005-07-29  Wim Taymans  <wim@fluendo.com>
7677
7678         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7679         Added test for removing an element with ghostpad from a bin.
7680         Fixed test as current implementation does the right thing.
7681
7682         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7683         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7684         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7685         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7686         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7687         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7688         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7689         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7690         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7691         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7692         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7693         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7694         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7695         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7696         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7697         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7698         * gst/gstghostpad.h:
7699         Clean up ghostpads, remove properties for internal stuff.
7700         Make threadsafe.
7701         Fix refcounting.
7702         Prepare for switching targets, not all use cases work yet.
7703
7704 2005-07-29  Wim Taymans  <wim@fluendo.com>
7705
7706         * docs/design/part-gstghostpad.txt:
7707         Small update.
7708
7709         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7710         (gst_bin_remove_func):
7711         Unlinking pads while holding the bin LOCK is not a good
7712         idea.
7713
7714         * gst/gstpad.c: (gst_pad_class_init),
7715         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7716         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7717         No prob setting template after creating the pad.
7718
7719 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7720
7721         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7722         (gst_bus_peek), (gst_bus_source_dispatch),
7723         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7724         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7725           gst_bus_poll may be called from other threads. Handle
7726           this nicely by not making poll_data disappear off the
7727           stack once gst_bus_poll returns.
7728           gst_bus_peek now increments the refcount on the returned
7729           message.
7730
7731 2005-07-29  Wim Taymans  <wim@fluendo.com>
7732
7733         * docs/design/part-gstghostpad.txt:
7734         Overview of current GhostPad datastructures and use
7735         cases for changing the target.
7736
7737 2005-07-28  Wim Taymans  <wim@fluendo.com>
7738
7739         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7740         Added checks for hierarchy consistency whan adding linked
7741         elements to bins.
7742
7743         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7744         Added check to test element scheduling without bin/pipeline.
7745
7746         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7747         First add elements to bin, then link.
7748         
7749         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7750         (gst_bin_remove_func):
7751         Unlink pads from elements added/removed from bin to maintain
7752         hierarchy consistency.
7753
7754 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7755
7756         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7757         (gst_base_transform_handle_buffer):
7758         * gst/base/gstbasetransform.h:
7759           Remove broken delay_configure (fixes renegotiation of software
7760           scaling pipelines); remove some leftover printf()s.
7761
7762 2005-07-28  Wim Taymans  <wim@fluendo.com>
7763
7764         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7765         Added some more tests for wrong hierarchy
7766
7767         * docs/design/part-overview.txt:
7768         Some updates.
7769
7770         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7771         Cleanups.
7772
7773         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7774         (gst_element_dispose):
7775         Some more cleanups.
7776
7777         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7778         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7779         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7780         (gst_pad_set_caps), (gst_pad_send_event):
7781         Check for correct hierarchy when linking pads. Moving to
7782         strict requirement for ghostpads when linking elements in
7783         different bins.
7784
7785         * gst/gstpad.h:
7786         Clean ups. Added WRONG_HIERARCHY return value.
7787
7788 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7789
7790         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7791           Better debug if no transform is possible.
7792
7793 2005-07-27  Wim Taymans  <wim@fluendo.com>
7794
7795         * docs/random/wtay/network-transp:
7796         Some old doc I had.
7797
7798 2005-07-27  Wim Taymans  <wim@fluendo.com>
7799
7800         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7801         (gst_dp_event_from_packet):
7802         Fix serialization of seek events.
7803
7804 2005-07-27  Wim Taymans  <wim@fluendo.com>
7805
7806         * check/gst-libs/gdp.c: (GST_START_TEST):
7807         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7808         Fix compilation and fix event serialization.
7809
7810 2005-07-27  Wim Taymans  <wim@fluendo.com>
7811
7812         * CHANGES-0.9:
7813         * docs/design/part-TODO.txt:
7814         * docs/design/part-events.txt:
7815         Some docs updates
7816
7817         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7818         (gst_base_sink_event), (gst_base_sink_do_sync),
7819         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7820         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7821         (gst_base_src_do_seek), (gst_base_src_event_handler),
7822         (gst_base_src_loop):
7823         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7824         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7825         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7826         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7827         (gst_base_transform_set_passthrough),
7828         (gst_base_transform_is_passthrough):
7829         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7830         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7831         Event updates.
7832
7833         * gst/gstbuffer.h:
7834         Use faster casts.
7835
7836         * gst/gstelement.c: (gst_element_seek):
7837         * gst/gstelement.h:
7838         Update gst_element_seek.
7839
7840         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7841         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7842         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7843         (gst_event_new_eos), (gst_event_new_newsegment),
7844         (gst_event_parse_newsegment), (gst_event_new_tag),
7845         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7846         (gst_event_parse_qos), (gst_event_new_seek),
7847         (gst_event_parse_seek), (gst_event_new_navigation):
7848         * gst/gstevent.h:
7849         Make GstEvent use GstStructure. Add parsing code, make sure the
7850         API is sufficiently generic.
7851         Mark possible directions of events and serialization.
7852
7853         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7854         (_gst_message_copy), (gst_message_new_segment_start),
7855         (gst_message_new_segment_done), (gst_message_new_custom),
7856         (gst_message_parse_segment_start),
7857         (gst_message_parse_segment_done):
7858         Small cleanups.
7859
7860         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7861         (gst_pad_set_caps), (gst_pad_send_event):
7862         Update for new events. 
7863         Catch events sent in wrong directions.
7864
7865         * gst/gstqueue.c: (gst_queue_link_src),
7866         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7867         (gst_queue_handle_src_query):
7868         Event updates.
7869
7870         * gst/gsttag.c:
7871         * gst/gsttag.h:
7872         Remove event code from this file.
7873
7874         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7875         (gst_dp_event_from_packet):
7876         Event updates.
7877
7878 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7879
7880         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7881         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7882         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7883           Make debugging actually useful.
7884
7885 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7886
7887         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7888         (gst_pad_fixate_caps):
7889           Implement default fixation once again, so that gst_pad_fixate()
7890           actually does anything at all. This probably needs to be some
7891           sort of a last resort, and use profile-based fixation first, but
7892           since that doesn't exist yet, this is the best we have. Fixes
7893           visualization in Totem.
7894
7895 2005-07-22  Wim Taymans  <wim@fluendo.com>
7896
7897         * docs/design/part-events.txt:
7898         Small update.
7899
7900         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7901         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7902         (gst_base_sink_activate_pull):
7903         Some more comments.
7904
7905         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7906         (gst_fake_src_create):
7907         Fix handoff marshall.
7908
7909         * gst/elements/gstidentity.c: (gst_identity_class_init),
7910         (gst_identity_transform_ip):
7911         We're a real inplace element.
7912
7913         * gst/gstbus.c: (gst_bus_post):
7914         Added some comments.
7915
7916         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7917         * tests/muxing/case1.c: (main):
7918         * tests/sched/dynamic-pipeline.c: (main):
7919         * tests/sched/interrupt1.c: (main):
7920         * tests/sched/interrupt2.c: (main):
7921         * tests/sched/interrupt3.c: (main):
7922         * tests/sched/runxml.c: (main):
7923         * tests/sched/sched-stress.c: (main):
7924         * tests/seeking/seeking1.c: (event_received), (main):
7925         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7926         (main):
7927         * tests/threadstate/threadstate3.c: (main):
7928         * tests/threadstate/threadstate4.c: (main):
7929         * tests/threadstate/threadstate5.c: (main):
7930         Fix the tests.
7931
7932 2005-07-21  Wim Taymans  <wim@fluendo.com>
7933
7934         * docs/design/part-seeking.txt:
7935         Some small additions.
7936
7937         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7938         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7939         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7940         * gst/base/gstbasesink.h:
7941         discont values are gint64, handle the math correctly.
7942
7943         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7944         Make the basesrc report error if the source pad is not linked.
7945
7946         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7947         (gst_queue_loop), (gst_queue_handle_src_query),
7948         (gst_queue_src_activate_push):
7949         Make queue collect data even if the srcpad is not linked.
7950         Start pushing out data as soon as it is linked.
7951
7952         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7953         * gst/gstutils.h:
7954         Added gst_flow_get_name() to ease error reporting.
7955
7956 2005-07-20  Wim Taymans  <wim@fluendo.com>
7957
7958         * gst/gstmessage.c: (gst_message_new_segment_start),
7959         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7960         (gst_message_parse_segment_done):
7961         * gst/gstmessage.h:
7962         Added a bunch of messages for advanced seeking.
7963
7964         * gst/parse/grammar.y:
7965         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7966         (gst_dpman_state_changed):
7967         Fix some new-pad -> pad-added signals
7968
7969 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7970
7971         * docs/manual/appendix-porting.xml:
7972         * docs/pwg/appendix-porting.xml:
7973           Document new-pad/state-change signal renames and the FixedList
7974           type rename.
7975
7976 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7977
7978         * docs/manual/advanced-autoplugging.xml:
7979         * docs/manual/basics-helloworld.xml:
7980         * docs/manual/basics-pads.xml:
7981         * docs/random/ds/0.9-suggested-changes:
7982         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7983         * gst/gstelement.h:
7984         * gst/gstevent.h:
7985         * gst/gstformat.h:
7986         * gst/gstquery.h:
7987         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7988         (gst_structure_parse_array), (gst_structure_parse_value):
7989         * gst/gstvalue.c: (gst_type_is_fixed),
7990         (gst_value_list_prepend_value), (gst_value_list_append_value),
7991         (gst_value_list_get_size), (gst_value_list_get_value),
7992         (gst_value_transform_array_string), (gst_value_serialize_array),
7993         (gst_value_deserialize_array), (gst_value_intersect_array),
7994         (gst_value_is_fixed), (_gst_value_initialize):
7995         * gst/gstvalue.h:
7996           GstElement::new-pad -> pad-added, GstElement::state-change ->
7997           state-changed, GstValueFixedList -> GstValueArray, add format and
7998           flags as their own arguments in gst_element_seek() (should improve
7999           "bindeability"), remove function generators since they don't work
8000           under a whole bunch of compilers (they were deprecated already
8001           anyway).
8002
8003 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8004
8005         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8006         (_gst_debug_register_funcptr):
8007         * gst/gstinfo.h:
8008           Fix illegal cast on some platforms (#309253).
8009
8010 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8011
8012         * gst/gstmessage.c: (gst_message_new_custom):
8013         * gst/gstmessage.h:
8014           Add _new_custom, make _new_application a macro to _new_custom.
8015
8016 2005-07-20  Wim Taymans  <wim@fluendo.com>
8017
8018         * gst/base/gstbasesrc.c: (gst_base_src_init),
8019         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8020         * gst/base/gstbasesrc.h:
8021         Add a gboolean to decide when to push out a discont.
8022
8023         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8024         (gst_queue_loop), (gst_queue_handle_src_query),
8025         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8026         (gst_queue_set_property), (gst_queue_get_property):
8027         Some cleanups.
8028
8029         * tests/threadstate/threadstate1.c: (main):
8030         Make a thread test compile and run... very silly..
8031
8032
8033 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8034
8035         * docs/manual/appendix-porting.xml:
8036           Mention removal of libgstgconf-0.9.la and existence of gconf
8037           elements.
8038
8039 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8040
8041         * docs/pwg/advanced-clock.xml:
8042         * docs/pwg/appendix-porting.xml:
8043         * docs/pwg/intro-preface.xml:
8044         * docs/pwg/other-base.xml:
8045         * docs/pwg/other-manager.xml:
8046         * docs/pwg/other-nton.xml:
8047         * docs/pwg/other-ntoone.xml:
8048         * docs/pwg/other-oneton.xml:
8049         * docs/pwg/pwg.xml:
8050           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8051           demuxer), remove n-to-n (was never written), fix some code examples
8052           and links and update the porting section to include all this.
8053
8054 2005-07-19  Wim Taymans  <wim@fluendo.com>
8055
8056         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8057         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8058         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8059         (gst_queue_src_activate_push), (gst_queue_change_state),
8060         (gst_queue_get_property):
8061         * gst/gstqueue.h:
8062         Propagate GstFlowReturn more intelligently upstream and output
8063         an ERROR/EOS when streaming stopped due to fatal error.
8064
8065 2005-07-19  Wim Taymans  <wim@fluendo.com>
8066
8067         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8068         Don't block forever for the state change to complete, the
8069         pipeline already did with a sensible timeout.
8070
8071 2005-07-19  Wim Taymans  <wim@fluendo.com>
8072
8073         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8074         Make sure we never call the create function is we
8075         got deactivated.
8076
8077 2005-07-19  Andy Wingo  <wingo@pobox.com>
8078
8079         * gst/parse/parse.l: Attempt to solve bug #172815.
8080
8081 2005-07-19  Wim Taymans  <wim@fluendo.com>
8082
8083         * docs/design/part-clocks.txt:
8084         * docs/design/part-events.txt:
8085         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8086         Small docs updates.
8087         Only update the seeking values when we are not
8088         busy streaming.
8089
8090 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8091
8092         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8093           Oops, ignore the result of gst_pad_push_event here.
8094
8095 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8096
8097         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8098         (gst_base_src_activate_push):
8099           Send discont event from the loop function, as pads
8100           aren't activated yet in the activate_push handler.
8101
8102         * gst/gstbin.c: (bin_bus_handler):
8103           Don't leak element name.
8104
8105 2005-07-18  Andy Wingo  <wingo@pobox.com>
8106
8107         * configure.ac: Use AS_LIBTOOL_TAGS.
8108
8109 2005-07-18  Wim Taymans  <wim@fluendo.com>
8110
8111         * docs/gst/gstreamer.types:
8112         Remove deleted types.
8113
8114 2005-07-18  Wim Taymans  <wim@fluendo.com>
8115
8116         * check/elements/gstfakesrc.c: (GST_START_TEST):
8117         * configure.ac:
8118         * gst/Makefile.am:
8119         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8120         (init_popt_callback):
8121         * gst/gst.h:
8122         * gst/gst_private.h:
8123         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8124         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8125         * gst/gstbin.h:
8126         * gst/gstbus.h:
8127         * gst/gstconfig.h.in:
8128         * gst/gstelement.c: (gst_element_class_init),
8129         (gst_element_set_base_time), (gst_element_get_base_time),
8130         (iterator_fold_with_resync), (gst_element_change_state),
8131         (gst_element_dispose), (gst_element_get_bus):
8132         * gst/gstelement.h:
8133         * gst/gstelementfactory.h:
8134         * gst/gsterror.c: (_gst_core_errors_init):
8135         * gst/gsterror.h:
8136         * gst/gstevent.h:
8137         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8138         * gst/gstindex.c:
8139         * gst/gstinfo.c: (_gst_debug_init):
8140         * gst/gstmessage.c: (_gst_message_copy):
8141         * gst/gstmessage.h:
8142         * gst/gstminiobject.h:
8143         * gst/gstobject.c:
8144         * gst/gstobject.h:
8145         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8146         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8147         * gst/gstpad.h:
8148         * gst/gstparse.h:
8149         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8150         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8151         (gst_pipeline_get_last_stream_time):
8152         * gst/gstpipeline.h:
8153         * gst/gstpluginfeature.h:
8154         * gst/gstquery.h:
8155         * gst/gstscheduler.c:
8156         * gst/gstscheduler.h:
8157         * gst/gststructure.h:
8158         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8159         (gst_task_finalize), (gst_task_func), (gst_task_create),
8160         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8161         (gst_task_stop), (gst_task_pause):
8162         * gst/gsttask.h:
8163         * gst/gsttypefind.h:
8164         * gst/gsttypes.h:
8165         * gst/registries/gstlibxmlregistry.c: (load_feature),
8166         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8167         * gst/registries/gstxmlregistry.c:
8168         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8169         * gst/schedulers/threadscheduler.c:
8170         * libs/gst/control/dparammanager.h:
8171         * tools/gst-inspect.c: (print_element_list),
8172         (print_plugin_features), (print_element_features):
8173         * tools/gst-xmlinspect.c: (print_element_list),
8174         (print_plugin_info), (main):
8175         Removed plugable schedulers.
8176         Removed Scheduler/Manager from elements.
8177         Removed gsttypes.h, rearranged includes.
8178         Removed dependency pad<->element, element<>pipeline, and
8179         various others,  fix includes.
8180         implement gst_pad_get_parent() with gst_object_get_parent()
8181         Make GstTask sefcontained.
8182         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8183         timeout.
8184         Fix endless loop in iterator_fold_with_resync.
8185
8186
8187 2005-07-18  Wim Taymans  <wim@fluendo.com>
8188
8189         * gst/Makefile.am:
8190         * gst/gstarch.h:
8191         Remove old file.
8192
8193 2005-07-18  Wim Taymans  <wim@fluendo.com>
8194
8195         * gst/Makefile.am:
8196         No more cothreads.h
8197
8198 2005-07-18  Wim Taymans  <wim@fluendo.com>
8199
8200         * gst/cothreads.c:
8201         * gst/cothreads.h:
8202         Let's remove these.
8203
8204 2005-07-18  Wim Taymans  <wim@fluendo.com>
8205
8206         * docs/design/part-dynamic.txt:
8207         * docs/design/part-events.txt:
8208         * docs/design/part-seeking.txt:
8209         Some more docs in the works.
8210
8211         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8212         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8213         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8214         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8215         (gst_base_transform_handle_buffer),
8216         (gst_base_transform_sink_activate_push),
8217         (gst_base_transform_src_activate_pull),
8218         (gst_base_transform_set_passthrough),
8219         (gst_base_transform_is_passthrough):
8220         Refcounting fixes.
8221
8222         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8223         Cleanups.
8224
8225         * gst/gstevent.c: (gst_event_finalize):
8226         Set SRC to NULL.
8227
8228         * gst/gstutils.c: (gst_element_unlink),
8229         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8230         (gst_pad_proxy_setcaps):
8231         * gst/gstutils.h:
8232         Add _get_parent_element() to get a pads parent as an element.
8233
8234 2005-07-18  Wim Taymans  <wim@fluendo.com>
8235
8236         * check/gst/gstbin.c: (GST_START_TEST):
8237         Remove bogus test.
8238
8239 2005-07-18  Wim Taymans  <wim@fluendo.com>
8240
8241         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8242         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8243         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8244         (gst_base_sink_event), (gst_base_sink_do_sync),
8245         (gst_base_sink_chain), (gst_base_sink_loop),
8246         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8247         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8248         Refcounting fixes.
8249         Fix logic for returning ASYNC when not prerolled.
8250
8251 2005-07-18  Wim Taymans  <wim@fluendo.com>
8252
8253         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8254         Fix nasty refcount bug.
8255
8256 2005-07-16 Philippe Khalaf <burger@speedy.org>
8257
8258         * gst/elements/gstfdsrc.c:
8259         * gst/elements/gstfdsrc.h:
8260         * gst/elements/gstelements.c:
8261         * gst/elements/Makefile.am:
8262         Ported fdsrc to 0.9.
8263
8264 2005-07-16  Wim Taymans  <wim@fluendo.com>
8265
8266         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8267         (gst_base_sink_do_sync):
8268         Fix compile error.
8269
8270 2005-07-16  Wim Taymans  <wim@fluendo.com>
8271
8272         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8273         (gst_base_sink_event), (gst_base_sink_get_times),
8274         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8275         * gst/base/gstbasesink.h:
8276         Store and use discont values when syncing buffers as described
8277         in design docs.
8278         
8279         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8280         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8281         (gst_base_src_activate_push):
8282         Push discont event when starting.
8283
8284         * gst/elements/gstidentity.c: (gst_identity_transform):
8285         Small cleanups.
8286
8287         * gst/gstbin.c: (gst_bin_change_state):
8288         Small cleanups in base_time  distribution.
8289
8290         * gst/gstelement.c: (gst_element_set_base_time),
8291         (gst_element_get_base_time), (gst_element_change_state):
8292         * gst/gstelement.h:
8293         Added methods for the base_time of the element.
8294         Some MT fixes.
8295
8296         * gst/gstpipeline.c: (gst_pipeline_send_event),
8297         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8298         (gst_pipeline_get_last_stream_time):
8299         * gst/gstpipeline.h:
8300         MT fixes.
8301         Handle seeking as described in design doc, remove stream_time
8302         hack.
8303         Cleanups clock and stream_time selection code. Added accessors
8304         for the stream_time.
8305         
8306
8307 2005-07-16  Andy Wingo  <wingo@pobox.com>
8308
8309         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8310         (#305291).
8311
8312 2005-07-16  Wim Taymans  <wim@fluendo.com>
8313
8314         * check/gst/gstbin.c: (GST_START_TEST):
8315         Make elements silent as the deep_notify refs the
8316         parent, which might make the test fail.
8317
8318         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8319         Don't hold the lock for too long.
8320
8321 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8322
8323         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8324           Don't unref the caps we passed to gst_caps_make_writable() after
8325           passing them. gst_caps_make_writable() will do that for us.
8326
8327 2005-07-15  Andy Wingo  <wingo@pobox.com>
8328
8329         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8330         (#157311).
8331
8332         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8333         own marshalling function for the handoff signal. Properly type the
8334         buffer as a buffer. Fixes some warnings. Should do a more general
8335         solution.
8336         (gst_identity_class_init): Plug into the right marshaller.
8337
8338 2005-07-15  Wim Taymans  <wim@fluendo.com>
8339
8340         * docs/design/part-TODO.txt:
8341         * docs/design/part-clocks.txt:
8342         * docs/design/part-element-sink.txt:
8343         * docs/design/part-events.txt:
8344         * docs/design/part-gstpipeline.txt:
8345         Updated docs, mostly DISCONT related.
8346
8347 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8348
8349         * docs/pwg/building-pads.xml:
8350           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8351
8352 2005-07-15  Andy Wingo  <wingo@pobox.com>
8353
8354         * tools/gst-typefind.c: Update, add copyright block.
8355
8356         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8357         Normalize and truncate caps before fixation.
8358
8359         * gst/gstcaps.h:
8360         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8361         discards all but the first structure from its argument.
8362
8363 2005-07-15  Wim Taymans  <wim@fluendo.com>
8364
8365         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8366         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8367         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8368         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8369         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8370         (gst_base_transform_chain), (gst_base_transform_change_state),
8371         (gst_base_transform_set_passthrough),
8372         (gst_base_transform_is_passthrough):
8373         * gst/base/gstbasetransform.h:
8374         Make passthrough work using the bufferpools.
8375         Changed API a bit, subclasses have to write into a buffer
8376         provided by the base class.
8377         More debug info in nego functions.
8378         
8379         * gst/elements/gstidentity.c: (gst_identity_init),
8380         (gst_identity_transform):
8381         Port to new base class.
8382
8383 2005-07-15  Wim Taymans  <wim@fluendo.com>
8384
8385         * gst/gstmessage.c: (gst_message_new_state_changed):
8386         * tools/gst-launch.c: (event_loop), (main):
8387         Totally dump messages in -launch with the -m option.
8388         Fix message name for State messages,
8389
8390 2005-07-14  Wim Taymans  <wim@fluendo.com>
8391
8392         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8393         Post error messages on errors.
8394
8395 2005-07-14  Wim Taymans  <wim@fluendo.com>
8396
8397         * gst/gstcaps.c: (gst_caps_do_simplify):
8398         Remove debug info.
8399
8400         * gst/gsterror.h:
8401         Define error for stream stopped.
8402
8403         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8404         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8405         Do proper return values.
8406
8407         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8408         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8409         (gst_pad_get_range):
8410         Better return values.
8411
8412         * gst/gstpad.h:
8413         Reorganise return values, add macro to check for fatal errors.
8414
8415         * gst/gstqueue.c: (gst_queue_chain):
8416         Return proper GstFlowReturn values,
8417
8418 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8419
8420         * docs/gst/gstreamer-sections.txt:
8421         * docs/gst/gstreamer.types:
8422         * docs/gst/tmpl/gst.sgml:
8423         * docs/gst/tmpl/gstbasesink.sgml:
8424         * docs/gst/tmpl/gstbasesrc.sgml:
8425         * docs/gst/tmpl/gstbasetransform.sgml:
8426         * docs/gst/tmpl/gstbin.sgml:
8427         * docs/gst/tmpl/gstbuffer.sgml:
8428         * docs/gst/tmpl/gstcaps.sgml:
8429         * docs/gst/tmpl/gstclock.sgml:
8430         * docs/gst/tmpl/gstcompat.sgml:
8431         * docs/gst/tmpl/gstconfig.sgml:
8432         * docs/gst/tmpl/gstelement.sgml:
8433         * docs/gst/tmpl/gstelementdetails.sgml:
8434         * docs/gst/tmpl/gstelementfactory.sgml:
8435         * docs/gst/tmpl/gstenumtypes.sgml:
8436         * docs/gst/tmpl/gsterror.sgml:
8437         * docs/gst/tmpl/gstevent.sgml:
8438         * docs/gst/tmpl/gstfakesink.sgml:
8439         * docs/gst/tmpl/gstfakesrc.sgml:
8440         * docs/gst/tmpl/gstfilesink.sgml:
8441         * docs/gst/tmpl/gstfilesrc.sgml:
8442         * docs/gst/tmpl/gstfilter.sgml:
8443         * docs/gst/tmpl/gstformat.sgml:
8444         * docs/gst/tmpl/gstghostpad.sgml:
8445         * docs/gst/tmpl/gstimplementsinterface.sgml:
8446         * docs/gst/tmpl/gstindex.sgml:
8447         * docs/gst/tmpl/gstindexfactory.sgml:
8448         * docs/gst/tmpl/gstinfo.sgml:
8449         * docs/gst/tmpl/gstiterator.sgml:
8450         * docs/gst/tmpl/gstmacros.sgml:
8451         * docs/gst/tmpl/gstmemchunk.sgml:
8452         * docs/gst/tmpl/gstminiobject.sgml:
8453         * docs/gst/tmpl/gstobject.sgml:
8454         * docs/gst/tmpl/gstpad.sgml:
8455         * docs/gst/tmpl/gstpadtemplate.sgml:
8456         * docs/gst/tmpl/gstparse.sgml:
8457         * docs/gst/tmpl/gstpipeline.sgml:
8458         * docs/gst/tmpl/gstplugin.sgml:
8459         * docs/gst/tmpl/gstpluginfeature.sgml:
8460         * docs/gst/tmpl/gstquery.sgml:
8461         * docs/gst/tmpl/gstqueue.sgml:
8462         * docs/gst/tmpl/gstregistry.sgml:
8463         * docs/gst/tmpl/gstregistrypool.sgml:
8464         * docs/gst/tmpl/gstscheduler.sgml:
8465         * docs/gst/tmpl/gstschedulerfactory.sgml:
8466         * docs/gst/tmpl/gststructure.sgml:
8467         * docs/gst/tmpl/gstsystemclock.sgml:
8468         * docs/gst/tmpl/gsttaglist.sgml:
8469         * docs/gst/tmpl/gsttagsetter.sgml:
8470         * docs/gst/tmpl/gsttrace.sgml:
8471         * docs/gst/tmpl/gsttrashstack.sgml:
8472         * docs/gst/tmpl/gsttypefind.sgml:
8473         * docs/gst/tmpl/gsttypefindfactory.sgml:
8474         * docs/gst/tmpl/gsttypes.sgml:
8475         * docs/gst/tmpl/gsturihandler.sgml:
8476         * docs/gst/tmpl/gsturitype.sgml:
8477         * docs/gst/tmpl/gstutils.sgml:
8478         * docs/gst/tmpl/gstvalue.sgml:
8479         * docs/gst/tmpl/gstversion.sgml:
8480         * docs/gst/tmpl/gstxml.sgml:
8481         * docs/libs/tmpl/gstcontrol.sgml:
8482         * docs/libs/tmpl/gstdataprotocol.sgml:
8483         * docs/libs/tmpl/gstdparam.sgml:
8484         * docs/libs/tmpl/gstdplinint.sgml:
8485         * docs/libs/tmpl/gstdpman.sgml:
8486         * docs/libs/tmpl/gstdpsmooth.sgml:
8487         * docs/libs/tmpl/gstgetbits.sgml:
8488         * docs/libs/tmpl/gstunitconvert.sgml:
8489         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8490         (gst_push_src_base_init), (gst_push_src_class_init),
8491         (gst_push_src_init), (gst_push_src_create):
8492         * gst/base/gstpushsrc.h:
8493         * gst/elements/gstelements.c:
8494         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8495         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8496         (gst_fake_sink_init), (gst_fake_sink_set_property),
8497         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8498         (gst_fake_sink_event), (gst_fake_sink_preroll),
8499         (gst_fake_sink_render), (gst_fake_sink_change_state):
8500         * gst/elements/gstfakesink.h:
8501         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8502         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8503         (gst_fake_src_base_init), (gst_fake_src_class_init),
8504         (gst_fake_src_init), (gst_fake_src_event_handler),
8505         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8506         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8507         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8508         (gst_fake_src_create_buffer), (gst_fake_src_create),
8509         (gst_fake_src_start), (gst_fake_src_stop):
8510         * gst/elements/gstfakesrc.h:
8511         * gst/elements/gstfilesink.c: (_do_init),
8512         (gst_file_sink_base_init), (gst_file_sink_class_init),
8513         (gst_file_sink_init), (gst_file_sink_dispose),
8514         (gst_file_sink_set_location), (gst_file_sink_set_property),
8515         (gst_file_sink_get_property), (gst_file_sink_open_file),
8516         (gst_file_sink_close_file), (gst_file_sink_query),
8517         (gst_file_sink_event), (gst_file_sink_render),
8518         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8519         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8520         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8521         * gst/elements/gstfilesink.h:
8522         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8523         (gst_file_src_class_init), (gst_file_src_init),
8524         (gst_file_src_finalize), (gst_file_src_set_location),
8525         (gst_file_src_set_property), (gst_file_src_get_property),
8526         (gst_file_src_map_region), (gst_file_src_map_small_region),
8527         (gst_file_src_create_mmap), (gst_file_src_create_read),
8528         (gst_file_src_create), (gst_file_src_is_seekable),
8529         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8530         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8531         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8532         (gst_file_src_uri_handler_init):
8533         * gst/elements/gstfilesrc.h:
8534           more autistic cleanliness in functions/names/defines
8535
8536 2005-07-13  Andy Wingo  <wingo@pobox.com>
8537
8538         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8539         source couldn't negotiate.
8540
8541         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8542         connections again.
8543
8544         * gst/gstutils.h:
8545         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8546         function. I am channeling Hades. Put your boots on suckers!!!
8547
8548 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8549
8550         * testsuite/caps/Makefile.am:
8551         * testsuite/caps/value_compare.c:
8552         * testsuite/caps/value_intersect.c:
8553         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8554           move two testsuite apps over to the check dir
8555
8556 2005-07-12  Wim Taymans  <wim@fluendo.com>
8557
8558         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8559         Added more debug info in the negotiate process.
8560
8561         * gst/gstmessage.h:
8562         Prepare for segment playback.
8563
8564         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8565         Better debugging.
8566
8567         * gst/gstutils.c:
8568         Some more docs.
8569
8570         * tools/gst-launch.c: (main):
8571         NULL pipeline on errors.
8572
8573 2005-07-12  Andy Wingo  <wingo@pobox.com>
8574
8575         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8576         not it comes from a malloc region. Make sure our copy gets freed.
8577
8578 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8579
8580         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8581         * check/gst/gstmessage.c: (GST_START_TEST):
8582         * check/gst/gststructure.c: (GST_START_TEST),
8583         (gst_structure_suite), (main):
8584           more testing
8585         * gst/gstelement.c: (gst_element_message_full):
8586           clean up GError and debug string now that they get copied
8587         * gst/gstmessage.c: (gst_message_new_error),
8588         (gst_message_new_warning), (gst_message_parse_error),
8589         (gst_message_parse_warning):
8590           use GST_TYPE_G_ERROR for structure_new, and take copies of
8591           arguments, so that we don't mess up refcounting
8592
8593 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8594
8595         * check/Makefile.am:
8596           add per-test valgrind targets
8597         * check/gst-libs/gdp.c: (GST_START_TEST),
8598         (gst_data_protocol_suite), (main):
8599           clean up
8600
8601 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8602
8603         * check/Makefile.am:
8604           instate more valgrindable tests
8605         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8606         (GST_START_TEST), (fakesrc_suite):
8607         * check/gst/gstpad.c: (GST_START_TEST):
8608         * check/gst/gststructure.c: (GST_START_TEST):
8609           fix test leaks
8610         * docs/gst/tmpl/gstminiobject.sgml:
8611         * gst/gstpad.c: (gst_pad_finalize):
8612           fix the static mutex leak
8613
8614 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8615
8616         * check/Makefile.am:
8617           add two more tests for valgrinding
8618         * check/gst/gstvalue.c: (GST_START_TEST):
8619           test refcount of deserialized buffer, found a leak
8620         * docs/gst/gstreamer-docs.sgml:
8621         * docs/gst/gstreamer-sections.txt:
8622         * docs/gst/gstreamer.types:
8623         * docs/gst/tmpl/gstminiobject.sgml:
8624           add miniobject to docs
8625         * gst/gstminiobject.c:
8626           add some docs
8627         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8628         (gst_string_unwrap):
8629           fix a hard-to-find invalid write for one of the tests
8630           fix a leak for deserialized buffers
8631
8632 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8633
8634         * docs/pwg/advanced-events.xml:
8635         * docs/pwg/advanced-request.xml:
8636         * docs/pwg/advanced-scheduling.xml:
8637         * docs/pwg/appendix-porting.xml:
8638         * docs/pwg/building-boiler.xml:
8639         * docs/pwg/intro-preface.xml:
8640         * docs/pwg/other-ntoone.xml:
8641           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8642           of example code and explanation for pad activation, loop() and
8643           getrange() functions and a bit more. Remove old comments pointing
8644           to loop-functions.
8645         * examples/pwg/Makefile.am:
8646           Add loop/getrange examples.
8647
8648 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8649
8650         * configure.ac:
8651           check for valgrind binary + some fixes
8652         * check/gst.supp:
8653           valgrind suppressions for the tests
8654         * check/Makefile.am:
8655           add a valgrind: target that valgrinds the unit tests
8656         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8657         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8658         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8659         * check/gst/gstghostpad.c:
8660           added some cleanup
8661         * check/gst/gstdata.c:
8662           removed
8663         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8664         (thread_unref), (gst_mini_object_suite), (main):
8665           added
8666         * gst/gst.c: (gst_deinit):
8667         * gst/gst.h:
8668           add a method to clean up.
8669         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8670         (gst_system_clock_obtain):
8671           allow for disposing the system clock.
8672         * tools/gst-launch.c: (main):
8673           deinit
8674
8675 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8676
8677         * docs/gst/tmpl/gstbasesrc.sgml:
8678         * docs/gst/tmpl/gstfakesrc.sgml:
8679         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8680         (gst_base_src_init), (gst_base_src_set_property),
8681         (gst_base_src_get_property), (gst_base_src_get_range),
8682         (gst_base_src_start):
8683         * gst/base/gstbasesrc.h:
8684           add num-buffers property
8685         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8686         (gst_fakesrc_init), (gst_fakesrc_set_property),
8687         (gst_fakesrc_get_property), (gst_fakesrc_create),
8688         (gst_fakesrc_start):
8689           remove num-buffers property
8690
8691 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8692
8693         * docs/gst/gstreamer-sections.txt:
8694         * docs/gst/tmpl/gstbasesink.sgml:
8695         * docs/gst/tmpl/gstbasesrc.sgml:
8696         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8697         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8698         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8699         (gst_base_sink_set_property), (gst_base_sink_get_property),
8700         (gst_base_sink_handle_object), (gst_base_sink_event),
8701         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8702         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8703         (gst_base_sink_loop), (gst_base_sink_deactivate),
8704         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8705         (gst_base_sink_change_state):
8706         * gst/base/gstbasesink.h:
8707         * gst/base/gstbasesrc.h:
8708         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8709         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8710         (gst_filesink_init):
8711           more macro splitting
8712
8713 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8714
8715         * gst/gstelement.c: (gst_element_get_bus):
8716           add debug
8717         * tools/gst-launch.c: (check_intr), (event_loop):
8718           fix bus leaks
8719
8720 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8721
8722         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8723           fix a caps leak
8724
8725 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8726
8727         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8728         (gst_base_src_finalize):
8729           add finalize method and clean up properly
8730         * gst/gstpipeline.c: (gst_pipeline_dispose):
8731           add debug
8732
8733 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8734
8735         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8736         (gst_bin_suite):
8737           add more things to check
8738         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8739         * gst/gstelement.c:
8740           more debug
8741
8742 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8743
8744         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8745         (GST_START_TEST), (fakesrc_suite):
8746         * check/gst-libs/gdp.c: (GST_START_TEST):
8747         * check/gst/gst.c: (GST_START_TEST):
8748         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8749         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8750         * check/gst/gstbus.c: (GST_START_TEST):
8751         * check/gst/gstcaps.c: (GST_START_TEST):
8752         * check/gst/gstdata.c: (GST_START_TEST):
8753         * check/gst/gstelement.c: (GST_START_TEST):
8754         * check/gst/gstghostpad.c: (GST_START_TEST):
8755         * check/gst/gstiterator.c: (GST_START_TEST):
8756         * check/gst/gstmessage.c: (GST_START_TEST):
8757         * check/gst/gstobject.c: (GST_START_TEST):
8758         * check/gst/gstpad.c: (GST_START_TEST):
8759         * check/gst/gststructure.c: (GST_START_TEST):
8760         * check/gst/gstsystemclock.c: (GST_START_TEST),
8761         (gst_systemclock_suite):
8762         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8763         * check/gst/gstvalue.c: (GST_START_TEST):
8764         * check/pipelines/cleanup.c: (GST_START_TEST):
8765         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8766         * check/states/sinks.c: (GST_START_TEST):
8767         * check/gstcheck.c: (gst_check_init):
8768         * check/gstcheck.h:
8769           add debugging category
8770           use GST_START_TEST now, so we add a debug line
8771
8772 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8773
8774         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8775           add test for state change message on a bin
8776         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8777           add another test
8778         * gst/gstbin.c: (gst_bin_init):
8779         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8780         * gst/gstelement.c: (gst_element_post_message),
8781         (gst_element_set_state):
8782         * gst/gstelementfactory.c: (gst_element_factory_create):
8783         * gst/gstmessage.c: (gst_message_new):
8784         * gst/gstscheduler.c:
8785           various debugging additions and cleanups
8786
8787 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * check/Makefile.am:
8790         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8791         (main):
8792           adding tests for elements
8793         * gst/gstelement.c: (gst_element_dispose):
8794
8795 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8796
8797         * gst/registries/gstlibxmlregistry.c: (load_feature):
8798           plug more leaks.  A simple gst_init() now is leakfree, yay.
8799
8800 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8801
8802         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8803         (gst_xml_registry_load):
8804           plug another memleak
8805
8806 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8807
8808         * configure.ac:
8809           use GST_SET_ERROR_CFLAGS
8810         * docs/faq/cvs.xml:
8811           change to ERROR_CFLAGS
8812
8813 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8814
8815         * configure.ac:
8816           make GST_ERROR_CFLAGS overridable and re-enable Werror
8817         * docs/faq/cvs.xml:
8818           add a note about error CFLAGS
8819         * docs/gst/tmpl/gstfakesrc.sgml:
8820         * gst/elements/gstfakesrc.c:
8821           comment out some unused code
8822         * gst/gst.c: (split_and_iterate):
8823         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8824         (load_feature):
8825           plug some memleaks
8826
8827 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8828
8829         * common/Makefile.am:
8830         * common/gtk-doc.mak:
8831         * docs/gst/Makefile.am:
8832           factor out gtk-doc.mak
8833
8834 2005-07-07  Wim Taymans  <wim@fluendo.com>
8835
8836         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8837         (gst_thread_scheduler_dispose):
8838         Unlock the STREAM_LOCK completely.
8839
8840 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8841
8842         * check/Makefile.am:
8843         * check/elements/.cvsignore:
8844         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8845         (START_TEST), (fakesrc_suite), (main):
8846         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8847         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8848         (gst_fakesrc_create), (gst_fakesrc_start):
8849         * gst/elements/gstfakesrc.h:
8850           adding a first element test
8851
8852 2005-07-07  Andy Wingo  <wingo@pobox.com>
8853
8854         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8855         debug message.
8856
8857 2005-07-07  Wim Taymans  <wim@fluendo.com>
8858
8859         * gst/gstquery.c:
8860         * gst/gstquery.h:
8861         Remove old types
8862
8863 2005-07-07  Wim Taymans  <wim@fluendo.com>
8864
8865         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8866         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8867         Allow subclasses to implement their own negotiation.
8868
8869 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8870
8871         * docs/design/part-gstbin.txt:
8872         * docs/design/part-gstpipeline.txt:
8873           Update design notes to reflect the movement of
8874           responsibility for bus handling from GstPipeline to
8875           GstBin
8876
8877 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8878
8879         * configure.ac:
8880           Remove unnecessary queue2/3/4 examples.
8881
8882 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8883
8884         * examples/Makefile.am:
8885         * examples/helloworld/helloworld.c: (event_loop), (main):
8886         * examples/queue/queue.c: (event_loop), (main):
8887         * examples/queue2/queue2.c: (main):
8888           Update a couple of the examples to work again.
8889
8890         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8891         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8892          Spelling corrections and extra debug.
8893         
8894         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8895         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8896         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8897         * gst/gstbin.h:
8898         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8899         (gst_pipeline_change_state):
8900         * gst/gstpipeline.h:
8901           Move the bus handler for children to the GstBin, and create a
8902           separate bus for receiving messages from children to the one the
8903           bus sends 'upwards' on.
8904
8905 2005-07-06  Wim Taymans  <wim@fluendo.com>
8906
8907         * gst/base/README:
8908         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8909         (gst_base_sink_handle_object), (gst_base_sink_loop),
8910         (gst_base_sink_change_state):
8911         * gst/base/gstbasesink.h:
8912         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8913         (gst_base_src_init), (gst_base_src_setcaps),
8914         (gst_base_src_getcaps), (gst_base_src_loop),
8915         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8916         (gst_base_src_start), (gst_base_src_change_state):
8917         * gst/base/gstbasesrc.h:
8918         Make basesrc negotiate.
8919         Handle the case where preroll fails in basesink.
8920         Update README.
8921
8922 2005-07-06  Wim Taymans  <wim@fluendo.com>
8923
8924         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8925         Implement the fixate function.
8926         Clean up acceptcaps.
8927
8928 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8929
8930         * docs/pwg/building-filterfactory.xml:
8931         * docs/pwg/pwg.xml:
8932           Remove never-written filter-factory chapter; I'll add the various
8933           base classes to part 4 ("other element types") later on.
8934
8935 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8936
8937         * docs/pwg/advanced-negotiation.xml:
8938         * docs/pwg/building-boiler.xml:
8939         * docs/pwg/building-pads.xml:
8940         * docs/pwg/pwg.xml:
8941         * examples/pwg/Makefile.am:
8942           Add a chapter on caps negotiation, simplify the original code
8943           samples a bit w.r.t. caps negotiation, add link to the advanced
8944           section. Add a bunch of examples showing different use cases of
8945           different types of caps negotiation. Upstream renegotiation isn't
8946           fully documented yet since nobody knows how that works.
8947
8948 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8949
8950         * check/gst/gstpad.c:
8951         * check/gstcheck.c:
8952         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8953           if pad has no parent, return NULL as list of internal links
8954
8955 2005-07-05  Andy Wingo  <wingo@pobox.com>
8956
8957         * gst/elements/gstfilesrc.c:
8958         * gst/elements/gstfakesrc.c: 
8959         * gst/base/gstpushsrc.c:
8960         * gst/base/gstbasesrc.h: 
8961         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8962         
8963 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8964
8965         * Makefile.am:
8966           better report generation target (lcov needs a patch)
8967
8968 2005-07-05  Andy Wingo  <wingo@pobox.com>
8969
8970         * gst/elements, testsuite: Null if we got it...
8971
8972 2005-07-05  Wim Taymans  <wim@fluendo.com>
8973
8974         * configure.ac:
8975         * libs/gst/dataprotocol/Makefile.am:
8976         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8977         * libs/gst/dataprotocol/dataprotocol.h:
8978         * pkgconfig/Makefile.am:
8979         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8980         * pkgconfig/gstreamer-dataprotocol.pc.in:
8981         Ported dataprotol to 0.9. 
8982         Added pkgconfig files.
8983
8984 2005-07-05  Andy Wingo  <wingo@pobox.com>
8985
8986         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8987         Default to returning TRUE for the case when tranform_caps returns
8988         a fixed caps, like for identity or volume.
8989
8990         * check/gst/gstbus.c (pound_bus_with_messages): 
8991         * check/gst/gstmessage.c (START_TEST): 
8992         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8993         message API change.
8994
8995         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8996         logic weaks here: always run transform_caps, trying passthrough
8997         operation only if the original caps intersects with the transform.
8998
8999         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9000         source and sink caps.
9001
9002         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9003         Intersect the peer caps with the pad template before going into
9004         transform_caps.
9005         (gst_base_transform_transform_caps): More debugging.
9006
9007         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9008         src argument.
9009
9010 2005-07-04  Edward Hervey  <edward@fluendo.com>
9011
9012         * gst/gstutils.c:
9013         * gst/gstutils.h:
9014         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9015         in bindings.
9016
9017 2005-07-04  Andy Wingo  <wingo@pobox.com>
9018
9019         * check/gst/gstpad.c: Only set explicit caps on pads.
9020
9021 2005-07-01  Andy Wingo  <wingo@pobox.com>
9022
9023         * tests/network-clock.scm: Commentary update.
9024
9025         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9026         Didn't really make sense, not implementable with basetransform,
9027         etc.
9028         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9029         attempt at implementing the sync property, needs an unlock method.
9030
9031         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9032         New func, by default returns the same caps (the identity
9033         transformation).
9034         (gst_base_transform_getcaps): Uses transform_caps to return
9035         something sensible.
9036         (gst_base_transform_setcaps): Complicated logic to get caps on
9037         both pads, even if they are different, and to call set_caps once
9038         for every time both pads get their caps set.
9039         (gst_base_transform_handle_buffer): Give the ref to the transform
9040         function. Allows in-place modification of the buffer.
9041
9042         * gst/base/gstbasetransform.h (transform_caps): New class method.
9043         Given caps on one side, what can I do on the other.
9044         (set_caps): Take two caps, one for each side of the element.
9045
9046         * gst/gstpad.h:
9047         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9048         caps in place. This is safe because we can check the mutability of
9049         the caps, and a good idea because fixate functions are just called
9050         as a matter of last resort. (Not actually implemented.)
9051         (gst_pad_set_caps): If the caps we're setting is actually the same
9052         as the existing pad caps, just update the pointer without calling
9053         setcaps. Assert that caps is either NULL or fixed, as per the
9054         docs.
9055
9056         * gst/gstghostpad.c: Update for fixate changes.
9057
9058 2005-07-02  Andy Wingo  <wingo@pobox.com>
9059
9060         * gst/gstcaps.c:
9061         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9062         two refcounts makes it immutable, which is enough. Doc more.
9063
9064 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9065
9066         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9067           Put the mini_object into GValue as a mini_object,
9068           not a gpointer, since that's how we declared
9069           the signal.
9070
9071 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9072
9073         * examples/pwg/Makefile.am:
9074           Fix buildbot again.
9075
9076 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9077
9078         * docs/pwg/building-testapp.xml:
9079           Add extra check.
9080         * examples/pwg/Makefile.am:
9081           Fix buildbot.
9082
9083 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9084
9085         * configure.ac:
9086         * examples/Makefile.am:
9087         * examples/pwg/Makefile.am:
9088         * examples/pwg/extract.pl:
9089           Enable building the PWG examples.
9090         * docs/pwg/advanced-interfaces.xml:
9091           Add URI interface stub.
9092         * docs/pwg/advanced-types.xml:
9093         * docs/pwg/other-autoplugger.xml:
9094         * docs/pwg/appendix-porting.xml:
9095         * docs/pwg/pwg.xml:
9096           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9097         * docs/pwg/building-boiler.xml:
9098         * docs/pwg/building-chainfn.xml:
9099         * docs/pwg/building-pads.xml:
9100         * docs/pwg/building-props.xml:
9101         * docs/pwg/building-state.xml:
9102         * docs/pwg/building-testapp.xml:
9103           Update the building-*.xml parts for 0.9 changes. All examples
9104           code blocks compile in examples/pwg/*.
9105
9106 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9107
9108         * docs/manual/advanced-autoplugging.xml:
9109         * docs/manual/appendix-checklist.xml:
9110         * docs/manual/appendix-integration.xml:
9111         * docs/manual/highlevel-components.xml:
9112           Fix playbin/decodebin examples, update docs a bit, mention bus
9113           instead of signals in various places, mention kmplayer and
9114           kaffeine since they have a working GStreamer backend in the KDE
9115           section.
9116
9117 2005-06-30  Wim Taymans  <wim@fluendo.com>
9118
9119         * CHANGES-0.9:
9120         * docs/design/draft-ghostpads.txt:
9121         * docs/design/draft-push-pull.txt:
9122         * docs/design/draft-query.txt:
9123         * docs/design/part-TODO.txt:
9124         * docs/design/part-query.txt:
9125         Added CHANGES-0.9 doc, updated status of other docs.
9126         
9127         * gst/gstquery.h:
9128         Remove "hmm" macro
9129
9130 2005-06-30  Wim Taymans  <wim@fluendo.com>
9131
9132         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9133         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9134         (gst_base_sink_change_state):
9135         * gst/base/gstbasesink.h:
9136         Some tweaks, only EOS and a buffer complete a preroll.
9137
9138 2005-06-30  Andy Wingo  <wingo@pobox.com>
9139
9140         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9141         activate_push down to the internal pad as well.
9142
9143 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9144
9145         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9146
9147         * gst/gsttaginterface.c:
9148           Some documentation fixes (#307394 and #307397).
9149
9150 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9151
9152         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9153
9154         * gst/gstvalue.c: (gst_value_intersect_list):
9155           Fix memleak (#309125).
9156
9157 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9158
9159         * docs/manual/advanced-dataaccess.xml:
9160           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9161         * docs/manual/basics-pads.xml:
9162           Add reference for filtered caps to above chapter.
9163
9164 2005-06-30  Wim Taymans  <wim@fluendo.com>
9165
9166         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9167         (gst_bin_change_state):
9168         Probes are gone.
9169         Lame attempt at making the state change function a bit
9170         more readable.
9171
9172 2005-06-30  Wim Taymans  <wim@fluendo.com>
9173
9174         * docs/design/part-clocks.txt:
9175         * docs/design/part-element-sink.txt:
9176         * docs/design/part-events.txt:
9177         * docs/design/part-preroll.txt:
9178         * docs/design/part-states.txt:
9179         Some more tweeks and additions to the docs.
9180
9181 2005-06-30  Wim Taymans  <wim@fluendo.com>
9182
9183         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9184         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9185         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9186         (gst_pad_check_pull_range), (gst_pad_get_range),
9187         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9188         * gst/gstpad.h:
9189         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9190         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9191         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9192         (gst_pad_remove_buffer_probe):
9193         Removed atomic operations, use existing LOCK.
9194         Move exception handling out of main code path.
9195
9196 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9197
9198         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9199         (silly_return_true_function), (gst_pad_class_init),
9200         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9201         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9202         (gst_pad_send_event):
9203           Fix accumulator, add default value by using _emitv() instead
9204           of _emit() for signal emission.
9205
9206 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9207
9208         * docs/manual/advanced-dataaccess.xml:
9209         * examples/manual/Makefile.am:
9210           Add probe example.
9211         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9212           Make work (??).
9213
9214 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9215
9216         * gst/elements/gstfilesink.c: (gst_filesink_render):
9217           Simplify code so that we don't have to handle short
9218           writes and return GST_FLOW_ERROR if an error occured.
9219
9220 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9221
9222         * docs/gst/gstreamer-docs.sgml:
9223           Remove probes more.
9224
9225 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9226
9227         * docs/gst/gstreamer-sections.txt:
9228         * docs/gst/tmpl/gstpad.sgml:
9229         * docs/gst/tmpl/gstprobe.sgml:
9230         * gst/Makefile.am:
9231         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9232         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9233         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9234         (gst_pad_push_event), (gst_pad_send_event):
9235         * gst/gstpad.h:
9236         * gst/gstutils.c: (gst_pad_add_data_probe),
9237         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9238         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9239         (gst_pad_remove_buffer_probe):
9240         * gst/gstutils.h:
9241           Remove old probes, add new g-signal-based probes and some utility
9242           functions.
9243
9244 2005-06-29  Edward Hervey  <edward@fluendo.com>
9245
9246         * gst/gstelementfactory.c:
9247         * gst/gstutils.h:
9248         * gst/gstutils.c:
9249         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9250         the definition to the header file.
9251
9252 2005-06-29  Andy Wingo  <wingo@pobox.com>
9253
9254         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9255         plugins from the source directory.
9256
9257 2005-06-29  Wim Taymans  <wim@fluendo.com>
9258
9259         * docs/gst/tmpl/gstbuffer.sgml:
9260         * docs/gst/tmpl/gstclock.sgml:
9261         Some fixings for blantently wrong text.
9262
9263 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9264
9265         * check/Makefile.am:
9266         * gst/gst.c: (add_path_func), (init_pre):
9267         * gst/gstregistry.c: (gst_registry_add_path):
9268           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9269           only scan the GST_PLUGIN_PATH locations, and not add
9270           system locations
9271
9272 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9273
9274         * docs/gst/gstreamer-sections.txt:
9275         * docs/gst/tmpl/gstbasesrc.sgml:
9276         * gst/gstelement.c:
9277         * gst/gstelement.h:
9278         * gst/gstevent.c:
9279         * gst/gstutils.c:
9280           doc fixes
9281
9282 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9283
9284         * docs/manual/advanced-autoplugging.xml:
9285           Fix autoplugging example.
9286
9287 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9288
9289         * docs/manual/advanced-autoplugging.xml:
9290         * docs/manual/mime-world.fig:
9291           Try to get autoplugging working, fix type detection. Fix text
9292           in hello-world image.
9293
9294 2005-06-29  Wim Taymans  <wim@fluendo.com>
9295
9296         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9297         (gst_base_sink_change_state):
9298         Small debug line.
9299
9300         * gst/gstclock.h:
9301         map SIGNAL and BROADCAST to the right function.
9302
9303         * gst/gstobject.h:
9304         Remove redundant braces.
9305
9306         * gst/gstpad.c: (gst_pad_set_caps):
9307         Don't call setcaps function when reseting caps to NULL.
9308
9309         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9310         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9311         (gst_system_clock_id_unschedule):
9312         Use BROADCAST as this is what we do.
9313
9314 2005-06-29  Wim Taymans  <wim@fluendo.com>
9315
9316         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9317         We are actually prerolling before commiting the state
9318         change. 
9319
9320 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9321
9322         * docs/manual/advanced-clocks.xml:
9323         * docs/manual/advanced-interfaces.xml:
9324         * docs/manual/advanced-metadata.xml:
9325         * docs/manual/advanced-position.xml:
9326         * docs/manual/advanced-schedulers.xml:
9327         * docs/manual/advanced-threads.xml:
9328         * docs/manual/appendix-porting.xml:
9329         * docs/manual/basics-bins.xml:
9330         * docs/manual/basics-bus.xml:
9331         * docs/manual/basics-elements.xml:
9332         * docs/manual/basics-helloworld.xml:
9333         * docs/manual/basics-pads.xml:
9334         * docs/manual/highlevel-components.xml:
9335         * docs/manual/manual.xml:
9336         * docs/manual/thread.fig:
9337           Update (until threads/scheduling) Application Development Manual;
9338           remove GstThread, add GstBus, add simple porting checklist, add
9339           documentation for tag writing, clocks, make all examples until this
9340           part compile and run.
9341         * examples/manual/Makefile.am:
9342           Update from changes to Application Development Manual; add bus
9343           example, remove thread example.
9344
9345 2005-06-28  Wim Taymans  <wim@fluendo.com>
9346
9347         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9348         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9349         (gst_bus_source_dispatch):
9350         Add debugging messages.
9351         Make internal methods static.
9352         Handle the case where the bus is flushed in the handler.
9353         
9354         * gst/gstelement.c: (gst_element_get_bus):
9355         Fix refcount in _get_bus();
9356
9357         * gst/gstpipeline.c: (gst_pipeline_change_state),
9358         (gst_pipeline_get_clock_func):
9359         Clock refcounting fixes.
9360         Handle the case where preroll timed out more gracefully.
9361         
9362         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9363         Clean up the internal thread in dispose. This is needed
9364         for subclasses that actually get disposed.
9365         
9366         * gst/schedulers/threadscheduler.c:
9367         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9368         (gst_thread_scheduler_dispose):
9369         Free thread pool in dispose.
9370
9371 2005-06-28  Andy Wingo  <wingo@pobox.com>
9372
9373         * tests/network-clock-utils.scm (debug, print-event): New utils.
9374
9375         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9376         (*packet-loss*): Unified loss probability.
9377         (network-time): Report out-of-band events.
9378
9379         * tests/plot-data: Add support for out-of-band events. Hack it
9380         into this script instead of passing it down the pipe; should fix
9381         this later.
9382
9383 2005-06-28  Wim Taymans  <wim@fluendo.com>
9384
9385         * docs/gst/gstreamer.types:
9386         * docs/gst/tmpl/gstbasesrc.sgml:
9387         * docs/gst/tmpl/gstpad.sgml:
9388         Docs fixes.
9389
9390 2005-06-28  Wim Taymans  <wim@fluendo.com>
9391
9392         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9393         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9394         (gst_proxy_pad_do_fixatecaps):
9395         Correctly proxy the check_pull_range function.
9396
9397 2005-06-28  Andy Wingo  <wingo@pobox.com>
9398
9399         * tests/network-clock.scm: Removed need for slib.
9400         
9401 2005-06-28  Wim Taymans  <wim@fluendo.com>
9402
9403         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9404         (gst_basesink_preroll_queue_flush):
9405         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9406         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9407         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9408         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9409         (gst_proxy_pad_set_property):
9410         * gst/gstpad.c:
9411         * gst/gstpad.h:
9412         * gst/gstqueue.c: (gst_queue_init):
9413         The deprecated pad loop function is removed now.
9414
9415 2005-06-28  Andy Wingo  <wingo@pobox.com>
9416
9417         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9418         New parameters, simulate network packet loss.
9419
9420         * tests/network-clock-utils.scm: Initialize the RNG.
9421
9422 2005-06-28  Wim Taymans  <wim@fluendo.com>
9423
9424         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9425         (gst_basesink_event), (gst_basesink_deactivate):
9426         Flushing the preroll queue always needs to unlock the waiters.
9427
9428 2005-06-28  Edward Hervey  <edward@fluendo.com>
9429
9430         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9431         Wheen a seek was successful on a pipeline, set the stream_time to the
9432         seek offset in order to have a synchronized stream_time.
9433
9434 2005-06-28  Wim Taymans  <wim@fluendo.com>
9435
9436         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9437         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9438         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9439         (gst_proxy_pad_do_fixatecaps):
9440         Call wrapper function instead of just calling the function
9441         pointers. This takes care of any locking and whatmore.
9442
9443 2005-06-28  Wim Taymans  <wim@fluendo.com>
9444
9445         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9446         (gst_pad_pull_range):
9447         * gst/gstpad.h:
9448         CONNECTED -> LINKED.
9449
9450 2005-06-28  Andy Wingo  <wingo@pobox.com>
9451
9452         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9453         source-munging commit!!!
9454
9455         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9456         (gst_object_sink): Take gpointer arguments, not GstObject --
9457         avoids casts. Like GLib.
9458
9459         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9460         activate.
9461
9462 2005-06-27  Andy Wingo  <wingo@pobox.com>
9463
9464         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9465         remaining buffer.
9466
9467         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9468         returns a sorted copy of the trace list.
9469         (gst_alloc_trace_print_live): New API, only prints traces with
9470         live objects. Sort the list.
9471         (gst_alloc_trace_print_all): Sort the list.
9472         (gst_alloc_trace_print): Align columns.
9473
9474         * gst/elements/gstttypefindelement.c:
9475         * gst/elements/gsttee.c:
9476         * gst/base/gstbasesrc.c:
9477         * gst/base/gstbasesink.c:
9478         * gst/base/gstbasetransform.c:
9479         * gst/gstqueue.c: Adapt for pad activation changes.
9480
9481         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9482         sched.
9483         (gst_pipeline_dispose): Drop ref on sched.
9484
9485         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9486         (gst_pad_activate_default): Push mode by default.
9487         (pre_activate_switch, post_activate_switch): New stubs, things to
9488         do before and after switching activation modes on pads.
9489         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9490         the pad's activate function to choose which mode to activate.
9491         Shortcut on deactivation and call the right function directly.
9492         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9493         mode.
9494         (gst_pad_activate_push): New API, same for push mode.
9495         (gst_pad_set_activate_function) 
9496         (gst_pad_set_activatepull_function) 
9497         (gst_pad_set_activatepush_function): Setters for new API.
9498
9499         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9500         Trace all miniobjects.
9501         (gst_mini_object_make_writable): Unref the arg if we copy, like
9502         gst_caps_make_writable.
9503
9504         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9505
9506         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9507         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9508         Adapt for new pad API.
9509
9510         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9511
9512         * gst/gstelement.h:
9513         * gst/gstelement.c (gst_element_iterate_src_pads) 
9514         (gst_element_iterate_sink_pads): New API functions.
9515         
9516         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9517         should fold into gstiterator.c in some form.
9518         (gst_element_pads_activate): Simplified via use of fold and
9519         delegation of decisions to gstpad->activate.
9520
9521         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9522         help in debugging.
9523
9524         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9525         class once in init, like gstmessage. Didn't run into this issue
9526         but it seems correct. Don't initialize a trace, gstminiobject does
9527         that.
9528
9529         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9530         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9531         to the bus.
9532         (assert_live_count): New util function, uses alloc traces to check
9533         cleanup.
9534
9535         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9536         To be modified when unlink drops the internal pad.
9537
9538 2005-06-27  Wim Taymans  <wim@fluendo.com>
9539
9540         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9541         (gst_bin_change_state):
9542         Cleanup the get_state() function a little, make sure it
9543         iterates the same set of elements.
9544         Added stub iterate_state_order().
9545
9546 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9547
9548         * docs/gst/gstreamer-docs.sgml:
9549         * docs/gst/gstreamer-sections.txt:
9550         * docs/gst/gstreamer.types:
9551         * docs/gst/tmpl/gstbasesink.sgml:
9552         * docs/gst/tmpl/gstbasesrc.sgml:
9553         * docs/gst/tmpl/gstbasetransform.sgml:
9554         * docs/gst/tmpl/gstelement.sgml:
9555         * docs/gst/tmpl/gstiterator.sgml:
9556         * gst/base/gstbasesrc.c:
9557         * gst/base/gstbasesrc.h:
9558         * gst/base/gstbasetransform.h:
9559         * gst/gstelement.c:
9560         * gst/gstiterator.h:
9561           adding basetransform and iterator docs
9562
9563 2005-06-27  Andy Wingo  <wingo@pobox.com>
9564
9565         * docs/design/part-activation.txt: Notes on how activation should
9566         work -- not quite implemented yet.
9567
9568 2005-06-25  Wim Taymans  <wim@fluendo.com>
9569
9570         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9571         At least get the chain function correct, needs more
9572         fixing.
9573
9574 2005-06-25  Wim Taymans  <wim@fluendo.com>
9575
9576         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9577         (gst_basesink_handle_object), (gst_basesink_event),
9578         (gst_basesink_do_sync), (gst_basesink_handle_event),
9579         (gst_basesink_change_state):
9580         * gst/gsttask.h:
9581         Right, two problems here: ghostpads don't take locks and
9582         glib _rec_mutex_lock_full() with depth==0 still locks.
9583         Catch illegal locking and g_warn them.
9584
9585 2005-06-25  Wim Taymans  <wim@fluendo.com>
9586
9587         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9588         Have to check for completion now...
9589
9590 2005-06-25  Wim Taymans  <wim@fluendo.com>
9591
9592         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9593         (gst_basesink_handle_object), (gst_basesink_event),
9594         (gst_basesink_do_sync), (gst_basesink_handle_event),
9595         (gst_basesink_change_state):
9596         * gst/gstpad.h:
9597         Unlock STREAM_LOCK whatever the recursion was.
9598
9599 2005-06-25  Wim Taymans  <wim@fluendo.com>
9600
9601         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9602         (gst_basesink_preroll_queue_empty),
9603         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9604         (gst_basesink_event), (gst_basesink_do_sync),
9605         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9606         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9607         (gst_basesink_change_state):
9608         Reworked the base sink, handle event and buffer serialisation
9609         correctly and removed possible deadlock.
9610         Handle EOS correctly.
9611
9612 2005-06-25  Wim Taymans  <wim@fluendo.com>
9613
9614         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9615         (gst_pipeline_change_state):
9616         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9617         Allow elements to post EOS in the state change function.
9618         Fix up -launch, make it exit the poll loop when the
9619         pipeline actually changed state.
9620         Fix up warning parsing in -launch.
9621
9622 2005-06-25  Wim Taymans  <wim@fluendo.com>
9623
9624         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9625         (gst_tee_sink_activate):
9626         Core takes STREAM_LOCK for us now.
9627
9628 2005-06-25  Wim Taymans  <wim@fluendo.com>
9629
9630         * gst/gstelement.c: (gst_element_get_state_func),
9631         (gst_element_set_state):
9632         * gst/gstelement.h:
9633         * gst/gstmessage.c: (gst_message_parse_error),
9634         (gst_message_parse_warning):
9635         Keep track of current target state while performing a state
9636         change so that subclasses can do something interesting.
9637         Fix parsing of warning/error messages when GError is NULL.
9638
9639 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9640
9641         * docs/gst/Makefile.am:
9642         * docs/gst/gstreamer-docs.sgml:
9643         * docs/gst/gstreamer-sections.txt:
9644         * docs/gst/gstreamer.types:
9645         * docs/gst/tmpl/gstbasesink.sgml:
9646         * docs/gst/tmpl/gstbasesrc.sgml:
9647         * docs/gst/tmpl/gstbin.sgml:
9648         * docs/gst/tmpl/gstcompat.sgml:
9649         * docs/gst/tmpl/gstfakesink.sgml:
9650         * docs/gst/tmpl/gstfakesrc.sgml:
9651         * docs/gst/tmpl/gstfilesink.sgml:
9652         * docs/gst/tmpl/gstfilesrc.sgml:
9653         * docs/gst/tmpl/gstindex.sgml:
9654         * docs/manual/appendix-quotes.xml:
9655         * gst/base/gstbasesrc.h:
9656         * gst/elements/gstfakesrc.h:
9657         * gst/gstmessage.h:
9658           start pulling in base classes and elements in our docs
9659
9660 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9661
9662         * docs/gst/Makefile.am:
9663         * docs/libs/Makefile.am:
9664           fixed make distcheck with gtk-doc 1.3
9665
9666 2005-06-23  Wim Taymans  <wim@fluendo.com>
9667
9668         * gst/gstelement.c: (gst_element_get_state_func),
9669         (gst_element_set_state), (gst_element_change_state):
9670         When the state did not change, also report NO_PREROLL
9671         when it matters.
9672
9673 2005-06-23  Wim Taymans  <wim@fluendo.com>
9674
9675         * gst/gstpad.c: (gst_pad_event_default):
9676         * gst/gstqueue.c: (gst_queue_loop):
9677         No unsafe task pausing please.
9678
9679 2005-06-23  Wim Taymans  <wim@fluendo.com>
9680
9681         * gst/schedulers/threadscheduler.c:
9682         (gst_thread_scheduler_task_start),
9683         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9684         Ref the task before pushing it on the threadpool. This
9685         makes sure that we have a ref when the threadfunction is
9686         actually called.
9687
9688 2005-06-23  Andy Wingo  <wingo@pobox.com>
9689
9690         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9691         offset is greater than the file's size.
9692
9693         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9694         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9695         * gst/gstobject.c (gst_object_class_init): Make the class lock
9696         recursive. Wim won't let me drop deep_notify. Decodebin works
9697         again, whoopdy doo.
9698
9699         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9700         internal pad, and hacks accordingly. Doesn't do it on the target
9701         pad because we change its caps. Probably catches all cases of
9702         interest tho.
9703         (gst_ghost_pad_set_property): Connect to notify::caps as
9704         appropritate.
9705
9706         * tests/network-clock.scm (plot-simulation): Pipe data to the
9707         elite python skript.
9708
9709         * tests/network-clock-utils.scm (define-parameter): New macro,
9710         defines a parameter that can be set via the command line.
9711         (set-parameter!, parse-parameter-arguments): Command line args
9712         parser.
9713
9714         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9715         stdin.
9716
9717 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9718
9719         * gst/elements/gsttypefindelement.c:
9720         (gst_type_find_element_handle_event):
9721           Don't restart typefinding on a discont.
9722         * gst/gstelement.c: (gst_element_set_state):
9723           Debug spelling fix.
9724         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9725           Allow changing mode of an active pad.
9726           Debug output fixes.
9727         * gst/registries/gstlibxmlregistry.c: (load_feature):
9728           Don't cast a static pad template to a normal pad template.
9729
9730 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9731
9732         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9733         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9734           remove gst_strtoll completely, since it didn't actually do
9735           anything more than what g_ascii_strtoull already does.
9736           check for range errors when deserializing
9737           do a cast for the unsigned cases; but further fixing needs
9738           a decision on what the interpretation of "(int)" and
9739           deserialization should be for values that fall outside the
9740           type's boundaries (ie, refuse, or interpret as casting)
9741
9742 2005-06-23  Wim Taymans  <wim@fluendo.com>
9743
9744         * check/Makefile.am:
9745         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9746         * docs/design/part-live-source.txt:
9747         * docs/design/part-states.txt:
9748         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9749         (gst_basesrc_set_live), (gst_basesrc_is_live),
9750         (gst_basesrc_get_range), (gst_basesrc_activate),
9751         (gst_basesrc_change_state):
9752         * gst/base/gstbasesrc.h:
9753         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9754         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9755         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9756         * gst/gstelement.c: (gst_element_get_state_func),
9757         (gst_element_set_state):
9758         * gst/gstelement.h:
9759         * gst/gsttypes.h:
9760         * tools/gst-launch.c: (event_loop), (main):
9761         Added support for live sources and other elements that
9762         cannot do preroll.
9763         Updated design docs, added live-source design doc.
9764         Implemented live source functionality in basesrc
9765         Fix error condition in _bin_get_state()
9766         Implement live source handling in -launch.
9767         Added check for live sources.
9768         Fixed case in GstBin where elements were changed state
9769         multiple times.
9770
9771
9772 2005-06-23  Andy Wingo  <wingo@pobox.com>
9773
9774         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9775         borken refcounting.
9776
9777         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9778         gst_caps_replace takes care of this for us.
9779
9780         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9781         gst_pad_set_caps on the target, not just its setcaps() function.
9782
9783         * tests/network-clock.scm: 
9784         * tests/network-clock-utils.scm: A network clock simulator.
9785         Something of an algorithmic testbed before doing something in C.
9786
9787 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9788
9789         * check/Makefile.am:
9790         * check/gst/capslist.h:
9791           copy over from 0.8, and add two with bitmasks specified with
9792           (int) 0xFF...
9793         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9794           add test to parse everything from capslist.h
9795         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9796         (main):
9797           add test for structure deserialization
9798         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9799           add tests for deserialization of strings to int types
9800         * gst/gststructure.c: (gst_structure_nth_field_name):
9801         * gst/gststructure.h:
9802           add a way to get the name of a field referenced by index
9803         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9804           instead of checking if the resulting long long lies between
9805           min and max, we check if the long long would fit into
9806           a number of bytes for the final type.
9807           This fixes cases where a string represents 2^32 - 1, which
9808           when cast to int would be the (valid) -1, but is bigger than
9809           G_MAXINT
9810
9811 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9812
9813         * gst/parse/grammar.y:
9814           add a log line for type deserialization
9815
9816 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9817
9818         * check/gst/gstvalue.c: (START_TEST):
9819         * gst/gstvalue.c: (gst_value_deserialize):
9820           return long long, not int, so gint64 deserialization actually
9821           works.  Is there any flag that makes the compiler check this ?
9822           Fixes #308559
9823
9824 2005-06-22  Wim Taymans  <wim@fluendo.com>
9825
9826         * gst/gstbuffer.h:
9827         Added convenience macros for setting buffers in GValue.
9828
9829 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9830
9831         * check/gst/.cvsignore:
9832         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9833           add a test deserializing int64, and comment part out because
9834           it fails, yay !
9835
9836 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9837
9838         * check/Makefile.am:
9839         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9840         * testsuite/Makefile.am:
9841         * testsuite/caps/Makefile.am:
9842         * testsuite/caps/value_serialize.c:
9843         * testsuite/test_gst_init.c:
9844           move a value_serialize test over
9845
9846 2005-06-20  Wim Taymans  <wim@fluendo.com>
9847
9848         * gst/gstpad.c:
9849         Small doc updates.
9850         
9851         * gst/gstvalue.c: (gst_value_compare_buffer),
9852         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9853         (gst_value_compare_flags), (gst_value_serialize_flags),
9854         (gst_value_deserialize_flags), (_gst_value_initialize):
9855         Fix serialisation of buffers, they are not boxed types anymore
9856
9857 2005-06-20  Wim Taymans  <wim@fluendo.com>
9858
9859         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9860         Testcase to show error in buffer-on-caps serialisation.
9861
9862 2005-06-20  Andy Wingo  <wingo@pobox.com>
9863
9864         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9865         will be adding to later.
9866
9867         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9868         if its socks fill with rocks.
9869         (gst_system_clock_obtain): Set the name on object construction.
9870         Avoid double-checked locking.
9871
9872 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9873
9874         * gst/gsturi.c: (gst_element_make_from_uri):
9875           Fix potential endless loop.
9876
9877 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9878
9879         * check/Makefile.am:
9880           add gsttag
9881         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9882         (main):
9883           move over from testsuite dir and clean up
9884         * configure.ac:
9885         * gst/gsttag.c:
9886         * testsuite/Makefile.am:
9887         * testsuite/tags/.cvsignore:
9888         * testsuite/tags/Makefile.am:
9889         * testsuite/tags/merge.c:
9890           remove testsuite/tags
9891
9892 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9893
9894         * docs/gst/gstreamer-sections.txt:
9895         * docs/gst/tmpl/gstenumtypes.sgml:
9896         * win32/gstenumtypes.c:
9897           clean up documentation build a little
9898
9899 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9900
9901         * check/gstcheck.h:
9902           add macros for checking refcounts on objects and caps
9903         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9904           add some more unit tests
9905         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9906         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9907           fix leaked refcounts (I hope :)) so unittest works
9908         * gst/gstpad.h:
9909           whitespace removal
9910
9911 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9912
9913         * configure.ac: back to HEAD
9914
9915 === release 0.9.1 ===
9916
9917 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9918
9919         * NEWS:
9920         * RELEASE:
9921           updated
9922
9923 2005-06-17  Andy Wingo  <wingo@pobox.com>
9924
9925         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9926         assert; it's always possible that the pad gets deactivated in
9927         between the checks in gstpad.c and the implementation. Rely on
9928         finish_preroll() to return a FLUSHING or similar instead of on the
9929         assert.
9930         
9931         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9932         clock and post an EOS message if we come out of finish_preroll in
9933         the playing state.
9934
9935 2005-06-16  David Schleef  <ds@schleef.org>
9936
9937         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9938         (gst_capsfilter_set_property): Allow NULL as possible value
9939         for filter_caps property, indicating GST_CAPS_ANY.
9940
9941 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9942
9943         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9944           fix debug output
9945         * gst/schedulers/Makefile.am:
9946           use libgst prefix
9947         * gstreamer.spec.in:
9948           fix spec for it
9949
9950 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9951
9952         * gstreamer.spec.in:
9953           clean up
9954
9955 2005-06-08  Andy Wingo  <wingo@pobox.com>
9956
9957         * gst/gstutils.c: RPAD fixes all around.
9958         (gst_element_link_pads): Refcounting fixes.
9959
9960         * tools/gst-inspect.c:
9961         * tools/gst-xmlinspect.c:
9962         * parse/grammar.y:
9963         * gst/base/gsttypefindhelper.c:
9964         * gst/base/gstbasesink.c:
9965         * gst/gstqueue.c: RPAD fixes.
9966
9967         * gst/gstghostpad.h:
9968         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9969         pads. The tricky thing is they provide both source and sink
9970         interfaces, since they proxy the internal pad for the external
9971         pad, and vice versa. Implement with lower-level ProxyPad objects,
9972         with the interior proxy pad as a child of the exterior ghost pad.
9973         Should write a doc on this.
9974         
9975         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9976         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9977         gst_object API.
9978         
9979         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9980         pads are real pads. No ghost pads in this file. Not documenting
9981         the myriad s/RPAD/PAD/ and REALIZE fixes.
9982         (gst_pad_class_init): Add properties for "direction" and
9983         "template". Both are construct-only, so they can't change during
9984         the life of the pad. Fixes properly deriving from GstPad.
9985         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9986         derived objects, just set properties when creating the objects via
9987         g_object_new.
9988         (gst_pad_get_parent): Implement as a function, return NULL if the
9989         parent is not an element.
9990         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9991         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9992         
9993         * gst/gstobject.c (gst_object_class_init): Make name a construct
9994         property. Don't set it in the object init.
9995
9996         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9997         with UNKNOWN direction.
9998         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9999         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10000         (gst_element_remove_pad): Remove ghost-pad special cases.
10001         (gst_element_pads_activate): Remove rpad cruft.
10002
10003         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10004         catch the pad's-parent-not-an-element case.
10005
10006         * gst/gst.h: Include gstghostpad.h.
10007
10008         * gst/gst.c (init_post): No more real, ghost pads.
10009
10010         * gst/Makefile.am: Add gstghostpad.[ch].
10011
10012         * check/Makefile.am:
10013         * check/gst/gstbin.c:
10014         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10015         into a bin creates ghost pads, and that the refcounts are right.
10016         Partly moved from gstbin.c.
10017
10018 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10019
10020         * check/gst-libs/.cvsignore:
10021         * check/gst/.cvsignore:
10022         * check/pipelines/.cvsignore:
10023           ignore more
10024         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10025         (START_TEST), (cleanup_suite), (main):
10026           add some tests related to cleanup after running pipelines
10027
10028 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10029
10030         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10031           add a testsuite for GstBuffer
10032
10033 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10034
10035         * gst/gstminiobject.h:
10036           add defines for accessing the refcount
10037
10038 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10039
10040         * Makefile.am: added support for html unit test coverage reports
10041
10042 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10043
10044         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10045           Free existing caps if the capsfilter changes. Add a FIXME about
10046           setting those caps on the pads.
10047
10048         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10049           Before adding a ghost pad to a parent bin, check that there isn't
10050           already one for the element on the bin. Prevents infinite recursion
10051           when using decodebin in parse pipelines. Andy says he'll rewrite the
10052           way this works anyway, so ignore the hack.
10053
10054 2005-06-02  Andy Wingo  <wingo@pobox.com>
10055
10056         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10057         file size, pass it on to the type find helper.
10058
10059         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10060         segment_start and segment_end properly according to the seek
10061         method. Segment_end is still a bit flaky because offset can be
10062         negative for CUR and END cases, but it takes -1 as an "unset"
10063         value.
10064
10065 2005-06-02  Wim Taymans  <wim@fluendo.com>
10066
10067         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10068         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10069         (gst_basesink_activate):
10070         * gst/base/gstbasesink.h:
10071         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10072         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10073         (gst_pad_query), (gst_pad_start_task):
10074         * gst/gstpad.h:
10075         * gst/gstqueue.c: (gst_queue_bufferalloc),
10076         (gst_queue_handle_sink_event), (gst_queue_chain):
10077         Bufferalloc: return GstFlowReturn to more accuratly report
10078         why allocation failed.
10079
10080 2005-06-02  Wim Taymans  <wim@fluendo.com>
10081
10082         * gst/gstpipeline.c: (gst_pipeline_send_event):
10083         Take snapshot of state without blocking.
10084
10085 2005-06-02  Wim Taymans  <wim@fluendo.com>
10086
10087         * docs/design/part-TODO.txt:
10088         * docs/design/part-caps.txt:
10089         * docs/design/part-clocks.txt:
10090         * docs/design/part-negotiation.txt:
10091         * docs/design/part-preroll.txt:
10092         Small doc updates 
10093
10094 2005-05-30  Wim Taymans  <wim@fluendo.com>
10095
10096         * gst/elements/gstidentity.c: (gst_identity_event),
10097         (gst_identity_transform), (gst_identity_get_property):
10098         Protect last_message property as it is accessed from
10099         multiple threads.
10100
10101 2005-05-30  Wim Taymans  <wim@fluendo.com>
10102
10103         * gst/gstelement.c: (gst_element_init),
10104         (gst_element_pads_activate), (gst_element_change_state):
10105         Slicker pad activation code.
10106
10107 2005-05-30  Wim Taymans  <wim@fluendo.com>
10108
10109         * gst/Makefile.am:
10110         * gst/gstelement.h:
10111         * gst/gstelementfactory.h:
10112         * gst/gsttypes.h:
10113         Move elementfactory methods to separate .h file.
10114
10115 2005-05-30  Wim Taymans  <wim@fluendo.com>
10116
10117         * docs/design/part-overview.txt:
10118         * gst/gstsystemclock.h:
10119         Small typo fixes, doc updates.
10120
10121 2005-05-30  Wim Taymans  <wim@fluendo.com>
10122
10123         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10124         (init_popt_callback):
10125         Remove cpu-opt flag.
10126
10127 2005-05-30  Wim Taymans  <wim@fluendo.com>
10128
10129         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10130         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10131         * gst/gstbuffer.h:
10132         Avoid typechecking in places where not needed.
10133         Added accessor for malloc_data.
10134
10135 2005-05-30  Wim Taymans  <wim@fluendo.com>
10136
10137         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10138         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10139         (gst_pad_configure_sink), (gst_pad_configure_src),
10140         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10141         (gst_pad_start_task):
10142         Propagate errors from _set_caps() in configure_src/sink
10143         functions instead of returning TRUE.
10144         FLUSH events can travel up and downstream
10145
10146
10147 2005-05-30  Wim Taymans  <wim@fluendo.com>
10148
10149         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10150         (gst_basesink_activate):
10151         Handle EOS in preroll.
10152
10153 2005-05-30  Wim Taymans  <wim@fluendo.com>
10154
10155         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10156         (gst_queue_loop), (gst_queue_handle_src_event):
10157         Remove old pieces of code
10158         Flushing the queue in an upstream event is a very bad idea.
10159
10160 2005-05-26  Andy Wingo  <wingo@pobox.com>
10161
10162         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10163         gst_value_set_mini_object so as to add a ref on the object (which
10164         will be removed when the value is unset).
10165
10166         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10167         arg type in ::handoff.
10168
10169         * gst/gstelement.c (gst_element_change_state): Also deactivate
10170         pads in READY->NULL, just in case the element didn't make it to
10171         PAUSED. Wingo tested, Wim approved.
10172
10173 2005-05-26  Wim Taymans  <wim@fluendo.com>
10174
10175         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10176         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10177         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10178         A flushing pad cannot be used to alloc_buffer from.
10179
10180 2005-05-26  Wim Taymans  <wim@fluendo.com>
10181
10182         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10183         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10184         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10185         (gst_bus_create_watch), (gst_bus_add_watch_full):
10186         * gst/gstbus.h:
10187         Implement a real GSource and use g_main_context_wakeup() to
10188         signal new messages instead of the socketpair.
10189
10190 2005-05-25  Wim Taymans  <wim@fluendo.com>
10191
10192         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10193         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10194         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10195         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10196         (gst_pad_send_event), (gst_pad_start_task):
10197         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10198         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10199         (gst_queue_sink_activate), (gst_queue_src_activate),
10200         (gst_queue_change_state):
10201         * gst/gstqueue.h:
10202         Fix state changes for non sinks. We now change sinks, then elements
10203         with unconnected srcpads, then the rest.
10204         More efficient queue unlocking in flush and state changes.
10205         Set the pad activate mode even if it does not have an activate
10206         function.
10207
10208 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10209
10210         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10211           Don't go in pull mode for non-seekable sources.
10212         * gst/elements/gsttypefindelement.h:
10213         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10214         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10215         (free_entry), (stop_typefinding),
10216         (gst_type_find_element_handle_event), (find_peek),
10217         (gst_type_find_element_chain), (do_pull_typefind),
10218         (gst_type_find_element_change_state):
10219           Allow typefinding (w/o seeking) in push-mode, simplified version
10220           of what was in 0.8.
10221         * gst/gstutils.c: (gst_buffer_join):
10222         * gst/gstutils.h:
10223           gst_buffer_join() from 0.8.
10224
10225 2005-05-25  Wim Taymans  <wim@fluendo.com>
10226
10227         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10228         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10229         (gst_pad_send_event), (gst_pad_start_task):
10230         Disable attempt at mode switching until it is figured out.
10231
10232 2005-05-25  Wim Taymans  <wim@fluendo.com>
10233
10234         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10235         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10236         (gst_basesink_finish_preroll), (gst_basesink_chain),
10237         (gst_basesink_loop), (gst_basesink_activate),
10238         (gst_basesink_change_state):
10239         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10240         (gst_basesrc_get_range), (gst_basesrc_loop),
10241         (gst_basesrc_activate):
10242         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10243         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10244         (gst_real_pad_init), (gst_real_pad_set_property),
10245         (gst_real_pad_get_property), (gst_pad_set_active),
10246         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10247         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10248         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10249         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10250         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10251         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10252         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10253         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10254         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10255         (gst_pad_stop_task):
10256         * gst/gstpad.h:
10257         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10258         (gst_queue_loop), (gst_queue_src_activate):
10259         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10260         (gst_task_get_state):
10261         * gst/gsttask.h:
10262         * gst/schedulers/threadscheduler.c:
10263         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10264         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10265         in task function.
10266         Remove ACTIVE pad flag, use FLUSHING everywhere
10267         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10268         functions.
10269         Add locks around IS_FLUSHING when reading.
10270         Take STREAM lock in chain(), get_range() functions so plugins
10271         don't need to take it anymore.
10272         
10273
10274
10275 2005-05-25  Wim Taymans  <wim@fluendo.com>
10276
10277         * tools/gst-launch.c: (event_loop):
10278         Unref message after using its contents instead of
10279         before.
10280
10281 2005-05-24  Wim Taymans  <wim@fluendo.com>
10282
10283         * docs/design/draft-ghostpads.txt:
10284         * docs/design/draft-push-pull.txt:
10285         * docs/design/draft-query.txt:
10286         * docs/design/part-overview.txt:
10287         Docs updates, added general overview doc.
10288
10289 2005-05-21  David Schleef  <ds@schleef.org>
10290
10291         * docs/gst/tmpl/old/GstBin.sgml:
10292         * docs/gst/tmpl/old/GstBuffer.sgml:
10293         * docs/gst/tmpl/old/GstCaps.sgml:
10294         * docs/gst/tmpl/old/GstClock.sgml:
10295         * docs/gst/tmpl/old/GstCompat.sgml:
10296         * docs/gst/tmpl/old/GstData.sgml:
10297         * docs/gst/tmpl/old/GstElement.sgml:
10298         * docs/gst/tmpl/old/GstEvent.sgml:
10299         * docs/gst/tmpl/old/GstIndex.sgml:
10300         * docs/gst/tmpl/old/GstStructure.sgml:
10301         * docs/gst/tmpl/old/GstTag.sgml:
10302         * docs/gst/tmpl/old/cothreads.sgml:
10303         * docs/gst/tmpl/old/cothreads_compat.sgml:
10304         * docs/gst/tmpl/old/gettext.sgml:
10305         * docs/gst/tmpl/old/gobject2gtk.sgml:
10306         * docs/gst/tmpl/old/grammar.tab.sgml:
10307         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10308         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10309         * docs/gst/tmpl/old/gst_private.sgml:
10310         * docs/gst/tmpl/old/gstaggregator.sgml:
10311         * docs/gst/tmpl/old/gstarch.sgml:
10312         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10313         * docs/gst/tmpl/old/gstbufferstore.sgml:
10314         * docs/gst/tmpl/old/gstdata_private.sgml:
10315         * docs/gst/tmpl/old/gstdisksink.sgml:
10316         * docs/gst/tmpl/old/gstdisksrc.sgml:
10317         * docs/gst/tmpl/old/gstelementfactory.sgml:
10318         * docs/gst/tmpl/old/gstextratypes.sgml:
10319         * docs/gst/tmpl/old/gstfakesink.sgml:
10320         * docs/gst/tmpl/old/gstfakesrc.sgml:
10321         * docs/gst/tmpl/old/gstfdsink.sgml:
10322         * docs/gst/tmpl/old/gstfdsrc.sgml:
10323         * docs/gst/tmpl/old/gstfilesink.sgml:
10324         * docs/gst/tmpl/old/gstfilesrc.sgml:
10325         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10326         * docs/gst/tmpl/old/gstidentity.sgml:
10327         * docs/gst/tmpl/old/gstindexfactory.sgml:
10328         * docs/gst/tmpl/old/gstmarshal.sgml:
10329         * docs/gst/tmpl/old/gstmd5sink.sgml:
10330         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10331         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10332         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10333         * docs/gst/tmpl/old/gstpipefilter.sgml:
10334         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10335         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10336         * docs/gst/tmpl/old/gstshaper.sgml:
10337         * docs/gst/tmpl/old/gstspider.sgml:
10338         * docs/gst/tmpl/old/gstspideridentity.sgml:
10339         * docs/gst/tmpl/old/gststatistics.sgml:
10340         * docs/gst/tmpl/old/gsttee.sgml:
10341         * docs/gst/tmpl/old/gsttimecache.sgml:
10342         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10343         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10344         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10345         * docs/gst/tmpl/old/types.sgml:
10346           I didn't intend to add these or check them in.
10347
10348 2005-05-19  David Schleef  <ds@schleef.org>
10349
10350         * configure.ac: Use -no-common everywhere.  In a sane world, it
10351           would be the default in libtool, because without it, you can't
10352           build DLLs on Windows.
10353         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10354         * docs/gst/gstreamer-sections.txt:
10355         * docs/gst/tmpl/gstcpu.sgml:
10356         * docs/gst/tmpl/gstdata.sgml:
10357         * docs/gst/tmpl/gstthread.sgml:
10358
10359 2005-05-19  David Schleef  <ds@schleef.org>
10360
10361         * gst/gstminiobject.c: (gst_value_set_mini_object),
10362         (gst_value_take_mini_object), (gst_value_get_mini_object):
10363         * gst/gstminiobject.h: Add GValue set/get functions.
10364
10365 2005-05-19  Wim Taymans  <wim@fluendo.com>
10366
10367         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10368         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10369         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10370         * gst/gstbuffer.h:
10371         * gst/gstbus.c: (gst_bus_post):
10372         * gst/gstelement.c: (gst_element_get_random_pad):
10373         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10374         Make subbufer unref the parent in finalize.
10375         some more debugging info.
10376
10377
10378 2005-05-19  Wim Taymans  <wim@fluendo.com>
10379
10380         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10381         (gst_basesink_init), (gst_basesink_finalize),
10382         (gst_basesink_activate), (gst_basesink_change_state):
10383         Don't free preroll queue too early.
10384
10385 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10386
10387         * gst/Makefile.am:
10388         * gst/ROADMAP:
10389           Hi, I'm outdated. Please shoot me.
10390
10391 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10392
10393         * gst/gstpipeline.c: (gst_pipeline_send_event):
10394           Do not access variables after they have been deleted.
10395
10396 2005-05-19  Wim Taymans  <wim@fluendo.com>
10397
10398         * tools/gst-inspect.c: (print_plugin_features):
10399         A plugin feature does unfortunatly not use the
10400         object name yet...
10401
10402 2005-05-18  Wim Taymans  <wim@fluendo.com>
10403
10404         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10405         Port _span() functions to new subbuffers.
10406
10407 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10408
10409         * gst/gstbin.c: (gst_bin_add_func):
10410           Fix clock settery in bins when adding kids after the clock has
10411           been selected.
10412
10413 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10414
10415         * gst/elements/gstidentity.c: (gst_identity_class_init):
10416           Workaround until signals support GstMiniObject.
10417
10418 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10419
10420         * gst/gstbuffer.c:
10421         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10422
10423 2005-05-18  Wim Taymans  <wim@fluendo.com>
10424
10425         * gst/base/Makefile.am:
10426         * gst/base/gstadapter.c: (gst_adapter_base_init),
10427         (gst_adapter_class_init), (gst_adapter_init),
10428         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10429         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10430         (gst_adapter_flush), (gst_adapter_available),
10431         (gst_adapter_available_fast):
10432         * gst/base/gstadapter.h:
10433         Ported and added adapter to the base classes.
10434
10435 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10436
10437         * gst/gst.c:
10438         * gst/gstmessage.c:
10439           Make sure the class is reffed/unreffed once before threads can be
10440           used.  Fixes #304551.
10441
10442 2005-05-17  Wim Taymans  <wim@fluendo.com>
10443
10444         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10445         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10446         * gst/gstminiobject.c: (gst_mini_object_get_type),
10447         (gst_mini_object_free):
10448         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10449         (gst_pad_push), (gst_pad_push_event):
10450         * gst/gstqueue.c: (gst_queue_change_state):
10451         Don't queue buffers in basesink when we are flushing.
10452         Unref buffer when flushing in basesink.
10453         Flush queue when going to READY
10454         Unref buffer when _push() returns an error.
10455         Don't free MiniObject instance when refcount is incremented
10456         in _finalize() so that we can recover objects.
10457
10458 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10459
10460         * docs/manual/advanced-schedulers.xml:
10461         * docs/manual/appendix-checklist.xml:
10462         * docs/pwg/advanced-clock.xml:
10463         * docs/pwg/advanced-interfaces.xml:
10464         * docs/pwg/advanced-request.xml:
10465         * docs/pwg/advanced-types.xml:
10466         * docs/pwg/intro-preface.xml:
10467         * examples/plugins/example.c: (gst_example_get_type),
10468         (gst_example_class_init), (gst_example_chain),
10469         (gst_example_set_property), (gst_example_get_property),
10470         (gst_example_change_state), (plugin_init):
10471         * examples/plugins/example.h:
10472           small doc fixes
10473
10474 2005-05-17  Wim Taymans  <wim@fluendo.com>
10475
10476         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10477         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10478         * gst/gstqueue.c: (gst_queue_change_state):
10479         Clear queue when going to READY.
10480         Remove IN_SETCAPS flag too.
10481
10482 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10483
10484         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10485           Remove implicit cast from gboolean to GstElementStateReturn;
10486           make sure we still return failure in paused => ready case if
10487           the parent class fails to change state and our own stop 
10488           vfunc succeeds.
10489
10490 2005-05-17  Wim Taymans  <wim@fluendo.com>
10491
10492         * tools/gst-launch.c: (event_loop):
10493         Message was unreffed too soon.
10494
10495 2005-05-16  Andy Wingo  <wingo@pobox.com>
10496
10497         * gst/gstbin.c (sink_iterator_filter): Err... um...
10498
10499         * check/gst/gstbin.c (test_ghost_pads): New test for the
10500         ghosting-if-elements-not-in-same-bin behavior.
10501
10502 2005-05-16  David Schleef  <ds@schleef.org>
10503
10504         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10505         accessing refcount directly.
10506
10507 2005-05-15  David Schleef  <ds@schleef.org>
10508
10509         * check/Makefile.am: remove GstData checks
10510         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10511         * gst/Makefile.am: add miniobject, remove data
10512         * gst/gst.h: add miniobject, remove data
10513         * gst/gstdata.c: remove
10514         * gst/gstdata.h: remove
10515         * gst/gstdata_private.h: remove
10516         * gst/gsttypes.h: remove GstEvent and GstMessage
10517         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10518         * gst/gstmarshal.list: change BOXED -> OBJECT
10519
10520         Implement GstMiniObject.
10521         * gst/gstminiobject.c:
10522         * gst/gstminiobject.h:
10523
10524         Modify to be subclasses of GstMiniObject.
10525         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10526         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10527         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10528         (gst_subbuffer_get_type), (gst_subbuffer_init),
10529         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10530         (gst_buffer_span):
10531         * gst/gstbuffer.h:
10532         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10533         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10534         (_gst_event_copy), (gst_event_new):
10535         * gst/gstevent.h:
10536         * gst/gstmessage.c: (_gst_message_initialize),
10537         (gst_message_get_type), (gst_message_class_init),
10538         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10539         (gst_message_new), (gst_message_new_error),
10540         (gst_message_new_warning), (gst_message_new_tag),
10541         (gst_message_new_state_changed), (gst_message_new_application):
10542         * gst/gstmessage.h:
10543         * gst/gstprobe.c: (gst_probe_perform),
10544         (gst_probe_dispatcher_dispatch):
10545         * gst/gstprobe.h:
10546         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10547         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10548         (_gst_query_copy), (gst_query_new):
10549
10550         Update elements for GstData -> GstMiniObject changes
10551         * gst/gstquery.h:
10552         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10553         (gst_queue_chain), (gst_queue_loop):
10554         * gst/elements/gstbufferstore.c:
10555         (gst_buffer_store_add_buffer_func),
10556         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10557         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10558         (gst_fakesink_render):
10559         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10560         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10561         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10562         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10563         (gst_filesrc_create_read):
10564         * gst/elements/gstidentity.c: (gst_identity_class_init):
10565         * gst/elements/gsttypefindelement.c:
10566         (gst_type_find_element_src_event), (free_entry_buffers),
10567         (gst_type_find_element_handle_event):
10568         * libs/gst/dataprotocol/dataprotocol.c:
10569         (gst_dp_header_from_buffer):
10570         * libs/gst/dataprotocol/dataprotocol.h:
10571         * libs/gst/dataprotocol/dp-private.h:
10572
10573 2005-05-15  David Schleef  <ds@schleef.org>
10574
10575         * gst/elements/gstelements.c: Don't include headers that were
10576         just removed.
10577
10578 2005-05-15  David Schleef  <ds@schleef.org>
10579
10580         * gst/elements/Makefile.am: Remove some elements that don't
10581         need to be in the core (or even exist at all).
10582         * gst/elements/gstaggregator.c:
10583         * gst/elements/gstaggregator.h:
10584         * gst/elements/gstmd5sink.c:
10585         * gst/elements/gstmd5sink.h:
10586         * gst/elements/gstmultifilesrc.c:
10587         * gst/elements/gstmultifilesrc.h:
10588         * gst/elements/gstpipefilter.c:
10589         * gst/elements/gstpipefilter.h:
10590         * gst/elements/gstshaper.c:
10591         * gst/elements/gstshaper.h:
10592         * gst/elements/gststatistics.c:
10593         * gst/elements/gststatistics.h:
10594         * po/POTFILES.in: Remove above files.
10595
10596 2005-05-14  Andy Wingo  <wingo@pobox.com>
10597
10598         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10599         so as to get the refs right.
10600         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10601         unreffing objects that don't pass the filter.
10602
10603         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10604         gst_element_set_bus.
10605         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10606         normal cases, this will destroy the bus.
10607
10608         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10609         object.
10610
10611         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10612         has no sinks.
10613
10614 2005-05-13  Andy Wingo  <wingo@pobox.com>
10615
10616         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10617         gst_pad_link, call pad_link_maybe_ghosting,
10618         (pad_link_maybe_ghosting): Links pads, making sure that the
10619         elements being linked are in the same bin.
10620         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10621         Helpers for pad_link_maybe_ghosting.
10622
10623 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10624
10625         * configure.ac:
10626           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10627
10628 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10629
10630         * docs/design/part-element-source.txt:
10631           Mention GstPushSrc
10632
10633 2005-05-12  Wim Taymans  <wim@fluendo.com>
10634
10635         * gst/base/gstbasesink.c: (gst_basesink_init),
10636         (gst_basesink_activate):
10637         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10638         (gst_basesrc_is_seekable):
10639         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10640         (bin_element_is_sink), (gst_bin_change_state):
10641         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10642         * gst/gstelement.h:
10643         Identify sinks by their flag to avoid overly complicated
10644         checks (fow now).
10645         Do state changes even for elements not reachable from the
10646         sinks.
10647         BaseSink is a sink now :)
10648         Some more debugging info in the basesrc.
10649
10650
10651 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10652
10653         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10654           Implement _query on a bin, similar to _send_event.
10655
10656 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10657
10658         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10659           Discont event offset format should be GST_FORMAT_BYTES,
10660           not GST_FORMAT_TIME.
10661
10662 2005-05-12  Wim Taymans  <wim@fluendo.com>
10663
10664         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10665         Same fix as Ronald's but without the signal. 
10666
10667 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10668
10669         * gst/gstutils.c: (gst_element_query_position):
10670           No, an element is not a pad.
10671
10672 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10673
10674         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10675         (gst_bin_get_state):
10676           If a child is removed from a bin while we remove the child from
10677           the bin and while we're retrieving its state, signal this to the
10678           get_state function so we abort the wait (instead of waiting for
10679           a timeout) and can immediately re-iterate over all other elements.
10680
10681 2005-05-12  Wim Taymans  <wim@fluendo.com>
10682
10683         * gst/base/Makefile.am:
10684         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10685         (gst_basesrc_start):
10686         * gst/base/gstbasesrc.h:
10687         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10688         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10689         (gst_pushsrc_init), (gst_pushsrc_create):
10690         * gst/base/gstpushsrc.h:
10691         Added is_seekable to BaseSrc
10692         Added simple PushSrc.
10693
10694 2005-05-11  Wim Taymans  <wim@fluendo.com>
10695
10696         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10697         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10698         (gst_element_link_pads), (gst_element_query_position),
10699         (gst_element_query_convert), (intersect_caps_func),
10700         (gst_pad_query_position), (gst_pad_query_convert):
10701         Fix refcounting in utils function.
10702         No point in trying to activate a pad when it's added, it could
10703         be added from the state change function and then we deadlock, the
10704         element has to decide what to do.
10705
10706 2005-05-10  Andy Wingo  <wingo@pobox.com>
10707
10708         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10709         *all* the arguments.
10710
10711         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10712         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10713         lock (according to the docs -- if this is wrong change the docs).
10714
10715         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10716         flush messages in the NULL state.
10717
10718         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10719         message immediately and return.
10720         (gst_bus_set_flushing): New function. If a bus is flushing, it
10721         flushes out any queued messages and immediately unrefs new
10722         messages. This is so when an element goes to NULL, all of the
10723         unhandled messages coming from it can be freed, and their
10724         references to the element dropped. In other words: message source
10725         ref considered harmful :P
10726
10727         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10728         we're finished with it.
10729
10730         * gst/gstmessage.c (gst_message_new_state_changed): 
10731
10732 2005-05-10  Wim Taymans  <wim@fluendo.com>
10733
10734         * gst/gstvalue.c: (gst_value_compare_flags),
10735         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10736         (_gst_value_initialize):
10737         Added flags serialize/deserialize/compare code.
10738
10739 2005-05-09  Andy Wingo  <wingo@pobox.com>
10740
10741         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10742         Intersect the peer's caps with our caps.
10743
10744 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10745
10746         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10747         * gst/elements/gsttypefindelement.c: (find_peek):
10748           Handle negative offsets better. Fixes decodebin.
10749
10750 2005-05-09  Wim Taymans  <wim@fluendo.com>
10751
10752         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10753         (gst_base_transform_event):
10754         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10755         Implement accept_caps.
10756         Fix silly lock/unlock mismatch in base class.
10757
10758 2005-05-09  Wim Taymans  <wim@fluendo.com>
10759
10760         * docs/design/draft-push-pull.txt:
10761         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10762         * gst/elements/gstfilesink.c: (gst_filesink_init),
10763         (gst_filesink_query):
10764         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10765         (gst_type_find_handle_src_query), (find_element_get_length):
10766         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10767         * gst/gstelement.h:
10768         * gst/gstmessage.c:
10769         * gst/gstmessage.h:
10770         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10771         (gst_real_pad_get_caps_unlocked),
10772         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10773         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10774         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10775         (gst_real_pad_dispose), (gst_real_pad_finalize),
10776         (gst_pad_load_and_link), (gst_pad_save_thyself),
10777         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10778         (gst_pad_check_pull_range), (gst_pad_pull_range),
10779         (gst_pad_template_get_type), (gst_pad_template_class_init),
10780         (gst_pad_template_init), (gst_pad_template_dispose),
10781         (name_is_valid), (gst_static_pad_template_get),
10782         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10783         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10784         (gst_pad_get_element_private), (gst_pad_start_task),
10785         (gst_pad_pause_task), (gst_pad_stop_task),
10786         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10787         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10788         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10789         (gst_ghost_pad_new):
10790         * gst/gstpad.h:
10791         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10792         (gst_query_new_position), (gst_query_set_position),
10793         (gst_query_parse_position), (gst_query_new_convert),
10794         (gst_query_set_convert), (gst_query_parse_convert):
10795         * gst/gstquery.h:
10796         * gst/gstqueryutils.c:
10797         * gst/gstqueryutils.h:
10798         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10799         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10800         (gst_queue_handle_src_query):
10801         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10802         (gst_element_query_position), (gst_element_query_convert),
10803         (intersect_caps_func), (gst_pad_query_position),
10804         (gst_pad_query_convert):
10805         * gst/gstutils.h:
10806         * tools/gst-inspect.c: (print_pad_info):
10807         * tools/gst-xmlinspect.c: (print_element_info):
10808         Remove old query functions. Ported old code.
10809         Added position/convert helper functions to gstutils.
10810         Reordered gstpad.c code, grouping relevant things.
10811         Remove gst_message_new(), always need to speficy a specific
10812         message.
10813
10814
10815 2005-05-09  Andy Wingo  <wingo@pobox.com>
10816
10817         * gst/gstiterator.h: Add some includes.
10818
10819         * gst/gstqueryutils.h: Include more headers.
10820
10821         * gst/gstpad.h:
10822         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10823         some uses of gst_pad_query.
10824
10825         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10826         NULL out parameters.
10827         (gst_query_new_position): New proc, allocates a new position
10828         query.
10829
10830         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10831         gstqueryutils.c to the build.
10832
10833         * gst/gststructure.c (gst_structure_set_valist): Implement with
10834         the generic G_VALUE_COLLECT.
10835         
10836 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10837
10838         * gst/Makefile.am: (gst_headers):
10839         Added gstqueryutils.h to the list of headers to install, that was
10840         a 'nachty' move wingo :)
10841
10842 2005-05-06  Andy Wingo  <wingo@pobox.com>
10843
10844         * gst/gstquery.h
10845         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10846         GstData, init a memchunk.
10847         (standard_definitions): Add a few query types, deprecate a few.
10848         (gst_query_get_type): New proc.
10849         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10850         implementation.
10851         (gst_query_new_application, gst_query_get_structure): New public
10852         procs.
10853
10854         * docs/design/draft-query.txt: Removed LINKS from the query types,
10855         because all the rest can be dispatched to other pads -- seemed
10856         ugly to have a query that couldn't be dispatched. internal_links
10857         is fine as a pad method.
10858
10859         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10860         in gstpad.c, but maintain binary compatibility for the moment.
10861         Will fix before 0.9 is out.
10862
10863         * gst/gstqueryutils.c: 
10864         * gst/gstqueryutils.h: New files, implement 3 methods for each
10865         query type: parse_query, parse_response, and set. Probably need an
10866         allocator as well.
10867
10868         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10869
10870         * gst/elements/gstfilesink.c (gst_filesink_query2):
10871         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10872         query_types, and formats methods.
10873
10874         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10875         (gst_pad_set_query2_function): New functions.
10876         (gst_real_pad_init): Set query2_default as the default query2
10877         function. Basically just dispatches to internally linked pads.
10878
10879         Needs review!
10880         
10881         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10882         without using the atomic operations. Only one thread can possibly
10883         be accessing the data at this point. Changed so as to avoid
10884         gst_atomic operations.
10885
10886 2005-05-06  Wim Taymans  <wim@fluendo.com>
10887
10888         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10889         Also set caps if we use the fallback buffer alloc.
10890
10891 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10892
10893         * docs/gst/Makefile.am:
10894         * docs/gst/gstreamer-docs.sgml:
10895         * docs/gst/gstreamer-sections.txt:
10896         * docs/gst/tmpl/gstatomic.sgml:
10897         * docs/gst/tmpl/gstmemchunk.sgml:
10898         * testsuite/elements/struct_i386.h:
10899         * win32/GStreamer.vcproj:
10900         * win32/Makefile:
10901           Purge GstAtomic stuff from docs and win32 makefiles as well
10902
10903 2005-05-06  Wim Taymans  <wim@fluendo.com>
10904
10905         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10906         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10907         * gst/gstpad.c: (gst_pad_peer_get_caps):
10908         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10909         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10910         (gst_queue_src_activate), (gst_queue_change_state):
10911         * gst/gstqueue.h:
10912         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10913         (intersect_caps_func):
10914         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10915         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10916         Some fixes for the peer_get_caps() change.
10917
10918 2005-05-06  Wim Taymans  <wim@fluendo.com>
10919
10920         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10921         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10922         (gst_basesink_activate):
10923         Actually do something with error codes returned from the push
10924         functions.
10925
10926 2005-05-06  Wim Taymans  <wim@fluendo.com>
10927
10928         * docs/design/part-element-sink.txt:
10929         * docs/design/part-element-source.txt:
10930         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10931         (gst_basesink_event), (gst_basesink_activate):
10932         * gst/base/gstbasesink.h:
10933         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10934         (gst_basesrc_activate):
10935         * gst/base/gstbasesrc.h:
10936         * gst/gstelement.c: (gst_element_pads_activate):
10937         Some more documentation.
10938         Fixed scheduling decision in _pads_activate().
10939
10940 2005-05-05  Andy Wingo  <wingo@pobox.com>
10941
10942         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10943         the test suite.
10944
10945 2005-05-05  Wim Taymans  <wim@fluendo.com>
10946
10947         * gst/base/Makefile.am:
10948         * gst/base/gstbasesink.h:
10949         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10950         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10951         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10952         (gst_collectpads_class_init), (gst_collectpads_init),
10953         (gst_collectpads_finalize), (gst_collectpads_new),
10954         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10955         (find_pad), (gst_collectpads_remove_pad),
10956         (gst_collectpads_is_active), (gst_collectpads_collect),
10957         (gst_collectpads_collect_range), (gst_collectpads_start),
10958         (gst_collectpads_stop), (gst_collectpads_peek),
10959         (gst_collectpads_pop), (gst_collectpads_available),
10960         (gst_collectpads_read), (gst_collectpads_flush),
10961         (gst_collectpads_chain):
10962         * gst/base/gstcollectpads.h:
10963         * gst/elements/Makefile.am:
10964         * gst/elements/gstelements.c:
10965         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10966         (gst_fakesink_get_times), (gst_fakesink_event),
10967         (gst_fakesink_preroll), (gst_fakesink_render):
10968         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10969         (gst_filesink_init), (gst_filesink_set_location),
10970         (gst_filesink_open_file), (gst_filesink_close_file),
10971         (gst_filesink_pad_query), (gst_filesink_event),
10972         (gst_filesink_render), (gst_filesink_change_state):
10973         * gst/elements/gstfilesink.h:
10974         Added object to help in making collect pad based elements.
10975         Ported filesink.
10976         Make event function in sink baseclass return gboolean.
10977
10978 2005-05-05  Wim Taymans  <wim@fluendo.com>
10979
10980         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10981         (gst_bin_get_by_name):
10982         * gst/gstbuffer.h:
10983         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10984         (gst_clock_finalize):
10985         * gst/gstdata.c: (gst_data_replace):
10986         * gst/gstdata.h:
10987         * gst/gstelement.c: (gst_element_request_pad),
10988         (gst_element_pads_activate):
10989         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10990         (gst_object_unref):
10991         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10992         (gst_pad_set_checkgetrange_function),
10993         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10994         (gst_pad_check_pull_range), (gst_pad_pull_range),
10995         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10996         (gst_pad_pause_task), (gst_pad_stop_task):
10997         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10998         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10999         Fix name lookup in GstBin.
11000         Added _data_replace() function and _buffer_replace()
11001         Use finalize method to clean up clock.
11002         Fix refcounting on request pads.
11003         Fix pad schedule mode error.
11004         Some more object refcounting debug info,
11005
11006
11007 2005-05-04  Andy Wingo <wingo@pobox.com>
11008
11009         * check/Makefile.am:
11010         * docs/gst/tmpl/gstatomic.sgml:
11011         * docs/gst/tmpl/gstplugin.sgml:
11012         * gst/base/gstbasesink.c: (gst_basesink_activate):
11013         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11014         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11015         (gst_basesrc_query), (gst_basesrc_set_property),
11016         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11017         (gst_basesrc_activate):
11018         * gst/base/gstbasesrc.h:
11019         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11020         (gst_base_transform_src_activate):
11021         * gst/elements/gstelements.c:
11022         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11023         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11024         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11025         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11026         (gst_type_find_element_checkgetrange),
11027         (gst_type_find_element_activate):
11028         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11029         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11030         (gst_caps_load_thyself):
11031         * gst/gstelement.c: (gst_element_pads_activate),
11032         (gst_element_save_thyself), (gst_element_restore_thyself):
11033         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11034         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11035         * gst/gstpad.h:
11036         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11037         (gst_xml_parse_file), (gst_xml_parse_memory),
11038         (gst_xml_get_element), (gst_xml_make_element):
11039         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11040         (_file_index_id_save_xml), (gst_file_index_commit):
11041         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11042         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11043         (load_paths):
11044         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11045         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11046         * tools/gst-complete.c: (main):
11047         * tools/gst-compprep.c: (main):
11048         * tools/gst-inspect.c: (print_element_properties_info):
11049         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11050         * tools/gst-xmlinspect.c: (print_element_properties):
11051         GCC 4 fixen.
11052         
11053 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11054
11055         * gst/gstplugin.c: (gst_plugin_check_module),
11056         (gst_plugin_check_file), (gst_plugin_load_file):
11057             apply patch from #172526 to make register work on MacOSX
11058
11059 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11060
11061         * docs/gst/tmpl/gstconfig.sgml:
11062         * gst/gstconfig.h.in:
11063           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11064         * testsuite/debug/printf_extension.c: (main):
11065           Do not use GST_PTR_FORMAT on pointers to types with
11066           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11067         * testsuite/elements/property.h:
11068           use correct printf format
11069
11070 2005-05-02  Wim Taymans  <wim@fluendo.com>
11071
11072         * docs/design/draft-push-pull.txt:
11073         * docs/design/draft-query.txt:
11074         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11075         (gst_basesrc_start):
11076         Added draft for new query API.
11077         Added draft for better selecting scheduling methods.
11078         Make basesrc ignore length if the subclass does not support
11079         it.
11080
11081 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11082
11083         * gst/Makefile.am:
11084           possible fixes for automake-1.5 - _LIBADD is reserved
11085
11086 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11087
11088         * docs/faq/Makefile.am:
11089         * docs/manual/Makefile.am:
11090         * docs/manuals.mak:
11091         * docs/pwg/Makefile.am:
11092         * gst/Makefile.am:
11093           possible fixes for automake-1.5
11094
11095 2005-04-28  Wim Taymans  <wim@fluendo.com>
11096
11097         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11098         (gst_basesink_pad_getcaps), (gst_basesink_init),
11099         (gst_basesink_do_sync):
11100         * gst/gstclock.c: (gst_clock_entry_new):
11101         * gst/gstevent.c: (gst_event_discont_get_value):
11102         * gst/gstpipeline.c: (pipeline_bus_handler),
11103         (gst_pipeline_change_state):
11104         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11105         Better debugging of clocking info.
11106         Allow NULL values when getting discont values.
11107
11108 2005-04-27  Wim Taymans  <wim@fluendo.com>
11109
11110         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11111         * check/gst/gstpad.c: (gst_pad_suite):
11112         Increase timeout for checks.
11113
11114 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11115
11116         * check/Makefile.am:
11117           fix the broken rule for cleanup.  Apparently this rule is
11118           only needed on FC2, so maybe this warrants further autotool
11119           inspection.
11120
11121 2005-04-26  Wim Taymans  <wim@fluendo.com>
11122
11123         * gst/gsttrashstack.h:
11124         Ooohh. a nasty one! After having a failed pop() from the stack,
11125         it's possible that the stack is empty. In that case, don't
11126         follow the NULL pointer.
11127
11128 2005-04-25  Wim Taymans  <wim@fluendo.com>
11129
11130         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11131         (gst_pad_set_checkgetrange_function),
11132         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11133         (gst_pad_check_pull_range), (gst_pad_pull_range),
11134         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11135         (gst_pad_pause_task), (gst_pad_stop_task):
11136         * gst/gstplugin.c: (gst_plugin_load):
11137         * gst/gstplugin.h:
11138         Remove gst_library_load as it does more harm than good with
11139         the new g_module flags.
11140         Revert bogus caps template check in pad linking, pad caps
11141         are important when linking not the template, which is more
11142         general than the current caps.
11143
11144 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11145
11146         * gst/autoplug/.cvsignore:
11147         * gst/autoplug/Makefile.am:
11148         * gst/autoplug/gstsearchfuncs.c:
11149         * gst/autoplug/gstsearchfuncs.h:
11150         * gst/autoplug/gstspider.c:
11151         * gst/autoplug/gstspider.h:
11152         * gst/autoplug/gstspideridentity.c:
11153         * gst/autoplug/gstspideridentity.h:
11154         * gst/autoplug/spidertest.c:
11155           Die, spider, die.
11156
11157 2005-04-25  Wim Taymans  <wim@fluendo.com>
11158
11159         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11160         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11161         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11162         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11163         * gst/gstpad.h:
11164         Added stubs for unimplemented functions. 
11165
11166 2005-04-24  David Schleef  <ds@schleef.org>
11167
11168         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11169         please fix.
11170
11171 2005-04-24  David Schleef  <ds@schleef.org>
11172
11173         Convert everything from GstAtomicInt to g_atomic_int_*, and
11174         remove gstatomic.
11175         * gst/Makefile.am:
11176         * gst/gstatomic.c:
11177         * gst/gstatomic.h:
11178         * gst/gstatomic_impl.h:
11179         * gst/gstbuffer.c:
11180         * gst/gstcaps.c:
11181         * gst/gstcaps.h:
11182         * gst/gstclock.c:
11183         * gst/gstclock.h:
11184         * gst/gstdata.c:
11185         * gst/gstdata.h:
11186         * gst/gstdata_private.h:
11187         * gst/gstevent.c:
11188         * gst/gstinfo.c:
11189         * gst/gstinfo.h:
11190         * gst/gstmessage.c:
11191         * gst/gstobject.c:
11192         * gst/gstobject.h:
11193         * gst/gststructure.c:
11194         * gst/gststructure.h:
11195         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11196         * gst/gstutils.h:
11197
11198 2005-04-24  David Schleef  <ds@schleef.org>
11199
11200         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11201         make the regressions tests work.  Remove some code that is no
11202         longer true.
11203         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11204         Disable warning for pads without templates.
11205
11206 2005-04-24  David Schleef  <ds@schleef.org>
11207
11208         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11209         functions that handle filtered links.
11210         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11211         removed functions.
11212         * gst/gstutils.c: Fix/remove utility functions that handle
11213         filtered caps.
11214         * gst/gstutils.h:
11215         * gst/gstvalue.c: Add serialization/deserialization of caps
11216         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11217         requires fixing so that the filter caps notation creates
11218         a capsfilter element and sets the filter_caps property.  I
11219         think everyone probably wants to keep the shorthand notation.
11220         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11221         * docs/gst/tmpl/gstpad.sgml:
11222
11223         * gst/elements/gstelements.c: Register capsfilter element.
11224         * gst/Makefile.am: fix spacing
11225         * docs/random/ds/0.9-suggested-changes: random
11226
11227 2005-04-23  David Schleef  <ds@schleef.org>
11228
11229         * gst/elements/Makefile.am:
11230         * gst/elements/gstcapsfilter.c: New element that acts like an
11231         identity, but filters caps.  Will eventually replace filtered
11232         caps in pad linking.
11233         * gst/gstutils.c: (gst_element_create_all_pads): New function
11234         to create all the ALWAYS pads that are registered with an
11235         element class.  This functionality should eventually be
11236         merged in with GstElement initialization.
11237         * gst/gstutils.h:
11238         * testsuite/trigger/README: part of trigger test code that should
11239         have been checked in a long time ago.
11240
11241 2005-04-23  David Schleef  <ds@schleef.org>
11242
11243         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11244         needed with new versions of libtool (nobody will confirm this),
11245         and hard to carry around.
11246         * gst/autoplug/Makefile.am:
11247         * gst/base/Makefile.am:
11248         * gst/elements/Makefile.am:
11249         * gst/indexers/Makefile.am:
11250         * gst/schedulers/Makefile.am:
11251         * libs/gst/bytestream/Makefile.am:
11252         * libs/gst/control/Makefile.am:
11253         * libs/gst/dataprotocol/Makefile.am:
11254         * libs/gst/getbits/Makefile.am:
11255
11256 2005-04-21  Wim Taymans  <wim@fluendo.com>
11257
11258         * docs/design/draft-push-pull.txt:
11259         * docs/design/part-MT-refcounting.txt:
11260         * docs/design/part-TODO.txt:
11261         * docs/design/part-caps.txt:
11262         * docs/design/part-events.txt:
11263         * docs/design/part-gstbus.txt:
11264         * docs/design/part-gstpipeline.txt:
11265         * docs/design/part-messages.txt:
11266         * docs/design/part-push-pull.txt:
11267         * docs/design/part-query.txt:
11268         Some more docs.
11269
11270 2005-04-21  Wim Taymans  <wim@fluendo.com>
11271
11272         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11273         (gst_message_new), (gst_message_new_error),
11274         (gst_message_new_warning), (gst_message_new_tag),
11275         (gst_message_new_state_changed), (gst_message_new_application),
11276         (gst_message_get_structure):
11277         * gst/gstmessage.h:
11278         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11279         (gst_structure_copy_conditional):
11280         Use parent refcount in GstMessage to ensure GstStructure
11281         consistency.
11282         Cleaned up headers a bit.
11283         
11284
11285 2005-04-20  Wim Taymans  <wim@fluendo.com>
11286
11287         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11288         (gst_basesink_pad_getcaps), (gst_basesink_init),
11289         (gst_basesink_chain_unlocked):
11290         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11291         (gst_type_find_helper):
11292         * gst/elements/gsttypefindelement.c:
11293         (gst_type_find_element_have_type), (gst_type_find_element_init),
11294         (stop_typefinding), (gst_type_find_element_handle_event),
11295         (find_suggest), (gst_type_find_element_chain),
11296         (gst_type_find_element_checkgetrange),
11297         (gst_type_find_element_getrange), (do_typefind),
11298         (gst_type_find_element_activate):
11299         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11300         (gst_buffer_default_free), (gst_buffer_default_copy),
11301         (gst_buffer_set_caps):
11302         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11303         (gst_caps_replace):
11304         * gst/gstmessage.c: (gst_message_new),
11305         (gst_message_new_state_changed):
11306         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11307         (gst_pad_set_checkgetrange_function),
11308         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11309         (gst_pad_set_caps), (gst_pad_check_pull_range),
11310         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11311         * gst/gstpad.h:
11312         * gst/gsttypefind.c: (gst_type_find_register):
11313         Make gst_caps_replace() work like other _replace() functions.
11314         Use _caps_replace() where possible.
11315         Make sure _message_new() initialises its field.
11316         Add gst_static_pad_template_get_caps()
11317
11318
11319 2005-04-18  Andy Wingo  <wingo@pobox.com>
11320
11321         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11322         on the peer, not the pad. I think that was a typo. Pass an extra
11323         arg to see if random access is possible. Activate the pads as
11324         PULL_RANGE if possible.
11325
11326         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11327
11328         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11329         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11330         to PROP_....
11331
11332 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11333
11334         * docs/faq/using.xml:
11335           Add note on gstreamer-properties (#154996).
11336
11337 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11338
11339         * docs/random/bbb/optional-properties:
11340           Some analysis on optional properties.
11341
11342 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11343
11344         * docs/gst/tmpl/gstelementfactory.sgml:
11345         * gst/gstelement.h:
11346         * gst/gstelementfactory.c: (gst_element_factory_init),
11347         (gst_element_factory_cleanup), (gst_element_register),
11348         (__gst_element_factory_add_static_pad_template),
11349         (gst_element_factory_get_static_pad_templates),
11350         (gst_element_factory_can_src_caps),
11351         (gst_element_factory_can_sink_caps):
11352         * gst/registries/Makefile.am:
11353         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11354         (gst_xml_registry_class_init), (gst_xml_registry_init),
11355         (gst_xml_registry_new), (gst_xml_registry_set_property),
11356         (gst_xml_registry_get_property), (get_time), (make_dir),
11357         (gst_xml_registry_get_perms_func),
11358         (plugin_times_older_than_recurse), (plugin_times_older_than),
11359         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11360         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11361         (add_to_char_array), (read_string), (read_uint), (read_enum),
11362         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11363         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11364         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11365         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11366         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11367         (gst_xml_registry_rebuild):
11368         * gst/registries/gstlibxmlregistry.h:
11369         * tools/gst-compprep.c: (main):
11370         * tools/gst-inspect.c: (print_pad_templates_info):
11371         * tools/gst-xmlinspect.c: (print_element_info):
11372           Use libxml2 for registry parsing, use staticpadtemplates in
11373           elementfactories. Makes gst_init() +/- 10x faster.
11374
11375 2005-04-12  Wim Taymans  <wim@fluendo.com>
11376
11377         * gst/base/Makefile.am:
11378         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11379         (gst_basesink_pad_getcaps), (gst_basesink_init),
11380         (gst_basesink_event), (gst_basesink_change_state):
11381         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11382         (gst_basesrc_init), (gst_basesrc_query),
11383         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11384         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11385         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11386         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11387         (gst_basesrc_stop), (gst_basesrc_activate),
11388         (gst_basesrc_change_state):
11389         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11390         (helper_find_suggest), (gst_type_find_helper):
11391         * gst/base/gsttypefindhelper.h:
11392         * gst/elements/Makefile.am:
11393         * gst/elements/gstelements.c:
11394         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11395         (gst_fakesink_get_times), (gst_fakesink_event),
11396         (gst_fakesink_preroll), (gst_fakesink_render):
11397         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11398         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11399         (gst_fakesrc_get_property), (gst_fakesrc_create),
11400         (gst_fakesrc_start), (gst_fakesrc_stop):
11401         * gst/elements/gstfakesrc.h:
11402         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11403         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11404         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11405         (gst_filesrc_create_read), (gst_filesrc_create),
11406         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11407         (gst_filesrc_start):
11408         * gst/elements/gsttypefindelement.c:
11409         (gst_type_find_element_have_type), (gst_type_find_element_init),
11410         (start_typefinding), (stop_typefinding), (push_buffer_store),
11411         (gst_type_find_element_handle_event),
11412         (gst_type_find_element_chain),
11413         (gst_type_find_element_checkgetrange),
11414         (gst_type_find_element_getrange), (do_typefind),
11415         (gst_type_find_element_activate),
11416         (gst_type_find_element_change_state):
11417         * gst/elements/gsttypefindelement.h:
11418         * gst/gstpipeline.c: (pipeline_bus_handler):
11419         Added typefind helper.
11420         Small preroll fix in the base sink.
11421         Disable typefind code in basesrc.
11422         Crude port of typefindelement.
11423         Fakesrc cleanups.
11424
11425
11426 2005-04-11  Wim Taymans  <wim@fluendo.com>
11427
11428         * check/gst/gstbus.c: (gstbus_suite):
11429         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11430         * check/gstcheck.h:
11431           Fix up the timeout so that the test does not fail.
11432
11433 2005-04-06  Wim Taymans  <wim@fluendo.com>
11434
11435         * gst/base/README:
11436         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11437         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11438         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11439         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11440         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11441         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11442         (gst_basesrc_stop), (gst_basesrc_activate),
11443         (gst_basesrc_change_state), (basesrc_find_peek),
11444         (basesrc_find_suggest), (gst_basesrc_type_find):
11445         * gst/base/gstbasesrc.h:
11446         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11447         (gst_filesrc_class_init), (gst_filesrc_init),
11448         (gst_filesrc_finalize), (gst_filesrc_set_location),
11449         (gst_filesrc_set_property), (gst_filesrc_get_property),
11450         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11451         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11452         (gst_filesrc_create_read), (gst_filesrc_create),
11453         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11454         * gst/elements/gstfilesrc.h:
11455         * gst/gstelement.c: (gst_element_get_state_func),
11456         (gst_element_lost_state), (gst_element_pads_activate):
11457         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11458         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11459         (gst_pad_pull_range):
11460         * gst/gstpad.h:
11461         More work on the generic source base class, implement seeking,
11462         query.
11463         Make filesrc extend the base source class.
11464         Added gst_pad_set_checkgetrange_function to GstPad.
11465
11466 2005-04-06  Andy Wingo  <wingo@pobox.com>
11467
11468         * pkgconfig/gstreamer-base.pc.in:
11469         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11470
11471         * pkgconfig/Makefile.am:
11472         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11473
11474 2005-04-04  Wim Taymans  <wim@fluendo.com>
11475
11476         * gst/base/Makefile.am:
11477         * gst/base/README:
11478         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11479         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11480         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11481         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11482         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11483         (gst_basesrc_base_init), (gst_basesrc_class_init),
11484         (gst_basesrc_init), (gst_basesrc_get_formats),
11485         (gst_basesrc_get_query_types), (gst_basesrc_query),
11486         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11487         (gst_basesrc_set_property), (gst_basesrc_get_property),
11488         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11489         (gst_basesrc_loop), (gst_basesrc_activate),
11490         (gst_basesrc_change_state):
11491         * gst/base/gstbasesrc.h:
11492         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11493         (gst_fakesrc_class_init), (gst_fakesrc_init),
11494         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11495         (gst_fakesrc_get_property), (gst_fakesrc_create):
11496         * gst/elements/gstfakesrc.h:
11497         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11498         (gst_filesrc_open_file), (gst_filesrc_loop),
11499         (gst_filesrc_activate), (filesrc_find_peek),
11500         (gst_filesrc_type_find):
11501         Made base source class, make fakesrc extend it.
11502         Add comments to basesink class.
11503         Some filesrc cleanup.
11504
11505 2005-03-31  David Schleef  <ds@schleef.org>
11506
11507         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11508         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11509         expected to link against libgstreamer.
11510         * gst/base/Makefile.am: link against libgstreamer
11511         * gst/elements/Makefile.am: same
11512
11513 2005-03-31  Andy Wingo  <wingo@pobox.com>
11514
11515         * tests/instantiate/Makefile.am:
11516         * tests/instantiate/caps.c: Add test to test speed of caps copy
11517         and free.
11518
11519         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11520         GMemChunk to be fair.
11521
11522         * gst/gsttrashstack.h: Remove warning about using the fallback
11523         trash stack implementation, it's still faster than malloc.
11524
11525 2005-03-30  Andy Wingo  <wingo@pobox.com>
11526
11527         * tests/complexity.c: Add a copyright.
11528
11529 2005-03-31  Wim Taymans  <wim@fluendo.com>
11530
11531         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11532         (gst_base_transform_class_init), (gst_base_transform_init),
11533         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11534         (gst_base_transform_get_property),
11535         (gst_base_transform_sink_activate),
11536         (gst_base_transform_src_activate),
11537         (gst_base_transform_change_state):
11538         * gst/base/gstbasetransform.h:
11539         * gst/elements/gstidentity.c: (gst_identity_class_init),
11540         (gst_identity_event), (gst_identity_check_perfect),
11541         (gst_identity_transform), (gst_identity_start),
11542         (gst_identity_stop):
11543         Added start/stop methods to transform base class so subclasses 
11544         don't need to deal with state changes even.
11545
11546 2005-03-31  Wim Taymans  <wim@fluendo.com>
11547
11548         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11549         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11550         * gst/gstevent.h:
11551         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11552         (gst_pad_pull_range):
11553         Added rate to the discont event to prepare for variable speed
11554         and reverse playback.
11555
11556 2005-03-29  David Schleef  <ds@schleef.org>
11557
11558         * configure.ac:
11559         * testsuite/trigger/Makefile.am:
11560         * testsuite/trigger/trigger.c: A little example program to show
11561         how trigger-based elements can work.
11562
11563 2005-03-29  Wim Taymans  <wim@fluendo.com>
11564
11565         * gst/base/Makefile.am:
11566         * gst/base/README:
11567         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11568         (gst_basesink_base_init), (gst_basesink_class_init),
11569         (gst_basesink_pad_getcaps), (gst_basesink_init),
11570         (gst_basesink_activate), (gst_basesink_change_state):
11571         * gst/base/gstbasesink.h:
11572         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11573         (gst_base_transform_base_init), (gst_base_transform_finalize),
11574         (gst_base_transform_class_init), (gst_base_transform_init),
11575         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11576         (gst_base_transform_event), (gst_base_transform_getrange),
11577         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11578         (gst_base_transform_set_property),
11579         (gst_base_transform_get_property),
11580         (gst_base_transform_sink_activate),
11581         (gst_base_transform_src_activate),
11582         (gst_base_transform_change_state):
11583         * gst/base/gstbasetransform.h:
11584         * gst/elements/gstidentity.c: (gst_identity_finalize),
11585         (gst_identity_class_init), (gst_identity_init),
11586         (gst_identity_event), (gst_identity_check_perfect),
11587         (gst_identity_transform), (gst_identity_set_property),
11588         (gst_identity_get_property), (gst_identity_change_state):
11589         * gst/elements/gstidentity.h:
11590         * gst/gstelement.c: (gst_element_get_state_func),
11591         (gst_element_lost_state), (gst_element_pads_activate):
11592         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11593         (gst_pad_check_pull_range), (gst_pad_pull_range):
11594         * gst/gstpad.h:
11595         Simplify pad activation.
11596         Added function to check if pull_range can be performed.
11597         Error out when pulling inactive or flushing pads.
11598         Removed const from refcounted types as it does not make sense.
11599         Simplify pad templates in basesink
11600         Added base class for simple 1-to-1 transforms.
11601         Make identity subclass the base transform.
11602
11603 2005-03-29  Andy Wingo  <wingo@pobox.com>
11604
11605         * docs/libs/gstreamer-libs-overrides.txt: 
11606         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11607         really don't understand what's going on, but like whatever. I want
11608         green buildbot!
11609
11610         * docs/gst/Makefile.am:
11611         * docs/libs/Makefile.am: Dist the overrides files.
11612
11613         * check/Makefile.am (clean-local): Remove .libs directories.
11614
11615         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11616         elements to EXTRA_DIST, so po/ files are happy.
11617
11618         * po/POTFILES.in: Er, remove it here.
11619
11620         * po/POTFILES: Remove gstspider.c.
11621
11622         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11623
11624         * docs/libs/gstreamer-libs-docs.sgml: 
11625         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11626         bytestream.
11627
11628         * tests/complexity.c (main): Set the length of the preroll queue
11629         on the sinks to prevent a lockup.
11630
11631         * libs/gst/dataprotocol/Makefile.am: 
11632         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11633         the same as the one in check/gst-libs/gdp.c.
11634
11635         * po/, docs/gst/: Commit automatic changes to docs and po files.
11636
11637         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11638         the versioned libgstbase.
11639
11640         * check/Makefile.am: Depend on an unversioned gst-register, seems
11641         to make autoconf happier.
11642
11643         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11644
11645 2005-03-28  Wim Taymans  <wim@fluendo.com>
11646
11647         * configure.ac:
11648         * docs/design/part-gstelement.txt:
11649         * docs/design/part-negotiation.txt:
11650         * docs/design/part-preroll.txt:
11651         * docs/design/part-scheduling.txt:
11652         * docs/design/part-states.txt:
11653         * gst/Makefile.am:
11654         * gst/base/Makefile.am:
11655         * gst/base/README:
11656         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11657         (gst_basesink_base_init), (gst_basesink_class_init),
11658         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11659         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11660         (gst_basesink_set_pad_functions),
11661         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11662         (gst_basesink_set_property), (gst_basesink_get_property),
11663         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11664         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11665         (gst_basesink_preroll_queue_push),
11666         (gst_basesink_preroll_queue_empty),
11667         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11668         (gst_basesink_event), (gst_basesink_get_times),
11669         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11670         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11671         (gst_basesink_loop), (gst_basesink_activate),
11672         (gst_basesink_change_state):
11673         * gst/base/gstbasesink.h:
11674         * gst/elements/Makefile.am:
11675         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11676         (gst_fakesink_class_init), (gst_fakesink_init),
11677         (gst_fakesink_set_property), (gst_fakesink_get_property),
11678         (gst_fakesink_get_times), (gst_fakesink_event),
11679         (gst_fakesink_preroll), (gst_fakesink_render),
11680         (gst_fakesink_change_state):
11681         * gst/elements/gstfakesink.h:
11682         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11683         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11684         * gst/gstelement.c: (gst_element_add_pad),
11685         (gst_element_get_state_func), (gst_element_abort_state),
11686         (gst_element_commit_state), (gst_element_lost_state),
11687         (gst_element_set_state), (gst_element_pads_activate):
11688         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11689         * gst/gstpipeline.c: (gst_pipeline_send_event),
11690         (gst_pipeline_change_state):
11691         Added state change code.
11692         Added/updated docs.
11693         Added sink base class, make fakesink extend the base class.
11694         Small cleanups in GstPipeline.
11695
11696 2005-03-26  David Schleef  <ds@schleef.org>
11697
11698         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11699         is broken and should be implemented in a different library.
11700         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11701         * gst/gst.h: remove gstcpu.h
11702         * gst/gstcpu.c: remove
11703         * gst/gstcpu.h: remove
11704         * gst/Makefile.am.future: Remove this file.  It's ancient.
11705
11706 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11707
11708         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11709         (gst_bin_send_event):
11710           Add default event/set_manager handlers. The set_manager handler
11711           takes care that the manager is distributed over kids that were
11712           already in the bin before the manager was set. The event handler
11713           is a utility virtual function that sends the event over all sinks,
11714           so that gst_element_send_event (bin, event); has the expected
11715           behaviour.
11716         * gst/gstpad.c: (gst_pad_event_default):
11717           Re-install default event handling for discontinuities, so that
11718           seeking works without requiring hacks in applications or extra
11719           code in sinks.
11720         * gst/gstpipeline.c: (gst_pipeline_class_init),
11721         (gst_pipeline_send_event):
11722           Half hack, half utility: set a pipeline to PAUSED for seek events,
11723           since that is the only way we can guarantee a/v sync. Means that
11724           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11725           and it "just works".
11726
11727 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11728
11729         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11730           Lock/unlock mismatch.
11731
11732 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11733
11734         * docs/faq/gst-uninstalled:
11735           add gst-plugins-base
11736         * docs/gst/Makefile.am:
11737           don't error out until docs are fixed
11738         * docs/gst/gstreamer.types:
11739           remove thread
11740
11741 2005-03-22  Wim Taymans  <wim@fluendo.com>
11742
11743         * check/Makefile.am:
11744         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11745         * gst/gststructure.c: (gst_structure_set_valist),
11746         (gst_structure_copy_conditional):
11747         Activated more tests.
11748         Added message test.
11749         Added G_TYPE_POINTER to GstStructure.
11750         
11751
11752 2005-03-22  Wim Taymans  <wim@fluendo.com>
11753
11754         * docs/design/part-TODO.txt:
11755         * docs/design/part-events.txt:
11756         * docs/design/part-gstbin.txt:
11757         * docs/design/part-gstbus.txt:
11758         * docs/design/part-gstpipeline.txt:
11759         * docs/design/part-messages.txt:
11760         * gst/gstbus.c:
11761         * gst/gstmessage.c:
11762         Docs updates
11763
11764 2005-03-21  Wim Taymans  <wim@fluendo.com>
11765
11766         * gst/gstbus.c: (gst_bus_post):
11767         Fix copy-and-paste error.
11768
11769 2005-03-21  Wim Taymans  <wim@fluendo.com>
11770
11771         * check/Makefile.am:
11772         * gst/Makefile.am:
11773         * gst/elements/Makefile.am:
11774         * gst/elements/gstelements.c:
11775         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11776         (gst_fakesink_event), (gst_fakesink_chain):
11777         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11778         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11779         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11780         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11781         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11782         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11783         (gst_fakesrc_loop), (gst_fakesrc_activate),
11784         (gst_fakesrc_change_state):
11785         * gst/elements/gstfakesrc.h:
11786         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11787         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11788         (gst_filesrc_open_file), (gst_filesrc_loop),
11789         (gst_filesrc_activate), (gst_filesrc_change_state),
11790         (filesrc_find_peek), (filesrc_find_suggest),
11791         (gst_filesrc_type_find):
11792         * gst/elements/gstidentity.c: (gst_identity_finalize),
11793         (gst_identity_class_init), (gst_identity_init),
11794         (gst_identity_proxy_getcaps), (identity_queue_push),
11795         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11796         (gst_identity_getrange), (gst_identity_chain),
11797         (gst_identity_sink_loop), (gst_identity_src_loop),
11798         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11799         (gst_identity_set_property), (gst_identity_get_property),
11800         (gst_identity_change_state):
11801         * gst/elements/gstidentity.h:
11802         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11803         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11804         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11805         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11806         (gst_tee_sink_activate):
11807         * gst/elements/gsttee.h:
11808         * gst/gst.c: (gst_register_core_elements), (init_post):
11809         * gst/gst.h:
11810         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11811         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11812         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11813         (gst_bin_change_state):
11814         * gst/gstbin.h:
11815         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11816         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11817         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11818         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11819         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11820         (bus_watch_callback), (bus_watch_destroy),
11821         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11822         (poll_timeout), (gst_bus_poll):
11823         * gst/gstbus.h:
11824         * gst/gstcaps.h:
11825         * gst/gstdata.h:
11826         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11827         (gst_element_post_message), (gst_element_message_full),
11828         (gst_element_get_state_func), (gst_element_get_state),
11829         (gst_element_abort_state), (gst_element_commit_state),
11830         (gst_element_lost_state), (gst_element_set_state),
11831         (gst_element_pads_activate), (gst_element_change_state),
11832         (gst_element_dispose), (gst_element_set_manager_func),
11833         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11834         (gst_element_set_manager), (gst_element_get_manager),
11835         (gst_element_set_bus), (gst_element_get_bus),
11836         (gst_element_set_scheduler), (gst_element_get_scheduler):
11837         * gst/gstelement.h:
11838         * gst/gstevent.c: (gst_event_new_segment_seek),
11839         (gst_event_new_flush):
11840         * gst/gstevent.h:
11841         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11842         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11843         (gst_message_new_eos), (gst_message_new_error),
11844         (gst_message_new_warning), (gst_message_new_tag),
11845         (gst_message_new_state_changed), (gst_message_new_application),
11846         (gst_message_get_structure), (gst_message_parse_tag),
11847         (gst_message_parse_state_changed), (gst_message_parse_error),
11848         (gst_message_parse_warning):
11849         * gst/gstmessage.h:
11850         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11851         (gst_real_pad_set_property), (gst_pad_set_active),
11852         (gst_pad_is_active), (gst_pad_set_blocked_async),
11853         (gst_pad_set_blocked), (gst_pad_is_blocked),
11854         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11855         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11856         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11857         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11858         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11859         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11860         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11861         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11862         (gst_pad_set_caps), (gst_pad_configure_sink),
11863         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11864         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11865         (gst_real_pad_dispose), (gst_real_pad_finalize),
11866         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11867         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11868         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11869         * gst/gstpad.h:
11870         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11871         (pipeline_bus_handler), (gst_pipeline_change_state),
11872         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11873         * gst/gstpipeline.h:
11874         * gst/gstprobe.h:
11875         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11876         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11877         (gst_queue_link_src), (gst_queue_bufferalloc),
11878         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11879         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11880         (gst_queue_loop), (gst_queue_handle_src_event),
11881         (gst_queue_handle_src_query), (gst_queue_src_activate),
11882         (gst_queue_change_state):
11883         * gst/gstqueue.h:
11884         * gst/gstscheduler.c: (gst_scheduler_init),
11885         (gst_scheduler_dispose), (gst_scheduler_create_task),
11886         (gst_scheduler_factory_create):
11887         * gst/gstscheduler.h:
11888         * gst/gststructure.c: (gst_structure_get_type),
11889         (gst_structure_copy_conditional):
11890         * gst/gststructure.h:
11891         * gst/gsttaginterface.h:
11892         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11893         (gst_task_init), (gst_task_dispose), (gst_task_create),
11894         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11895         (gst_task_pause):
11896         * gst/gsttask.h:
11897         * gst/gstthread.c:
11898         * gst/gstthread.h:
11899         * gst/gsttypes.h:
11900         * gst/schedulers/Makefile.am:
11901         * gst/schedulers/cothreads_compat.h:
11902         * gst/schedulers/entryscheduler.c:
11903         * gst/schedulers/faircothreads.c:
11904         * gst/schedulers/faircothreads.h:
11905         * gst/schedulers/fairscheduler.c:
11906         * gst/schedulers/gstbasicscheduler.c:
11907         * gst/schedulers/gstoptimalscheduler.c:
11908         * gst/schedulers/gthread-cothreads.h:
11909         * gst/schedulers/threadscheduler.c:
11910         (gst_thread_scheduler_task_get_type),
11911         (gst_thread_scheduler_task_class_init),
11912         (gst_thread_scheduler_task_init),
11913         (gst_thread_scheduler_task_start),
11914         (gst_thread_scheduler_task_stop),
11915         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11916         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11917         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11918         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11919         (plugin_init):
11920         * libs/gst/Makefile.am:
11921         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11922         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11923         (gst_file_pad_parent_set):
11924         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11925         (gst_dp_event_from_packet):
11926         * tests/complexity.c: (main):
11927         * tests/mass_elements.c: (main):
11928         * testsuite/states/locked.c: (message_received), (main):
11929         * testsuite/states/parent.c: (main):
11930         * tools/gst-inspect.c: (print_element_flag_info),
11931         (print_implementation_info), (print_pad_info):
11932         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11933         (main):
11934         * tools/gst-md5sum.c: (event_loop), (main):
11935         * tools/gst-typefind.c: (main):
11936         * tools/gst-xmlinspect.c: (print_element_info):
11937         Next big merge.
11938         Added GstBus for mainloop integration.
11939         Added GstMessage for sending notifications on the bus.
11940         Added GstTask as an abstraction for pipeline entry points.
11941         Removed GstThread.
11942         Removed Schedulers.
11943         Simplified GstQueue for multithreaded core.
11944         Made _link threadsafe, removed old capsnego.
11945         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11946         Added pad blocking functions.
11947         Reworked scheduling functions in GstPad to prepare for
11948         scheduling updates soon.
11949         Moved events out of data stream.
11950         Simplified GstEvent types.
11951         Added return values to push/pull.
11952         Removed clocking from GstElement.
11953         Added prototypes for state change function for next merge.
11954         Removed iterate from bins and state change management.
11955         Fixed some elements, disabled others for now.
11956         Fixed -inspect and -launch.
11957         Added check for GstBus.
11958
11959 2005-03-10  Wim Taymans  <wim@fluendo.com>
11960
11961         * docs/design/part-MT-refcounting.txt:
11962         * docs/design/part-clocks.txt:
11963         * docs/design/part-gstelement.txt:
11964         * docs/design/part-gstobject.txt:
11965         * docs/design/part-standards.txt:
11966         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11967         (gst_bin_remove_func), (gst_bin_remove):
11968         * gst/gstbin.h:
11969         * gst/gstbuffer.c:
11970         * gst/gstcaps.h:
11971         * testsuite/clock/clock1.c: (main):
11972         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11973         (main):
11974         * testsuite/dlopen/loadgst.c: (do_test):
11975         * testsuite/refcounting/bin.c: (add_remove_test1),
11976         (add_remove_test2), (main):
11977         * testsuite/refcounting/element.c: (main):
11978         * testsuite/refcounting/element_pad.c: (main):
11979         * testsuite/refcounting/pad.c: (main):
11980         * tools/gst-launch.c: (sigint_handler_sighandler):
11981         * tools/gst-typefind.c: (main):
11982         Doc updates.
11983         Added doc about clock.
11984         removed gst_bin_iterate_recurse_up(), marked methods
11985         for removal.
11986         Fix more testsuites.
11987
11988 2005-03-09  Wim Taymans  <wim@fluendo.com>
11989
11990         * gst/gstpad.c: (gst_pad_get_direction),
11991         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11992         (gst_pad_collect_valist):
11993         * testsuite/bins/interface.c: (main):
11994         * testsuite/caps/audioscale.c: (test_caps):
11995         * testsuite/caps/caps.c: (test1), (test2), (test3):
11996         * testsuite/caps/deserialize.c: (main):
11997         * testsuite/caps/enumcaps.c: (main):
11998         * testsuite/caps/filtercaps.c: (main):
11999         * testsuite/caps/intersect2.c: (main):
12000         * testsuite/caps/random.c: (main):
12001         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12002         * testsuite/caps/sets.c: (check_caps):
12003         * testsuite/caps/simplify.c: (check_caps), (main):
12004         * testsuite/caps/subtract.c: (check_caps):
12005         Fix _pad_get_direction wrt ghostpads.
12006         Fix caps testsuite.
12007
12008 2005-03-09  Wim Taymans  <wim@fluendo.com>
12009
12010         * check/Makefile.am:
12011         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12012         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12013         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12014         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12015         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12016         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12017         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12018         (bin_element_is_sink), (gst_bin_iterate_sinks),
12019         (gst_bin_iterate_all_by_interface):
12020         * gst/gstbin.h:
12021         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12022         (gst_element_change_state), (gst_element_dispose),
12023         (gst_element_finalize), (gst_element_set_loop_function):
12024         * gst/gstelement.h:
12025         * gst/gstiterator.c: (find_custom_fold_func):
12026         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12027         (gst_pad_collectv), (gst_pad_collect_valist),
12028         (gst_pad_template_new):
12029         * gst/gstpipeline.c: (gst_pipeline_class_init),
12030         (gst_pipeline_dispose), (gst_pipeline_set_property),
12031         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12032         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12033         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12034         * gst/gstutils.h:
12035         * gst/schedulers/entryscheduler.c:
12036         * gst/schedulers/gstbasicscheduler.c:
12037         (gst_basic_scheduler_cothreaded_chain),
12038         (gst_basic_scheduler_chain_add_element):
12039         * testsuite/bins/interface.c: (main):
12040         Added GstBin test.
12041         Added GstSystemClock test.
12042         Implemented clock distribution code in GstBin.
12043         Implemented iterate sinks method for future use.
12044         Rearranged gstelement.h
12045         Fix GstIterator comparison bug.
12046         Moved some code to GstPipeline, mostly clocking related.
12047
12048 2005-03-09  Wim Taymans  <wim@fluendo.com>
12049
12050         * configure.ac:
12051         * gst/gst_private.h:
12052         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12053         (gst_bin_remove_func), (gst_bin_remove),
12054         (gst_bin_get_by_name_recurse_up):
12055         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12056         (gst_clock_id_compare_func), (gst_clock_id_wait),
12057         (gst_clock_id_wait_async), (gst_clock_init),
12058         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12059         * gst/gstelement.h:
12060         * gst/gstinfo.c: (_gst_debug_init):
12061         * gst/gstobject.h:
12062         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12063         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12064         * gst/gstpad.h:
12065         Bump version number, we're now 0.9.0
12066         Add future debugging category.
12067         Fix NULL _unref() in _get_by_name_recurse_up
12068         Rearrange gstpad.h.
12069         Update some docs.
12070
12071 2005-03-08  Wim Taymans  <wim@fluendo.com>
12072
12073         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12074         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12075         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12076         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12077         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12078         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12079         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12080         * gst/elements/gstidentity.c: (gst_identity_class_init):
12081         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12082         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12083         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12084         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12085         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12086         (gst_tee_link):
12087         * gst/gstelement.c: (gst_element_class_init),
12088         (gst_element_base_class_init), (gst_element_init),
12089         (gst_element_get_random_pad), (gst_element_wait_state_change),
12090         (gst_element_change_state), (gst_element_dispose),
12091         (gst_element_finalize), (gst_element_set_loop_function):
12092         * gst/gstelement.h:
12093         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12094         * gst/gstthread.c: (gst_thread_class_init),
12095         (gst_thread_release_children_locks), (gst_thread_change_state):
12096         * gst/schedulers/gstbasicscheduler.c:
12097         (gst_basic_scheduler_loopfunc_wrapper),
12098         (gst_basic_scheduler_chain_wrapper),
12099         (gst_basic_scheduler_src_wrapper),
12100         (gst_basic_scheduler_remove_element):
12101         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12102         Remove threadsafe properties. Fix elements because GObject
12103         complains when installing a property before declaring a
12104         set/get_property handler.
12105         Rearrange gstelement.h file, use STATE macros for state locks.
12106         Free mutexes in the finalize method instead of dispose.
12107
12108 2005-03-08  Wim Taymans  <wim@fluendo.com>
12109
12110         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12111         * gst/gstthread.c: (gst_thread_release_children_locks):
12112         Added parentage check.
12113         Fix build og GstThread again.
12114
12115 2005-03-08  Wim Taymans  <wim@fluendo.com>
12116
12117         * docs/design/part-MT-refcounting.txt:
12118         * docs/design/part-conventions.txt:
12119         * docs/design/part-gstobject.txt:
12120         * docs/design/part-relations.txt:
12121         * docs/design/part-standards.txt:
12122         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12123         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12124         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12125         (gst_bin_iterate_all_by_interface):
12126         * gst/gstbuffer.h:
12127         * gst/gstclock.h:
12128         * gst/gstelement.c: (gst_element_class_init),
12129         (gst_element_change_state), (gst_element_set_loop_function):
12130         * gst/gstelement.h:
12131         * gst/gstiterator.c:
12132         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12133         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12134         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12135         (gst_object_set_parent), (gst_object_unparent),
12136         (gst_object_check_uniqueness):
12137         * gst/gstobject.h:
12138         Docs updates, clean up some headers.
12139
12140 2005-03-07  Wim Taymans  <wim@fluendo.com>
12141
12142         * check/.cvsignore:
12143         * check/Makefile.am:
12144         * check/gst-libs/.cvsignore:
12145         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12146         * check/gst/.cvsignore:
12147         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12148         (START_TEST), (gstbus_suite), (main):
12149         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12150         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12151         (gst_data_suite), (main):
12152         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12153         (add_fold_func), (gstiterator_suite), (main):
12154         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12155         (thread_name_object), (thread_name_object_default),
12156         (gst_object_name_compare), (gst_object_suite), (main):
12157         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12158         (gst_pad_suite), (main):
12159         * check/gstcheck.c: (gst_check_log_message_func),
12160         (gst_check_log_critical_func), (gst_check_init):
12161         * check/gstcheck.h:
12162         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12163         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12164         Added checks.
12165
12166 2005-03-07  Wim Taymans  <wim@fluendo.com>
12167
12168         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12169         (gst_list_iterator_next), (gst_list_iterator_resync),
12170         (gst_list_iterator_free), (gst_iterator_new_list),
12171         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12172         (gst_iterator_free), (gst_iterator_push), (filter_next),
12173         (filter_resync), (filter_uninit), (filter_free),
12174         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12175         (gst_iterator_foreach), (find_custom_fold_func),
12176         (gst_iterator_find_custom):
12177         * gst/gstiterator.h:
12178         Added missing files.
12179
12180 2005-03-07  Wim Taymans  <wim@fluendo.com>
12181
12182         * Makefile.am:
12183         * configure.ac:
12184         * docs/design/part-MT-refcounting.txt:
12185         * docs/design/part-conventions.txt:
12186         * docs/design/part-gstobject.txt:
12187         * docs/design/part-relations.txt:
12188         * examples/mixer/mixer.c: (main):
12189         * examples/thread/thread.c: (eos), (main):
12190         * gst/Makefile.am:
12191         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12192         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12193         (gst_spider_plug_from_srcpad):
12194         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12195         (gst_spider_identity_change_state),
12196         (gst_spider_identity_sink_loop_type_finding):
12197         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12198         * gst/elements/gstidentity.c: (gst_identity_init):
12199         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12200         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12201         * gst/elements/gsttypefindelement.c: (free_entry):
12202         * gst/gst.c:
12203         * gst/gst.h:
12204         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12205         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12206         (gst_bin_set_index), (gst_bin_set_element_sched),
12207         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12208         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12209         (gst_bin_iterate_elements), (iterate_child_recurse),
12210         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12211         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12212         (compare_interface), (gst_bin_get_by_interface),
12213         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12214         * gst/gstbin.h:
12215         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12216         (gst_buffer_default_free), (gst_buffer_default_copy),
12217         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12218         (gst_buffer_create_sub):
12219         * gst/gstbuffer.h:
12220         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12221         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12222         (gst_caps_unref), (gst_static_caps_get),
12223         (gst_caps_remove_and_get_structure), (gst_caps_append),
12224         (gst_caps_append_structure), (gst_caps_remove_structure),
12225         (gst_caps_copy_nth), (gst_caps_set_simple),
12226         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12227         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12228         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12229         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12230         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12231         (gst_caps_structure_figure_out_union),
12232         (gst_caps_switch_structures), (gst_caps_do_simplify),
12233         (gst_caps_replace), (gst_caps_from_string),
12234         (gst_caps_copy_conditional):
12235         * gst/gstcaps.h:
12236         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12237         (_gst_clock_id_free), (gst_clock_id_unref),
12238         (gst_clock_id_compare_func), (gst_clock_id_wait),
12239         (gst_clock_id_wait_async), (gst_clock_class_init),
12240         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12241         (gst_clock_get_time), (gst_clock_set_time_adjust),
12242         (gst_clock_set_property), (gst_clock_get_property):
12243         * gst/gstclock.h:
12244         * gst/gstcompat.h:
12245         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12246         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12247         * gst/gstdata.h:
12248         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12249         (gst_element_requires_clock), (gst_element_provides_clock),
12250         (gst_element_set_clock), (gst_element_clock_wait),
12251         (gst_element_wait), (gst_element_set_time_delay),
12252         (gst_element_is_indexable), (gst_element_add_pad),
12253         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12254         (pad_compare_name), (gst_element_get_static_pad),
12255         (gst_element_request_pad), (gst_element_get_request_pad),
12256         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12257         (gst_element_class_get_pad_template_list),
12258         (gst_element_class_get_pad_template), (gst_element_error_func),
12259         (gst_element_get_random_pad), (gst_element_get_event_masks),
12260         (gst_element_send_event), (gst_element_seek),
12261         (gst_element_get_query_types), (gst_element_query),
12262         (gst_element_get_formats), (gst_element_convert),
12263         (gst_element_is_locked_state), (gst_element_set_locked_state),
12264         (gst_element_sync_state_with_parent), (gst_element_change_state),
12265         (gst_element_finalize), (gst_element_yield),
12266         (gst_element_interrupt), (gst_element_set_scheduler),
12267         (gst_element_get_scheduler), (gst_element_set_loop_function):
12268         * gst/gstelement.h:
12269         * gst/gstevent.h:
12270         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12271         (gst_format_get_by_nick), (gst_format_get_details),
12272         (gst_format_iterate_definitions):
12273         * gst/gstformat.h:
12274         * gst/gstindex.c: (gst_index_gtype_resolver):
12275         * gst/gstinfo.c:
12276         * gst/gstinfo.h:
12277         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12278         (gst_mem_chunk_free):
12279         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12280         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12281         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12282         (gst_object_dispatch_properties_changed),
12283         (gst_object_set_name_default), (gst_object_set_name),
12284         (gst_object_get_name), (gst_object_set_name_prefix),
12285         (gst_object_get_name_prefix), (gst_object_set_parent),
12286         (gst_object_get_parent), (gst_object_unparent),
12287         (gst_object_check_uniqueness), (gst_object_save_thyself),
12288         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12289         (gst_object_set_property), (gst_object_get_property),
12290         (gst_object_get_path_string):
12291         * gst/gstobject.h:
12292         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12293         (gst_real_pad_init), (gst_real_pad_get_property),
12294         (gst_pad_custom_new), (gst_pad_get_direction),
12295         (gst_pad_set_active), (gst_pad_is_active),
12296         (gst_pad_set_event_function), (gst_pad_is_linked),
12297         (gst_pad_link_free), (gst_pad_link_intersect),
12298         (gst_pad_link_fixate), (gst_pad_set_caps),
12299         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12300         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12301         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12302         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12303         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12304         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12305         (gst_pad_realize), (gst_pad_get_allowed_caps),
12306         (gst_real_pad_dispose), (gst_real_pad_finalize),
12307         (gst_pad_collectv), (gst_pad_collect_valist),
12308         (gst_pad_template_dispose), (gst_pad_template_new),
12309         (gst_pad_get_internal_links):
12310         * gst/gstpad.h:
12311         * gst/gstpipeline.c: (gst_pipeline_dispose),
12312         (gst_pipeline_change_state):
12313         * gst/gstpipeline.h:
12314         * gst/gstplugin.c:
12315         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12316         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12317         * gst/gstpluginfeature.h:
12318         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12319         * gst/gstquery.c: (_gst_query_type_initialize),
12320         (gst_query_type_register), (gst_query_type_get_by_nick),
12321         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12322         * gst/gstquery.h:
12323         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12324         * gst/gstscheduler.c: (gst_scheduler_add_element),
12325         (gst_scheduler_factory_create):
12326         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12327         (gst_structure_free), (gst_structure_set_name),
12328         (gst_structure_id_set_value), (gst_structure_set_value),
12329         (gst_structure_set_valist), (gst_structure_remove_field),
12330         (gst_structure_remove_fields),
12331         (gst_structure_remove_fields_valist),
12332         (gst_structure_remove_all_fields), (gst_structure_foreach),
12333         (gst_structure_map_in_place),
12334         (gst_caps_structure_fixate_field_nearest_int),
12335         (gst_caps_structure_fixate_field_nearest_double):
12336         * gst/gststructure.h:
12337         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12338         (gst_system_clock_init), (gst_system_clock_dispose),
12339         (gst_system_clock_async_thread),
12340         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12341         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12342         * gst/gstsystemclock.h:
12343         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12344         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12345         * gst/gsttaginterface.c:
12346         * gst/gstthread.c: (gst_thread_dispose),
12347         (gst_thread_release_children_locks), (gst_thread_change_state),
12348         (gst_thread_main_loop):
12349         * gst/gsttrashstack.h:
12350         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12351         * gst/gsttypes.h:
12352         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12353         (gst_element_request_pad), (gst_element_get_pad_from_template),
12354         (gst_element_request_compatible_pad),
12355         (gst_element_get_compatible_pad_filtered),
12356         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12357         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12358         (gst_element_link_many), (gst_element_link),
12359         (gst_element_link_pads), (gst_element_unlink_pads),
12360         (gst_element_unlink_many), (gst_element_unlink),
12361         (gst_pad_can_link_filtered), (gst_pad_can_link),
12362         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12363         (gst_object_default_error), (gst_bin_add_many),
12364         (gst_bin_remove_many), (gst_element_populate_std_props),
12365         (gst_element_class_install_std_props), (gst_buffer_merge),
12366         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12367         (link_fold_func), (gst_pad_proxy_setcaps):
12368         * gst/gstutils.h:
12369         * gst/gstvalue.c: (gst_value_deserialize_string):
12370         * gst/parse/grammar.y:
12371         * gst/schedulers/gstbasicscheduler.c:
12372         (gst_basic_scheduler_cothreaded_chain),
12373         (gst_basic_scheduler_chain_recursive_add),
12374         (gst_basic_scheduler_pad_link):
12375         * gst/schedulers/gstoptimalscheduler.c:
12376         (get_group_schedule_function),
12377         (gst_opt_scheduler_state_transition),
12378         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12379         * libs/gst/bytestream/bytestream.c:
12380         * libs/gst/dataprotocol/dataprotocol.c:
12381         (gst_dp_header_from_buffer):
12382         * po/nb.po:
12383         * po/ru.po:
12384         * tests/threadstate/threadstate2.c: (eos):
12385         * tools/gst-compprep.c: (main):
12386         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12387         (print_pad_info), (print_children_info):
12388         * tools/gst-launch.c: (idle_func), (main):
12389         * tools/gst-md5sum.c: (idle_func), (main):
12390         * tools/gst-xmlinspect.c: (print_element_info):
12391         First THREADED backport attempt, focusing on adding locks and
12392         making sure the API is threadsafe. Needs more work. More docs
12393         follow this week.
12394
12395 2005-02-24  Andy Wingo  <wingo@pobox.com>
12396
12397         * tests/bench-complexity.scm:
12398         * tests/complexity.gnuplot: New files, good for running complexity
12399         benchmarks.
12400
12401         * tests/Makefile.am:
12402         * tests/complexity.c: New test, sets up N elements, at each level
12403         teeing into M streams per element. Eeeenteresting.
12404
12405         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12406         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12407         running bench-mass_elements.scm.
12408
12409         * tests/bench-mass_elements.scm: New script, runs mass_elements
12410         for various numbers of identities, outputting the results to a
12411         file. Requires guile 1.6. Just for testing.
12412
12413 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12414
12415         * gst/schedulers/fairscheduler.c:
12416           compile with debug disabled
12417
12418 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12419
12420         * configure.ac:
12421           hunting season on 0.9 is now OPEN