libs/gst/base/: en-LARGE the padding.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-29  Andy Wingo  <wingo@pobox.com>
2
3         * libs/gst/base/gstbasetransform.h: 
4         * libs/gst/base/gstbasesrc.h: 
5         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
6
7         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
8         of pointers by which to pad very extensible base classes (like the
9         ones in libs/gst/base).
10
11 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12
13         * docs/gst/gstreamer-docs.sgml:
14         * docs/gst/gstreamer-sections.txt:
15         * docs/libs/gstreamer-libs-docs.sgml:
16         * docs/libs/gstreamer-libs-sections.txt:
17           moving documentation from core to lib
18
19 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20
21         * check/Makefile.am:
22         * configure.ac:
23         * docs/gst/Makefile.am:
24         * gst/Makefile.am:
25         * gst/base/.cvsignore:
26         * gst/base/Makefile.am:
27         * gst/base/README:
28         * gst/base/gstadapter.c:
29         * gst/base/gstadapter.h:
30         * gst/base/gstbasesink.c:
31         * gst/base/gstbasesink.h:
32         * gst/base/gstbasesrc.c:
33         * gst/base/gstbasesrc.h:
34         * gst/base/gstbasetransform.c:
35         * gst/base/gstbasetransform.h:
36         * gst/base/gstcollectpads.c:
37         * gst/base/gstcollectpads.h:
38         * gst/base/gstpushsrc.c:
39         * gst/base/gstpushsrc.h:
40         * gst/base/gsttypefindhelper.c:
41         * gst/base/gsttypefindhelper.h:
42         * gst/check/Makefile.am:
43         * gst/check/gstcheck.c:
44         * gst/check/gstcheck.h:
45         * gst/net/Makefile.am:
46         * gst/net/gstnet.h:
47         * gst/net/gstnetclientclock.c:
48         * gst/net/gstnetclientclock.h:
49         * gst/net/gstnettimepacket.c:
50         * gst/net/gstnettimepacket.h:
51         * gst/net/gstnettimeprovider.c:
52         * gst/net/gstnettimeprovider.h:
53         * libs/gst/Makefile.am:
54         * libs/gst/base/Makefile.am:
55         * libs/gst/base/gstbasetransform.c:
56         * libs/gst/check/Makefile.am:
57         * plugins/elements/Makefile.am:
58         * po/POTFILES.in:
59           CVS surgery + support to move base, check, and net out of gst
60           and into libs/gst
61
62 2005-11-29  Andy Wingo  <wingo@pobox.com>
63
64         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
65
66         * gst/gststructure.h (struct _GstStructure): Only one pointer of
67         padding.
68
69         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
70
71         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
72
73         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
74
75         * gst/gstobject.h: (struct _GstObject): Only one pointer of
76         padding; reduces object size by about 30%. We don't expect
77         anything else to go into gstobject.
78
79         * gst/gstminiobject.h (struct _GstMiniObject)
80         (struct _GstMiniObjectClass): Only one pointer of padding; the
81         payload is only a pointer and two ints anyway. For the class there
82         are only two methods as well.
83         
84         * gst/gstelement.h (struct _GstElementClass): Removed
85         the state_changed signal callback, it is not used.
86
87 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
88
89         * docs/gst/gstreamer.types:
90           fix includes, though they are a little dinky
91
92 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
93
94         * check/Makefile.am:
95           look in the right place for elements, a lot more chance of
96           success
97         * gst/Makefile.am:
98           remove indexers and elements subdirs
99         * plugins/Makefile.am:
100           make indexers conditional
101
102 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
103
104         * Makefile.am:
105         * configure.ac:
106         * plugins/elements/Makefile.am:
107         * plugins/elements/gstcapsfilter.c:
108         * plugins/elements/gstfilesink.c:
109         * plugins/elements/gstfilesrc.c:
110         * plugins/elements/gstidentity.c:
111         * plugins/indexers/Makefile.am:
112           do CVS surgery and related build fixery to move elements
113           and indexers in a new gstreamer/plugins directory, out of the
114           gst/ directory
115
116 2005-11-29  Andy Wingo  <wingo@pobox.com>
117
118         * check/Makefile.am:
119         * pkgconfig/gstreamer-net-uninstalled.pc.in:
120         * pkgconfig/gstreamer-net.pc.in:
121         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
122         #322257.
123
124 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
125
126         * tools/Makefile.am:
127         * tools/gst-complete.1.in:
128         * tools/gst-complete.c:
129         * tools/gst-compprep.1.in:
130         * tools/gst-compprep.c:
131           removing -compprep and -complete
132
133 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
134
135         * gst/gstevent.c: (gst_event_new_new_segment),
136         (gst_event_parse_new_segment):
137         * gst/gstevent.h:
138           fix #320529 - clean up new_segment API and structure.
139           Let's hope everyone was using the methods, and not the structure.
140
141 2005-11-29  Edward Hervey  <edward@fluendo.com>
142
143         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
144         (gst_base_sink_event), (gst_base_sink_do_sync),
145         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
146         Properly handle non GST_FORMAT_TIME segment
147         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
148         Properly handle non GST_FORMAT_TIME segment
149         * gst/gstsegment.c:
150         This function is valid if the accumulator is 0 and the format
151         is different from the requested format.
152         
153 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
154
155         * docs/gst/gstreamer-sections.txt:
156         Add gst_query_new_seeking and gst_query_parse_seeking to the
157         docs.
158
159 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
160
161         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
162           Treat a pad alloc with new caps the same as if we were not
163           negotiated, in order to allow a changing upstream output
164           to produce a new format of data.
165
166 2005-11-29  Edward Hervey  <edward@fluendo.com>
167
168         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
169         (gst_base_transform_event), (gst_base_transform_eventfunc):
170         The event virtual method is now properly implemented, with a default
171         handler
172         Sub classes should call the parent_class event method. They should
173         return FALSE if they had a problem handling the given event, or don't
174         want GstBaseTransform to send that even downstream
175         * gst/elements/gstidentity.c: (gst_identity_class_init),
176         (gst_identity_init), (gst_identity_event),
177         (gst_identity_transform_ip), (gst_identity_set_property),
178         (gst_identity_get_property):
179         * gst/elements/gstidentity.h:
180         Added the single-segment boolean property.
181         If set to TRUE, it will output a single segment of data, starting from
182         0, will eat up all incoming newsegment, and modify the timestamp of the
183         buffers accordingly
184
185 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
186
187         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
188           Don't ref NULL target pad (#322751). Improve docs.
189
190 2005-11-29  Michael Smith  <msmith@fluendo.com>
191
192         * gst/gstregistryxml.c: (load_plugin):
193           Don't crash if we failed to load a feature from a plugin. 
194
195 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
196
197         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
198         (GST_START_TEST):
199           use more check API and less GLib API
200
201 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
202
203         * Makefile.am:
204           don't run checks if we don't have check
205         * common/check.mak:
206           remove the registry when running make torture
207         * docs/gst/gstreamer-sections.txt:
208           remove second multiply
209         * gst/gstqueue.c: (gst_queue_loop):
210           fix a compile warning when disabling debug
211
212 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
213
214         * gst/gstinfo.h:
215         Hey! Let's print the pad name if the pointer != NULL instead
216         of when it == NULL :-)
217
218 2005-11-28  Wim Taymans  <wim@fluendo.com>
219
220         * check/gst/gstutils.c: (GST_START_TEST):
221         Updated check, add some scaling accuracy checking code.
222
223         * gst/gstutils.c: (gst_util_div128_64),
224         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
225         (gst_util_uint64_scale_int):
226         Fix 6 times faster division code. Optimize for common 
227         1/1 and less common X/1 cases.
228
229 2005-11-28  Wim Taymans  <wim@fluendo.com>
230
231         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
232         More checks.
233
234         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
235         (do_linear_regression), (gst_clock_add_observation):
236         Cleanups.
237         Release lock when the clock cannot be slaved.
238         Catch the case where the regression returned an invalid denominator.
239
240         * gst/gstutils.c: (gst_util_div128_64_iterate),
241         (gst_util_div128_64), (gst_util_uint64_scale_int64),
242         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
243         Add protentially more performant non-iterative 128/64 divide function
244         that unfortunatly does not work yet.
245         Shortcut the trivial 0/X = 0 case.
246         Remove the warnings on overflow.
247
248 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
249
250         * gst/gstplugin.c: (gst_plugin_register_func):
251           everything causing a plugin not to load should be at least a WARNING
252
253 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
254
255         * docs/random/ensonic/dparams.txt:
256           some TODOs for the next dev cycle
257         * libs/gst/controller/gstcontroller.c:
258         (gst_controlled_property_set_interpolation_mode),
259         (gst_controlled_property_new):
260         * libs/gst/controller/gstcontroller.h:
261           use base type to assign acccessor functions
262
263 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
264
265         * check/Makefile.am:
266         Oops, that should have been top_srcdir
267
268 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
269
270         * check/Makefile.am:
271         * check/elements/fdsrc.c: (GST_START_TEST):
272         Use a cmdline define to specify the location of a file to use for
273         testing, to avoid breaking distcheck.
274
275 2005-11-28  Andy Wingo  <wingo@pobox.com>
276
277         * gst/gstpad.c (fixate_value): Use array functions for arrays.
278
279 2005-11-28  Edward Hervey  <edward@fluendo.com>
280
281         * tools/gst-launch.c: (main):
282         Clarify the output strings, makes it easier to translate.
283         Fixes #322626
284
285 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
286
287         * gst/Makefile.am:
288           don't try and build net if we don't even have <sys/socket.h>
289
290 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
291
292         * check/Makefile.am:
293         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
294         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
295           Add tests for fdsrc seekability
296
297         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
298         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
299         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
300         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
301         * gst/elements/gstfdsrc.h:
302           fdsrc should not be a 'live' source.
303           Implement seeking on seekable fd's.
304
305         * gst/gstquery.c: (gst_query_new_seeking),
306         (gst_query_parse_seeking):
307         * gst/gstquery.h:
308           Implement SEEKING query functions: 
309             *_new_seeking and *_parse_seeking
310
311 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
312
313         * gst/gstelement.c: (gst_element_dispose):
314           don't loop forever
315
316         * gst/gstiterator.c:
317         * gst/gststructure.c:
318           doc fixes
319
320         * libs/gst/controller/gstcontroller.c:
321         (gst_controlled_property_set_interpolation_mode):
322         * libs/gst/controller/gstcontroller.h:
323         * libs/gst/controller/gstinterpolation.c:
324         (interpolate_none_get_enum_value_array):
325           support controlling enums
326
327 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
328
329         * gst/gstvalue.c:
330           Improve documentation for gst_value_union().
331
332         * gst/gstvalue.h:
333           Change return value for union, intersect and subtract functions
334           from gint to gboolean.
335
336 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
337
338         * gst/gstvalue.c: (gst_value_serialize_any_list),
339         (gst_value_transform_any_list_string),
340         (gst_value_deserialize_list), (gst_value_deserialize_array),
341         (gst_value_set_int_range), (gst_value_deserialize_int_range),
342         (gst_value_set_double_range), (gst_value_deserialize_double_range),
343         (gst_value_set_fraction_range_full),
344         (gst_value_deserialize_fraction_range),
345         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
346         (gst_value_deserialize_boolean),
347         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
348         (gst_value_serialize_float), (gst_value_deserialize_float),
349         (gst_string_wrap), (gst_value_deserialize_string),
350         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
351         (gst_value_union_int_range_int_range),
352         (gst_value_intersect_int_range_int_range),
353         (gst_value_intersect_double_range_double_range),
354         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
355         (gst_value_subtract_int_range_int_range),
356         (gst_value_subtract_double_double_range),
357         (gst_value_subtract_double_range_double_range),
358         (gst_value_deserialize_fraction):
359         * gst/gstvalue.h:
360           Use gint, gdouble and gchar in our API instead of int, double and
361           char (and make usage in gstvalue.c more consistent).
362
363 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
364
365         * check/Makefile.am:
366         * libs/gst/controller/Makefile.am:
367         * libs/gst/dataprotocol/Makefile.am:
368           fix up Makefile.am and remove GST_ENABLE_NEW
369
370 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
371
372         * configure.ac:
373         * gst/Makefile.am:
374         * gst/base/Makefile.am:
375         * gst/check/Makefile.am:
376         * gst/elements/Makefile.am:
377         * gst/net/Makefile.am:
378           update LDFLAGS use some more
379
380 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
381
382         * common/m4/gst-doc.m4:
383           Fixes #312589
384
385 2005-11-26  Edward Hervey  <edward@fluendo.com>
386
387         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
388         This shouldn't issue a g_warning since it returns NULL if it
389         couldn't find the plugin, and all functions using this behave
390         properly on a NULL return. Switching to a GST_WARNING.
391
392 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
393
394         * gst/gstbin.c: (gst_bin_handle_message_func):
395         Don't leak clock messages.
396
397 2005-11-25  Wim Taymans  <wim@fluendo.com>
398
399         * gst/gstutils.c: (gst_util_uint64_scale_int64),
400         (gst_util_uint64_scale_int):
401         Optimisations, remove unneeded vars.
402
403 2005-11-25  Wim Taymans  <wim@fluendo.com>
404
405         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
406         Added more checks for the high precision uint64 cases.
407
408         * gst/gstutils.c: (gst_util_uint64_scale_int64),
409         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
410         Implement high precission (guint64 * guint64) / guint64.
411
412 2005-11-24  Wim Taymans  <wim@fluendo.com>
413
414         * gst/base/gstbasesrc.c: (gst_base_src_query):
415         Fix wrong percentage query.
416
417         * gst/gstutils.c: (gst_util_uint64_scale),
418         (gst_util_uint64_scale_int):
419         Add some more common cases that can be handled 
420         efficiently to _scale.
421
422 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
423
424         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
425         (gst_mini_object_suite):
426           don't use check calls from threads; check probably isn't
427           threadsafe and using a lock to make it threadsafe would
428           defeat the purpose of this check
429         * gst/check/gstcheck.c:
430         * gst/check/gstcheck.h:
431           use GST_DEBUG some more
432
433 2005-11-24  Wim Taymans  <wim@fluendo.com>
434
435         * gst/gstutils.c: (gst_util_uint64_scale),
436         (gst_util_uint64_scale_int):
437         Chain trivial case to _scale_int.
438
439 2005-11-24  Wim Taymans  <wim@fluendo.com>
440
441         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
442         Added test for scaling.
443
444         * gst/gstclock.h:
445         Small doc fix.
446
447         * gst/gstutils.c: (gst_util_uint64_scale_int):
448         Implemented high precision scaling code.
449
450 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
451
452         * gst/gstinfo.h:
453           do not crash on pad==NULL
454
455 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
456
457         Patch by: Stefan Kost
458
459         * common/gtk-doc.mak:
460         * docs/gst/Makefile.am:
461         * docs/libs/Makefile.am:
462           Fix distcheck issues for the libraries docs build
463           Closes #319599.
464
465 2005-11-24  Michael Smith <msmith@fluendo.com>
466
467         * docs/manual/basics-helloworld.xml:
468           Fix bug #315027: memory leak in example code in docs.
469
470 2005-11-24  Michael Smith <msmith@fluendo.com>
471
472         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
473           Unlock the PREROLL_LOCK in a failure case.
474
475 2005-11-24  Wim Taymans  <wim@fluendo.com>
476
477         * docs/gst/gstreamer-sections.txt:
478         * gst/base/gstadapter.h:
479         * gst/base/gstbasesink.h:
480         * gst/base/gstbasesrc.h:
481         * gst/base/gstbasetransform.h:
482         * gst/base/gstpushsrc.h:
483         * gst/elements/gstfakesink.h:
484         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
485         * gst/elements/gstfakesrc.h:
486         * gst/elements/gstfilesink.h:
487         * gst/elements/gstfilesrc.h:
488         * gst/gst.c:
489         * gst/gstbin.c:
490         * gst/gstbuffer.c: (_gst_buffer_copy):
491         * gst/gstbus.h:
492         * gst/gstcaps.c:
493         * gst/gstchildproxy.c:
494         * gst/gstclock.c:
495         * gst/gstelement.c:
496         * gst/gstelementfactory.c:
497         * gst/gstelementfactory.h:
498         * gst/gstevent.c:
499         * gst/gstghostpad.h:
500         * gst/gstindex.h:
501         * gst/gstinterface.h:
502         * gst/gstminiobject.c:
503         * gst/gstminiobject.h:
504         * gst/gstpad.c:
505         * gst/gstpad.h:
506         * gst/gstpadtemplate.h:
507         * gst/gstpipeline.h:
508         * gst/gstpluginfeature.h:
509         * gst/gstquery.h:
510         * gst/gstqueue.h:
511         * gst/gsttaglist.c:
512         * gst/gsttaglist.h:
513         * gst/gsttagsetter.c:
514         * gst/gsttagsetter.h:
515         * gst/gsttrace.c:
516         * gst/gsttrace.h:
517         * gst/gsttypefind.h:
518         * gst/gsturi.h:
519         * gst/gstvalue.c:
520         * gst/net/gstnetclientclock.c:
521         * gst/net/gstnetclientclock.h:
522         * gst/net/gstnettimepacket.c:
523         * gst/net/gstnettimeprovider.c:
524         * gst/net/gstnettimeprovider.h:
525         Doc fixes.
526
527 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
528
529         * configure.ac: back to HEAD
530
531 === release 0.9.6 ===
532
533 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
534
535         * configure.ac:
536           releasing 0.9.6, "Always On Time"
537
538 2005-11-23  Wim Taymans  <wim@fluendo.com>
539
540         * docs/gst/gstreamer-sections.txt:
541         * gst/glib-compat.c:
542         * gst/gsttagsetter.c:
543         * gst/gstvalue.c:
544         * gst/net/gstnetclientclock.c:
545         * gst/net/gstnettimepacket.h:
546         Doc updates.
547
548 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
549
550         * docs/faq/using.xml:
551         * docs/libs/tmpl/gstcontrol.sgml:
552         * docs/manual/advanced-dparams.xml:
553         * docs/manual/appendix-checklist.xml:
554         * docs/manual/basics-elements.xml:
555         * docs/pwg/other-source.xml:
556         * docs/random/moving-plugins:
557         * gst/gstpad.c:
558         * tools/gst-launch.1.in:
559           remove mentions of sinesrc
560
561 2005-11-23  Michael Smith <msmith@fluendo.com>
562
563         * docs/gst/gstreamer-sections.txt:
564           Update for new API and API changes.
565         * gst/gstobject.h:
566           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
567         * gst/gstvalue.c:
568           Documentation typo fix.
569         * gst/net/gstnettimepacket.c:
570           Documentation fixes for arguments.
571
572 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
573
574         * gst/gststructure.c: (gst_structure_get_fraction),
575         (gst_structure_parse_value),
576         (gst_structure_fixate_field_nearest_fraction):
577         * gst/gststructure.h:
578         * gst/gstutils.c: (gst_util_uint64_scale_int):
579         * gst/gstutils.h:
580         * scripts/update-funcnames:
581         API Changes. 
582         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
583         Make gst_structure_fixate_field_nearest_fraction take a numerator
584         and denominator argument instead of a GValue
585         add gst_structure_get_fraction helper function.
586
587 2005-11-23  Wim Taymans  <wim@fluendo.com>
588
589         * docs/design/part-TODO.txt:
590         Update TODO.
591
592         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
593         * gst/net/gstnetclientclock.h:
594         Use parent fields for timeout and window_size.
595
596 2005-11-23  Andy Wingo  <wingo@pobox.com>
597
598         * check/net/gstnetclientclock.c (test_functioning): Adjust to
599         rate_num/rate_denom change.
600
601         * gst/net/gstnetclientclock.c
602         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
603         OBJECT_LOCK. Don't call add_observation with the lock.
604
605         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
606         fraction.
607         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
608         rate fraction.
609         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
610         deal with rate as a fraction whose numerator and denominator are
611         GstClockTime values.
612         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
613         master; the other fields are protected by the SLAVE_LOCK.
614         (do_linear_regression): Note that this must be called with the
615         SLAVE_LOCK.
616         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
617         OBJECT_LOCK. Call set_calibration instead of touching the
618         variables directly.
619         (gst_clock_set_property, gst_clock_get_property): Protect
620         master/slave parameters with the SLAVE_LOCK.
621
622         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
623         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
624         note that all of the instance variables that add_observation and
625         the set_master functions use are protected by that lock and not
626         the OBJECT_LOCK.
627         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
628
629         * gst/gstclock.c (gst_clock_add_observation): No longer requires
630         the caller to take the object lock.
631
632 2005-11-23  Wim Taymans  <wim@fluendo.com>
633
634         * gst/gsterror.c: (_gst_core_errors_init):
635         * gst/gsterror.h:
636         Add error for clock stuff.
637
638         * gst/gstpipeline.c: (gst_pipeline_change_state),
639         (gst_pipeline_set_clock):
640         Post clock error when clock cannot be used in a pipeline.
641
642 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
643
644         * docs/gst/gstreamer-sections.txt:
645           make two symbols from gstinfo private for the docs
646         * gst/base/gstcollectpads.h:
647         * gst/gstutils.c:
648           fix doc typos, update docs
649
650 2005-11-22  Wim Taymans  <wim@fluendo.com>
651
652         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
653         (gst_base_sink_wait), (gst_base_sink_do_sync),
654         (gst_base_sink_handle_event):
655         * gst/base/gstbasesink.h:
656         No need to store the clock, the parent element class already
657         has it.
658
659         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
660         Updates for clock_set returning a gboolean
661
662         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
663         (gst_clock_id_wait_async), (gst_clock_class_init),
664         (gst_clock_init), (gst_clock_finalize),
665         (gst_clock_get_internal_time), (gst_clock_get_time),
666         (gst_clock_slave_callback), (gst_clock_set_master),
667         (gst_clock_get_master), (do_linear_regression),
668         (gst_clock_add_observation), (gst_clock_set_property),
669         (gst_clock_get_property):
670         * gst/gstclock.h:
671         Implement master/slave. When setting a clock as a slave, a
672         periodic timeout is scheduled to sample master and slave times.
673         Then the slave clock is recalibrated to match offset and rate
674         of the master clock.
675         Update logging a bit.
676         Add flag so that a clock can state that is cannot be slaved to
677         another clock.
678
679         * gst/gstelement.c: (gst_element_set_clock):
680         * gst/gstelement.h:
681         The set clock returns a gboolean for when an element cannot
682         deal with the selected clock in the pipeline. 
683
684         * gst/gstpipeline.c: (gst_pipeline_change_state),
685         (gst_pipeline_set_clock):
686         * gst/gstpipeline.h:
687         Handle the case where the selected clock cannot be set on
688         the pipeline.
689
690         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
691         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
692         (gst_net_client_clock_set_property),
693         (gst_net_client_clock_get_property),
694         (gst_net_client_clock_observe_times):
695         * gst/net/gstnetclientclock.h:
696         Use regression code in GstClock parent, remove duplicated
697         functionality.
698
699 2005-11-22  Michael Smith <msmith@fluendo.com>
700
701         * gst/gstutils.c: (gst_util_clock_time_scale):
702         * gst/gstutils.h:
703         * docs/gst/gstreamer-sections.txt:
704           Rename method to have extra underscore.
705
706 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
707
708         * gst/elements/Makefile.am:
709         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
710         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
711         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
712         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
713         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
714         * gst/elements/gstfakesrc.h:
715         * gst/gstqueue.c: (queue_leaky_get_type):
716           correctly fix GEnumValues so that nick is the short lowercase
717           dashed tag
718         * tools/gst-inspect.c: (print_element_properties_info):
719           also show the nick, since it's useful to use from parse_launch
720           syntax
721           Fixes #322139
722
723 2005-11-22  Michael Smith <msmith@fluendo.com>
724
725         * gst/gstutils.c: (gst_util_clocktime_scale):
726         * gst/gstutils.h:
727         * docs/gst/gstreamer-sections.txt:
728           Add util method for scaling a clocktime by a fraction. Useful 
729           implementation is left as an exercise for the reader.
730
731 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
732
733         * gst/gstvalue.c: (gst_value_collect_fraction_range):
734         If needed, allocate storage in the destination value during
735         collection.
736
737 2005-11-22  Edward Hervey  <edward@fluendo.com>
738
739         * docs/gst/gstreamer-sections.txt:
740         * gst/Makefile.am:
741         * gst/gst.h:
742         * gst/gsturitype.c:
743         * gst/gsturitype.h:
744         * gst/gstutils.c: (gst_util_set_object_arg):
745         * tools/gst-compprep.c: (main):
746         * tools/gst-inspect.c: (print_element_properties_info):
747         Removed GstURI, closes bug #321061
748
749 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
750
751         * check/gst/gststructure.c: (GST_START_TEST):
752         * gst/gststructure.c: (gst_structure_parse_value):
753           Oops, broke automatic string type parsing.
754           Add a test to catch it in future.
755
756 2005-11-22  Andy Wingo  <wingo@pobox.com>
757
758         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
759         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
760         Actually rename the function implementations. Grr.
761
762 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
763
764         * check/gst/capslist.h:
765           Comment test cases
766         * check/gst/gststructure.c: (GST_START_TEST),
767         (gst_structure_suite):
768           Test automatic value type detection in gst_structure_from_string.
769         * gst/gststructure.c: (gst_structure_parse_value):
770           Add fraction as a type we try and guess automatically in
771           caps/structure strings.
772
773 2005-11-22  Andy Wingo  <wingo@pobox.com>
774
775         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
776
777         * gst/gsttagsetter.h:
778         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
779         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
780         (gst_tag_setter_add_tag_valist)
781         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
782         _add_values, _add_valist, and _add_valist_values. Since this is an
783         interface the function suffixes should be more explicit so
784         language binding don't end up with element.add_valist ->
785         gst_tag_setter_add_valist, for example. Fixes #322069.
786
787 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
788
789         * check/gst/gstcaps.c: (GST_START_TEST):
790           Extend caps string tests to check that a caps to string
791           conversion is reversible and produces the same caps.
792
793         * gst/gststructure.c: (gst_structure_value_get_generic_type):
794           Output "fraction" as the generic type fraction range, so caps
795           serialisation and deserialisation works.
796         * check/gst/capslist.h:
797         * gst/gstvalue.c: (gst_value_deserialize_fraction):
798           Support 'MIN' and 'MAX' for deserialising fractions.
799
800 2005-11-22  Andy Wingo  <wingo@pobox.com>
801
802         * gst/gstevent.h (gst_event_new_new_segment)
803         (gst_event_parse_new_segment, gst_event_new_buffer_size)
804         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
805         Renamed from *_newsegment, *_buffersize, *_notarget.
806
807         * scripts/update-funcnames: New script, performs the changes
808         listed above.
809
810 2005-11-22  Wim Taymans  <wim@fluendo.com>
811
812         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
813         Make sure the GstFlowReturn is returned.
814
815         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
816         (gst_bus_add_signal_watch):
817         * gst/gstbus.h:
818         add gst_bus_add_signal_watch_full.
819
820         * gst/gstplugin.c: (gst_plugin_load_file):
821         Small style cleanup.
822
823 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
824
825         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
826           Block the fakesrc srcpad when we send an event, to avoid
827           contention on the stream_lock causing random test failures.
828
829 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
830
831         * check/gst/gstvalue.c: (GST_START_TEST):
832         * gst/gstvalue.c: (gst_value_fraction_subtract):
833           Fix subtraction.
834
835 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
836
837         * gst/gst.h:
838           include "gstchildproxy.h"
839         * gst/gstchildproxy.h:
840         * libs/gst/controller/gstcontroller.h:
841           use G_GNUC_NULL_TERMINATED
842
843 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
844
845         * check/gst/capslist.h:
846         * check/gst/gstcaps.c: (GST_START_TEST):
847         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
848         * gst/gststructure.c: (gst_structure_parse_range),
849         (gst_structure_fixate_field_nearest_fraction):
850         * gst/gststructure.h:
851         * gst/gstvalue.c: (gst_value_init_fraction_range),
852         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
853         (gst_value_collect_fraction_range),
854         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
855         (gst_value_set_fraction_range_full),
856         (gst_value_get_fraction_range_min),
857         (gst_value_get_fraction_range_max),
858         (gst_value_serialize_fraction_range),
859         (gst_value_transform_fraction_range_string),
860         (gst_value_compare_fraction_range),
861         (gst_value_deserialize_fraction_range),
862         (gst_value_intersect_fraction_fraction_range),
863         (gst_value_intersect_fraction_range_fraction_range),
864         (gst_value_subtract_fraction_fraction_range),
865         (gst_value_subtract_fraction_range_fraction),
866         (gst_value_subtract_fraction_range_fraction_range),
867         (gst_value_collect_fraction), (gst_value_fraction_multiply),
868         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
869         (gst_value_transform_string_fraction), (_gst_value_initialize):
870         * gst/gstvalue.h:
871           Implement fraction ranges and extend GstFraction to support
872           arithmetic subtraction, as well as deserialization from integer
873           strings such as "100"
874           Add a testsuite as for int and double range set operations
875
876 2005-11-21  Andy Wingo  <wingo@pobox.com>
877
878         * gst/gsttaglist.h: 
879         * gst/gstcaps.h: 
880         * gst/gststructure.h: Add glib-compat.h.
881
882 2005-11-21  Wim Taymans  <wim@fluendo.com>
883
884         * gst/gstbin.c: (gst_bin_change_state_func):
885         Fix for #321595
886
887 2005-11-21  Wim Taymans  <wim@fluendo.com>
888
889         * gst/gstsegment.h:
890         And add a nice define too.
891
892 2005-11-21  Wim Taymans  <wim@fluendo.com>
893
894         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
895         (gst_segment_new), (gst_segment_free), (gst_segment_init),
896         (gst_segment_set_duration), (gst_segment_set_last_stop),
897         (gst_segment_set_seek), (gst_segment_set_newsegment),
898         (gst_segment_to_stream_time), (gst_segment_to_running_time),
899         (gst_segment_clip):
900         * gst/gstsegment.h:
901         Make binding friendly.
902
903 2005-11-21  Andy Wingo  <wingo@pobox.com>
904
905         * gst/gsttagsetter.h: 
906         * gst/gsttaglist.h: 
907         * gst/gststructure.h: 
908         * gst/gstcaps.h: 
909         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
910         #319940.
911
912         * gst/gsterror.c (_gst_core_errors_init):
913         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
914         category.
915
916         * gst/Makefile.am (gst_headers): Add glib-compat.h.
917         (noinst_HEADERS): noinst the -private.
918
919 2005-11-21  Michael Smith <msmith@fluendo.com>
920
921         * gst/gstplugin.h:
922         * gst/gstregistry.h:
923           Remove unimplemented declarations for which we can see no sensible
924           use.
925
926 2005-11-21  Andy Wingo  <wingo@pobox.com>
927
928         * gst/gst.h: Include glib-compat.h.
929
930         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
931
932         * gst/glib-compat.c: Include the public and the private header.
933
934         * gst/glib-compat-private.h: Copied here from glib-compat.h.
935
936         * gst/gstvalue.c: 
937         * gst/gstpad.c: 
938         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
939
940         * check/gst/gstevent.c (create_custom_events): Check that
941         FLUSH_STOP is serialized.
942
943         * check/elements/identity.c (event_func): 
944         * check/elements/fakesrc.c (event_func): No stream lock, the core
945         takes it.
946
947         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
948         stream lock taking, yay.
949
950         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
951         ensure that core takes the stream lock.
952
953         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
954         lock name change.
955
956         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
957         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
958         it already. For the flush start we do take it though so we get the
959         right preroll state change messages.
960
961         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
962         the stream lock here, the core does it for us.
963
964         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
965         GST_STREAM_GET_LOCK.
966         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
967         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
968         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
969         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
970         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
971         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
972
973         * gst/gstpad.c: Update for stream lock name change.
974
975         * gst/base/gstbasesink.c: Update for preroll lock name change.
976
977 2005-11-21  Wim Taymans  <wim@fluendo.com>
978
979         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
980         (gst_clock_get_master):
981         * gst/gstclock.h:
982         * gst/gstsystemclock.c: (gst_system_clock_init):
983         Convert Clock flags to object flags.
984         Added methods to manage master/slave clocks.
985
986 2005-11-21  Wim Taymans  <wim@fluendo.com>
987
988         * check/gst/gstsegment.c: (GST_START_TEST):
989         * docs/design/part-TODO.txt:
990         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
991         (gst_base_sink_event), (gst_base_sink_do_sync),
992         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
993         (gst_base_sink_query), (gst_base_sink_change_state):
994         * gst/base/gstbasesink.h:
995         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
996         (gst_base_src_default_newsegment),
997         (gst_base_src_configure_segment), (gst_base_src_do_seek),
998         (gst_base_src_get_range), (gst_base_src_loop),
999         (gst_base_src_change_state):
1000         * gst/base/gstbasesrc.h:
1001         * gst/base/gstbasetransform.c:
1002         (gst_base_transform_prepare_output_buf),
1003         (gst_base_transform_event), (gst_base_transform_change_state):
1004         * gst/base/gstbasetransform.h:
1005         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1006         (gst_collect_pads_event):
1007         * gst/base/gstcollectpads.h:
1008         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1009         (gst_fake_src_create):
1010         * gst/elements/gstfakesrc.h:
1011         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1012         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1013         (gst_segment_set_last_stop), (gst_segment_set_seek),
1014         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1015         (gst_segment_to_running_time), (gst_segment_clip):
1016         * gst/gstsegment.h:
1017         More segment updates, replace code in plugins with segment
1018         helper functions.
1019
1020 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1021
1022         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1023         Don't ignore sscanf results
1024
1025 2005-11-21  Andy Wingo  <wingo@pobox.com>
1026
1027         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1028
1029         * *.h:
1030         * *.c: Ran scripts/update-macros. Oh yes.
1031
1032         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1033         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1034         GST_GET_LOCK, etc.
1035
1036         * scripts/update-macros: New script. Run it on your files to
1037         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1038         well.
1039
1040 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1041
1042         * docs/gst/Makefile.am:
1043         * docs/gst/gstreamer-docs.sgml:
1044         * docs/gst/gstreamer-sections.txt:
1045         * docs/gst/gstreamer.types:
1046         * gst/gstinfo.h:
1047           more docs fixes, add new api to the docs
1048
1049 2005-11-21  Andy Wingo  <wingo@pobox.com>
1050
1051         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1052         state_broadcast call.
1053
1054         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1055
1056 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1057
1058         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1059         function calls for arrays.
1060
1061 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1062
1063         * docs/random/ensonic/media-device-daemon.txt:
1064           wild idea, can this be done?
1065         * docs/gst/gstreamer-sections.txt:
1066         * gst/gsterror.h:
1067         * gst/gstfilter.c:
1068         * gst/gstfilter.h:
1069         * gst/gstplugin.h:
1070         * gst/gstpluginfeature.c:
1071         * gst/gsttrace.c:
1072         * gst/gstvalue.c:
1073         * gst/gstvalue.h:
1074           doc fixes and additions
1075
1076 2005-11-21  Andy Wingo  <wingo@pobox.com>
1077
1078         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1079         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1080         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1081         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1082         private to the basesrc implementation.
1083
1084         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1085         behalf of event function if necessary. It should no longer be
1086         necessary to take the stream lock in pad's event functions. Fixes
1087         #320299.
1088
1089 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1090         * docs/gst/gstreamer-sections.txt:
1091         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1092         (gst_structure_fixate_field_nearest_double),
1093         (gst_structure_fixate_field_boolean):
1094         * gst/gststructure.h:
1095         * win32/common/libgstreamer.def:
1096         * win32/gstreamer.def:
1097
1098         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1099         (#322027)
1100
1101 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1102
1103         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1104         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1105         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1106         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1107         (gst_fdsrc_uri_handler_init):
1108         * gst/elements/gstfdsrc.h:
1109           Port fd:// URI handler from 0.8 to fdsrc
1110
1111 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1112
1113         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1114         (gst_value_serialize_fourcc):
1115         * gst/gstvalue.h:
1116           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1117           consistent with our other format defines (#320324).
1118
1119 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1120
1121         * gst/gstvalue.c: (gst_value_is_fixed):
1122           Revert previous commit. Value lists are by definition
1123           not fixed, as they are a list of possible values.
1124
1125 2005-11-21  Andy Wingo  <wingo@pobox.com>
1126
1127         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1128         during the stable series if we need it. Fixes #319178.
1129
1130         * gst/gstevent.c (gst_event_new_filler): Removed.
1131
1132         * check/gst/gstevent.c: Update comment about filler events.
1133
1134 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1135
1136         * gst/gstvalue.c: (gst_value_is_fixed):
1137           Should handle both value arrays and value lists.
1138
1139 2005-11-21  Andy Wingo  <wingo@pobox.com>
1140
1141         patch by: Alessandro Dessina <alessandro nnva org>
1142
1143         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1144         functions to access arrays. Fixes #321962.
1145
1146 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1147
1148         * docs/gst/gstreamer.types:
1149           gst_collectpads_get_type => gst_collect_pads_get_type.
1150           
1151         * gst/base/gstbasetransform.c:
1152           Remove unused SIGNAL_HANDOFF enum.
1153
1154 2005-11-21  Andy Wingo  <wingo@pobox.com>
1155
1156         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1157         the event type (upstream, downstream, serialized). Renamed
1158         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1159         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1160         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1161
1162         * gst/gstevent.c: Update for new CUSTOM event names.
1163
1164         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1165
1166         * gst/gstevent.h:
1167         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1168         bug #319392.
1169
1170 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1171
1172         * docs/gst/gstreamer-sections.txt:
1173         * win32/common/libgstbase.def:
1174         * win32/libgstbase.def:
1175         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1176         (gst_collect_pads_class_init), (gst_collect_pads_init),
1177         (gst_collect_pads_finalize), (gst_collect_pads_new),
1178         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1179         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1180         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1181         (gst_collect_pads_start), (gst_collect_pads_stop),
1182         (gst_collect_pads_peek), (gst_collect_pads_pop),
1183         (gst_collect_pads_available), (gst_collect_pads_read),
1184         (gst_collect_pads_flush), (gst_collect_pads_event),
1185         (gst_collect_pads_chain):
1186         * gst/base/gstcollectpads.h:
1187           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1188           unimplemented functions as unimplemented. Add padding to
1189           GstCollectData. (#320766, #320423)
1190
1191 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1192
1193         * gst/gstmessage.c:
1194           Improve docs for DURATION message (usage of duration parameter)
1195           (#320113)
1196
1197 2005-11-20  Wim Taymans  <wim@fluendo.com>
1198
1199         * check/Makefile.am:
1200         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1201         (main):
1202         * gst/Makefile.am:
1203         * gst/gst.h:
1204         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1205         (gst_segment_set_seek), (gst_segment_set_newsegment),
1206         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1207         (gst_segment_clip):
1208         * gst/gstsegment.h:
1209         Added segment helper structure and methods. Not fully implemented
1210         yet.
1211         Added segment check.
1212
1213 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1214
1215         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1216           Add a deserialisation test for fractions
1217         * examples/metadata/read-metadata.c: (message_loop),
1218         (make_pipeline), (main):
1219           Fix up metadata reading sample.
1220         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1221           Debug format fix
1222         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1223           Don't try and fixate empty caps
1224         * gst/gst_private.h:
1225           Wrap in G_BEGIN_DECLS/G_END_DECLS
1226         * gst/gstvalue.c: (gst_value_collect_fraction),
1227         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1228         (gst_value_transform_string_fraction),
1229         (gst_value_compare_fraction):
1230           Add some extra guards to ensure that we don't end up 
1231           with an invalid denominator of 0 in a gstfraction and
1232           that fractions always get reduced.
1233
1234 2005-11-20  Wim Taymans  <wim@fluendo.com>
1235
1236         * docs/gst/gstreamer-sections.txt:
1237         * gst/gstbuffer.h:
1238         * gst/gstelement.c:
1239         * gst/gstformat.c:
1240         * gst/gstformat.h:
1241         * gst/gstindex.h:
1242         * gst/gstquery.c:
1243         * gst/gstquery.h:
1244         * gst/gstvalue.c:
1245         Doc fixes.
1246
1247 2005-11-20  Wim Taymans  <wim@fluendo.com>
1248
1249         * docs/design/part-TODO.txt:
1250         * gst/gstcaps.h:
1251         Make a proper enum of the flag.
1252
1253 2005-11-19  Wim Taymans  <wim@fluendo.com>
1254
1255         * docs/design/part-TODO.txt:
1256         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1257         (gst_format_to_quark), (gst_format_register):
1258         * gst/gstformat.h:
1259         * gst/gstquery.c: (_gst_query_initialize),
1260         (gst_query_type_get_name), (gst_query_type_to_quark),
1261         (gst_query_type_register):
1262         * gst/gstquery.h:
1263         Add type to quark and type to string conversions.
1264
1265 2005-11-19  Andy Wingo  <wingo@pobox.com>
1266
1267         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1268         #320097.
1269
1270 2005-11-19  Wim Taymans  <wim@fluendo.com>
1271
1272         * docs/design/part-TODO.txt:
1273         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1274         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1275         (gst_bin_handle_message_func):
1276         * gst/gstbin.h:
1277         Make message handling overridable.
1278
1279 2005-11-19  Andy Wingo  <wingo@pobox.com>
1280
1281         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1282
1283         * gst/gstclock.h:
1284         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1285         be a GstClockTime.
1286         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1287         is a GstClockTime. Fixes #321710.
1288
1289         * gst/gstclock.h (GstClock): Remove offset property. Add
1290         internal_calibration and external_calibration. Fix padding. Pad
1291         also by GstClockTime so we don't run into problems.
1292
1293         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1294         (gst_clock_get_rate_offset): Remove.
1295         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1296
1297         * gst/gstutils.h:
1298         * gst/gstutils.c (g_static_rec_cond_wait)
1299         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1300
1301         * gst/gstbin.c: Remove terrible continue_state prototype.
1302
1303         * gst/gstelement.h (gst_element_continue_state): Make public.
1304
1305         * gst/gstelement.h:
1306         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1307         by continue_state. Fixes #319389.
1308
1309         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1310         Really fixes #168438. However I don't see anywhere where the
1311         filter function is called... stupid GStreamer...
1312         
1313         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1314         don't have a dispose function, so it won't get called when the
1315         object is unreffed, but oh well!
1316
1317         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1318         allows a destroy function to be set so user_data can be freed.
1319         Fixes #168438.
1320         (gst_index_set_filter): Call gst_index_set_filter_full.
1321
1322         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1323
1324         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1325         string should produce an error, given the lack of a way to
1326         represent NULL strings. Fixes #165650.
1327         
1328         * gst/gstvalue.h: 
1329         * gst/gstvalue.c (gst_value_array_append_value) 
1330         (gst_value_array_prepend_value, gst_value_array_get_size) 
1331         (gst_value_array_get_value): New API, copied from
1332         gst_value_list_*, only operates on arrays.
1333         (gst_value_list_append_value, gst_value_list_prepend_value) 
1334         (gst_value_list_concat, gst_value_list_get_size) 
1335         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1336
1337         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1338         init_list, because it works on both.
1339         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1340         (gst_value_copy_list_or_array): Renamed from copy_list.
1341         (gst_value_free_list_or_array): Renamed from free_list.
1342         (gst_value_collect_list_or_array): Renamed from collect_list.
1343         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1344         (gst_value_list_or_array_peek_pointer): Renamed from
1345         list_peek_pointer.
1346         (_gst_value_array_value_table, _gst_value_list_value_table):
1347         Update value table functions.
1348         (gst_value_compare_list_or_array): Renamed from compare_list.
1349
1350         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1351         some constness.
1352
1353         * gst/gsttaglist.c:
1354         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1355         GstTagList*. Fixes #143472.
1356
1357         * gst/gststructure.h: Clarify what the foreach/map functions can
1358         or can't do to their arguments.
1359
1360 2005-11-18  Wim Taymans  <wim@fluendo.com>
1361
1362         * gst/gstclock.c: (gst_clock_set_calibration),
1363         (gst_clock_get_calibration):
1364         Doc and API fixes.
1365         Calibration can be set with internal time equal to current
1366         internal time too.
1367
1368 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1369
1370         * gst/gsterror.c:
1371         * gst/gsterror.h:
1372           document
1373
1374 2005-11-18  Andy Wingo  <wingo@pobox.com>
1375
1376         * configure.ac: 
1377         * pkgconfig/gstreamer-net.pc.in:
1378         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1379         * pkgconfig/Makefile.am: Add net pkgconfig files.
1380
1381 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1382
1383         * gst/gstcaps.c:
1384         * gst/gstghostpad.c:
1385         * gst/gsttrace.c:
1386         * gst/gstvalue.c:
1387         * gst/gstvalue.h:
1388           docs fixes
1389
1390 2005-11-18  Andy Wingo  <wingo@pobox.com>
1391
1392         * gst/net/gstnetclientclock.c: Turn off debugging.
1393
1394         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1395         times connverge somewhat. Can't make a real test.
1396
1397         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1398         integer arithmetic. Return the minimum of the domain, which can be
1399         set as "internal" for gst_clock_set_calibration.
1400         (gst_net_client_clock_observe_times): Call _set_calibration.
1401         (gst_net_client_clock_new): Call _set_calibration instead of
1402         rate_offset.
1403
1404         * check/net/gstnetclientclock.c (test_functioning): Use the right
1405         adjustment api.
1406
1407         * gst/gstclock.h:
1408         * gst/gstclock.c (gst_clock_get_calibration) 
1409         (gst_clock_set_calibration): New functions, obsolete the ones I
1410         added yesterday. Doh. Precision issues mean we have to extrapolate
1411         from a point in the more recent past than 1970.
1412         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1413         obsolete.
1414         (gst_clock_adjust_unlocked): Use the right calibration data.
1415
1416 2005-11-18  Edward Hervey  <edward@fluendo.com>
1417
1418         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1419         Also reset the ->current_* values in READY->PAUSED
1420
1421 2005-11-18  Andy Wingo  <wingo@pobox.com>
1422
1423         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1424         Whoops, check the right fd. Also add some debugging.
1425         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1426         (do_linear_regression): Add a crapload of debugging. Subtract off
1427         the minimum values from the input series to discard unneeded bits.
1428         Use only int arithmetic. There is still double arithmetic when
1429         calculating the intercept that needs fixing. Return boolean to
1430         indicate success; FALSE would mean the domain or range is too
1431         great. Still needs fixes.
1432
1433 2005-11-18  Wim Taymans  <wim@fluendo.com>
1434
1435         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1436         For the current position in stream time, we need to subtract
1437         accumulated time.
1438         
1439         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1440         Release lock before calling the callback function of async
1441         entries.
1442
1443 2005-11-18  Andy Wingo  <wingo@pobox.com>
1444
1445         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1446         Port goes all the way to MAXUINT16.
1447
1448         * gst/net/gstnettimeprovider.c: Make the port range the same as
1449         for the kernel: 0 assigns, otherwise ports are less than
1450         MAXUINT16.
1451
1452         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1453         port change.
1454
1455         * check/net/gstnetclientclock.c (test_functioning): Add the start
1456         of another test. 
1457
1458 2005-11-18  Wim Taymans  <wim@fluendo.com>
1459
1460         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1461         (gst_bin_remove_func), (bin_bus_handler):
1462         * gst/gstbin.h:
1463         Removing a clock provider from a bin, triggers a clock lost message
1464         so that a new clock will be selected.
1465         Adding a clock to a bin triggers a clock provider message.
1466         Make sure we reselect a clock when we received a clock lost message.
1467         Keep a reference to the element that provided the clock.
1468
1469 2005-11-18  Andy Wingo  <wingo@pobox.com>
1470
1471         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1472         the clock initially so it produces values around the base time.
1473         (gst_net_client_clock_class_init): Typo fix.
1474         (gst_net_client_clock_thread): Add note on when the socket gets
1475         closed.
1476
1477 2005-11-17  Wim Taymans  <wim@fluendo.com>
1478
1479         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1480         Free remote and local time arrays.
1481
1482 2005-11-17  Wim Taymans  <wim@fluendo.com>
1483
1484         * gst/net/gstnetclientclock.c: (do_linear_regression),
1485         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1486         Fix compilation, uninitialized vars and a forgotten continue.
1487
1488 2005-11-17  Andy Wingo  <wingo@pobox.com>
1489
1490         * check/Makefile.am (check_PROGRAMS): 
1491         * check/net/gstnetclientclock.c: Add a most minimal test for the
1492         net client clock. More to come later.
1493
1494         * gst/net/gstnet.h: 
1495         * gst/net/Makefile.am: Add netclientclock.
1496
1497         * gst/net/gstnetclientclock.h:
1498         * gst/net/gstnetclientclock.c: New files, implement an untested
1499         GstClock that takes its time from a network time provider.
1500         Implements the algorithm in network-clock.scm.
1501
1502         * tests/network-clock.scm (*window-size*): Rename from
1503         *queue-length*.
1504         * tests/network-clock.scm (network-time): 
1505         * tests/network-clock-utils.scm (q-push): Update callers.
1506
1507 2005-11-17  Wim Taymans  <wim@fluendo.com>
1508
1509         * gst/gstbin.c: (gst_bin_provide_clock_func),
1510         (gst_bin_sort_iterator_new):
1511         And unref the child too..
1512
1513 2005-11-17  Wim Taymans  <wim@fluendo.com>
1514
1515         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1516         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1517         Refactor the sort iterator so it can be used while holding the
1518         LOCK too.
1519         Make clock selection select a clock closest to the source.
1520
1521 2005-11-17  Michael Smith <msmith@fluendo.com>
1522
1523         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1524         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1525         * gst/gstclock.h:
1526           Anonymous structs are a gcc (and some other compilers) extension, so
1527           don't use them. Since this is only for ABI-compatibility, and our
1528           API/ABI freeze is over in a few days, this whole thing will only
1529           last a few days, so don't bother trying to think up a meaningful
1530           name for the struct.
1531
1532 2005-11-17  Andy Wingo  <wingo@pobox.com>
1533
1534         * gst/gstclock.h (GstClock): Add rate and offset properties,
1535         preserving ABI stability. Add rate/offset accessors. Will file bug
1536         for the freeze break.
1537
1538         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1539         and offset, trying to keep precision and avoiding
1540         underflow/overflow.
1541         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1542         functions. Make gst_clock_set_time_adjust obsolete.
1543         (gst_clock_set_time_adjust): Note that this function is obsolete.
1544         Will file bug soon.
1545
1546         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1547         greppable by using GST_PADDING-1+1.
1548
1549 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1550
1551         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1552
1553         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1554           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1555
1556         * gst/gstpadtemplate.h:
1557         * gst/gstpluginfeature.h:
1558           Don't use c++ style comments in headers (#321638).
1559
1560 2005-11-16  Andy Wingo  <wingo@pobox.com>
1561
1562         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1563         buffer.
1564
1565         * check/net/gstnettimeprovider.c: Check to see that the time
1566         provider actually provides times. Works, yo!
1567
1568 2005-11-16  Wim Taymans  <wim@fluendo.com>
1569
1570         * check/Makefile.am:
1571         Enable more tests.
1572
1573         * check/elements/fakesrc.c: (GST_START_TEST):
1574         Set element to NULL before disposing it.
1575
1576 2005-11-16  Andy Wingo  <wingo@pobox.com>
1577
1578         * gst/net/Makefile.am:
1579         * gst/net/gstnet.h:
1580         * gst/net/gstnettimeprovider.c: 
1581         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1582         provider, include it from gstnet.h, and add it to the build.
1583
1584         * gst/net/gstnettimepacket.h: 
1585         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1586         sending and receiving.
1587
1588 2005-11-16  Wim Taymans  <wim@fluendo.com>
1589
1590         * check/Makefile.am:
1591         Enable valgrind check.
1592
1593         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1594         (gst_fake_src_alloc_buffer):
1595         Fix memleak.
1596
1597 2005-11-16  Wim Taymans  <wim@fluendo.com>
1598
1599         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1600         Call parent finalize too.
1601
1602 2005-11-16  Wim Taymans  <wim@fluendo.com>
1603
1604         * check/Makefile.am:
1605         Enable valgrind check that should work fine now.
1606
1607         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1608         * gst/gstqueue.c: (gst_queue_init):
1609         Fix memleaks in pad allocation.
1610
1611 2005-11-16  Andy Wingo  <wingo@pobox.com>
1612
1613         * gst/net/Makefile.am:
1614         * gst/net/gstnet.h: New part of core to hold network elements and
1615         objects. Put in core because it exposes API that applications want
1616         to use. The library is named libgstnet-tempname right now because
1617         of the existing libgstnet in gst-plugins-base. Solution is
1618         probably to rename the one in plugins-base; will file a bug for
1619         the freeze break.
1620
1621         * gst/net/gstnettimeprovider.c: 
1622         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1623         get_time call over the network.
1624
1625         * configure.ac: 
1626         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1627
1628         * check/Makefile.am:
1629         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1630         get additions shortly.
1631
1632 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1633
1634         * gst/gstpad.c: (gst_pad_new_from_static_template):
1635         * gst/gstpad.h:
1636           add gst_pad_new_from_static_template functions
1637         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1638         (gst_check_setup_sink_pad):
1639         * gst/elements/gsttee.c: (gst_tee_init):
1640           and use them
1641
1642 2005-11-16  Wim Taymans  <wim@fluendo.com>
1643
1644         * gst/gstpad.c: (gst_pad_pause_task):
1645         Removed warning, it's not really an error either.
1646
1647 2005-11-16  Wim Taymans  <wim@fluendo.com>
1648
1649         * gst/base/gstbasetransform.c:
1650         (gst_base_transform_prepare_output_buf),
1651         (gst_base_transform_event):
1652         Check if the caps are NULL, this can happen if the element
1653         is shutting down and the pad caps are set to NULL.
1654
1655 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1656
1657         * gst/elements/gsttee.c: (gst_tee_init):
1658           fix pad template leak in tee
1659
1660 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1661
1662         * gst/glib-compat.c: (g_value_dup_gst_object):
1663         * gst/glib-compat.h:
1664         * gst/gstpad.c: (gst_pad_set_property):
1665           use gst_object_ref when setting the pad template; this will
1666           trigger the pad template leaks on GLib 2.6 and the slaves
1667
1668 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1669
1670         * gst/glib-compat.c: (gst_flags_get_first_value):
1671         * gst/glib-compat.h:
1672         * gst/gstregistryxml.c:
1673           remove functions copied from GLib 2.6
1674
1675 2005-11-16  Michael Smith <msmith@fluendo.com>
1676
1677         * gst/Makefile.am:
1678           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1679           do, but only breaks with newer valgrind versions. We're not a
1680           valgrind tool, we have no link-time dependencies on libcoregrind.
1681
1682 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1683
1684         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1685           some debug changes
1686         * gst/gstmessage.h:
1687           typo fixes
1688
1689 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1690
1691         * gst/base/gstbasesrc.c: (gst_base_src_init):
1692         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1693         * gst/gstqueue.c: (gst_queue_init):
1694         * gst/gstregistryxml.c: (load_feature):
1695           Revert all these unrefs, they don't even pass make check !
1696
1697 2005-11-15  Johan Dahlin  <johan@gnome.org>
1698
1699         * gst/base/gstbasesrc.c: (gst_base_src_init):
1700         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1701         * gst/gstqueue.c: (gst_queue_init): 
1702         Free pad templates, fixes a couple of leaks.
1703
1704 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1705
1706         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1707
1708         * gst/gstpad.c: (gst_pad_get_property):
1709           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1710           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1711           (#321452)
1712
1713 2005-11-15  Wim Taymans  <wim@fluendo.com>
1714
1715         * gst/gstevent.c:
1716         Small doc update.
1717
1718 2005-11-15  Andy Wingo  <wingo@pobox.com>
1719
1720         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1721
1722         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1723         using GST_CLOCK_TIME_NONE to disable base time management.
1724         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1725         time if it was NONE before.
1726         (gst_pipeline_change_state): Only munge the base time if
1727         stream_time != GST_CLOCK_TIME_NONE.
1728
1729         * check/gst/gstpipeline.c (test_base_time): Punt around the
1730         problem of the probe not being called, because that's not the
1731         issue I'm looking at. Add a check that setting stream_time to NONE
1732         disables base time management.
1733         
1734 2005-11-15  Wim Taymans  <wim@fluendo.com>
1735
1736         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1737         segment_stop == -1 at startup.
1738
1739         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1740         (gst_base_transform_change_state):
1741         Init segment values at start.
1742
1743 2005-11-15  Wim Taymans  <wim@fluendo.com>
1744
1745         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1746         0 segment values are 0 in any format.
1747
1748         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1749         * gst/base/gstbasetransform.h:
1750         Parse newsegment correctly in basetransform
1751
1752         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1753         Sync to clock using updated segment values.
1754
1755 2005-11-15  Andy Wingo  <wingo@pobox.com>
1756
1757         * check/gst/gstpipeline.c (test_base_time): Add check that the
1758         base time and stream time are reset correctly.
1759
1760 2005-11-15  Wim Taymans  <wim@fluendo.com>
1761
1762         * docs/design/part-TODO.txt:
1763         Some more TODO items.
1764
1765 2005-11-15  Andy Wingo  <wingo@pobox.com>
1766
1767         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1768         error if the user selected "no clock" as the clocking method.
1769
1770         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1771         timestamps with live capture.
1772
1773         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1774         is 0 but we are a live source, timestamp the buffers using the
1775         element's clock.
1776
1777 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1778
1779         * docs/gst/gstreamer-sections.txt:
1780         * gst/gsterror.c:
1781         * gst/gstghostpad.c:
1782         * gst/gstobject.h:
1783         * gst/gstxml.c:
1784           more section docs
1785
1786 2005-11-14  Wim Taymans  <wim@fluendo.com>
1787
1788         * common/gst.supp:
1789           add suppressions from Wim's Debian machine
1790
1791 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1792
1793         * common/gst.supp:
1794           add suppressions from Andy's AMD64 Ubuntu machine
1795
1796 2005-11-14  Andy Wingo  <wingo@pobox.com>
1797
1798         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1799         STATE_LOCK not necessary. Fixes #311489.
1800
1801         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1802         #305291.
1803
1804         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1805         this function is not implemented.
1806
1807 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1808
1809         * gst/base/gstbasetransform.c:
1810         (gst_base_transform_prepare_output_buf):
1811         Ref the source pad caps while we need them.
1812         Fixes (#321386)
1813
1814 2005-11-11  Wim Taymans  <wim@fluendo.com>
1815
1816         * docs/gst/gstreamer-sections.txt:
1817         Added some docs for GstCollectData.
1818
1819         * gst/base/gstadapter.c:
1820         Some small code example fix.
1821
1822         * gst/base/gstcollectpads.c:
1823         * gst/base/gstcollectpads.h:
1824         Document some more.
1825
1826 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1827
1828         * configure.ac: back to HEAD
1829
1830 === release 0.9.5 ===
1831
1832 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1833
1834         * configure.ac:
1835           releasing 0.9.5, "Bike Lunch Day"
1836
1837 2005-11-11  Wim Taymans  <wim@fluendo.com>
1838
1839         * gst/gstbuffer.c: (_gst_buffer_copy):
1840         Copy more flags.
1841
1842         * gst/gstcaps.c: (gst_caps_is_equal):
1843         Fix some docs.
1844         Make _is_equal fast in the trivial cases.
1845
1846         * gst/gstminiobject.c:
1847         * gst/gstminiobject.h:
1848         More docs. Spifify .h file.
1849
1850         * gst/gstutils.c:
1851         Small doc update.
1852
1853 2005-11-11  Wim Taymans  <wim@fluendo.com>
1854
1855         * gst/base/gstbasetransform.c:
1856         (gst_base_transform_prepare_output_buf),
1857         (gst_base_transform_handle_buffer):
1858         Small cleanups.
1859         If we're processing a buffer and need to allocate an output
1860         buffer, we cannot accept a format change. If we did get a 
1861         format change, we have to alloc a buffer ourselves of the 
1862         right size.
1863
1864 2005-11-11  Wim Taymans  <wim@fluendo.com>
1865
1866         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1867         While checking the flag for reentrancy in the gstcaps function
1868         is nice to detect recursive invocations, it also makes it 
1869         impossible to call getcaps from multiple threads, which must be
1870         possible. So, checking for recursive calls has to go.
1871
1872 2005-11-11  Michael Smith <msmith@fluendo.com>
1873
1874         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1875           Don't sync on buffers that fall partially outside our current
1876           segment. Prevents an assertion failure/abort playing some files.
1877
1878 2005-11-10  Andy Wingo  <wingo@pobox.com>
1879
1880         * check/gst/gstbin.c (test_message_state_changed_children): Style
1881         fix..
1882
1883         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1884         gst_bus_poll with the signal watch. Ensures that poll and a signal
1885         watch see the same messages.
1886
1887         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1888         a poll and a watch at the same time get the same messages.
1889
1890 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1891
1892         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1893         * gst/gstcaps.c: (gst_caps_intersect):
1894           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1895           and it's not needed.
1896
1897 2005-11-10  Wim Taymans  <wim@fluendo.com>
1898
1899         * docs/design/part-TODO.txt:
1900         Updated todo.
1901
1902 2005-11-10  Wim Taymans  <wim@fluendo.com>
1903
1904         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1905         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1906         (gst_base_src_do_sync), (gst_base_src_get_range):
1907         Implement clock sync in base class.
1908
1909 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1910
1911         patch by: Tim-Philipp Müller <tim at centricular dot net>
1912
1913         * gst/gststructure.c: (gst_structure_parse_field),
1914         (gst_structure_from_string):
1915           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1916           so that gst_parse_launch() can deal with spaces in filtered link
1917           caps (fixes #164479)
1918         * check/gst/capslist.h:
1919         * check/gst/gststructure.c: (GST_START_TEST):
1920           add unit tests for this change
1921
1922 2005-11-10  Wim Taymans  <wim@fluendo.com>
1923
1924         * docs/gst/gstreamer-sections.txt:
1925         * gst/gstelement.c:
1926         * gst/gstelement.h:
1927         Fix docs, move some STATE macros to private.
1928
1929 2005-11-10  Wim Taymans  <wim@fluendo.com>
1930
1931         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1932         Added check for bug #317341
1933
1934         * gst/gstbuffer.c:
1935         * gst/gstbuffer.h:
1936         Some more spiffifying.
1937
1938         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1939         Call peer linkfunction if we are a source pad. Totally fixes
1940         #317341
1941
1942         * gst/gstpad.c:
1943         Update docs, source pads should call the peer linkfunction
1944         so they can atomically perform the pad link.
1945
1946 2005-11-09  Wim Taymans  <wim@fluendo.com>
1947
1948         * gst/gstbuffer.c:
1949         * gst/gstbuffer.h:
1950         Uber-spiffy-spiffify some more.
1951
1952 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1953
1954         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1955         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1956         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1957         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1958         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1959         * gst/gstpad.c: (gst_pad_init):
1960           Use GST_DEBUG_FUNCPTR() more extensively.
1961
1962 2005-11-09  Wim Taymans  <wim@fluendo.com>
1963
1964         * gst/gstobject.c: (gst_object_class_init):
1965         * gst/gstobject.h:
1966         Documentation fixes.
1967
1968 2005-11-09  Edward Hervey  <edward@fluendo.com>
1969
1970         * gst/gsttypefindfactory.c:
1971         Fix docs.
1972         
1973 2005-11-09  Edward Hervey  <edward@fluendo.com>
1974
1975         * gst/base/gsttypefindhelper.c:
1976         * gst/gsttypefind.c:
1977         * gst/gsttypefind.h:
1978         Fix docs.
1979
1980 2005-11-09  Wim Taymans  <wim@fluendo.com>
1981
1982         * gst/gstiterator.c:
1983         Fix revision data.
1984
1985         * gst/gsttask.c:
1986         * gst/gsttask.h:
1987         Fix docs.
1988
1989 2005-11-09  Wim Taymans  <wim@fluendo.com>
1990
1991         * gst/gstevent.h:
1992         * gst/gsturi.h:
1993         Fix docs.
1994
1995 2005-11-09  Wim Taymans  <wim@fluendo.com>
1996
1997         * docs/gst/gstreamer-sections.txt:
1998         Moved the message async delivery private lock and cond
1999         to the private section.
2000
2001         * gst/gstmessage.c:
2002         * gst/gstmessage.h:
2003         Fixed docs.
2004
2005 2005-11-09  Edward Hervey  <edward@fluendo.com>
2006
2007         * docs/gst/gstreamer-sections.txt:
2008         * gst/gsturi.c:
2009         * gst/gsturi.h:
2010         Document GstURIHandler
2011
2012 2005-11-09  Wim Taymans  <wim@fluendo.com>
2013
2014         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2015         (gst_iterator_find_custom):
2016         * gst/gstiterator.h:
2017         Fix iterator docs.
2018
2019 2005-11-09  Wim Taymans  <wim@fluendo.com>
2020
2021         * gst/gstbin.h:
2022         Document another field.
2023
2024         * gst/gststructure.c:
2025         * gst/gststructure.h:
2026         Document.
2027
2028 2005-11-09  Wim Taymans  <wim@fluendo.com>
2029
2030         * gst/gstbin.h:
2031         Documented structs.
2032
2033 2005-11-09  Wim Taymans  <wim@fluendo.com>
2034
2035         * docs/gst/gstreamer-sections.txt:
2036         Added some new macros.
2037
2038         * gst/gstclock.c:
2039         * gst/gstclock.h:
2040         * gst/gstobject.h:
2041         Docs updates.
2042
2043 2005-11-09  Wim Taymans  <wim@fluendo.com>
2044
2045         * docs/design/part-TODO.txt:
2046         Some more items for the TODO
2047
2048         * gst/gstcaps.c:
2049         * gst/gstcaps.h:
2050         Document GstCaps.
2051
2052 2005-11-09  Andy Wingo  <wingo@pobox.com>
2053
2054         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2055         to work on something else now tho...
2056
2057         * gst/base/gstadapter.c: More adapter docs.
2058
2059         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2060         (gst_file_sink_stop): New functions, replace the state change
2061         handler.
2062         (gst_file_sink_class_init): Hook up the start and stop functions.
2063         (gst_file_sink_base_init): Don't set the state change handler any
2064         more. It was a bit ugly too, being set from here...
2065         (gst_file_sink_get_property, gst_file_sink_set_property):
2066         Cleanups...
2067         (gst_file_sink_set_location): More robust check that doesn't call
2068         GST_STATE. Ugggggg.
2069
2070 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2071
2072         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2073           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2074
2075 2005-11-08  Wim Taymans  <wim@fluendo.com>
2076
2077         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2078         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2079         (gst_base_sink_chain), (gst_base_sink_change_state):
2080         * gst/base/gstbasesink.h:
2081         * gst/base/gstbasesrc.h:
2082         * gst/gstelement.h:
2083         * gst/gstevent.h:
2084         Avoid excessive typechecking in macros.
2085
2086         * gst/gstminiobject.c: (gst_mini_object_get_type),
2087         (gst_mini_object_init), (gst_mini_object_new),
2088         (gst_mini_object_free):
2089         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2090         (gst_object_finalize):
2091         Remove cruft code, optimize alloc_trace.
2092
2093 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2094
2095         * docs/faq/gst-uninstalled:
2096           fix up PS1 for systems that try to reset it
2097
2098 2005-11-07  Wim Taymans  <wim@fluendo.com>
2099
2100         * gst/base/gstbasesrc.c: (gst_base_src_init),
2101         (gst_base_src_get_range):
2102         Set the segment_end to -1 initially. Fixed typefind.
2103
2104 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2105
2106         * gst/base/gstadapter.c:
2107           Debug category should be 'adapter', not 'GstAdapter'.
2108           
2109         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2110         (gst_collectpads_class_init), (gst_collectpads_init),
2111         (gst_collectpads_peek), (gst_collectpads_pop),
2112         (gst_collectpads_event), (gst_collectpads_chain):
2113           Add debug category and some debugging output. Use boilerplate
2114           macros. Remove some extraneous words from docs.
2115
2116 2005-11-05  Andy Wingo  <wingo@pobox.com>
2117
2118         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2119         macro.
2120
2121 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2122
2123         * docs/gst/gstreamer-sections.txt:
2124         * gst/gstcaps.h:
2125         * gst/gstinfo.c:
2126         * gst/gstminiobject.h:
2127         * gst/gstobject.h:
2128         * gst/gstutils.h:
2129           more docs added
2130
2131 2005-11-04  Wim Taymans  <wim@fluendo.com>
2132
2133         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2134         Small update to stop at the configured segment_end
2135         position.
2136
2137 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2138
2139         * gst/gstregistry.c:
2140         * gst/gstregistry.h:
2141           added missing docs
2142
2143 2005-11-04  Edward Hervey  <edward@fluendo.com>
2144
2145         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2146         Check if we are doing a segment seek and have arrived at the
2147         end of that segment.
2148
2149 2005-11-04  Wim Taymans  <wim@fluendo.com>
2150
2151         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2152         Don't leak a mutex unlock in case of an error.
2153
2154         * gst/gstbus.h:
2155         Doc fixes.
2156
2157 2005-11-04  Wim Taymans  <wim@fluendo.com>
2158
2159         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2160         (gst_bus_post):
2161         Get the context to wake up only once.
2162
2163 2005-11-03  Wim Taymans  <wim@fluendo.com>
2164
2165         * check/states/sinks.c: (GST_START_TEST):
2166         Uncomment fixed check.
2167
2168         * docs/design/part-TODO.txt:
2169         Updated TODO.
2170
2171         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2172         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2173         (gst_base_sink_get_position):
2174         If we are going to PLAYING, post the right pending state
2175         when we post the intermediate paused message.
2176
2177         * gst/gstelement.c: (gst_element_continue_state),
2178         (gst_element_set_state_func), (gst_element_change_state):
2179         Don't post state changes that were between the same state
2180         and were not ASYNC.
2181
2182 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2183
2184         * docs/gst/gstreamer-sections.txt:
2185         * gst/gstcaps.h:
2186         * gst/gstinfo.c:
2187         * gst/gstminiobject.h:
2188         * gst/gstobject.h:
2189         * gst/gstutils.h:
2190           more docs and doc style fixes
2191
2192 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2193
2194         * docs/gst/gstreamer-sections.txt:
2195         * gst/gstelement.c:
2196         * gst/gstminiobject.c:
2197         doc fixes
2198
2199 2005-11-03  Andy Wingo  <wingo@pobox.com>
2200
2201         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2202         state-changed messages actually have the right order and the right
2203         values.
2204
2205 2005-11-03  Wim Taymans  <wim@fluendo.com>
2206
2207         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2208         Added some more checks. Specifically the case where NO_PREROLL
2209         elements are in the pipeline.
2210
2211         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2212         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2213         (gst_base_sink_get_position):
2214         Post READY->PAUSED state change messages too.
2215         Fix bug where VOID was posted as pending state...
2216
2217         * gst/gstbin.c: (gst_bin_recalc_state):
2218         use _element_continue_state() to continue the state change.
2219
2220         * gst/gstelement.c: (gst_element_continue_state),
2221         (gst_element_commit_state), (gst_element_set_state_func),
2222         (gst_element_change_state), (gst_element_change_state_func):
2223         Lots of state change cleanups, assign the STATE_RETURN in
2224         a new continue_state() function that also propagates the
2225         last return value from a state change to the app.
2226         Update some debug statements with proper category.
2227
2228 2005-11-03  Wim Taymans  <wim@fluendo.com>
2229
2230         * docs/design/part-events.txt:
2231         * docs/design/part-gstpipeline.txt:
2232         * docs/design/part-messages.txt:
2233         * docs/design/part-overview.txt:
2234         * docs/design/part-seeking.txt:
2235         * docs/design/part-states.txt:
2236         * docs/design/part-trickmodes.txt:
2237         * docs/manual/advanced-position.xml:
2238         Small docs updates.
2239
2240         * gst/gstobject.h:
2241         People think !! is ugly, this looks better.
2242
2243         * gst/gstpad.c: (gst_pad_set_blocked_async):
2244         Remove !! since it's fixed elsewhere now.
2245
2246 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2247
2248         * gst/gstminiobject.h:
2249         * gst/gstobject.h:
2250           Add !! to _FLAG_IS_SET macros to make the result boolean.
2251
2252 2005-11-03  Edward Hervey  <edward@fluendo.com>
2253
2254         * gst/gstpad.c: (gst_pad_set_blocked_async):
2255         comparing a flag and a gboolean rarely returns coherent results...
2256         Added two characters (!!) to make that work correctly.
2257         
2258 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2259
2260         * gst/gstbus.c: (gst_bus_class_init):
2261           Fix some typos.
2262           
2263         * gst/gstqueue.c: (gst_queue_loop):
2264           Don't assume a miniobject that isn't a buffer is an
2265           event (it could be that there is a refcounting
2266           problem somewhere and the pointer is stale and
2267           refers to an already destroyed miniobject).
2268
2269 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2270
2271         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2272
2273 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2274
2275         * docs/manual/advanced-position.xml:
2276           Update seek example and explanations to current 0.9 API.
2277
2278         * gst/elements/gsttypefindelement.c:
2279         (gst_type_find_element_activate):
2280           Remove FIXME comment now that the found caps
2281           are unreffed.
2282
2283 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2284
2285         * gst/gstregistryxml.c: (load_feature):
2286           Add another GST_STR_NULL instance
2287
2288 2005-11-02  Edward Hervey  <edward@fluendo.com>
2289
2290         * gst/gstpad.c: (handle_pad_block):
2291         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2292         
2293 2005-11-02  Wim Taymans  <wim@fluendo.com>
2294
2295         * gst/gstbin.c:
2296         Fix typo in docs.
2297
2298         * gst/gstelement.c: (gst_element_commit_state):
2299         Remove unused value.
2300
2301         * gst/gstiterator.c:
2302         Mention that the returned element is reffed in the docs.
2303
2304 2005-11-02  Wim Taymans  <wim@fluendo.com>
2305
2306         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2307         (gst_pad_push), (gst_pad_push_event):
2308         Unlock blocked pads when they are flushed.
2309
2310 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2311
2312         * docs/README:
2313         * docs/gst/gstreamer-sections.txt:
2314         * gst/gstbin.c:
2315           doc updates
2316         * gst/gstregistry.c: (gst_registry_scan_path_level):
2317           fix for a nasty little missed situation where an installed plug-in
2318           which was in the cache did not get overridden by an uninstalled one
2319           which was earlier in the plugin path because the newly created plugin
2320           for the uninstalled one (not in the registry) didn't get its
2321           ->registered set to TRUE
2322
2323 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2324
2325         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2326         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2327         (gst_collectpads_is_active), (gst_collectpads_collect),
2328         (gst_collectpads_collect_range), (gst_collectpads_start),
2329         (gst_collectpads_stop), (gst_collectpads_peek),
2330         (gst_collectpads_pop), (gst_collectpads_available),
2331         (gst_collectpads_read), (gst_collectpads_flush):
2332           Guard public API with assertions.
2333         
2334         * gst/gstpad.c:
2335           Fix docs for gst_pad_set_link_function().
2336
2337 2005-11-02  Johan Dahlin  <johan@gnome.org>
2338
2339         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2340         Unref found_caps after we used it.
2341
2342 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2343
2344         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2345           Don't try to ref NULL.
2346
2347 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2348
2349         * win32/common/config.h.in:
2350           provide a GST_FUNCTION that just gives a string for now
2351
2352 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2353
2354         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2355         (gst_object_flags_get_type), (register_gst_bin_flags),
2356         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2357         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2358         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2359         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2360         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2361         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2362         (gst_clock_flags_get_type), (register_gst_state),
2363         (gst_state_get_type), (register_gst_state_change_return),
2364         (gst_state_change_return_get_type), (register_gst_state_change),
2365         (gst_state_change_get_type), (register_gst_element_flags),
2366         (gst_element_flags_get_type), (register_gst_core_error),
2367         (gst_core_error_get_type), (register_gst_library_error),
2368         (gst_library_error_get_type), (register_gst_resource_error),
2369         (gst_resource_error_get_type), (register_gst_stream_error),
2370         (gst_stream_error_get_type), (register_gst_event_type),
2371         (gst_event_type_get_type), (register_gst_seek_type),
2372         (gst_seek_type_get_type), (register_gst_seek_flags),
2373         (gst_seek_flags_get_type), (register_gst_format),
2374         (gst_format_get_type), (register_gst_index_certainty),
2375         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2376         (gst_index_entry_type_get_type),
2377         (register_gst_index_lookup_method),
2378         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2379         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2380         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2381         (gst_index_flags_get_type), (register_gst_debug_level),
2382         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2383         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2384         (gst_iterator_result_get_type), (register_gst_iterator_item),
2385         (gst_iterator_item_get_type), (register_gst_message_type),
2386         (gst_message_type_get_type), (register_gst_mini_object_flags),
2387         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2388         (gst_pad_link_return_get_type), (register_gst_flow_return),
2389         (gst_flow_return_get_type), (register_gst_activate_mode),
2390         (gst_activate_mode_get_type), (register_gst_pad_direction),
2391         (gst_pad_direction_get_type), (register_gst_pad_flags),
2392         (gst_pad_flags_get_type), (register_gst_pad_presence),
2393         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2394         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2395         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2396         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2397         (gst_plugin_flags_get_type), (register_gst_rank),
2398         (gst_rank_get_type), (register_gst_query_type),
2399         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2400         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2401         (gst_tag_flag_get_type), (register_gst_task_state),
2402         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2403         (gst_alloc_trace_flags_get_type),
2404         (register_gst_type_find_probability),
2405         (gst_type_find_probability_get_type), (register_gst_uri_type),
2406         (gst_uri_type_get_type), (register_gst_parse_error),
2407         (gst_parse_error_get_type):
2408         * win32/common/gstversion.h:
2409           update win32 copies
2410
2411 2005-11-01  Luca Ognibene  <luogni@tin.it>
2412
2413         * gst/gst.c:
2414           fix docs. popt is dead, long live GOption.
2415
2416 2005-10-31  Wim Taymans  <wim@fluendo.com>
2417
2418         * gst/gstbuffer.h:
2419         Small doc fix.
2420
2421 2005-10-31  Andy Wingo  <wingo@pobox.com>
2422
2423         * Boo!
2424
2425         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2426
2427         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2428         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2429         the possibility of deadlocks here if code calling notify() or
2430         set() has a lock that can be taken in another notify handler (ABBA
2431         with class lock and e.g. python GIL state lock).
2432
2433 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2434
2435         * gst/gstbus.c: Doc updates.
2436
2437 2005-10-28  Wim Taymans  <wim@fluendo.com>
2438
2439         * docs/design/part-TODO.txt:
2440         * gst/gstiterator.c:
2441         * gst/gstsystemclock.c:
2442         * gst/gstsystemclock.h:
2443         Doc updates.
2444
2445 2005-10-28  Edward Hervey  <edward@fluendo.com>
2446
2447         * docs/gst/gstreamer-docs.sgml:
2448         * docs/gst/gstreamer-sections.txt:
2449         the GstURIType documentation page is private, it only defines GstURIType
2450         which should be defined in the GstURIHandler page
2451         
2452 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2453
2454         * gst/gstbin.c: (gst_bin_class_init):
2455         * gst/gstbin.h:
2456         * gst/gstutils.c:
2457         Documentation updates.
2458
2459 2005-10-28  Wim Taymans  <wim@fluendo.com>
2460
2461         * docs/gst/gstreamer-sections.txt:
2462         * gst/gstclock.c:
2463         * gst/gstclock.h:
2464         Documented the clocks.
2465
2466 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2467
2468         * docs/gst/gstreamer-sections.txt:
2469           move some macros to private sections
2470         * gst/gstminiobject.c:
2471         * gst/gstminiobject.h:
2472           add descriptions provided by ds and some more
2473         * gst/gstpad.h:
2474           mark macro as to be removed
2475
2476 2005-10-28  Wim Taymans  <wim@fluendo.com>
2477
2478         * docs/design/part-TODO.txt:
2479         Add an item to TODO.
2480
2481         * gst/gstiterator.c: (gst_iterator_fold),
2482         (gst_iterator_find_custom):
2483         * gst/gstiterator.h:
2484         Add iterator docs.
2485
2486 2005-10-28  Wim Taymans  <wim@fluendo.com>
2487
2488         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2489         (gst_base_transform_init):
2490         Don't leak class.
2491
2492         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2493         An EOS event marks the queue as completely filled.
2494
2495 2005-10-27  Wim Taymans  <wim@fluendo.com>
2496
2497         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2498         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2499         Some more debugging.
2500
2501         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2502         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2503         (gst_base_transform_event), (gst_base_transform_getrange),
2504         (gst_base_transform_chain):
2505         * gst/base/gstbasetransform.h:
2506         Fix debugging,
2507         Protect transform and concurrent buffer alloc with a new lock.
2508         Try not to break ABI/API.
2509
2510 2005-10-27  Wim Taymans  <wim@fluendo.com>
2511
2512         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2513         (gst_base_src_init), (gst_base_src_query),
2514         (gst_base_src_default_newsegment),
2515         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2516         (gst_base_src_send_event), (gst_base_src_event_handler),
2517         (gst_base_src_pad_get_range), (gst_base_src_loop),
2518         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2519         (gst_base_src_start), (gst_base_src_deactivate),
2520         (gst_base_src_activate_push), (gst_base_src_change_state):
2521         Move some stuff around and cleanup things.
2522
2523 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2524
2525         * gst/base/gstbasesrc.c: (gst_base_src_query):
2526           Add missing break statements.
2527
2528 2005-10-27  Wim Taymans  <wim@fluendo.com>
2529
2530         * check/gst/gstbin.c: (GST_START_TEST):
2531         An extra refcount is taken in basesrc.
2532
2533         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2534         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2535         (gst_base_src_loop):
2536         Small cleanups, check for flushing after being unlocked from the 
2537         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2538         Don't send out EOS when going to READY.
2539
2540 2005-10-27  Wim Taymans  <wim@fluendo.com>
2541
2542         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2543         (gst_base_sink_get_position):
2544         Some more debug.
2545
2546         * gst/gstbin.c: (message_check), (bin_replace_message),
2547         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2548         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2549         (bin_query_duration_init), (bin_query_duration_fold),
2550         (bin_query_duration_done), (bin_query_generic_fold),
2551         (gst_bin_query):
2552         * tools/gst-launch.c: (main):
2553         Remove old option.
2554
2555 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2556
2557         * examples/controller/audio-example.c: (main):
2558         * examples/queue/queue.c: (event_loop):
2559         * gst/base/gstbasetransform.h:
2560         * gst/gstelement.c: (gst_element_send_event):
2561         * gst/gstevent.h:
2562         * gst/gstpad.c: (gst_pad_send_event):
2563           fixing examples
2564           fixing docs typos
2565           changing log priority in error situations
2566
2567 2005-10-25  Wim Taymans  <wim@fluendo.com>
2568
2569         * gst/gstbin.c: (message_check), (bin_replace_message),
2570         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2571         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2572         (bin_query_duration_init), (bin_query_duration_fold),
2573         (bin_query_duration_done), (bin_query_generic_fold),
2574         (gst_bin_query):
2575         Some doc and debug updates.
2576         Cache previously requested query DURATION for speed. invalidate
2577         cached duration if element posts a DURATION message.
2578
2579 2005-10-25  Wim Taymans  <wim@fluendo.com>
2580
2581         * docs/design/part-TODO.txt:
2582         Update TODO.
2583
2584         * gst/gstbin.c: (message_check), (bin_replace_message),
2585         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2586         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2587         (bin_query_duration_init), (bin_query_duration_fold),
2588         (bin_query_duration_done), (bin_query_generic_fold),
2589         (gst_bin_query):
2590         Handle SEGMENT_START/DONE messages correctly.
2591         More evolved query algorithm that handles duration queries
2592         correctly.
2593
2594         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2595         (gst_element_get_state_func), (gst_element_abort_state),
2596         (gst_element_commit_state), (gst_element_lost_state):
2597         Some more debugging.
2598
2599         * gst/gstmessage.h:
2600         Added doc.
2601
2602 2005-10-25  Wim Taymans  <wim@fluendo.com>
2603
2604         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2605         Don't use invalid stream_time.
2606
2607         * gst/gstevent.c: (gst_event_new_newsegment):
2608         stream_time in newsegment cannot be undefined.
2609
2610 2005-10-24  Wim Taymans  <wim@fluendo.com>
2611
2612         * gst/gstbus.c:
2613         Doc fix.
2614
2615         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2616         (gst_queue_loop):
2617         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2618
2619 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2620
2621         * docs/libs/tmpl/gstdparam.sgml:
2622         * docs/libs/tmpl/gstdplinint.sgml:
2623         * docs/libs/tmpl/gstdpman.sgml:
2624         * docs/libs/tmpl/gstdpsmooth.sgml:
2625         * docs/libs/tmpl/gstunitconvert.sgml:
2626           these are obsolete
2627
2628 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2629
2630         * configure.ac:
2631           back to HEAD
2632
2633 === release 0.9.4 ===
2634
2635 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2636
2637         * configure.ac:
2638           releasing 0.9.4, "Tyrannosaurus Rex"
2639
2640 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2641
2642         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2643         (gst_file_sink_get_current_offset):
2644           Use fseeko() and ftello() if available. When falling back on
2645           lseek() to get the current offset, fflush() first to make sure
2646           everything is up-to-date and we get the right offset.
2647
2648 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2649
2650         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2651         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2652         * gst/gsterror.c: (_gst_stream_errors_init):
2653         * gst/gsterror.h:
2654         * gst/gstqueue.c: (gst_queue_loop):
2655         * po/POTFILES.in:
2656           remove prematurely added error category and clean up the instances
2657
2658 2005-10-21  Wim Taymans  <wim@fluendo.com>
2659
2660         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2661         (gst_base_sink_get_position), (gst_base_sink_query),
2662         (gst_base_sink_change_state):
2663         Simply set the right flag when going to playing, that's all
2664         we need to do instead of calling a function inside the object
2665         lock (that could take the lock as well and deadlock)
2666
2667 2005-10-21  Wim Taymans  <wim@fluendo.com>
2668
2669         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2670         (gst_base_src_loop):
2671         Don't warn, the peer element knows what to do best when
2672         the seek failed, it might try something else.
2673
2674 2005-10-21  Wim Taymans  <wim@fluendo.com>
2675
2676         * gst/base/gstbasesrc.c: (gst_base_src_init),
2677         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2678         Fix seeking.
2679
2680 2005-10-21  Wim Taymans  <wim@fluendo.com>
2681
2682         * docs/design/part-segments.txt:
2683         More docs.
2684
2685         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2686         Correctly set caps, even on the subbufer.
2687
2688 2005-10-21  Wim Taymans  <wim@fluendo.com>
2689
2690         * docs/gst/gstreamer-docs.sgml:
2691         * docs/gst/gstreamer-sections.txt:
2692         * gst/gstelement.h:
2693         * gst/gstevent.c:
2694         * gst/gstevent.h:
2695         * gst/gstmessage.h:
2696         * gst/gstpad.h:
2697         * gst/gstparse.h:
2698         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2699         * gst/gsttask.h:
2700         * gst/gstutils.c:
2701         * gst/gstutils.h:
2702         And 2% more doc coverage.
2703
2704 2005-10-21  Andy Wingo  <wingo@pobox.com>
2705
2706         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2707         position reporting.
2708
2709 2005-10-20  Wim Taymans  <wim@fluendo.com>
2710
2711         * gst/gsterror.c: (gst_error_get_message):
2712         * gst/gstparse.h:
2713         * gst/gstquery.h:
2714         * gst/gststructure.c:
2715         * gst/gsttrace.c:
2716         * gst/gstutils.c:
2717         More docs.
2718
2719 2005-10-20  Wim Taymans  <wim@fluendo.com>
2720
2721         * gst/gstbuffer.h:
2722         * gst/gstpad.c:
2723         * gst/gstparse.c:
2724         Another 1% more coverage.
2725
2726 2005-10-20  Wim Taymans  <wim@fluendo.com>
2727
2728         * docs/gst/gstreamer-sections.txt:
2729         * gst/gstelement.c: (gst_element_get_state_func),
2730         (gst_element_abort_state), (gst_element_commit_state),
2731         (gst_element_lost_state):
2732         * gst/gstevent.h:
2733         * gst/gstquery.c: (gst_query_set_position),
2734         (gst_query_parse_position), (gst_query_set_duration),
2735         (gst_query_parse_duration), (gst_query_new_convert):
2736         * gst/gstutils.c:
2737         Yay! 1% more docs coverage.
2738
2739 2005-10-20  Wim Taymans  <wim@fluendo.com>
2740
2741         * gst/gstpad.h:
2742         * gst/gstquery.c: (gst_query_set_position),
2743         (gst_query_parse_position), (gst_query_set_duration),
2744         (gst_query_parse_duration), (gst_query_new_convert):
2745         * gst/gstquery.h:
2746         * gst/gstutils.c: (gst_element_query_convert):
2747         * gst/gstutils.h:
2748         Docs and consistency fixes.
2749
2750 2005-10-20  Wim Taymans  <wim@fluendo.com>
2751
2752         * gst/gsttask.c:
2753         * gst/gsttask.h:
2754         More docs.
2755
2756 2005-10-20  Wim Taymans  <wim@fluendo.com>
2757
2758         * gst/gstbin.c: (message_check), (bin_replace_message),
2759         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2760         (update_degree), (gst_bin_sort_iterator_next),
2761         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2762         Reworked the message handling a bit, cache the messages instead of
2763         only the senders. alows us to do more in the future.
2764
2765 2005-10-20  Wim Taymans  <wim@fluendo.com>
2766
2767         * docs/design/part-TODO.txt:
2768         Update TODO
2769
2770         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2771         (gst_base_sink_query):
2772         Don't use clock time to report position when in EOS.
2773
2774 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2775
2776         * tools/gst-inspect.c: (print_interfaces),
2777         (print_element_properties_info), (print_element_info):
2778           Fix interface output with gst-inspect -a; don't print
2779           newlines after double/float properties.
2780
2781 2005-10-20  Wim Taymans  <wim@fluendo.com>
2782
2783         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2784         (gst_base_sink_query):
2785         Speed up current position calculation.
2786
2787         * gst/base/gstbasesrc.c: (gst_base_src_query),
2788         (gst_base_src_default_newsegment):
2789         Correctly set stream position in newsegment.
2790
2791         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2792         (update_degree), (gst_bin_sort_iterator_next),
2793         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2794         * gst/gstmessage.c: (gst_message_new_custom):
2795         Clean up debugging info
2796
2797         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2798         (gst_queue_loop), (gst_queue_handle_src_query):
2799         Pause task faster.
2800
2801 2005-10-19  Wim Taymans  <wim@fluendo.com>
2802
2803         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2804         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2805         Fix query handling again.
2806
2807 2005-10-19  Wim Taymans  <wim@fluendo.com>
2808
2809         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2810         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2811         * gst/base/gstbasesrc.c: (gst_base_src_query):
2812         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2813         * gst/elements/gsttypefindelement.c:
2814         (gst_type_find_handle_src_query), (find_element_get_length),
2815         (gst_type_find_element_activate):
2816         API change fix.
2817
2818         * gst/gstquery.c: (gst_query_new_position),
2819         (gst_query_set_position), (gst_query_parse_position),
2820         (gst_query_new_duration), (gst_query_set_duration),
2821         (gst_query_parse_duration), (gst_query_set_segment),
2822         (gst_query_parse_segment):
2823         * gst/gstquery.h:
2824         Bundling query position/duration is not a good idea since duration
2825         does not change much and we don't want to recalculate it for every
2826         position query, so they are separated again..
2827         Base value in segment query is not needed.
2828
2829         * gst/gstqueue.c: (gst_queue_handle_src_query):
2830         * gst/gstutils.c: (gst_element_query_position),
2831         (gst_element_query_duration), (gst_pad_query_position),
2832         (gst_pad_query_duration):
2833         * gst/gstutils.h:
2834         Updates for query API change.
2835         Added some docs here and there.
2836
2837 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2838
2839         * check/gst/gstbin.c: (GST_START_TEST):
2840         * check/gst/gstghostpad.c: (GST_START_TEST):
2841         * check/pipelines/cleanup.c: (GST_START_TEST):
2842           wait on thread to die so we can check refcount correctly
2843
2844 2005-10-18  Wim Taymans  <wim@fluendo.com>
2845
2846         * check/pipelines/stress.c: (GST_START_TEST):
2847         Make check a little more time consuming.
2848
2849 2005-10-18  Wim Taymans  <wim@fluendo.com>
2850
2851         * check/Makefile.am:
2852         * check/pipelines/stress.c: (GST_START_TEST),
2853         (simple_launch_lines_suite), (main):
2854         Small state change torture test.
2855
2856         * docs/design/part-states.txt:
2857         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2858         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2859         (gst_base_sink_change_state):
2860         Never take state lock from streaming thread, clean up ugly
2861         hacks. Unfortunatly core does not yet support nice ways to
2862         async commit state.
2863         
2864         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2865         (bin_bus_handler):
2866         Start state recalc if a STATE_DIRTY message is posted, but only
2867         on the toplevel bin.
2868
2869         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2870         (gst_element_get_state_func), (gst_element_abort_state),
2871         (gst_element_commit_state), (gst_element_lost_state),
2872         (gst_element_set_state_func), (gst_element_change_state):
2873         * gst/gstelement.h:
2874         State variables are now protected with the LOCK, the state
2875         lock is only used to serialize _set_state().
2876
2877 2005-10-18  Wim Taymans  <wim@fluendo.com>
2878
2879         * check/gst/gstbin.c: (GST_START_TEST):
2880         * check/gst/gstmessage.c: (GST_START_TEST):
2881         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2882         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2883         (bin_bus_handler):
2884         * gst/gstelement.c: (gst_element_abort_state),
2885         (gst_element_commit_state), (gst_element_lost_state):
2886         * gst/gstmessage.c: (gst_message_new_state_changed),
2887         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2888         (gst_message_new_segment_done), (gst_message_new_duration),
2889         (gst_message_parse_state_changed),
2890         (gst_message_parse_segment_start),
2891         (gst_message_parse_segment_done), (gst_message_parse_duration):
2892         * gst/gstmessage.h:
2893         * tools/gst-launch.c: (event_loop):
2894         Seriously, this is better than a previous commit as we only need
2895         to notify the fact that an element changed state in a streaming
2896         thread, marking the state of the parents dirty, hence the 
2897         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2898         message.
2899
2900 2005-10-18  Wim Taymans  <wim@fluendo.com>
2901
2902         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2903         (gst_bin_recalc_func):
2904         * gst/gstelement.c: (gst_element_set_clock),
2905         (gst_element_abort_state), (gst_element_lost_state):
2906         Cleanups, prepare for state change fixes.
2907
2908 2005-10-18  Wim Taymans  <wim@fluendo.com>
2909
2910         * gst/gstbin.h:
2911         * gst/gstelement.c: (gst_element_class_init),
2912         (gst_element_set_state), (gst_element_set_state_func):
2913         * gst/gstelement.h:
2914         Pending ABI changes.
2915         GThreadPool in GstBinClass to monitor async state changes.
2916         state_cookie in GstElement to detect concurrent gst/set state.
2917         set_state is now virtual too in case a very complicated element
2918         has to be constructed.
2919
2920 2005-10-18  Wim Taymans  <wim@fluendo.com>
2921
2922         * check/gst/gstbin.c: (GST_START_TEST):
2923         * check/gst/gstmessage.c: (GST_START_TEST):
2924         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2925         * gst/gstbin.c: (bin_bus_handler):
2926         * gst/gstelement.c: (gst_element_commit_state),
2927         (gst_element_lost_state):
2928         * gst/gstmessage.c: (gst_message_new_state_changed),
2929         (gst_message_new_segment_start), (gst_message_new_segment_done),
2930         (gst_message_new_duration), (gst_message_parse_state_changed),
2931         (gst_message_parse_segment_start),
2932         (gst_message_parse_segment_done), (gst_message_parse_duration):
2933         * gst/gstmessage.h:
2934         * tools/gst-launch.c: (event_loop):
2935         Make messages future proof.
2936         state-change gets a flag if it was a message comming from the
2937         streaming thread.
2938         segment-start/stop can also be specified in other formats.
2939         A message to notify an app that a pipeline changed playback 
2940         duration.
2941         Also fix a GstMessage leak in -launch
2942
2943 2005-10-18  Andy Wingo  <wingo@pobox.com>
2944
2945         * gst/gstelement.c (gst_element_dispose): More helpful message.
2946
2947 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2948
2949         reviewed by: <delete if not using a buddy>
2950
2951         * common/gtk-doc.mak:
2952
2953 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2954
2955         * gst/gstregistry.c: (gst_registry_scan_path_level):
2956           unref a plug-in we get that was already initialized
2957
2958 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2959
2960         * docs/gst/gstreamer-sections.txt:
2961         * docs/libs/gstreamer-libs-sections.txt:
2962         * gst/gstelement.h:
2963           add new api entries
2964           hide internal macro
2965
2966 2005-10-17  Andy Wingo  <wingo@pobox.com>
2967
2968         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2969         cleanup.
2970
2971         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2972
2973         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2974
2975         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2976         (gst_element_get_state_func): Better debug message.
2977         (gst_element_commit_state): s/INFO/DEBUG/.
2978         (gst_element_lost_state, gst_element_change_state): 
2979
2980         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2981         (gst_message_new_custom): s/INFO/LOG/.
2982
2983 2005-10-17  Michael Smith <msmith@fluendo.com>
2984
2985         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2986           Check if end time is valid using end time, not start time.
2987
2988 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2989
2990         * check/gst-libs/controller.c: (GST_START_TEST),
2991         (gst_controller_suite):
2992         * libs/gst/controller/gstcontroller.c:
2993         (gst_controlled_property_set_interpolation_mode):
2994         * libs/gst/controller/gstcontroller.h:
2995         * libs/gst/controller/gstinterpolation.c:
2996         * testsuite/controller/.cvsignore:
2997         * testsuite/controller/Makefile.am:
2998         * testsuite/controller/interpolator.c:
2999           merge controller testsuites
3000           fix broken tests
3001           remove mem-chunk from docs
3002
3003 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3004
3005         * gst/gstmemchunk.c:
3006         * gst/gstmemchunk.h:
3007         * gst/gsttrashstack.c:
3008         * gst/gsttrashstack.h:
3009           out.  get out.  you're fired.  to the Attic !
3010
3011 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3012
3013         * gst/gstcaps.c: (gst_caps_intersect):
3014           fix signedness issues in a (hopefully) correct way
3015         * gst/gstelement.c: (gst_element_pads_activate):
3016           some debugging
3017         * gst/gstobject.c: (gst_object_set_parent):
3018           some debugging
3019
3020 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3021
3022         * gst/gstvalue.h: Fix prototypes.
3023
3024 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3025
3026         * docs/gst/gstreamer-sections.txt:
3027         * gst/gst.c: (gst_version_string):
3028         * gst/gst.h:
3029         * gst/gstversion.h.in:
3030         * win32/common/libgstreamer.def:
3031           add gst_version_string ()
3032
3033 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3034
3035         * configure.ac:
3036           clean up further
3037         * gst/gst.c: (init_post):
3038         * win32/common/config.h.in:
3039           it's PLUGINDIR now
3040         * gst/gstcaps.c: (gst_caps_intersect):
3041           use gint64, the range could be bigger than a guint
3042
3043 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3044
3045         * gst/gstclock.h:
3046           document potential problem in 2038
3047
3048 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3049
3050         * gst/gstcaps.c: (gst_caps_intersect):
3051           Fix guint j diving under 0
3052
3053 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3054
3055         * configure.ac:
3056         * win32/common/config.h:
3057         * win32/common/config.h.in:
3058           check for process.h, declares getpid() on Windows
3059         * gst/gstinfo.c:
3060           include process.h if we have it
3061         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3062         * gst/gstmemchunk.h:
3063           fix signedness issues
3064         * win32/common/libgstreamer.def:
3065           fix get_type's
3066
3067 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3068
3069         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3070         fix. Because of unsigned ints, caps intersection was going nuts and
3071         trying to access structures with G_MAXUINT index. That fixes
3072         videotestsrc ! ffmpegcolorspace ! fakesink
3073         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3074         consistency.
3075
3076 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3077
3078         * configure.ac:
3079           use the gettext macro
3080         * gst/elements/gstelements.c:
3081         * gst/gst.c:
3082         * gst/indexers/gstindexers.c:
3083           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3084         * win32/common/config.h:
3085           updated config.h
3086         * win32/common/config.h.in:
3087           add the template to generate config.h
3088         * win32/common/gstenumtypes.c:
3089         * win32/common/gstversion.h:
3090           updated copies
3091
3092 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3093
3094         * gst/gst.c: (gst_version):
3095         * gst/gstversion.h.in:
3096           add the nano
3097
3098 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3099
3100         * gst/gstevent.h:
3101           Oops, add missing closing bracket.
3102
3103 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3104
3105         * configure.ac:
3106           use common m4's for argument checking
3107
3108 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3109
3110         * docs/gst/gstreamer-sections.txt:
3111         * gst/gstevent.h:
3112           Add GST_EVENT_TYPE_NAME() macro.
3113
3114 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3115
3116         * gst/gstinfo.c:
3117         * gst/gstpluginfeature.c:
3118         * gst/gsttask.c:
3119           privatize more symbols
3120
3121 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3122
3123         * configure.ac:
3124           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3125           everything that uses GStreamer API should have the includes
3126
3127 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3128
3129         * docs/gst/gstreamer-sections.txt:
3130         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3131         * gst/gstvalue.h:
3132           give each value a _get_type, removes the DATA exports
3133
3134 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3135
3136         * gst/gst.c:
3137         * gst/gst.h:
3138           remove _gst_registry_auto_load, not used anymore
3139         * gst/gstbin.c: (gst_bin_get_type):
3140         * gst/gstbin.h:
3141         * gst/gstelement.c: (gst_element_get_type):
3142         * gst/gstelement.h:
3143         * gst/gstobject.c: (gst_object_get_type):
3144         * gst/gstobject.h:
3145         * gst/gstpad.c: (gst_pad_get_type):
3146         * gst/gstpad.h:
3147           make _get_type functions similar, fixes data export from library
3148
3149 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3150
3151         * configure.ac:
3152           correctly make conditionals
3153         * gst/elements/Makefile.am:
3154         * gst/elements/gstelements.c:
3155           fix typo causing fdsrc not to build
3156
3157 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3158
3159         * testsuite/Makefile.am:
3160         * testsuite/bytestream/.cvsignore:
3161         * testsuite/bytestream/Makefile.am:
3162         * testsuite/bytestream/filepadsink.c:
3163         * testsuite/bytestream/gstbstest.c:
3164         * testsuite/bytestream/test1.c:
3165         * testsuite/bytestream/testfile1:
3166         * testsuite/caps/normalisation.c:
3167         * testsuite/caps/random.c: (main):
3168         * testsuite/cleanup/.cvsignore:
3169         * testsuite/cleanup/Makefile.am:
3170         * testsuite/cleanup/cleanup1.c:
3171         * testsuite/cleanup/cleanup2.c:
3172         * testsuite/cleanup/cleanup3.c:
3173         * testsuite/cleanup/cleanup4.c:
3174         * testsuite/cleanup/cleanup5.c:
3175         * testsuite/controller/interpolator.c:
3176         * testsuite/debug/printf_extension.c: (main):
3177         * testsuite/elements/tee.c:
3178         * testsuite/negotiation/.cvsignore:
3179         * testsuite/negotiation/Makefile.am:
3180         * testsuite/negotiation/pad_link.c:
3181         * testsuite/pad/Makefile.am:
3182         * testsuite/pad/chainnopull.c:
3183         * testsuite/pad/getnopush.c:
3184         * testsuite/pad/link.c:
3185         * testsuite/refcounting/sched.c: (create_pipeline):
3186         * testsuite/registry/Makefile.am:
3187         * testsuite/registry/gst-print-formats.c:
3188         * testsuite/schedulers/.cvsignore:
3189         * testsuite/schedulers/142183-2.c:
3190         * testsuite/schedulers/142183.c:
3191         * testsuite/schedulers/143777-2.c:
3192         * testsuite/schedulers/143777.c:
3193         * testsuite/schedulers/147713.c:
3194         * testsuite/schedulers/147819.c:
3195         * testsuite/schedulers/147894-2.c:
3196         * testsuite/schedulers/147894.c:
3197         * testsuite/schedulers/Makefile.am:
3198         * testsuite/schedulers/group_link.c:
3199         * testsuite/schedulers/queue_link.c:
3200         * testsuite/schedulers/relink.c:
3201         * testsuite/schedulers/unlink.c:
3202         * testsuite/schedulers/unref.c:
3203         * testsuite/schedulers/useless_iteration.c:
3204         * testsuite/states/bin.c:
3205           clean out/remove some stuff from the testsuite directories
3206
3207 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3208
3209         * configure.ac:
3210           check for some headers
3211         * gst/elements/Makefile.am:
3212         * gst/elements/gstelements.c:
3213           don't compile fdsrc without sys/socket.h
3214         * gst/indexers/Makefile.am:
3215         * gst/indexers/gstindexers.c: (plugin_init):
3216           don't compile fileindex without mmap
3217
3218 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3219
3220         * configure.ac:
3221           reorganize
3222           clean up
3223           document more
3224           remove cruft
3225         * check/Makefile.am:
3226         * docs/gst/Makefile.am:
3227         * examples/helloworld/Makefile.am:
3228         * gst/Makefile.am:
3229         * gst/base/Makefile.am:
3230         * gst/check/Makefile.am:
3231         * gst/elements/Makefile.am:
3232         * gst/indexers/Makefile.am:
3233         * gst/parse/Makefile.am:
3234         * libs/gst/controller/Makefile.am:
3235         * libs/gst/dataprotocol/Makefile.am:
3236         * examples/helloworld/helloworld.c: (event_loop):
3237           compile fixes, though it's not being compiled currently
3238
3239 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3240
3241         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3242           Add some simple tests for the new taglist date API.
3243
3244 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3245
3246         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3247         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3248           Beautify 'last-message' output: print 'none' for buffer timestamps
3249           and durations if none is set; improve alignment with next messages.
3250
3251 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3252
3253         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3254         * gst/gstpluginfeature.h:
3255         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3256         * gst/gstregistry.h:
3257         * docs/gst/gstreamer-sections.txt:
3258           Add new API to check plugin feature version requirements.
3259
3260         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3261           Some basic tests for the above.         
3262
3263 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3264
3265         * gst/gststructure.c: (gst_structure_to_string):
3266           guard against NULL printf - happens when for example
3267           a message structure with GstClock gets serialized
3268
3269 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3270
3271         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3272           Fix presumable copy'n'pasto.
3273
3274 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3275
3276         * gst/elements/gstfakesrc.h:
3277         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3278         * gst/elements/gsttypefindelement.c:
3279           fix some signedness
3280         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3281           I wonder if this could actually write +2GB files before
3282
3283 2005-10-13  Andy Wingo  <wingo@pobox.com>
3284
3285         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3286         Fix Timmeke Waymans bug.
3287         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3288         string of the proper length to gst_caps_from_string. There's a
3289         potential for, before this fix, that this could cause someone
3290         connecting over the network to cause a segfault if the payload is
3291         not NUL-terminated.
3292
3293 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3294
3295         * docs/design/draft-push-pull.txt:
3296         * docs/design/part-overview.txt:
3297         * docs/random/TODO-pre-0.9:
3298         * docs/random/old/ChangeLog.gstreamer:
3299         * gst/base/gstpushsrc.c:
3300         * gst/gstclock.c:
3301           fixed typos
3302
3303 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3304
3305         * gst/glib-compat.c: (gst_flags_get_first_value):
3306         * gst/glib-compat.h:
3307         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3308         (gst_value_compare_double), (gst_value_serialize_flags):
3309           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3310           infinite loop
3311
3312 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3313
3314         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3315         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3316           fix up debugging
3317         * tools/gst-launch.c: (event_loop):
3318           print out clock nicely
3319
3320 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3321
3322         * docs/gst/gstreamer-sections.txt:
3323         * gst/gsttaglist.h:
3324         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3325         (gst_tag_list_get_date_index):
3326           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3327           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3328
3329 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3330
3331         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3332         (gst_collectpads_chain):
3333         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3334         in CollectData.
3335
3336 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3337
3338         * docs/gst/gstreamer-sections.txt:
3339         * gst/gst.c:
3340         * gst/gsterror.h:
3341         * tools/gst-inspect.c: (main):
3342         * tools/gst-launch.c: (main):
3343         * tools/gst-run.c: (main):
3344         * tools/gst-xmlinspect.c: (main):
3345           fix GOption context leaks
3346           doc fixes
3347
3348 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3349
3350         * gst/gstbus.c:
3351           use HAVE_UNISTD_H
3352         * win32/common/config.h:
3353           update config
3354         * win32/vs6/grammar.dsp:
3355         * win32/vs6/libgstelements.dsp:
3356         * win32/vs6/libgstreamer.dsp:
3357           update vs6 files
3358
3359 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3360
3361         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3362         * gst/base/gstbasesrc.c: (gst_base_src_query):
3363           fix more guint64<->gdouble conversions
3364
3365 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3366
3367         * Makefile.am:
3368           add win32-update target
3369         * win32/common/gstconfig.h:
3370         * win32/common/gstenumtypes.c:
3371         * win32/common/gstenumtypes.h:
3372         * win32/common/gstversion.h:
3373           add files that visual studio can't generate
3374
3375 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3376
3377         * Makefile.am:
3378           add a win32-update target
3379         * configure.ac:
3380
3381 2005-10-12  Wim Taymans  <wim@fluendo.com>
3382
3383         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3384         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3385         * gst/gstelement.c: (gst_element_commit_state),
3386         (gst_element_set_state):
3387         Protect flags with proper lock.
3388         unref provided cached clock in dispose.
3389
3390 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3391
3392         * gst/gst.c:
3393         * gst/gstminiobject.h:
3394         * gst/gstpad.h:
3395         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3396           removed unused flags from miniobject
3397           doc fixes
3398
3399 2005-10-12  Wim Taymans  <wim@fluendo.com>
3400
3401         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3402         (gst_file_sink_event), (gst_file_sink_render):
3403         Flush before seeking.
3404
3405 2005-10-12  Andy Wingo  <wingo@pobox.com>
3406
3407         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3408         always been the case.
3409
3410 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3411
3412         * check/gst/gstbin.c: (GST_START_TEST):
3413         * docs/gst/gstreamer-sections.txt:
3414         * gst/base/gstbasesink.c: (gst_base_sink_init):
3415         * gst/base/gstbasesrc.c: (gst_base_src_init),
3416         (gst_base_src_get_range), (gst_base_src_check_get_range),
3417         (gst_base_src_start), (gst_base_src_stop):
3418         * gst/base/gstbasesrc.h:
3419         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3420         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3421         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3422         (bin_bus_handler):
3423         * gst/gstbin.h:
3424         * gst/gstbuffer.h:
3425         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3426         * gst/gstbus.h:
3427         * gst/gstelement.c: (gst_element_is_locked_state),
3428         (gst_element_set_locked_state), (gst_element_commit_state),
3429         (gst_element_set_state):
3430         * gst/gstelement.h:
3431         * gst/gstindex.c: (gst_index_init):
3432         * gst/gstindex.h:
3433         * gst/gstminiobject.h:
3434         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3435         (gst_object_set_parent):
3436         * gst/gstobject.h:
3437         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3438         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3439         * gst/gstpad.h:
3440         * gst/gstpadtemplate.h:
3441         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3442         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3443         * gst/gstpipeline.h:
3444         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3445         (gst_file_index_commit):
3446         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3447         * testsuite/pad/link.c: (gst_test_src_init),
3448         (gst_test_filter_init), (gst_test_sink_init):
3449         * testsuite/states/locked.c: (main):
3450           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3451           moved bitshift from macro to enum definition
3452
3453 2005-10-12  Wim Taymans  <wim@fluendo.com>
3454
3455         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3456         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3457         (gst_file_sink_render):
3458         Some more debugging info.
3459
3460 2005-10-12  Wim Taymans  <wim@fluendo.com>
3461
3462         * docs/design/part-states.txt:
3463         * tools/gst-launch.c: (main):
3464         Some doc updates.
3465         Revert non-intentional change.
3466
3467 2005-10-12  Wim Taymans  <wim@fluendo.com>
3468
3469         * check/gst/gstbin.c: (GST_START_TEST):
3470         * check/gst/gstelement.c: (GST_START_TEST):
3471         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3472         * check/gst/gstghostpad.c: (GST_START_TEST):
3473         * check/gst/gstpipeline.c: (GST_START_TEST):
3474         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3475         * check/states/sinks.c: (GST_START_TEST):
3476         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3477         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3478         (gst_bin_remove_func), (gst_bin_get_state_func),
3479         (gst_bin_recalc_state), (gst_bin_change_state_func),
3480         (bin_bus_handler):
3481         * gst/gstelement.c: (gst_element_get_state_func),
3482         (gst_element_get_state), (gst_element_abort_state),
3483         (gst_element_commit_state), (gst_element_set_state),
3484         (gst_element_change_state), (gst_element_change_state_func):
3485         * gst/gstelement.h:
3486         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3487         (gst_pipeline_provide_clock_func):
3488         * gst/gstutils.c: (gst_element_link_pads_filtered):
3489         * tools/gst-launch.c: (main):
3490         * tools/gst-typefind.c: (main):
3491         Use GstClockTime in _get_state() instead of GTimeVal.
3492         Remove old code in gstutils.c
3493
3494 2005-10-12  Andy Wingo  <wingo@pobox.com>
3495
3496         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3497         removed.
3498
3499         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3500         there is no task. Shouldn't affect any code, as nothing in our
3501         plugins checks this return value.
3502         (gst_pad_stop_task): Also take the stream lock if the pad has no
3503         task. Docs updated.
3504
3505 2005-10-12  Wim Taymans  <wim@fluendo.com>
3506
3507         * gst/gstpad.c: (pre_activate), (post_activate),
3508         (gst_pad_activate_pull), (gst_pad_activate_push):
3509         Cleanup activation code. Reset old state if
3510         activation failed.
3511
3512 2005-10-12  Wim Taymans  <wim@fluendo.com>
3513
3514         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3515         (gst_base_sink_change_state):
3516         No need to prerol after receiving EOS.
3517
3518         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3519         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3520         * gst/elements/gstidentity.c: (gst_identity_event):
3521         Print events more verbosely.
3522
3523 2005-10-12  Wim Taymans  <wim@fluendo.com>
3524
3525         * check/Makefile.am:
3526         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3527         * check/states/sinks2.c:
3528         Moved sinks2 testcode in sinks check.
3529
3530         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3531         (gst_bin_remove_func), (gst_bin_recalc_state),
3532         (gst_bin_change_state_func), (bin_bus_handler):
3533         Fix potential race condition when _get_state() iterated over an
3534         ASYNC element right before it posted a state completion.
3535
3536         * gst/gstclock.h:
3537         Do proper cast here.
3538
3539         * gst/gstevent.c: (gst_event_new_newsegment),
3540         (gst_event_parse_newsegment):
3541         A playback rate of 0.0 is not allowed.
3542
3543 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3544
3545         * win32/common/config.h:
3546         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3547         (_trewinddir), (_ttelldir), (_tseekdir):
3548         * win32/common/dirent.h:
3549         * win32/common/gtchar.h:
3550         * win32/common/libgstbase.def:
3551         * win32/common/libgstreamer.def:
3552         * win32/vs6/grammar.dsp:
3553         * win32/vs6/gst_inspect.dsp:
3554         * win32/vs6/gst_launch.dsp:
3555         * win32/vs6/gstreamer.dsw:
3556         * win32/vs6/libgstbase.dsp:
3557         * win32/vs6/libgstelements.dsp:
3558         * win32/vs6/libgstreamer.dsp:
3559           Visual Studio 6 project files, and a new common directory.
3560           Phear.
3561
3562 2005-10-11  Wim Taymans  <wim@fluendo.com>
3563
3564         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3565         (gst_base_sink_do_sync), (gst_base_sink_query),
3566         (gst_base_sink_change_state):
3567         * gst/base/gstbasesink.h:
3568         Correctly parse newsegment info.
3569
3570 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3571
3572         * gst/gst.c: (init_post):
3573           split plugin paths correctly
3574
3575 2005-10-11  Wim Taymans  <wim@fluendo.com>
3576
3577         * check/gst/gstevent.c: (GST_START_TEST):
3578         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3579         (gst_base_sink_change_state):
3580         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3581         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3582         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3583         * gst/gstevent.c: (gst_event_new_newsegment),
3584         (gst_event_parse_newsegment):
3585         * gst/gstevent.h:
3586         Added extra flag to newsegment for future API freeze.
3587         Updated check and base elements.
3588
3589 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3590
3591         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3592         (gst_collectpads_add_pad), (gst_collectpads_pop),
3593         (gst_collectpads_event), (gst_collectpads_chain):
3594         * gst/base/gstcollectpads.h: Handle EOS correctly.
3595
3596 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3597
3598         * tools/gst-launch.c: (main):
3599           more null protecting
3600
3601 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3602
3603         * gst/gst-i18n-lib.h:
3604           check for ENABLE_NLS, not GETTEXT_PACKAGE
3605         * gst/gstregistry.c: (gst_registry_add_plugin),
3606         (gst_registry_scan_path_level),
3607         (_gst_registry_remove_cache_plugins):
3608           protect possibly NULL strings
3609         * gst/parse/types.h:
3610           config.h already included before
3611         * tools/gst-inspect.c: (main):
3612           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3613           check for ENABLE_NLS, not GETTEXT_PACKAGE
3614         * tools/gst-launch.c: (main):
3615           check for ENABLE_NLS, not GETTEXT_PACKAGE
3616
3617 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3618
3619         * configure.ac:
3620           if we don't have glib, fail before testing 2.8
3621         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3622           fix a leak, should fix plugins-base testsuite
3623
3624 2005-10-11  Andy Wingo  <wingo@pobox.com>
3625
3626         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3627         take the mode we're going to as an arg. Go head and set the mode
3628         and flushing flags now, so that if the activate function starts a
3629         thread all the flags will be in the right state.
3630         (post_activate): Renamed also. Just handle making sure streaming
3631         finishes for the deactivation case, and setting the deactivated
3632         mode.
3633         (gst_pad_set_active): Complain loudly if deactivation fails.
3634         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3635         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3636         remove the terrible hack.
3637
3638 2005-10-11  Wim Taymans  <wim@fluendo.com>
3639
3640         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3641         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3642         (gst_bin_recalc_state), (gst_bin_change_state_func),
3643         (gst_bin_dispose), (bin_bus_handler):
3644         * gst/gstbin.h:
3645         Prepare to make current EOS message queue more generic.
3646         Fix some typos.
3647
3648         * gst/gstevent.c: (gst_event_new_newsegment),
3649         (gst_event_parse_newsegment):
3650         * gst/gstevent.h:
3651         Rename base to stream_time.
3652
3653         * gst/gstmessage.h:
3654         Fix typo in docs.
3655
3656 2005-10-11  Wim Taymans  <wim@fluendo.com>
3657
3658         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3659         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3660         (gst_bin_change_state_func), (bin_bus_handler):
3661         * gst/gstbin.h:
3662         Work on proper clock selection.
3663
3664 2005-10-11  Edward Hervey  <edward@fluendo.com>
3665
3666         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3667         * libs/gst/controller/gstcontroller.h:
3668         Added GList* version of _remove_properties() in order to be able to wrap
3669         it in bindings.
3670
3671 2005-10-11  Wim Taymans  <wim@fluendo.com>
3672
3673         * docs/design/part-states.txt:
3674         Some more docs.
3675
3676         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3677         (gst_bin_change_state_func), (bin_bus_handler):
3678         Doc updates. Don't distribute the same clock over and over again.
3679
3680         * gst/gstclock.c:
3681         * gst/gstclock.h:
3682         Doc updates.
3683
3684         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3685         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3686         (gst_pad_send_event):
3687         * gst/gstpad.h:
3688         Make probe emission threadsafe again.
3689         Register quarks and move _get_name() from utils.
3690         Doc updates.
3691
3692         * gst/gstpipeline.c: (gst_pipeline_class_init),
3693         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3694         Only redistribute the clock of it changed.
3695
3696         * gst/gstsystemclock.h:
3697         Doc updates. 
3698
3699         * gst/gstutils.c:
3700         * gst/gstutils.h:
3701         Moved the _flow_get_name() to GstPad.
3702
3703 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3704
3705         * check/gst-libs/gdp.c: (GST_START_TEST):
3706         * check/gst/gstcaps.c: (GST_START_TEST):
3707         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3708         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3709         (gst_dp_packet_from_caps):
3710           fix more valgrind warnings before turning up the heat
3711
3712 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3713
3714         * gst/parse/grammar.y:
3715           some cleanup before the hacking
3716
3717 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3718
3719         * gst/base/gstbasesrc.c: (gst_base_src_query):
3720           use conversions
3721         * gst/gstutils.c: (gst_guint64_to_gdouble),
3722         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3723         * gst/gstutils.h:
3724           externalize, basesrc uses it
3725           obviously the implementation needs testing
3726
3727 2005-10-10  Wim Taymans  <wim@fluendo.com>
3728
3729         * tests/sched/Makefile.am:
3730         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3731         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3732
3733 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3734
3735         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3736           apparently converting from guint64 to double is not implemented
3737           on MSVC
3738
3739 2005-10-10  Wim Taymans  <wim@fluendo.com>
3740
3741         * check/Makefile.am:
3742         * check/generic/states.c: (GST_START_TEST):
3743         * check/gst/gstbin.c: (GST_START_TEST):
3744         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3745         * check/states/sinks.c: (GST_START_TEST):
3746         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3747         (main):
3748         Check fixes, use API as stated in design docs, remove hacks.
3749
3750         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3751         (gst_base_sink_change_state):
3752         Catch stopping our task while we're shutting down.
3753
3754         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3755         (gst_bin_remove_func), (gst_bin_get_state_func),
3756         (gst_bin_recalc_state), (gst_bin_change_state_func),
3757         (bin_bus_handler):
3758         * gst/gstbin.h:
3759         * gst/gstelement.c: (gst_element_init),
3760         (gst_element_get_state_func), (gst_element_abort_state),
3761         (gst_element_commit_state), (gst_element_lost_state),
3762         (gst_element_set_state), (gst_element_change_state),
3763         (gst_element_change_state_func):
3764         * gst/gstelement.h:
3765         New state change algorithm (see #318116)
3766
3767         * gst/gstpipeline.c: (gst_pipeline_class_init),
3768         (gst_pipeline_init), (gst_pipeline_set_property),
3769         (gst_pipeline_get_property), (do_pipeline_seek),
3770         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3771         * gst/gstpipeline.h:
3772         Remove crude state change hacks.
3773
3774         * gst/gstutils.h:
3775         Remove crude hacks.
3776
3777         * tools/gst-launch.c: (main):
3778         Fixes for state change. Needs some more work to fully use the
3779         new stuff.
3780
3781 2005-10-10  Andy Wingo  <wingo@pobox.com>
3782
3783         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3784
3785         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3786         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3787         issue.
3788
3789 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3790
3791         * gst/gstiterator.c: (gst_iterator_new):
3792           Fix my previous commit: GTypes passed to gst_iterator_new()
3793           can be fundamental types.
3794
3795 2005-10-10  Wim Taymans  <wim@fluendo.com>
3796
3797         * gst/gstelement.c: (gst_element_iterate_pad_list),
3798         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3799         (gst_element_iterate_sink_pads):
3800         Use src/sink pads lists for the respective iterators instead
3801         of filtering.
3802
3803 2005-10-10  Andy Wingo  <wingo@pobox.com>
3804
3805         Merged in popt removal + GOption addition patch from Ronald, bug
3806         #169772.
3807
3808         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3809         GstElement macros around, remove popt-related symbols, add goption
3810         stuff.
3811
3812         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3813         
3814         * docs/gst/Makefile.am:
3815         * docs/libs/Makefile.am: No POPT_CFLAGS.
3816         
3817         * examples/manual/Makefile.am:
3818         * docs/manual/basics-init.xml: Doc updates with an example.
3819         
3820         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3821         (gst_init), (parse_one_option), (parse_goption_arg):
3822         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3823         bit of hand merging and debugging to get the GOption stuff working
3824         tho.
3825         
3826         * tests/Makefile.am:
3827         * tools/Makefile.am:
3828         * tools/gst-inspect.c: (main):
3829         * tools/gst-launch.c: (main):
3830         * tools/gst-run.c: (main):
3831         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3832
3833 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3834
3835         * gst/gstiterator.c: (gst_iterator_new):
3836           Add assertions to make sure passed GType is likely to really
3837           be a GType (as the compiler won't catch it if the size and
3838           GType arguments get mixed up, see #318447).
3839
3840 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3841
3842         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3843
3844         * gst/gstbin.c: (gst_bin_iterate_sorted):
3845           Pass GType and size arguments to gst_iterator_new() in the right
3846           order (maybe we should make _new() take the GType as first argument
3847           just like _new_list()?) (#318447).
3848           
3849
3850 2005-10-10  Wim Taymans  <wim@fluendo.com>
3851
3852         * gst/gstelement.c: (gst_element_finalize):
3853         And free the GStaticRecMutex too
3854
3855 2005-10-10  Andy Wingo  <wingo@pobox.com>
3856
3857         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3858         Allocate and free the mutex properly.
3859
3860         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3861         New macros.
3862         (GstElement): The state_lock is now recursive. Rebuild your
3863         plugins, suckers. Old macros adapted.
3864
3865         * docs/gst/gstreamer-sections.txt: Doc updates.
3866
3867         * gst/gstutils.h:
3868         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3869         (g_static_rec_cond_wait): Ported from state changes patch, while
3870         we wait on bug #317802 to be solved in a well-distributed GLib.
3871
3872         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3873         gst_element_change_state, variable name changes.
3874         (gst_element_change_state): Split out of gst_element_set_state in
3875         preparation for the state change merge. Doesn't pay attention to
3876         the 'transition' argument.
3877         (gst_element_set_state): Updates, hopefully purely cosmetic.
3878         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3879         state change patch.
3880         (gst_element_get_state_func): Renamed from get_state, cosmetic
3881         changes.
3882
3883 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3884
3885         * gst/elements/gstelements.c:
3886         * win32/GStreamer.vcproj:
3887         * win32/config.h:
3888         * win32/dirent.c: (_tseekdir):
3889         * win32/gst-inspect.vcproj:
3890         * win32/gst-launch.vcproj:
3891         * win32/gstconfig.h:
3892         * win32/gstelements.vcproj:
3893         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3894         * win32/gstreamer.def:
3895         * win32/msvc71.sln:
3896           updates for the win32 build (patch from Sebastien Moutte)
3897
3898 2005-10-10  Andy Wingo  <wingo@pobox.com>
3899
3900         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3901         gst_bin_get_state, cleaned up (but no logic changes).
3902         (bin_element_is_sink): Comment updates.
3903         (sink_iterator_filter): Remove needless cast.
3904         (gst_bin_iterate_sinks): Doc update.
3905         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3906         cleaned up (but no logic changes).
3907
3908         * check/states/sinks.c (test_src_sink): Cleanups from the state
3909         change patch.
3910         (test_livesrc_sink): Sync on the state.
3911
3912         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3913         the state change patch.
3914
3915         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3916         change patch.
3917
3918         * check/gst/gstbin.c: Merge in some style fixes and additional
3919         checks from Wim's state change patch.
3920
3921 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3922
3923         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3924         (gst_type_find_helper):
3925           Check whether we have the requested data already in our list of
3926           cached buffers before pulling a new buffer; also make the buffer
3927           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3928
3929 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3930
3931         * gst/gstcaps.c:
3932         * gst/gstevent.c:
3933           doc updates
3934         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3935           don't use long long, it's not portable.  Replacing with
3936           gint64 seems to work; let's hope no skeletons fall out of the closet.
3937
3938 2005-10-10  Andy Wingo  <wingo@pobox.com>
3939
3940         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3941
3942 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3943
3944         * docs/gst/gstreamer-sections.txt:
3945         * gst/gstevent.c:
3946         * gst/gstevent.h:
3947         * gst/gstinfo.c:
3948         * gst/gstinfo.h:
3949         * gst/gstmessage.c: (gst_message_parse_state_changed):
3950         * gst/gstpad.c:
3951         * gst/gstpad.h:
3952           more docs, fix compilation
3953
3954 2005-10-09  Philippe Khalaf <burger@speedy.org>
3955         * gst/gstmessage.c:
3956           Fixed a few forgotten variables on previous commit
3957
3958 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3959
3960         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3961           Fix evil typefind crasher: getrange() might return a short
3962           buffer at the end of a file, but gst_type_find_peek() must
3963           either return the full data as requested or NULL, but
3964           never a short buffer.
3965
3966 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3967
3968         * gst/gstmessage.c: (gst_message_new_state_changed),
3969         (gst_message_parse_state_changed):
3970         * gst/gstmessage.h:
3971           don't use "new", it's a C++ keyword
3972
3973 2005-10-08  Wim Taymans  <wim@fluendo.com>
3974
3975         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3976         * gst/gstelement.c: (gst_element_post_message):
3977         * gst/gstpipeline.c: (gst_pipeline_change_state):
3978         Small docs and debug updates.
3979
3980 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3981
3982         * docs/gst/gstreamer-sections.txt:
3983         * gst/gstelementfactory.c:
3984         * gst/gstevent.c:
3985         * gst/gsttaglist.c:
3986           more docs
3987
3988 2005-10-08  Wim Taymans  <wim@fluendo.com>
3989
3990         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3991         (gst_bin_dispose), (bin_bus_handler):
3992         Fix typos, add comments.
3993         Clear EOS list when going to PAUSED from any direction and do it
3994         in a threadsafe way.
3995         Get base time in a threadsafe way too.
3996         Fix confusing debug in the change_state function.
3997         Various other small cleanups.
3998         
3999         * gst/gstelement.c: (gst_element_post_message):
4000         Fix very verbose bus posting code.
4001
4002         * gst/gstpipeline.c: (gst_pipeline_class_init),
4003         (gst_pipeline_set_property), (gst_pipeline_get_property),
4004         (gst_pipeline_change_state):
4005         Small ARG_ -> PROP_ cleanup
4006
4007 2005-10-08  Wim Taymans  <wim@fluendo.com>
4008
4009         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4010         Do a less CPU demanding EOS check because we can.
4011
4012 2005-10-08  Wim Taymans  <wim@fluendo.com>
4013
4014         * libs/gst/dataprotocol/dataprotocol.c:
4015         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4016         (gst_dp_packet_from_event):
4017         * libs/gst/dataprotocol/dataprotocol.h:
4018         * libs/gst/dataprotocol/dp-private.h:
4019         It's about time we bump the version number.
4020         Since event types don't fit in the guint8 anymore describing
4021         the payload type, make payload type 16 bits wide.
4022
4023 2005-10-08  Wim Taymans  <wim@fluendo.com>
4024
4025         * docs/design/part-TODO.txt:
4026         * docs/design/part-clocks.txt:
4027         * docs/design/part-events.txt:
4028         * docs/design/part-gstbin.txt:
4029         * docs/design/part-gstelement.txt:
4030         * docs/design/part-gstpipeline.txt:
4031         * docs/design/part-live-source.txt:
4032         * docs/design/part-messages.txt:
4033         * docs/design/part-overview.txt:
4034         * docs/design/part-states.txt:
4035         Many doc updates.
4036
4037 2005-10-08  Wim Taymans  <wim@fluendo.com>
4038
4039         * gst/gstevent.c:
4040         * gst/gstevent.h:
4041         Fix event quark registration.
4042         Add some space between events so we can insert them in the
4043         right groups.
4044
4045 2005-10-08  Wim Taymans  <wim@fluendo.com>
4046
4047         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4048         (gst_base_sink_handle_buffer):
4049         Better log message.
4050
4051         * gst/gstbus.h:
4052         * gst/gstelement.h:
4053         More docs.
4054
4055         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4056         (gst_queue_set_property), (gst_queue_get_property):
4057         * gst/gstqueue.h:
4058         Remove old unused properties.
4059
4060 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4061         * docs/gst/gstreamer-sections.txt:
4062         * gst/gstmessage.c:
4063         * gst/gstmessage.h:
4064         * gst/gstminiobject.c:
4065         * gst/gstminiobject.h:
4066         * gst/gstobject.h:
4067         * gst/gstpad.h:
4068         * gst/gstutils.h:
4069           lots of new docs and doc fixes
4070
4071 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4072
4073         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4074         * gst/gstplugin.h:
4075         * gst/gstregistry.c: (gst_registry_lookup_locked),
4076         (gst_registry_scan_path_level):
4077         * gst/gstregistryxml.c: (load_plugin):
4078           Only ever load one plugin for a given plugin basename.
4079           This ensures correct overriding of GST_PLUGIN_PATH over
4080           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4081           system installed plugins.
4082
4083 2005-10-08  Wim Taymans  <wim@fluendo.com>
4084
4085         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4086         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4087         Prepare for doing QOS.
4088
4089 2005-10-08  Wim Taymans  <wim@fluendo.com>
4090
4091         * check/gst/gstbin.c: (GST_START_TEST):
4092         * check/pipelines/cleanup.c: (GST_START_TEST):
4093         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4094         Allow new clock message too.
4095
4096 2005-10-08  Wim Taymans  <wim@fluendo.com>
4097
4098         * gst/gstmessage.c: (gst_message_new_error),
4099         (gst_message_new_warning), (gst_message_new_tag),
4100         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4101         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4102         (gst_message_new_segment_start), (gst_message_new_segment_done),
4103         (gst_message_parse_state_changed),
4104         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4105         (gst_message_parse_new_clock):
4106         * gst/gstmessage.h:
4107         Also carry the clock in question.
4108
4109 2005-10-08  Wim Taymans  <wim@fluendo.com>
4110
4111         * gst/gstmessage.c: (gst_message_new_custom),
4112         (gst_message_new_eos), (gst_message_new_error),
4113         (gst_message_new_warning), (gst_message_new_tag),
4114         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4115         (gst_message_new_new_clock), (gst_message_new_segment_start),
4116         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4117         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4118         * gst/gstmessage.h:
4119         Clean up.
4120         Added clock related messages.
4121
4122         * gst/gstpipeline.c: (gst_pipeline_change_state):
4123         Post message when the clock changed.
4124
4125         * tools/gst-launch.c: (event_loop):
4126         Print new clock.
4127
4128 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4129
4130         * tools/gst-inspect.c: (print_element_properties_info):
4131           Can't pass NULL strings to g_print() on windows.
4132
4133 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4134
4135         * docs/Makefile.am:
4136         * docs/gst/Makefile.am:
4137         * docs/gst/gstreamer-docs.sgml:
4138         * docs/gst/running.xml:
4139         * docs/version.entities.in:
4140           add a chapter on running GStreamer.
4141           document GST_DEBUG and GST_PLUGIN* env vars
4142
4143 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4144
4145         * Makefile.am:
4146           remove include dir
4147         * configure.ac:
4148           remove PLUGINS_BUILDDIR stuff
4149         * gst/gst.c: (init_post):
4150           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4151         * idiottest.mak:
4152           remove, it was condescending and not needed
4153
4154 2005-10-08  Wim Taymans  <wim@fluendo.com>
4155
4156         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4157         (gst_base_sink_handle_object), (gst_base_sink_event),
4158         (gst_base_sink_wait), (gst_base_sink_handle_event),
4159         (gst_base_sink_change_state):
4160         * gst/base/gstbasesink.h:
4161         Repost EOS message while going to PLAYING if still EOS.
4162         Make sure that when receiving a FLUSH_START we don't attempt
4163         to sync on the clock anymore.
4164
4165 2005-10-08  Wim Taymans  <wim@fluendo.com>
4166
4167         * tools/gst-launch.c: (event_loop):
4168         Better message printout.
4169
4170 2005-10-08  Wim Taymans  <wim@fluendo.com>
4171
4172         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4173         (gst_bin_child_proxy_get_children_count):
4174         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4175         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4176         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4177         (gst_child_proxy_set_valist):
4178         * gst/parse/grammar.y:
4179         Make ChildProxy threadsafe and fix mem leaks.
4180
4181 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4182
4183         * gst/gst.c: (init_post):
4184           debug the GST_PLUGIN_ env vars
4185
4186 2005-10-08  Wim Taymans  <wim@fluendo.com>
4187
4188         * check/gst/gstbin.c: (GST_START_TEST):
4189         * check/gst/gstmessage.c: (GST_START_TEST):
4190         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4191         * gst/gstelement.c: (gst_element_commit_state),
4192         (gst_element_lost_state):
4193         * gst/gstmessage.c: (gst_message_new_state_changed),
4194         (gst_message_parse_state_changed):
4195         * gst/gstmessage.h:
4196         * tools/gst-launch.c: (event_loop):
4197         Added extra field to STATE_CHANGE message with the pending
4198         state, which will be different from the new state soon.
4199
4200 2005-10-08  Wim Taymans  <wim@fluendo.com>
4201
4202         * gst/gstbus.c: (gst_bus_pop):
4203         * gst/gstclock.c:
4204         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4205         Small cleanups and doc updates.
4206
4207 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4208
4209         * gst/gst.c: (init_pre):
4210         * gst/gstbin.c: (gst_bin_add_func):
4211           log distributing clocks and base time
4212         * gst/gstregistry.c: (gst_registry_add_plugin),
4213         (gst_registry_scan_path_level), (gst_registry_scan_path):
4214           clean up the debugging output a little
4215         * gst/gstutils.c: (gst_element_state_get_name):
4216           warn about a memleak (I've actually seen this be used, though
4217           it was probably a bug)
4218
4219 2005-10-07  Wim Taymans  <wim@fluendo.com>
4220
4221         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4222         (gst_base_src_init), (gst_base_src_default_newsegment),
4223         (gst_base_src_newsegment), (gst_base_src_do_seek),
4224         (gst_base_src_loop), (gst_base_src_start):
4225         * gst/base/gstbasesrc.h:
4226         Make the newsegment event customizable by subclasses.
4227
4228 2005-10-07  Wim Taymans  <wim@fluendo.com>
4229
4230         * gst/gstevent.c: (gst_event_new_buffersize),
4231         (gst_event_parse_buffersize):
4232         * gst/gstevent.h:
4233         New event for future idea.
4234
4235 2005-10-07  Andy Wingo  <wingo@pobox.com>
4236
4237         * gst/gstelement.c (gst_element_post_message): Doc update.
4238
4239         * docs/gst/gstreamer-sections.txt: Update.
4240
4241         * gst/gstmessage.c (gst_message_new_application): Made into a
4242         function like honest API calls.
4243         (gst_message_new_element): New message type.
4244
4245         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4246
4247         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4248         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4249         times.
4250
4251         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4252         NO_PREROLL from gst_element_change_state to fall through.
4253
4254 2005-10-07  Wim Taymans  <wim@fluendo.com>
4255
4256         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4257         (gst_ghost_pad_do_activate_push):
4258         Activating a ghostpad with no internal pad in push mode
4259         is ok.
4260
4261 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4262
4263         * gst/gstobject.h:
4264           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4265           Fixes compilation on Windows.
4266
4267 2005-10-07  Michael Smith <msmith@fluendo.com>
4268
4269         * tools/gst-inspect.c:
4270           Print out feature and plugin count at the end when printing out
4271           all features.
4272
4273 2005-10-04  Michael Smith <msmith@fluendo.com>
4274
4275         * gst/gsterror.c: (_gst_stream_errors_init):
4276           Add another error string used in a few existing plugins.
4277
4278         * gst/gstplugin.c:
4279         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4280         * tools/gst-inspect.c: (print_element_info):
4281           When a feature disappears from a plugin (and the feature exists in
4282           the cached registry file), things went horribly wrong. This isn't a
4283           complete fix, we should actually be removing the 'missing' features
4284           from the features list when we load the actual plugin. That's not
4285           yet implemented. 
4286
4287 2005-10-04  Johan Dahlin  <johan@gnome.org>
4288
4289         * check/gst/gstiterator.c: (GST_START_TEST):
4290         * gst/gstbin.c: (gst_bin_iterate_elements),
4291         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4292         * gst/gstelement.c: (gst_element_iterate_pads):
4293         * gst/gstformat.c: (gst_format_iterate_definitions):
4294         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4295         (gst_iterator_new_list), (gst_iterator_filter):
4296         * gst/gstiterator.h:
4297         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4298         Add a GType to GstIterator, update callsites and tests.
4299
4300 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4301
4302         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4303           give events a chance to be handled by event probes when the pad
4304           is not linked
4305
4306 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4307
4308         * gst/gstevent.c: (gst_event_type_get_name),
4309         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4310         * gst/gstevent.h:
4311           add string representations for event types
4312
4313 2005-10-06  Wim Taymans  <wim@fluendo.com>
4314
4315         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4316         Don't use NULL pointers.
4317
4318 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4319
4320         * gst/gst_private.h:
4321         * gst/gstbus.c:
4322         * gst/gstelement.c:
4323         * gst/gstinfo.c:
4324         * gst/gstpluginfeature.c:
4325           widen the debug category in output to fit the biggest one we have
4326           add a bus category and use it
4327           play with the colors
4328           fix up some categories
4329
4330 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4331
4332         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4333           add push activation of sink ghost pads.
4334           Andye, please verify
4335
4336 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4337
4338         * gst/gstutils.c: (gst_element_link_pads):
4339           fix a bug in the case where neither element has a pad
4340         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4341           add a test for that case
4342
4343 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4344
4345         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4346           emit have-data before checking for peers.  This allows
4347           for probe handlers to connect elements.  This helps autopluggers.
4348         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4349         (gst_pad_suite):
4350           add six checks, linked/unlinked with no/true/false probe
4351
4352 2005-10-04  Wim Taymans  <wim@fluendo.com>
4353
4354         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4355         (gst_fake_sink_event), (gst_fake_sink_preroll),
4356         (gst_fake_sink_render), (gst_fake_sink_change_state):
4357         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4358         (gst_fake_src_get_property), (gst_fake_src_create),
4359         (gst_fake_src_stop):
4360         * gst/elements/gstidentity.c: (gst_identity_stop):
4361         Protect last_message with lock.
4362
4363 2005-10-04  Edward Hervey  <edward@fluendo.com>
4364
4365         * gst/gstformat.h: 
4366         Added precision in the comments for GST_FORMAT_DEFAULT
4367
4368 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4369
4370         * tools/gst-launch.c: (main):
4371           Don't try to run erroneous pipelines.
4372
4373 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4374
4375         * gst/gstbus.c: We don't need this header.
4376
4377 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4378
4379         * configure.ac:
4380           back to development
4381
4382 === release 0.9.3 ===
4383
4384 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4385
4386         * README:
4387         * configure.ac:
4388           Releasing 0.9.3, "Unregistered"
4389
4390 2005-10-03  Andy Wingo  <wingo@pobox.com>
4391
4392         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4393         whereby calling a pad's activatepush() function can start a thread
4394         that starts to push or pull before the pad gets the FLUSHING flag
4395         unset. Hack around it by holding the stream lock until the flag is
4396         set. Need to replace this with a proper solution. Together with
4397         the ghost pad fixes, this fixes mp3 playing/tagreading.
4398
4399         * docs/design/part-gstghostpad.txt: Add a note about activation of
4400         proxy pads outside of ghost pads.
4401
4402         * gst/gstghostpad.c: Implement the ghost pad activation design.
4403
4404 2005-10-02  Andy Wingo  <wingo@pobox.com>
4405
4406         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4407         It is volatile, after all.
4408
4409         * docs/design/part-gstghostpad.txt: Flesh out activation with
4410         ghost pads.
4411
4412         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4413         GST_DEBUG_FUNCPTR.
4414
4415 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4416
4417         * configure.ac:
4418           Fix (unused) AM_CONDITIONAL tests.
4419
4420 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4421
4422         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4423
4424         * gst/gstutils.c: (gst_pad_query_convert):
4425           Add assertion that makes sure src_val is >=0, just like
4426           gst_query_new_convert() has. (#315895)
4427
4428 2005-09-30  Edward Hervey  <edward@fluendo.com>
4429
4430         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4431         Let's not iterate pads we're not interested in, it avoids getting 
4432         sky-high refcounts on sinkpad.
4433
4434 2005-09-30  Wim Taymans  <wim@fluendo.com>
4435
4436         * gst/gstelement.c: (gst_element_set_state),
4437         (gst_element_change_state):
4438         Small tweak, element in ASYNC remains ASYNC.
4439
4440 2005-09-30  Wim Taymans  <wim@fluendo.com>
4441
4442         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4443         Only error is an error.
4444
4445         * gst/gstbin.c: (gst_bin_change_state):
4446         Better debugging.
4447
4448         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4449         Also call pad_block in pad alloc.
4450
4451         * gst/gstutils.c: (gst_flow_get_name):
4452         Better debugging.
4453
4454 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4455
4456         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4457         (gst_base_src_get_range):
4458           Fix documentation typos. Add some more debug info.
4459
4460 2005-09-29  David Schleef  <ds@schleef.org>
4461
4462         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4463           more end-user friendly.
4464         * tools/gst-inspect.c: (main): Check if command-line argument is
4465           a file and attempt to load that file as a plugin.
4466
4467 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4468
4469         * check/gst/gstbin.c:
4470         * check/states/sinks.c:
4471           fix tests for the new warning
4472         * check/gst/gstpipeline.c:
4473           add a test for pipeline and bus interaction
4474         * gst/gstelement.c:
4475           elements should be NULL if they get disposed; add a warning if not
4476
4477 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4478
4479         * gst/gstobject.c:
4480           for 2.6 refcounting, make debug log more correct by printing
4481           the actual refcounts at the time of swap (Wim)
4482
4483 2005-09-29  Andy Wingo  <wingo@pobox.com>
4484
4485         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4486         removes signal watches previously added via
4487         gst_bus_add_signal_watch.
4488         (gst_bus_add_signal_watch): Don't return the source id, just store
4489         it on the bus if there wasn't an id already.
4490
4491         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4492         add_signal_watch and remove_signal_watch.
4493
4494 2005-09-29  Edward Hervey  <edward@fluendo.com>
4495
4496         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4497         Better if we actually iterate the list :)
4498
4499 2005-09-29  Wim Taymans  <wim@fluendo.com>
4500
4501         * check/gst/gstbin.c: (GST_START_TEST):
4502         Change for new bus API.
4503
4504         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4505         (send_messages), (GST_START_TEST), (gstbus_suite):
4506         Change for new bus signal API.
4507
4508         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4509         (gst_bus_source_prepare), (gst_bus_source_check),
4510         (gst_bus_create_watch), (gst_bus_add_watch_full),
4511         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4512         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4513         * gst/gstbus.h:
4514         Remove support for multiple GSources operating on different
4515         message types as it is too complex and unneeded when using
4516         signals.
4517         Added support for receiving signals from the bus.
4518
4519 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4520
4521         * docs/libs/tmpl/gstdataprotocol.sgml:
4522         * docs/manual/advanced-dataaccess.xml:
4523         * gst/elements/gstcapsfilter.c:
4524         * gst/gstutils.c:
4525           rename filter-caps to caps property
4526
4527 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4528
4529         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4530           More robust fraction string parsing.
4531
4532         * docs/pwg/appendix-porting.xml:
4533           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4534
4535 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4536
4537         * gst/gstcaps.c: (gst_caps_do_simplify):
4538           Thou shalt not free a structure and then continue using it
4539           in the next loop iteration.
4540
4541         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4542         (gst_caps_suite):
4543           Add test case for caps simplification.
4544
4545 2005-09-29  Wim Taymans  <wim@fluendo.com>
4546
4547         * check/gst/gstbin.c: (GST_START_TEST):
4548         Oops.
4549
4550 2005-09-29  Wim Taymans  <wim@fluendo.com>
4551
4552         * check/gst/gstbin.c: (GST_START_TEST):
4553         Add bus to bin.
4554
4555         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4556         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4557         (find_element), (gst_bin_sort_iterator_next),
4558         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4559         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4560         (gst_bin_change_state), (gst_bin_dispose):
4561         A bin does not have a bus, it gets the bus from the parent.
4562
4563         * gst/gstelement.c: (gst_element_requires_clock),
4564         (gst_element_provides_clock), (gst_element_is_indexable),
4565         (gst_element_is_locked_state), (gst_element_change_state),
4566         (gst_element_set_bus_func):
4567         Small cleanups.
4568
4569         * gst/gstpipeline.c: (gst_pipeline_class_init),
4570         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4571         The pipeline provides a bus.
4572
4573 2005-09-28  Johan Dahlin  <johan@gnome.org>
4574
4575         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4576         gst_structure_get_enum instead of gst_structure_get_int
4577
4578         * gst/gststructure.c (gst_structure_get_enum): Impl.
4579
4580         * gst/gststructure.h (gst_structure_get_enum): Add
4581
4582         * docs/gst/gstreamer-sections.txt: Ditto
4583
4584         * gst/gstmessage.c (gst_message_new_state_changed): Use
4585         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4586         which does introspection.
4587         Reviewed by Christian Schaller
4588
4589 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4590
4591         * gst/gstinfo.c: (gst_debug_log_default):
4592           don't do dummy g_strdup()s
4593         * libs/gst/controller/gstcontroller.c:
4594         (on_object_controlled_property_changed),
4595         (gst_controlled_property_new), (gst_controller_new_valist),
4596         (gst_controller_new_list),
4597         (gst_controller_remove_properties_valist), (gst_controller_set),
4598         (gst_controller_get), (gst_controller_sync_values),
4599         (gst_controller_get_value_array), (_gst_controller_class_init),
4600         (gst_controller_get_type):
4601         * libs/gst/controller/gstcontroller.h:
4602         * libs/gst/controller/gstinterpolation.c:
4603         (gst_controlled_property_find_timed_value_node):
4604           convert // to /**/ comments
4605
4606 2005-09-28  Wim Taymans  <wim@fluendo.com>
4607
4608         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4609         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4610         (gst_bus_sync_signal_handler):
4611         * gst/gstbus.h:
4612         Added async-message and sync-message signals to the bus.
4613         Added helper BusFunc to emit signals for all posted messages.
4614
4615         * gst/gstmessage.c: (gst_message_type_get_name),
4616         (gst_message_type_to_quark), (gst_message_get_type):
4617         * gst/gstmessage.h:
4618         Register quarks for message names.
4619
4620 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4621
4622         * docs/libs/gstreamer-libs-sections.txt:
4623         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4624         (gst_controller_new_list):
4625         * libs/gst/controller/gstcontroller.h:
4626           added another constructor for language bindings
4627
4628 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4629
4630         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4631           add another check
4632         * gst/gstbus.c:
4633           add some doc
4634         * gst/gstinfo.c: (_gst_debug_init):
4635           slightly more readable color for refcount debugging
4636
4637 2005-09-28  Wim Taymans  <wim@fluendo.com>
4638
4639         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4640         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4641         (find_element), (gst_bin_sort_iterator_next),
4642         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4643         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4644         (gst_bin_change_state), (gst_bin_dispose):
4645         Small doc fixes. get_clock -> provide_clock.
4646
4647         * gst/gstelement.c: (gst_element_class_init),
4648         (gst_element_provides_clock), (gst_element_provide_clock),
4649         (gst_element_get_clock), (gst_element_commit_state),
4650         (gst_element_lost_state):
4651         * gst/gstelement.h:
4652         Make get/set_clock() symetric. Add provide_clock vmethod since
4653         that is actually what this function does.
4654
4655         * gst/gstpipeline.c: (gst_pipeline_class_init),
4656         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4657         (gst_pipeline_get_clock):
4658         get_clock -> provide_clock.
4659
4660 2005-09-28  Andy Wingo  <wingo@pobox.com>
4661
4662         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4663         lieu of real docs...
4664
4665         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4666
4667 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4668
4669         * gst/elements/gstcapsfilter.c:
4670         * gst/elements/gstfakesink.c:
4671         * gst/elements/gstfakesrc.c:
4672         * gst/elements/gstfdsink.c:
4673         * gst/elements/gstfdsrc.c:
4674         * gst/elements/gstfilesink.c:
4675         * gst/elements/gstfilesrc.c:
4676         * gst/elements/gstidentity.c:
4677         * gst/elements/gsttee.c:
4678         * gst/elements/gsttypefindelement.c:
4679           Make element details static.
4680
4681 2005-09-28  Wim Taymans  <wim@fluendo.com>
4682
4683         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4684         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4685         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4686         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4687         (gst_bin_change_state), (gst_bin_dispose):
4688         Some documentation updates.
4689         Clean up dispose handlers.
4690
4691         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4692         * gst/gstpad.c: (gst_pad_dispose):
4693         Clean up dispose handler.
4694
4695         * gst/gstpipeline.c: (gst_pipeline_change_state):
4696         Removed spurious UNLOCK.
4697
4698 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4699
4700         * docs/gst/gstreamer-sections.txt:
4701         * gst/base/gstbasesrc.h:
4702         * gst/gstelement.h:
4703         * gst/gstevent.h:
4704         * gst/gstobject.h:
4705         * gst/gstpad.h:
4706         * gst/gstpipeline.c:
4707         * gst/gstpipeline.h:
4708         * gst/gstutils.h:
4709         * gst/gstxml.h:
4710           added two new functions to the docs
4711                 documents all undocumented GstXXXFlags
4712                 completed some incomplete docs 
4713
4714 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4715
4716         * gst/gstbin.c: (gst_bin_dispose):
4717         * gst/gstelement.c: (gst_element_dispose):
4718           remove now useless and leaky resurrection code in dispose
4719         * gst/base/gstbasesrc.c: (gst_base_src_init):
4720         * gst/gstelementfactory.c: (gst_element_factory_create):
4721         * gst/gstobject.c: (gst_object_set_parent):
4722           add some debugging
4723
4724 2005-09-27  Wim Taymans  <wim@fluendo.com>
4725
4726         * docs/design/part-TODO.txt:
4727         Update TODO.
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/gstelement.h:
4735         Remove element variable, we keep element info in the iterator now.
4736
4737 2005-09-27  Andy Wingo  <wingo@pobox.com>
4738
4739         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4740         values.
4741
4742 2005-09-27  Wim Taymans  <wim@fluendo.com>
4743
4744         * check/gst/gstbin.c: (GST_START_TEST):
4745         Enable check that works now.
4746
4747         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4748         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4749         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4750         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4751         (gst_bin_change_state):
4752         * gst/gstbin.h:
4753         Redid the state change algorithm using a topological sort algo.
4754         Handles all cases correctly.
4755         Exposed iterator for state change order.
4756
4757         * gst/gstelement.h:
4758         Temp storage for state changes. Need to get rid of this soon.
4759
4760 2005-09-27  Wim Taymans  <wim@fluendo.com>
4761
4762         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4763         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4764         (link_fold_func), (gst_pad_proxy_setcaps):
4765         Leak fixes, the fold functions need to unref the passed object and
4766         _get_parent_*() returns ref to parent.
4767
4768 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4769
4770         * check/gst/gstbuffer.c: (test_make_writable):
4771           Plug leak in test case and fix 'make check-valgrind'
4772
4773 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4774
4775         * gst/gstbuffer.c: (gst_subbuffer_init):
4776           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4777           works correctly in all circumstances (we could have just copied
4778           the parent buffer's readonly flag, but conceptually it seems
4779           cleaner to mark all subbuffers as read-only). (based on patch
4780           by Alessandro Decina, #314710).
4781         
4782         * check/gst/gstbuffer.c: (create_read_only_buffer),
4783         (test_make_writable), (test_subbuffer_make_writable),
4784         (gst_test_suite):
4785           Add some tests for gst_buffer_make_writable().
4786
4787 2005-09-27  Wim Taymans  <wim@fluendo.com>
4788
4789         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4790         use gst_object_has_ancestor().
4791
4792         * gst/gstobject.c: (gst_object_has_ancestor):
4793         * gst/gstobject.h:
4794         gst_object_has_ancestor() copied from gstbin.c as it is a
4795         usefull function.
4796
4797         * tests/instantiate/create.c: (create_all_elements):
4798         * tests/lat.c: (handoff_src), (handoff_sink):
4799         * tests/sched/runxml.c: (main):
4800         * tests/seeking/seeking1.c: (main):
4801         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4802         (main):
4803         Fix compilation of some tests.
4804
4805 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4806
4807         * gst/gsterror.h:
4808           Remove comment. GST_TYPE_G_ERROR is here to stay,
4809           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4810           (#316961, #300610).
4811
4812 2005-09-26  Wim Taymans  <wim@fluendo.com>
4813
4814         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4815         Added check that shows error in state change order.
4816
4817 2005-09-26  Wim Taymans  <wim@fluendo.com>
4818
4819         * gst/gstbin.c: (gst_bin_change_state):
4820         Make state change function use 3 queues again, we were
4821         adding elements in the wrong order.
4822
4823         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4824         Some debug info,
4825
4826         * gst/gstpad.c: (gst_pad_dispose):
4827         Added some debug info first.
4828
4829 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4830
4831         * docs/design/draft-push-pull.txt:
4832         * docs/design/part-events.txt:
4833         * docs/design/part-overview.txt:
4834         * docs/design/part-scheduling.txt:
4835           Replace all _pull_region() with _pull_range()
4836           
4837 2005-09-26  Andy Wingo  <wingo@pobox.com>
4838
4839         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4840
4841         * check/gst-libs/controller.c: Update for controller api change.
4842
4843         * configure.ac: 
4844         * tests/Makefile.am:
4845         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4846         over by GLib bug 118439.
4847         
4848         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4849         routines to a function.
4850
4851         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4852
4853         * libs/gst/controller/gsthelper.c:
4854         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4855         (gst_object_sync_values): Renamed from sink_values. Ugh.
4856
4857         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4858
4859         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4860         Renamed from controller_key, as it is exported.
4861
4862         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4863
4864 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4865
4866         * gst/Makefile.am:
4867         * gst/gst.h:
4868         * gst/gstpad.h:
4869         * gst/gstpadtemplate.h:
4870         * gst/gstquery.c:
4871         * gst/gstquery.h:
4872         * gst/gstqueryutils.c:
4873         * gst/gstqueryutils.h:
4874           remove queryutils headers after moving the two used functions
4875           to gstquery.  also fixes build problem for gstsiddec
4876
4877 2005-09-26  Michael Smith <msmith@fluendo.com>
4878
4879         * tools/gst-launch.1.in:
4880         Correct documentation in manpage of debug syntax
4881
4882 2005-09-26  Wim Taymans  <wim@fluendo.com>
4883
4884         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4885         (gst_base_src_is_seekable), (gst_base_src_change_state):
4886         Some more debugging info.
4887
4888 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4889
4890         * docs/gst/gstreamer-sections.txt:
4891         * gst/base/gstbasetransform.h:
4892         * gst/gstindex.h:
4893           added more docs
4894
4895 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4896
4897         * docs/gst/.cvsignore:
4898         * docs/gst/tmpl/.cvsignore:
4899         * docs/gst/tmpl/gstpipeline.sgml:
4900         * docs/gst/tmpl/gstplugin.sgml:
4901         * gst/gstpipeline.c:
4902         * gst/gstplugin.c:
4903         * gst/gstplugin.h:
4904           inlined the last two docs files
4905           removed the tmpl directory from cvs (no more conflicts here!)
4906
4907 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4908
4909         * docs/gst/gstreamer-sections.txt:
4910         * docs/gst/tmpl/.cvsignore:
4911         * docs/gst/tmpl/gstpad.sgml:
4912         * docs/gst/tmpl/gstpadtemplate.sgml:
4913         * gst/Makefile.am:
4914         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4915         (gst_pad_finalize), (gst_pad_set_pad_template):
4916         * gst/gstpad.h:
4917         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4918         (gst_pad_template_class_init), (gst_pad_template_init),
4919         (gst_pad_template_dispose), (name_is_valid),
4920         (gst_static_pad_template_get), (gst_pad_template_new),
4921         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4922         (gst_pad_template_pad_created):
4923         * gst/gstpadtemplate.h:
4924           inlined two more docs
4925           factored gstpadtemplate out of gstpad
4926
4927 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4928
4929         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4930         (test_children_state_change_order_semi_sink):
4931           Fix test case: we can't rely on a fixed state change order when
4932           going from READY => PAUSED because the sink might commit its 
4933           new state first when the first buffer created by the source 
4934           reaches the sink before the source has finished its change state.
4935           (Test case still fails at times, see #316856, comment 5 onwards)
4936
4937 2005-09-24  Wim Taymans  <wim@fluendo.com>
4938
4939         * docs/design/part-events.txt:
4940         * docs/design/part-gstbus.txt:
4941         * docs/design/part-gstpipeline.txt:
4942         * docs/design/part-messages.txt:
4943         * docs/design/part-overview.txt:
4944         * docs/design/part-segments.txt:
4945         * gst/gstbin.c:
4946         * gst/gstbuffer.c:
4947         * gst/gstclock.c:
4948         * gst/gstelement.c:
4949         * gst/gstevent.c:
4950         * gst/gstfilter.c:
4951         * gst/gstiterator.c:
4952         Various documentation updates.
4953
4954 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4955
4956         * gst/gstclock.h:
4957           Well, that's embarassing.  Luckily we weren't using
4958           GST_CLOCK_DIFF anywhere.
4959
4960 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4961
4962         * common/gtk-doc.mak:
4963           don't fail on building XML, FC4 slave shows a bunch of doc
4964           missing bits that I don't get
4965         * gst/gstpad.c:
4966         * gst/gstpipeline.c:
4967         * gst/gststructure.c:
4968           some doc updates
4969
4970 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4971
4972         * docs/design/part-gstbin.txt:
4973         * docs/design/part-gstbus.txt:
4974         * gst/gstbus.c:
4975           Add blurb about how the bus goes into flushing mode and
4976           drops all messages when its bin goes from READY into NULL 
4977           state.
4978
4979 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4980
4981         * docs/gst/gstreamer-sections.txt:
4982         * gst/gststructure.c: (gst_structure_get_clock_time):
4983         * gst/gststructure.h:
4984           add a method to get a GstClockTime out of a structure
4985
4986 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4987
4988         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4989         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4990           Added test to check state change order in bins (can still be made
4991           to fail here under heavy disk load; bails out with 'Push on pad
4992           fakesink:sink0, but it was not activated in push mode').
4993
4994         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4995           Fix state change order when there is only a semi sink (#316856)
4996
4997         * gst/gstbus.c: (gst_bus_class_init):
4998           Use _class_peek_parent(), not _class_ref(); fix docs to say
4999           'default main context' instead of 'mainloop' where that is
5000           what's meant.
5001
5002         * gst/gstelement.c: (gst_element_commit_state),
5003         (gst_element_set_state):
5004           Fix typos in debug messages
5005
5006 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5007
5008         * docs/README:
5009         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5010         * gst/gstpluginfeature.c:
5011         * gst/gstutils.c:
5012           various doc updates
5013         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5014           change an assert into an error until it gets fixed properly
5015
5016 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5017
5018         * docs/gst/gstreamer-sections.txt:
5019         * docs/gst/tmpl/.cvsignore:
5020         * docs/gst/tmpl/gstelement.sgml:
5021         * docs/gst/tmpl/gstinfo.sgml:
5022         * docs/gst/tmpl/gstobject.sgml:
5023         * gst/gstelement.c:
5024         * gst/gstelement.h:
5025         * gst/gstinfo.c:
5026         * gst/gstinfo.h:
5027         * gst/gstobject.c: (gst_object_class_init):
5028         * gst/gstobject.h:
5029           inlined 3 more biiiig doc files and added some missing docs on the fly
5030
5031 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5032
5033         * check/gst/.cvsignore:
5034         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5035         * gst/gstregistryxml.c: (load_plugin),
5036         (gst_registry_xml_save_plugin):
5037           put back source in registry.  add checks for find_plugin.
5038         * testsuite/states/bin.c: (assert_state), (empty_bin),
5039         (test_adding_one_element), (main):
5040         * testsuite/states/locked.c: (main):
5041           some compile/run fixes
5042
5043 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5044
5045         * check/gst/gstvalue.c: (GST_START_TEST):
5046           fix leaks in the test itself
5047
5048 2005-09-22  Wim Taymans  <wim@fluendo.com>
5049
5050         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5051         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5052         (gst_base_sink_query):
5053         Prepare for more accurate position reporting and query
5054         handling.
5055
5056         * gst/gstelement.c: (gst_element_send_event),
5057         (gst_element_set_state):
5058         Add some comment.
5059
5060 2005-09-22  Wim Taymans  <wim@fluendo.com>
5061
5062         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5063         (gst_query_parse_segment):
5064         * gst/gstquery.h:
5065         More documentation.
5066         Add segment query for future use.
5067
5068 2005-09-22  Wim Taymans  <wim@fluendo.com>
5069
5070         * gst/gstbin.c: (gst_bin_add_func):
5071         Some more debug info.
5072
5073         * gst/gstelement.c: (gst_element_send_event):
5074         Simplify send_event
5075
5076         * gst/gstelement.h:
5077         Don't know how flags got broken.
5078
5079         * gst/gstquery.h:
5080         Added new query.
5081
5082 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5083
5084         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5085           Add simplistic test suite for GST_TYPE_DATE serialisation and
5086           deserialisation.
5087
5088 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5089
5090         * docs/gst/gstreamer-sections.txt:
5091         * gst/gststructure.c: (gst_structure_set_valist),
5092         (gst_structure_get_date):
5093         * gst/gststructure.h:
5094         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5095         (gst_date_copy), (gst_value_compare_date),
5096         (gst_value_serialize_date), (gst_value_deserialize_date),
5097         (gst_value_transform_date_string),
5098         (gst_value_transform_string_date), (_gst_value_initialize):
5099         * gst/gstvalue.h:
5100           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5101           bunch of utility functions along with a hack that checks that
5102           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5103           is required. Part of the grand scheme in #170777.
5104
5105 2005-09-22  Andy Wingo  <wingo@pobox.com>
5106
5107         * gst/gstconfig.h.in: Psych out gtk-doc.
5108
5109         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5110
5111         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5112
5113         * tools/gst-inspect.c (print_element_list): Plug some
5114         inconsequential leaks.
5115
5116         * gst/gstregistry.c (gst_registry_get_default): Doc.
5117
5118         * check/gst/gstplugin.c: 
5119         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5120         * gst/gstelementfactory.c (gst_element_factory_create): 
5121         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5122         refcount changes.
5123
5124         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5125         (gst_plugin_feature_load): Doc, don't eat refs.
5126
5127         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5128         (gst_plugin_list_free): Doc.
5129         (gst_plugin_load_file): Doc updates.
5130
5131         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5132         accessors returning refcounted objects, return a ref.
5133
5134         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5135         accessor for caps. IDEMPOTENCE. Oh yes.
5136
5137 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5138
5139         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5140
5141         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5142         (_gst_debug_register_funcptr):
5143           Add mutex to serialise access to the hash table with
5144           the function pointer => function name string mapping;
5145           make that hash table static scope (#316809).
5146
5147         * gst/registries/.cvsignore:
5148           Remove left-over file.
5149
5150 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5151
5152         * docs/pwg/appendix-porting.xml:
5153           And something about newsegment events and caps-on-buffers to
5154           the porting guide (feel free to improve).
5155
5156 2005-09-21  Andy Wingo  <wingo@pobox.com>
5157
5158         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5159         data and event probes on the same pad.
5160         (test_buffer_probe_once): Test that removing probes from within
5161         the probe functions works.
5162
5163 2005-09-21  Andy Wingo  <wingo@pobox.com>
5164
5165         * check/gst/gstutils.c: New file.
5166         (test_buffer_probe_n_times): A simple buffer probe test. More to
5167         come, foolios.
5168
5169         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5170         have-data::buffer, not have-data.
5171         (gst_pad_add_event_probe): Likewise for have-data::event.
5172         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5173         peer' isn't quite right yet though.
5174         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5175         (gst_pad_remove_data_probe): Change to take the guint handler_id
5176         as their arg, not the function+data, which is more glib-like.
5177
5178         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5179         the signal emission to indicate if the data is a buffer or an
5180         event.
5181         (gst_pad_get_type): Initialize buffer and event quarks.
5182         (gst_pad_class_init): have-data is now a detailed signal, yes it
5183         is.
5184
5185 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5186
5187         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5188         * gst/gstutils.c: (gst_util_set_value_from_string),
5189         (gst_util_set_object_arg):
5190           Don't put functional code in g_return_if_fail() or
5191           g_return_val_if_fail() statements, otherwise things will 
5192           break when G_DISABLE_CHECKS is defined during compilation.
5193
5194 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5195
5196         * docs/gst/tmpl/.cvsignore:
5197         * docs/gst/tmpl/gstvalue.sgml:
5198         * gst/gstvalue.c:
5199         * gst/gstvalue.h:
5200           inlied another one and added  some obvious docs
5201
5202 2005-09-21  Wim Taymans  <wim@fluendo.com>
5203
5204         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5205         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5206         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5207         (gst_fdsrc_get_property), (gst_fdsrc_create):
5208         * gst/elements/gstfdsrc.h:
5209         Properly implement fdsrc. Removed signal and timeout,
5210         better implemented somewhere else.
5211
5212 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5213
5214         * docs/gst/tmpl/.cvsignore:
5215         * docs/gst/tmpl/gstimplementsinterface.sgml:
5216         * gst/gstinterface.c:
5217           inlined more docs
5218
5219 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5220
5221         * docs/gst/gstreamer-sections.txt:
5222         * docs/gst/tmpl/.cvsignore:
5223         * docs/gst/tmpl/gstenumtypes.sgml:
5224           remove obsolete doc file
5225
5226 2005-09-21  David Schleef  <ds@schleef.org>
5227
5228         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5229         little beer, fix a little leak.
5230
5231 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5232
5233         * docs/gst/gstreamer-docs.sgml:
5234         * docs/gst/gstreamer-sections.txt:
5235         * docs/gst/tmpl/.cvsignore:
5236         * gst/Makefile.am:
5237         * gst/gst.h:
5238         * gst/gstbin.c:
5239         * gst/gstelement.h:
5240         * gst/gstindex.c: (gst_index_class_init):
5241         * gst/gstindex.h:
5242         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5243         (gst_index_factory_class_init), (gst_index_factory_init),
5244         (gst_index_factory_finalize), (gst_index_factory_new),
5245         (gst_index_factory_destroy), (gst_index_factory_find),
5246         (gst_index_factory_create), (gst_index_factory_make):
5247         * gst/gstindexfactory.h:
5248         * gst/gstpluginfeature.c:
5249         * gst/gstpluginfeature.h:
5250         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5251           more docs inlined, splitted gstindex.{c,h}
5252
5253 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5254
5255         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5256           fix a leak
5257
5258 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5259
5260         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5261           Set sync to FALSE by default.
5262
5263 2005-09-20  Wim Taymans  <wim@fluendo.com>
5264
5265         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5266         (gst_base_sink_init):
5267         Make sync property settable from subclass.
5268
5269         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5270         (gst_fake_sink_change_state):
5271         Set sync to FALSE by default.
5272
5273 2005-09-20  Wim Taymans  <wim@fluendo.com>
5274
5275         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5276         * tools/gst-launch.c: (main):
5277         The timeout handler should have lower priority than the source
5278         so we don't timeout before popping a message with 0 timeout.
5279         Dump error messages after failed state change.
5280
5281 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5282
5283         * tools/gst-inspect.c: (print_element_properties_info):
5284           Fix two typos.
5285
5286 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5287
5288         * check/gst/gstevent.c:
5289         * gst/elements/gstfakesink.c:
5290         * gst/elements/gstfakesink.h:
5291           remove the sync property from fakesink.
5292           has the side effect of setting sync TRUE
5293           for fakesink, which is a change.  Anyone who knows how
5294           to fix this nicely in a GObject-y way, feel free.
5295
5296 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5297
5298         * docs/gst/gstreamer-docs.sgml:
5299           remove probe refsection
5300
5301 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5302
5303         * check/Makefile.am:
5304           disable valgrinding the controller test again
5305         * docs/gst/gstreamer-sections.txt:
5306           update for api-changes
5307
5308 2005-09-20  Wim Taymans  <wim@fluendo.com>
5309
5310         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5311         (gst_base_sink_set_property), (gst_base_sink_get_property),
5312         (gst_base_sink_do_sync):
5313         * gst/base/gstbasesink.h:
5314         Added sync property to basesink to disable clock sync.
5315
5316 2005-09-20  Andy Wingo  <wingo@pobox.com>
5317
5318         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5319         eating the caller's refcount.
5320
5321         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5322         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5323         refcount.
5324
5325         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5326         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5327         of GLib 2.8 public, so we can know which refcount to check in
5328         tests.
5329
5330         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5331         (gst_object_init): Only set the gst refcount if we're going ahead
5332         with the refcount hack.
5333
5334 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5335
5336         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5337         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5338           more leaks plumbed, added more debug-logging
5339         * gst/gstmacros.h:
5340           whitespace fix
5341
5342 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5343
5344         * gst/gstmessage.c:
5345           remove include of gstmemchunk.h
5346
5347 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5348
5349         * gst/gstclock.c: (_gst_clock_id_free):
5350           Commit from the Political Party For More Atomic CVS Commits,
5351           so that people don't waste too much of their day fishing
5352           out obvious leaks out of massive commits.
5353           Oh, and fix a pretty damn obvious leak in the memchunk
5354           removal code.
5355
5356 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5357
5358         * check/Makefile.am:
5359         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5360           plug mem-leak, re-add to valgrindable tests
5361
5362 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5363
5364         * gst/gstplugin.h:
5365           unbreak the build for those who have chronic arthritis
5366           and typing "make check" is just too taxing on the hands
5367
5368 2005-09-20  Andy Wingo  <wingo@pobox.com>
5369
5370         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5371         really want it out, you should fix plugins at the same time.
5372
5373 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5374
5375         * configure.ac:
5376         * docs/gst/gstreamer-sections.txt:
5377         * gst/gstobject.c:
5378           added missing symbols to api docs
5379           disable ref-count hack if we have glib >= 2.8
5380
5381 2005-09-19  David Schleef  <ds@schleef.org>
5382
5383         * docs/gst/Makefile.am: Ignore a few more internal headers
5384         * docs/gst/gstreamer-docs.sgml: Remove old sections
5385         * docs/gst/gstreamer-sections.txt: Remove old sections
5386         * docs/gst/tmpl/gstobject.sgml: update
5387         * docs/gst/tmpl/gstplugin.sgml: update
5388         * docs/gst/tmpl/gstpluginfeature.sgml: update
5389         * docs/random/ds/0.9-suggested-changes: update.
5390         * gst/Makefile.am: remove memchunk and trashstack, since they're
5391           not used.
5392         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5393         * gst/gst.h: don't include some headers
5394         * gst/gstchildproxy.c: add gstmarshal.h
5395         * gst/gstclock.c: Don't use memchunks
5396         * gst/gstminiobject.c: Add some docs
5397         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5398         * gst/gstobject.h: same
5399         * gst/gstplugin.c: include gstmacros.h
5400         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5401         * gst/gstquery.c: don't use memchunks
5402         * gst/gstregistry.c: rename gst_registry_deinit()
5403         * gst/gstregistry.h: same
5404
5405 2005-09-19  David Schleef  <ds@schleef.org>
5406
5407         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5408         * docs/libs/gstreamer-libs-sections.txt:
5409         * docs/libs/tmpl/gstgetbits.sgml:
5410         * docs/libs/tmpl/gstputbits.sgml:
5411
5412 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5413
5414         * win32/gstenumtypes.c:
5415         * win32/gstenumtypes.h:
5416           Update.
5417
5418 2005-09-19  Wim Taymans  <wim@fluendo.com>
5419
5420         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5421         Automatically PAUSE and RESUME a pipeline when a flushing seek
5422         is performed.
5423
5424 2005-09-19  Andy Wingo  <wingo@pobox.com>
5425
5426         * gst/gstregistry.h: Spacing fixen.
5427
5428 2005-09-19  Wim Taymans  <wim@fluendo.com>
5429
5430         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5431         Handle state change failure more correctly.
5432
5433 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5434
5435         * check/Makefile.am:
5436         * check/pipelines/cleanup.c: (run_pipeline):
5437         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5438         (GST_START_TEST):
5439           enable cleanup again after fixing the leak
5440         * docs/README:
5441           some more info on docs
5442
5443 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5444
5445         * check/Makefile.am:
5446           re-enable tests now that leaks are plugged
5447         * check/gst/gst.c:
5448         * check/gst/gstbin.c:
5449         * check/gst/gstpipeline.c:
5450           add some more tests while fixing leaks
5451         * common/check.mak:
5452           make sure binaries are uptodate when valgrinding/gdbing
5453         * gst/gst.c:
5454         * gst/gstelementfactory.c:
5455           remove a ref too many, and add a FIXME for when we get
5456           round to disposing of classes
5457         * gst/gstplugin.c:
5458           fix the refcounting when loading a plugin from a file and
5459           the code pretends that the pointer is the same even though
5460           of course it can change
5461         * gst/gstpluginfeature.c:
5462           unref plugins marked cached (a bit confusing as a name)
5463           as the docs state should be done
5464           various doc additions to explain refcounting
5465         * gst/gstregistry.c:
5466         * gst/gstregistryxml.c:
5467           debugging
5468
5469 2005-09-19  Wim Taymans  <wim@fluendo.com>
5470
5471         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5472         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5473         (send_messages), (GST_START_TEST), (gstbus_suite):
5474         * check/gst/gstpipeline.c: (GST_START_TEST):
5475         * check/pipelines/cleanup.c: (run_pipeline):
5476         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5477         (GST_START_TEST):
5478         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5479         (gst_bus_source_check), (gst_bus_source_dispatch),
5480         (gst_bus_create_watch), (gst_bus_add_watch_full),
5481         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5482         * gst/gstbus.h:
5483         * tools/gst-launch.c: (event_loop):
5484         * tools/gst-md5sum.c: (event_loop):
5485         GstBusHandler -> GstBusFunc, return value has the same meaning as
5486         any other GSource (FALSE == remove source).
5487         _add_watch() and _add_watch_full() now take a MessageType mask to
5488         only handle specific types of messages.
5489         _poll() returns the GstMessage instead of the message type to avoid
5490         race conditions.
5491         _have_pending() takes a MessageType mask now too.
5492         Added testsuite for multiple bus watches.
5493         Fix testsuites and applications for new bus API.
5494
5495 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5496
5497         * check/Makefile.am:
5498           mark a bunch of the tests as to fix until we fix them
5499
5500 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5501
5502         * common/check.mak:
5503           use GST_PLUGIN settings for valgrind tests as well, so we're
5504           valgrinding the correct thing
5505         * gst/gst.c: (init_post):
5506           plug another leak
5507
5508 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5509
5510         * gst/gst.c: (init_post), (gst_deinit):
5511         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5512         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5513         * gst/gstindex.c: (gst_index_factory_class_init),
5514         (gst_index_factory_finalize):
5515         * gst/gstobject.c: (gst_object_dispose):
5516         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5517         (gst_plugin_load_file), (gst_plugin_desc_free):
5518         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5519         (gst_plugin_feature_finalize):
5520         * gst/gstregistry.c: (gst_registry_class_init),
5521         (gst_registry_init), (gst_registry_finalize),
5522         (gst_registry_get_default), (gst_registry_deinit):
5523         * gst/gstregistry.h:
5524         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5525           various cleanups and memleak plugging.  make valgrind is happy now.
5526
5527 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5528
5529         * common/check.mak:
5530           add a check-valgrind target
5531
5532 2005-09-18  David Schleef  <ds@schleef.org>
5533
5534         * tools/gst-inspect.c: Revert the GOption code.
5535
5536 2005-09-17  David Schleef  <ds@schleef.org>
5537
5538         * check/Makefile.am: Fix environment variables.
5539         * check/gst/gstplugin.c: Fix for API changes.
5540         * tools/gst-inspect.c: Fix for API changes.
5541         * tools/gst-xmlinspect.c: Fix for API changes.
5542         * gst/gstelementfactory.c:
5543         * gst/gstplugin.c:
5544         * gst/gstplugin.h:
5545         * gst/gstpluginfeature.c:
5546         * gst/gstpluginfeature.h:
5547         * gst/gstregistry.c:
5548         * gst/gstregistry.h:
5549         * gst/gstregistryxml.c:
5550         * gst/gsttypefind.c:
5551         * gst/gsttypefindfactory.c:
5552         * gst/indexers/gstfileindex.c:
5553         * gst/indexers/gstmemindex.c:
5554         * gst/schedulers/Makefile.am:
5555           Change registry to keep track of both plugins and features,
5556           removing the feature tracking from plugins themselves.
5557
5558 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5559
5560         * check/Makefile.am:
5561         * tools/gst-register.1.in:
5562           remove gst-register
5563
5564 2005-09-15  David Schleef  <ds@schleef.org>
5565
5566         * check/gst/gstplugin.c:
5567         * gst/gstelementfactory.c:
5568         * gst/gstplugin.c:
5569         * gst/gstpluginfeature.c:
5570         * gst/gstregistry.c:
5571           Getting tired of debugging.  Disabled all the unreffing of
5572           plugins and features, which fixes the segfaults, but of
5573           course leaks like crazy.  At least playbin works.
5574
5575 2005-09-15  David Schleef  <ds@schleef.org>
5576
5577         * check/gst/gstplugin.c: (register_check_elements),
5578         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5579         More testing
5580         * gst/elements/gsttypefindelement.c: Fix refcounting.
5581         * gst/gsttypefind.c:
5582         * gst/gsttypefindfactory.c:
5583         * gst/gsttypefindfactory.h:
5584
5585 2005-09-15  David Schleef  <ds@schleef.org>
5586
5587         * gst/gstindex.c: get refcounting correct.
5588         * gst/gstregistry.c: Handle the case where a feature/plugin is
5589           not found.
5590
5591 2005-09-15  David Schleef  <ds@schleef.org>
5592
5593         * check/Makefile.am:
5594         * check/gst/gstplugin.c: Add test
5595         * gst/gstplugin.c: Fix problems noticed by testsuite
5596         * gst/gstplugin.h:
5597         * gst/gstregistry.c: 
5598         * gst/gstregistry.h:
5599
5600 2005-09-15  David Schleef  <ds@schleef.org>
5601
5602         * gst/gstplugin.c: Implement semi-decent recounting and locking
5603           in plugins and plugin features.
5604         * gst/gstplugin.h:
5605         * gst/gstpluginfeature.c:
5606         * gst/gstpluginfeature.h:
5607         * gst/gstregistry.c:
5608
5609 2005-09-15  Michael Smith <msmith@fluendo.com>
5610
5611         * gst/gstregistry.c: (gst_registry_get_feature_list):
5612           Implement this. Makes oggdemux work; decodebin still broken.
5613
5614 2005-09-14  David Schleef  <ds@schleef.org>
5615
5616         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5617           #316076)
5618         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5619         * gst/check/Makefile.am:
5620         * libs/gst/controller/Makefile.am:
5621         * libs/gst/dataprotocol/Makefile.am:
5622
5623 2005-09-14  David Schleef  <ds@schleef.org>
5624
5625         * configure.ac: Remove getbits library.  Nothing uses it, and
5626           it should be in something like liboil if someone did want
5627           to use it.
5628         * libs/gst/Makefile.am:
5629         * libs/gst/getbits/Makefile.am:
5630         * libs/gst/getbits/gbtest.c:
5631         * libs/gst/getbits/getbits.c:
5632         * libs/gst/getbits/getbits.h:
5633         * libs/gst/getbits/gstgetbits_generic.c:
5634         * libs/gst/getbits/gstgetbits_i386.s:
5635         * libs/gst/getbits/gstgetbits_inl.h:
5636
5637 2005-09-14  David Schleef  <ds@schleef.org>
5638
5639         * gst/Makefile.am: Dist glib-compat.h
5640
5641 2005-09-14  David Schleef  <ds@schleef.org>
5642
5643         * configure.ac: Remove gst/registries, since it's no longer used.
5644         * gst/registries/Makefile.am:
5645         * gst/registries/gstlibxmlregistry.c:
5646         * gst/registries/gstlibxmlregistry.h:
5647         * gst/registries/gstxmlregistry.c:
5648         * gst/registries/gstxmlregistry.h:
5649         * gst/registries/registrytest.c:
5650
5651 2005-09-14  David Schleef  <ds@schleef.org>
5652
5653         * gst/glib-compat.h:
5654         * gst/gstregistryxml.c:
5655           Convergence is near.  Seriously.
5656
5657 2005-09-14  David Schleef  <ds@schleef.org>
5658
5659         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5660         * gst/glib-compat.h:
5661           Attempt #4 to appease the buildbots.
5662
5663 2005-09-14  David Schleef  <ds@schleef.org>
5664
5665         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5666           Attempt #3.
5667
5668 2005-09-14  David Schleef  <ds@schleef.org>
5669
5670         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5671         Attempt #2.
5672
5673 2005-09-14  David Schleef  <ds@schleef.org>
5674
5675         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5676           the new functions.
5677
5678 2005-09-14  David Schleef  <ds@schleef.org>
5679
5680         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5681         * gst/glib-compat.h: Add some functions that are in newer versions
5682           of glib than we care to require.
5683         * gst/gstregistryxml.c: Use them.
5684
5685 2005-09-14  David Schleef  <ds@schleef.org>
5686
5687         * po/POTFILES.in: remove gst-register.c
5688
5689 2005-09-14  David Schleef  <ds@schleef.org>
5690
5691         * docs/gst/gstreamer-docs.sgml:
5692         * docs/gst/gstreamer-sections.txt:
5693         * docs/gst/gstreamer.types:
5694         * docs/gst/tmpl/gstelement.sgml:
5695         * docs/gst/tmpl/gstplugin.sgml:
5696         * docs/gst/tmpl/gstpluginfeature.sgml:
5697           Documentation updates for registry changes.
5698
5699 2005-09-14  David Schleef  <ds@schleef.org>
5700
5701         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5702           because we don't require glib-2.8.
5703
5704 2005-09-14  David Schleef  <ds@schleef.org>
5705
5706         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5707           registries directory.
5708
5709 2005-09-14  David Schleef  <ds@schleef.org>
5710
5711         * check/Makefile.am:
5712         * check/generic/states.c:
5713         * gst/Makefile.am:
5714         * gst/gst.c:
5715         * gst/gst.h:
5716         * gst/gst_private.h:
5717         * gst/gstelementfactory.c:
5718         * gst/gstindex.c:
5719         * gst/gstinfo.c:
5720         * gst/gstplugin.c:
5721         * gst/gstplugin.h:
5722         * gst/gstpluginfeature.c:
5723         * gst/gstpluginfeature.h:
5724         * gst/gstregistry.c:
5725         * gst/gstregistry.h:
5726         * gst/gstregistrypool.c: remove
5727         * gst/gstregistrypool.h: remove
5728         * gst/gsttypefind.c:
5729         * gst/gsttypefindfactory.c:
5730         * gst/gsturi.c:
5731         * tools/Makefile.am:
5732         * tools/gst-compprep.c:
5733         * tools/gst-inspect.c:
5734         * tools/gst-register.c: remove
5735         * tools/gst-xmlinspect.c:
5736           Registry rewrite.  Changes registry from being a file created
5737           by a tool into a simple cache file created automatically by 
5738           libgstreamer.  Removed gst-register (because it's no longer
5739           needed).  Remove registry pools, because we only have one
5740           registry implementation (XML).  Fix up other subsystems as
5741           necessary.
5742
5743 2005-09-13  Michael Smith <msmith@fluendo.com>
5744
5745         * gst/gstconfig.h.in:
5746           Don't Use windows linking attributes for MinGW. Fixes #316157
5747
5748 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5749
5750         * gst/gstutils.c: (set_state_async_thread_func),
5751         (gst_element_set_state_async):
5752           Apparently people think it's better if this function doesn't
5753           try to set the state to whatever state was asked for on the first
5754           call to this function for any object.  Seriously.
5755
5756 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5757
5758         * check/gst/gstpipeline.c: (GST_START_TEST):
5759         * docs/gst/gstreamer-sections.txt:
5760         * gst/gstutils.c: (set_state_async_thread_func),
5761         (gst_element_set_state_async):
5762         * gst/gstutils.h:
5763           add a "gst_element_set_state_async" method that
5764           sets the state and starts a thread to make sure the state
5765           change completes as best as it can
5766
5767 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5768
5769         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5770           codify design+behaviour in testsuite after discussion
5771
5772 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5773
5774         * docs/gst/tmpl/gstelement.sgml:
5775         * docs/manual/appendix-quotes.xml:
5776           add a quote
5777         * gst/gstelement.c: (gst_element_set_state):
5778           add some debug
5779
5780 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5781
5782         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5783         (gst_base_transform_prepare_output_buf),
5784         (gst_base_transform_handle_buffer):
5785         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5786         (gst_capsfilter_prepare_buf):
5787           Remove the requirement for sub-classes to call the parent
5788           implementation of prepare_output_buffer with a wrapper function.
5789           
5790         * gst/gsttaglist.h:
5791         * gst/gsttagsetter.h:
5792           Fix #define wrapper
5793
5794 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5795
5796         * docs/gst/gstreamer-sections.txt:
5797           more doc cleanups
5798
5799 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5800
5801         * docs/gst/gstreamer-sections.txt:
5802         * docs/gst/tmpl/gstelement.sgml:
5803         * docs/gst/tmpl/gstplugin.sgml:
5804         * gst/gstminiobject.c:
5805         * gst/gstvalue.h:
5806           docs now stop throwing warnings
5807
5808 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5809
5810         * docs/gst/gstreamer-sections.txt:
5811         * docs/gst/gstreamer.types:
5812         * docs/gst/tmpl/gstpad.sgml:
5813         * docs/gst/tmpl/gsttypes.sgml:
5814         * gst/base/gstadapter.h:
5815         * gst/base/gstbasesink.h:
5816         * gst/base/gstbasesrc.h:
5817         * gst/gstbin.h:
5818         * gst/gstbuffer.h:
5819         * gst/gstbus.h:
5820         * gst/gstcaps.h:
5821         * gst/gstclock.h:
5822         * gst/gstelement.h:
5823         * gst/gstevent.h:
5824         * gst/gstmessage.h:
5825         * gst/gstpad.h:
5826         * gst/gststructure.c:
5827         * gst/registries/gstlibxmlregistry.h:
5828           various documentation fixes
5829
5830 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5831
5832         * docs/gst/gstreamer-sections.txt:
5833         * docs/gst/tmpl/gstvalue.sgml:
5834           rearrange gstvalue section
5835         * gst/gstutils.c: (gst_element_state_get_name):
5836           NONE -> VOID
5837         * gst/gstvalue.c: (_gst_value_initialize):
5838         * gst/gstvalue.h:
5839           doc updates
5840
5841 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5842
5843         * check/gst-libs/controller.c:
5844           Header include fix.
5845         * gst/base/gstbasetransform.c:
5846         (gst_base_transform_default_prepare_buf),
5847         (gst_base_transform_handle_buffer):
5848         * gst/base/gstbasetransform.h:
5849           Some more basetransform changes and fixes to enable sub-classes
5850           that modify buffer metadata only.
5851         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5852         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5853         (gst_capsfilter_prepare_buf):
5854           If the output pad has fixed allowed caps and input buffers 
5855           don't have any, set the fixed caps on outgoing buffers.
5856
5857 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5858         * check/elements/identity.c: (GST_START_TEST):
5859           Make the error a little clearer when the test fails because
5860           identity made a copy of the buffer.
5861         * docs/gst/gstreamer-sections.txt:
5862           New symbols in gstbasetransform.h
5863         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5864         (gst_base_transform_init), (gst_base_transform_transform_size),
5865         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5866         (gst_base_transform_default_prepare_buf),
5867         (gst_base_transform_get_unit_size),
5868         (gst_base_transform_buffer_alloc),
5869         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5870         (gst_base_transform_change_state),
5871         (gst_base_transform_set_passthrough),
5872         (gst_base_transform_set_in_place),
5873         (gst_base_transform_is_in_place):
5874         * gst/base/gstbasetransform.h:
5875           Change BaseTransform to separate in_place operate from same_caps
5876           output. in_place implies that the element can perform the transform
5877           on incoming buffers in-place, even if the caps on the output are
5878           different.
5879           Sub-class elements can now implement special buffer allocation
5880           methods for outgoing buffers if they wish to.
5881           Big documentation addition.
5882         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5883         * gst/elements/gstelements.c:
5884           Changes for basetransform modifications.
5885         * gst/elements/Makefile.am:
5886         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5887           Compile fix. Extra debug output.
5888
5889 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5890
5891         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5892         (gst_pad_suite):
5893           add tests for valid pad naming
5894         * gst/check/gstcheck.c: (gst_check_log_message_func),
5895         (gst_check_log_critical_func):
5896           add ASSERT_WARNING
5897           remove printing of code, it is fragile when the code contains
5898           % and the line number is enough info
5899         * gst/check/gstcheck.h:
5900         * gst/gstpad.c: (gst_pad_template_new):
5901           fix memleaks
5902
5903 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5904
5905         * configure.ac:
5906           say what CHECK flags we use
5907         * docs/libs/gstreamer-libs.types:
5908         * libs/gst/controller/Makefile.am:
5909         * libs/gst/controller/gst-controller.c:
5910         * libs/gst/controller/gst-controller.h:
5911         * libs/gst/controller/gst-helper.c:
5912         * libs/gst/controller/gst-interpolation.c:
5913         * libs/gst/controller/gstcontroller.c:
5914         * libs/gst/controller/gsthelper.c:
5915         * libs/gst/controller/gstinterpolation.c:
5916         * tools/gst-inspect.c: (print_plugin_info):
5917           we don't use dashes in header names
5918
5919 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5920
5921         * check/Makefile.am:
5922         * check/gst/.cvsignore:
5923         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5924         (gst_pipeline_suite), (main):
5925           adding a test for pipelines and state changes
5926         * gst/gstutils.c: (get_state_func):
5927           add some debugging
5928         * gstreamer.spec.in:
5929           fix up spec file
5930
5931 2005-09-08  Michael Smith <msmith@fluendo.com>
5932
5933         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5934         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5935         (gst_file_src_is_seekable), (gst_file_src_get_size),
5936         (gst_file_src_start):
5937         * gst/elements/gstfilesrc.h:
5938           Various fixes for unseekable, unmmapable, and non-normal files, so
5939           that fallback to read() rather than mmap() works.
5940         * gst/gstevent.c: (gst_event_new_newsegment):
5941           Allow newsegment events with segment_start == segment_end, as will
5942           correctly happen if you use filesrc on a zero-size file, for
5943           example.
5944
5945 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5946
5947         * gst/gstplugin.c: (gst_plugin_load_file):
5948           Call g_module_close when we don't load the module
5949
5950         * gst/registries/gstlibxmlregistry.c:
5951         (gst_xml_registry_get_property):
5952           Port leak fix from 0.8
5953
5954 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5955
5956         * docs/gst/gstreamer-docs.sgml:
5957         * docs/gst/tmpl/.cvsignore:
5958         * docs/gst/tmpl/gsttrace.sgml:
5959         * docs/gst/tmpl/gsttrashstack.sgml:
5960         * gst/Makefile.am:
5961         * gst/gst.h:
5962         * gst/gstelement.h:
5963         * gst/gstevent.h:
5964         * gst/gstmessage.c:
5965         * gst/gstmessage.h:
5966         * gst/gsttag.c:
5967         * gst/gsttag.h:
5968         * gst/gsttaginterface.c:
5969         * gst/gsttaginterface.h:
5970         * gst/gsttaglist.c:
5971         * gst/gsttaglist.h:
5972         * gst/gsttagsetter.c:
5973         * gst/gsttagsetter.h:
5974         * gst/gsttrace.c:
5975         * gst/gsttrace.h:
5976         * gst/gsttrashstack.c:
5977           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5978           inlined docs for gsttrace, gsttrashstack
5979
5980 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5981
5982         * gst/Makefile.am:
5983         * gst/elements/gstbufferstore.h:
5984         * gst/elements/gsttypefindelement.c:
5985         * gst/elements/gsttypefindelement.h:
5986         * gst/gst.h:
5987         * gst/gsttypefind.c:
5988         * gst/gsttypefind.h:
5989         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5990         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5991         (gst_type_find_factory_dispose),
5992         (gst_type_find_factory_unload_thyself),
5993         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5994         (gst_type_find_factory_get_caps),
5995         (gst_type_find_factory_get_extensions),
5996         (gst_type_find_factory_call_function):
5997         * gst/gsttypefindfactory.h:
5998         * gst/registries/gstlibxmlregistry.c:
5999         * gst/registries/gstxmlregistry.c:
6000           splitted gsttypefind into gsttypefind, gsttypefindfactory
6001
6002 2005-09-07  Andy Wingo  <wingo@pobox.com>
6003
6004         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6005         condition whereby the pad's task function is entered before the
6006         pad_mode variable was set.
6007
6008 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6009
6010         * gst/gstpad.c: (gst_pad_alloc_buffer):
6011           Catch misbehaving pad_alloc functions that don't
6012           set up caps and do it for them.
6013
6014 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6015
6016         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6017           test for pipe!=NULL
6018         * docs/gst/tmpl/.cvsignore:
6019         * docs/gst/tmpl/gstmemchunk.sgml:
6020         * docs/gst/tmpl/gstparse.sgml:
6021         * docs/gst/tmpl/gsttaglist.sgml:
6022         * docs/gst/tmpl/gsttagsetter.sgml:
6023         * docs/gst/tmpl/gsttypefind.sgml:
6024         * docs/gst/tmpl/gsttypefindfactory.sgml:
6025         * gst/gstmemchunk.c:
6026         * gst/gstparse.c:
6027         * gst/gsttag.c:
6028         * gst/gsttaginterface.c:
6029         * gst/gsttypefind.c:
6030         * gst/gsttypefind.h:
6031           inlined more docs
6032
6033 === release 0.9.2 ===
6034
6035 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6036
6037         * NEWS:
6038         * RELEASE:
6039         * configure.ac:
6040           releasing 0.9.2, "South"
6041
6042 2005-09-05  Andy Wingo  <wingo@pobox.com>
6043
6044         * gst/registries/gstxmlregistry.h:
6045         * gst/registries/gstxmlregistry.c: Um... resurrect...
6046         
6047         * gst/registries/gstxmlregistry.h:
6048         * gst/registries/gstxmlregistry.c: and update to newer API.
6049         Incidentally they should be a bit faster now that they don't have
6050         to parse the caps.
6051         
6052 2005-09-05  Andy Wingo  <wingo@pobox.com>
6053
6054         * gst/registries/gstxmlregistry.h:
6055         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6056         replaced by the libxml registry a while back
6057
6058 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6059
6060         * docs/gst/tmpl/gstplugin.sgml:
6061         * gst/elements/gstelements.c:
6062         * gst/gst.c:
6063         * gst/gstplugin.c: (gst_plugin_register_func),
6064         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6065         (gst_plugin_get_source):
6066         * gst/gstplugin.h:
6067         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6068         (gst_xml_registry_save_plugin):
6069         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6070         (gst_xml_registry_save_plugin):
6071         * tools/gst-inspect.c: (print_plugin_info):
6072           add a "source" plugin description field, to represent the source
6073           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6074           will set it to PACKAGE, which is automake's idea of the name of
6075           the source project.
6076
6077 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6078
6079         * Makefile.am:
6080         * autogen.sh:
6081         * configure.ac:
6082         * docs/Makefile.am:
6083         * docs/faq/Makefile.am:
6084         * docs/gst/tmpl/gstelement.sgml:
6085         * docs/gst/tmpl/gsttypes.sgml:
6086         * docs/htmlinstall.mak:
6087         * docs/manual/Makefile.am:
6088         * docs/pwg/Makefile.am:
6089           reorganize doc build a little
6090           split out docbook and gtk-doc stuff
6091           have two separate --enable's and enable them through autogen
6092           but disable by default in configure (to be similar to other
6093           projects)
6094         * gstreamer.spec.in:
6095           clean up docs install
6096         * po/af.po:
6097         * po/az.po:
6098         * po/ca.po:
6099         * po/cs.po:
6100         * po/de.po:
6101         * po/en_GB.po:
6102         * po/fr.po:
6103         * po/it.po:
6104         * po/nb.po:
6105         * po/nl.po:
6106         * po/ru.po:
6107         * po/sq.po:
6108         * po/sr.po:
6109         * po/sv.po:
6110         * po/tr.po:
6111         * po/uk.po:
6112         * po/vi.po:
6113           translation updates
6114
6115 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6116
6117         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6118           Add comment.
6119           
6120         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6121         (gst_fake_sink_change_state):
6122           Make state change function thread-safe.
6123           
6124         * gst/gstpad.c: (gst_pad_alloc_buffer):
6125           Set offset on generic buffer allocated by fallback.
6126
6127 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6128
6129         * docs/gst/gstreamer-sections.txt:
6130         * docs/gst/tmpl/gstelement.sgml:
6131         * gst/gstpad.c:
6132         * libs/gst/controller/gst-controller.c:
6133         (gst_controlled_property_set_interpolation_mode),
6134         (gst_controlled_property_new),
6135         (gst_controller_find_controlled_property):
6136          run the wingo-magic script against the docs
6137
6138 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6139
6140         * docs/gst/gstreamer-docs.sgml:
6141         * docs/gst/gstreamer-sections.txt:
6142         * docs/gst/tmpl/.cvsignore:
6143         * docs/gst/tmpl/gstelementdetails.sgml:
6144         * docs/gst/tmpl/gstelementfactory.sgml:
6145         * gst/gst.c:
6146         * gst/gstbus.c:
6147         * gst/gstelementfactory.c:
6148         * gst/gstelementfactory.h:
6149           merged elementdetails docs into elementfactory docs
6150           inlined both
6151
6152 2005-09-02  Andy Wingo  <wingo@pobox.com>
6153
6154         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6155         consider this enum an enum and not a flags.
6156
6157 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6158
6159         * docs/gst/gstreamer-docs.sgml:
6160         * docs/gst/tmpl/.cvsignore:
6161         * docs/gst/tmpl/gstghostpad.sgml:
6162         * docs/gst/tmpl/gstiterator.sgml:
6163         * docs/gst/tmpl/gstmacros.sgml:
6164         * docs/gst/tmpl/gstrealpad.sgml:
6165         * docs/gst/tmpl/gstregistry.sgml:
6166         * docs/gst/tmpl/gstregistrypool.sgml:
6167         * docs/gst/tmpl/gststructure.sgml:
6168         * docs/gst/tmpl/gstsystemclock.sgml:
6169         * docs/gst/tmpl/gsttrace.sgml:
6170         * gst/gstghostpad.c:
6171         * gst/gstmacros.h:
6172         * gst/gstmemchunk.c:
6173         * gst/gstmemchunk.h:
6174         * gst/gstqueue.c:
6175         * gst/gstregistry.c:
6176         * gst/gstregistrypool.c:
6177         * gst/gststructure.c:
6178         * gst/gstsystemclock.c:
6179           more docs inlined
6180
6181 2005-09-02  Andy Wingo  <wingo@pobox.com>
6182
6183         * gst/gstelement.h (GstState): Renamed from GstElementState,
6184         changed to be a normal enum instead of flags.
6185         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6186         munged to be GST_STATE_CHANGE_*.
6187         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6188         work with the new state representation.
6189         (GstStateChange): New enumeration of possible state transitions.
6190         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6191         (GstElementClass::change_state): Pass the GstStateChange along as
6192         an argument. Helps language bindings, so they don't have to use
6193         tricky lock-needing macros like GST_STATE_CHANGE ().
6194
6195         * scripts/update-states (file): New script. Run it on a file to
6196         update it for state naming and API changes. Updates files in
6197         place.
6198
6199         * All files updated for the new API.
6200
6201 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6202
6203         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6204         * gst/gstutils.c: (gst_util_set_value_from_string),
6205         (gst_util_set_object_arg):
6206           fix a bunch of unchecked return values
6207         * tools/gst-complete.c: (main):
6208         * gstreamer.spec.in:
6209           clean up a little
6210
6211 2005-09-01  Wim Taymans  <wim@fluendo.com>
6212
6213         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6214         (gst_base_sink_event), (gst_base_sink_do_sync),
6215         (gst_base_sink_handle_event):
6216         * gst/base/gstbasesink.h:
6217         Handle newsegments more correctly.
6218
6219         * gst/gstbus.c:
6220         Fix docs.
6221
6222         * gst/gstevent.c: (gst_event_new_newsegment):
6223         A newsegment cannot have a start_time of -1
6224
6225 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6226
6227         * win32/gstenumtypes.c:
6228         * win32/gstenumtypes.h:
6229           Update
6230
6231 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6232
6233         * libs/gst/controller/gst-controller.c:
6234         (gst_controlled_property_set_interpolation_mode),
6235         (gst_controlled_property_new):
6236          fixed boolean again
6237
6238 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6239
6240         * docs/faq/gst-uninstalled:
6241           add -good
6242         * gst/gstevent.c:
6243         * gst/gstevent.h:
6244           remove wrong docs
6245         * gst/gstutils.c: (gst_element_link_filtered):
6246         * gst/gstutils.h:
6247           add gst_element_link_filtered
6248
6249 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6250
6251         * docs/gst/gstreamer-docs.sgml:
6252         * docs/gst/gstreamer-sections.txt:
6253         * docs/gst/tmpl/.cvsignore:
6254         * docs/gst/tmpl/gsterror.sgml:
6255         * docs/gst/tmpl/gstfilter.sgml:
6256         * docs/gst/tmpl/gsturihandler.sgml:
6257         * docs/gst/tmpl/gsturitype.sgml:
6258         * docs/gst/tmpl/gstutils.sgml:
6259         * docs/gst/tmpl/gstxml.sgml:
6260         * gst/gsterror.c:
6261         * gst/gsterror.h:
6262         * gst/gstfilter.c:
6263         * gst/gsturi.c:
6264         * gst/gsturitype.c:
6265         * gst/gstutils.c:
6266         * gst/gstxml.c:
6267           inlined more docs, fixed double id-ref
6268
6269 2005-08-31  Wim Taymans  <wim@fluendo.com>
6270
6271         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6272         (gst_base_transform_handle_buffer):
6273         Passthrough elements don't need the caps as they don't care.
6274
6275 2005-08-31  Wim Taymans  <wim@fluendo.com>
6276
6277         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6278         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6279         Don't leak refcounts on buffers.
6280
6281 2005-08-31  Wim Taymans  <wim@fluendo.com>
6282
6283         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6284         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6285         (gst_base_transform_chain), (gst_base_transform_change_state):
6286         * gst/base/gstbasetransform.h:
6287         Handle the case where we are not negotiated more gracefully.
6288
6289 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6290
6291         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6292         (gst_file_src_map_region):
6293           Set READONLY flag on mmap'ed buffers, otherwise
6294           gst_buffer_make_writable() won't work properly (#314708).
6295
6296 2005-08-31  Wim Taymans  <wim@fluendo.com>
6297
6298         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6299         passthrough elements can even do inplace on non writable
6300         buffers (as they don't touch them).
6301
6302 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6303
6304         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6305         (gst_test_mono_source_set_property),
6306         (gst_test_mono_source_class_init), (GST_START_TEST),
6307         (gst_controller_suite):
6308           more tests (hehe I have the most)
6309         * gst/gstbus.c:
6310           describe popping messages whenusing mulltiple sources
6311         * libs/gst/controller/gst-controller.c:
6312         (gst_controlled_property_set_interpolation_mode),
6313         (gst_controlled_property_new):
6314         * libs/gst/controller/gst-controller.h:
6315         * libs/gst/controller/gst-interpolation.c:
6316           implement boolean properties
6317
6318 2005-08-31  Wim Taymans  <wim@fluendo.com>
6319
6320         * gst/gstminiobject.c: (gst_mini_object_ref):
6321         Cannot assert that the refcount has to be positive
6322         since a disposed object can be resurrected.
6323
6324 2005-08-31  Wim Taymans  <wim@fluendo.com>
6325
6326         * gst/gstpad.c: (gst_pad_init):
6327         Revert change, need to first fix badly behaving 
6328         apps.
6329
6330 2005-08-30  Wim Taymans  <wim@fluendo.com>
6331
6332         * check/elements/fakesrc.c: (setup_fakesrc):
6333         * check/elements/identity.c: (setup_identity):
6334         Activate pads before using them.
6335
6336 2005-08-30  Wim Taymans  <wim@fluendo.com>
6337
6338         * gst/base/gstadapter.c: (gst_adapter_flush):
6339         Flushing out 0 bytes is ok for this function.
6340
6341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6342         no newsegment gives a warning and sets the start/stop to 
6343         invalid.
6344
6345         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6346         (gst_base_transform_set_passthrough):
6347         Some debug info.
6348
6349         * gst/gstminiobject.c: (gst_mini_object_ref):
6350         Check refcount here too.
6351
6352         * gst/gstpad.c: (gst_pad_init):
6353         Pads are initially flushing and refusing data.
6354
6355         * gst/gstutils.c: (gst_element_link_pads_filtered):
6356         When adding a capsfilter element make sure it has the
6357         same state as the parent bin.
6358
6359 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6360
6361         * docs/gst/tmpl/.cvsignore:
6362         * docs/gst/tmpl/gstformat.sgml:
6363         * docs/gst/tmpl/gstversion.sgml:
6364         * gst/gstbus.h:
6365         * gst/gstformat.c:
6366         * gst/gstformat.h:
6367         * gst/gstversion.h.in:
6368           more docs and two more inlined
6369
6370 2005-08-30  Wim Taymans  <wim@fluendo.com>
6371
6372         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6373         Don't sync to clock.
6374
6375 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6376
6377         * docs/gst/gstreamer-sections.txt:
6378           ultral33t func10ns deserve to appear in the docs actually
6379         * docs/gst/tmpl/.cvsignore:
6380         * docs/gst/tmpl/gstcompat.sgml:
6381         * docs/gst/tmpl/gstconfig.sgml:
6382         * gst/check/gstcheck.c:
6383         * gst/gstcompat.h:
6384         * gst/gstconfig.h.in:
6385           inlined more docs
6386
6387 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6388
6389         * docs/gst/tmpl/.cvsignore:
6390         * docs/gst/tmpl/gstquery.sgml:
6391         * docs/gst/tmpl/gstutils.sgml:
6392         * gst/gstquery.c:
6393         * gst/gstquery.h:
6394           inlined and extended docs
6395
6396 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6397
6398         * check/gst-libs/controller.c: (GST_START_TEST),
6399         (gst_controller_suite):
6400           more tests
6401         * docs/gst/tmpl/gstutils.sgml:
6402         * docs/libs/gstreamer-libs-sections.txt:
6403         * docs/libs/tmpl/gstdataprotocol.sgml:
6404           include path fixes
6405         * examples/controller/audio-example.c: (main):
6406           controller example works now
6407         * gst/gstclock.h:
6408           doc fixes
6409         * tools/gst-inspect.c: (print_element_properties_info):
6410           show param spec flags
6411
6412 2005-08-29  Andy Wingo  <wingo@pobox.com>
6413
6414         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6415
6416 2005-08-28  Andy Wingo  <wingo@pobox.com>
6417
6418         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6419         as having two arguments instead of just one. Allows superclasses
6420         to access information on subclasses -- see the terrible for() loop
6421         in gtype.c:g_type_create_instance for the reason why. All callers
6422         changed.
6423
6424 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6425
6426         * docs/design/part-messages.txt:
6427           update info
6428         * docs/gst/tmpl/.cvsignore:
6429         * docs/gst/tmpl/gstcaps.sgml:
6430         * docs/gst/tmpl/gstclock.sgml:
6431         * gst/gstbus.c:
6432         * gst/gstcaps.c:
6433         * gst/gstcaps.h:
6434         * gst/gstclock.c:
6435         * gst/gstclock.h:
6436         * gst/gstmessage.c:
6437           added descriptions for bus and message
6438           inline caps and clock docs
6439
6440 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6441
6442         * gst/gstmessage.c:
6443         * gst/gstmessage.h:
6444           doc fixes
6445
6446 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6447
6448         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6449           fix div-by-zero
6450
6451 2005-08-26  Andy Wingo  <wingo@pobox.com>
6452
6453         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6454         element_set_state's return val.
6455         (test_2_elements): Add test that's been disabled for months.
6456
6457         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6458         can-activate-pull properties.
6459
6460         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6461         can-activate-pull properties. Implement is_seekable so fakesrc can
6462         operate in pull mode.
6463
6464         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6465         properties.
6466         (gst_base_sink_activate, gst_base_sink_activate_pull)
6467         (gst_base_sink_activate_push): Make activation mode choosing work.
6468         Cleanups.
6469         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6470         is right. Make pull mode work. Post an eos before pausing in pull
6471         mode.
6472         (gst_base_sink_change_state): Pay attention to the core's
6473         change_state() return val.
6474         
6475         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6476         has-getrange properties. Cleanups.
6477         
6478         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6479         has_getrange and replace with can_activate_pull and
6480         can_activate_push.
6481
6482         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6483         locking comments. Remove has_loop, has_chain and replace with
6484         can_activate_pull and can_activate_push.
6485
6486 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6487
6488         * configure.ac:
6489         * examples/Makefile.am:
6490         * examples/metadata/Makefile.am:
6491         * examples/metadata/read-metadata.c: (message_loop),
6492         (have_pad_handler), (make_pipeline), (print_tag), (main):
6493           Add metadata reading example that loops over a list of filenames,
6494           dumping any tags found.
6495
6496         * gst/gstbus.c: (gst_bus_dispose):
6497         * gst/gstelement.c: (gst_element_dispose):
6498           Release a few potentially-held references in dispose.
6499
6500 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6501
6502         * docs/gst/tmpl/gstminiobject.sgml:
6503           do *not* add tmpl/*.sgml files to CVS!
6504
6505 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6506
6507         * libs/gst/bytestream/.cvsignore:
6508         * libs/gst/bytestream/Makefile.am:
6509         * libs/gst/bytestream/adapter.c:
6510         * libs/gst/bytestream/adapter.h:
6511         * libs/gst/bytestream/bytestream.c:
6512         * libs/gst/bytestream/bytestream.h:
6513         * libs/gst/bytestream/filepad.c:
6514         * libs/gst/bytestream/filepad.h:
6515           removing obsolete files
6516
6517 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6518
6519         * docs/gst/gstreamer-docs.sgml:
6520         * docs/libs/gstreamer-libs-docs.sgml:
6521           disabed additional index entries again, as this makes docs-gen just
6522           slow and they aren't useful yet
6523         * docs/libs/gstreamer-libs-sections.txt:
6524           little -section.txt cleanup for libs
6525
6526 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6527
6528         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6529         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6530           fix up some debugging
6531         (gst_base_transform_get_unit_size),
6532         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6533         (gst_base_transform_handle_buffer):
6534         * gst/base/gstbasetransform.h:
6535           handle and store timed NEWSEGMENT events so that subclasses that
6536           calculate time by counting samples have a segment_start time they
6537           need to add to their timestamps - see audioresample
6538
6539 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6540
6541         * gst/gstbin.h:
6542           removed ';' from the end of macro defs
6543         * docs/gst/gstreamer-docs.sgml:
6544         * docs/gst/gstreamer-sections.txt:
6545         * docs/gst/tmpl/.cvsignore:
6546         * gst/gstbus.h:
6547         * gst/gstelement.c: (gst_element_class_init),
6548         (gst_element_set_state), (activate_pads),
6549         (gst_element_save_thyself):
6550         * gst/gstevent.c: (gst_event_new_newsegment):
6551         * gst/gstevent.h:
6552         * gst/gstiterator.c:
6553         * gst/gstiterator.h:
6554         * gst/gstpad.c:
6555         * gst/gstprobe.h:
6556         * gst/gstutils.c: (gst_pad_query_convert):
6557         * gst/gstutils.h:
6558           fixed parameter name mismatches between source, header and docs
6559           added some more docs, resolved the last batch of unused elements in
6560           docs (now someone needs to doc them)
6561
6562 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6563
6564         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6565         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6566           don't walk through the plugins backwards.  Where is all this
6567           reversed logic coming from ?
6568
6569 2005-08-25  Wim Taymans  <wim@fluendo.com>
6570
6571         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6572         (gst_base_transform_transform_size),
6573         (gst_base_transform_configure_caps),
6574         (gst_base_transform_get_unit_size),
6575         (gst_base_transform_buffer_alloc),
6576         (gst_base_transform_change_state):
6577         * gst/base/gstbasetransform.h:
6578         Cache caps unit_size.
6579         Make sure we cannot negotiate up and downstream at the
6580         same time.
6581
6582 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6583
6584         * gst/gst.c: (init_pre), (init_post):
6585           register the installed plugin path after the env var
6586         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6587         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6588           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6589           directories, so the tests can prefer uninstalled over installed
6590
6591 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6592
6593         * gst/base/gstbasetransform.h:
6594           comment
6595         * gst/gstpad.c:
6596           add to docs
6597
6598 2005-08-25  Wim Taymans  <wim@fluendo.com>
6599
6600         * gst/gstbin.c: (bin_bus_handler):
6601         Be a bit more conservative about the posted message.
6602         
6603         * gst/gstbus.c: (gst_bus_post):
6604         Some cleanups, warn wrong return values.
6605
6606 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6607
6608         * check/gst/gstbin.c: (GST_START_TEST):
6609         * gst/gstbin.c: (bin_bus_handler):
6610         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6611         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6612         (gst_message_new_warning), (gst_message_new_tag),
6613         (gst_message_new_state_changed), (gst_message_new_segment_start),
6614         (gst_message_new_segment_done), (gst_message_new_custom):
6615         * gst/gstmessage.h:
6616         * tools/gst-launch.c: (event_loop):
6617         * tools/gst-md5sum.c: (event_loop):
6618           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6619
6620 2005-08-25  Wim Taymans  <wim@fluendo.com>
6621
6622         * check/generic/states.c: (GST_START_TEST):
6623         Cleanup can be done at the end.
6624
6625         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6626         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6627         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6628         Oh boy.. Thanks for finding this, Thomas. 
6629
6630 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6631
6632         * docs/gst/gstreamer.types:
6633           added missing types
6634
6635 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6636
6637         * docs/gst/gstreamer-docs.sgml:
6638         * docs/gst/gstreamer-sections.txt:
6639         * docs/gst/tmpl/.cvsignore:
6640         * gst/gstbin.c:
6641         * gst/gstiterator.c:
6642         * gst/gstutils.c:
6643         * gst/registries/gstxmlregistry.h:
6644           added missing classes and symbols (123 more to go)
6645           removed removed symbols from section file
6646           fixed many doc-comments
6647
6648 2005-08-24  Wim Taymans  <wim@fluendo.com>
6649
6650         * check/generic/states.c: (GST_START_TEST):
6651         Make sure all tasks are stopped.
6652
6653         * check/gst/gstbin.c: (GST_START_TEST):
6654         Unref after usage for proper valgrinding.
6655
6656         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6657         Really wait for the task to stop before destroying the
6658         mutex.
6659
6660         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6661         (gst_queue_src_activate_push):
6662         Small cleanups. Don't stop the task when we did not start
6663         it.
6664
6665         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6666         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6667         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6668         (gst_task_join):
6669         * gst/gsttask.h:
6670         Protect the stream lock with the object lock.
6671         Disallow setting the stream lock when running.
6672         Add cleanup_all to wait for the threadpool to finish.
6673         Remove code to autoallocate a mutex if none was provided.
6674         Add _join() to wait for a task to stop.
6675         Protect the thread pool with a global lock.
6676
6677 2005-08-24  Wim Taymans  <wim@fluendo.com>
6678
6679         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6680         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6681         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6682         * gst/base/gstbasesink.h:
6683         Handle newsegment events correctly.
6684         Drop buffers out of the segment range.
6685
6686 2005-08-22  Andy Wingo  <wingo@pobox.com>
6687
6688         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6689         macro, implements an interface and gstimplementsinterface for a
6690         new type.
6691
6692 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6693
6694         * check/Makefile.am:
6695         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6696           add a test that does a bunch of state changes on elements
6697           needs some fixing for valgrind
6698         * check/states/sinks.c: (gst_object_suite):
6699           whitespace
6700         * gst/gstcaps.h:
6701           add prototype for gst_caps_is_equal_fixed
6702         * gst/gstplugin.c:
6703         * gst/gstregistrypool.c:
6704           doc fixes
6705
6706 2005-08-24  Andy Wingo  <wingo@pobox.com>
6707
6708         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6709         convert a negative value. Doesn't make much sense. Mostly this is
6710         here to force callers to ensure -1 maps to -1.
6711
6712 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6713
6714         * docs/pwg/advanced-types.xml:
6715           Well done to Michael for catching my deliberate introduction
6716           of this spelling mistake. 
6717         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6718         * gst/gstelement.h:
6719           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6720           unlink pads before removing the element from the bin.
6721
6722 2005-08-24  Andy Wingo  <wingo@pobox.com>
6723
6724         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6725         the same thing as GST_DEBUG=*:4.
6726         (parse_debug_level, parse_debug_category): New helper parsers.
6727
6728 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6729
6730         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6731         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6732         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6733         (gst_base_transform_buffer_alloc),
6734         (gst_base_transform_handle_buffer):
6735           use gboolean return values and pointers to size so we can use the
6736           full GST_BUFFER_SIZE range (guint) for buffer sizes
6737           use GstPadDirection for transform_caps
6738         * gst/base/gstbasetransform.h:
6739           rename get_size to get_unit_size since that's what it is
6740         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6741           use GstPadDirection for transform_caps
6742         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6743         * gst/gstutils.h:
6744           cleanup and debugging
6745
6746 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6747
6748         * gst/gstelement.c: (gst_element_class_init),
6749         (gst_element_set_state), (activate_pads),
6750         (gst_element_save_thyself):
6751         * tools/gst-compprep.c: (main):
6752         * tools/gst-inspect.c: (print_element_properties_info):
6753         * tools/gst-xmlinspect.c: (print_element_properties):
6754           Fixed long standing mem-leak
6755
6756 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6757
6758         * check/gst/gstbin.c: (GST_START_TEST):
6759         * gst/gstbin.c: (bin_bus_handler):
6760         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6761         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6762         (gst_message_new_warning), (gst_message_new_tag),
6763         (gst_message_new_state_changed), (gst_message_new_segment_start),
6764         (gst_message_new_segment_done), (gst_message_new_custom):
6765         * gst/gstmessage.h:
6766         * tools/gst-launch.c: (event_loop):
6767         * tools/gst-md5sum.c: (event_loop):
6768           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6769           that applications can sensibly post custom messages with references
6770           to their own objects.
6771
6772 2005-08-24  Andy Wingo  <wingo@pobox.com>
6773
6774         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6775         already.
6776
6777 2005-08-24  Wim Taymans  <wim@fluendo.com>
6778
6779         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6780         (gst_base_transform_transform_caps),
6781         (gst_base_transform_transform_size),
6782         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6783         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6784         (gst_base_transform_handle_buffer):
6785         * gst/base/gstbasetransform.h:
6786         Many fixes and new features added by Thomas. Can now also do
6787         transforms with variable sizes and a custom fixate_caps function.
6788
6789 2005-08-24  Wim Taymans  <wim@fluendo.com>
6790
6791         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6792         Some debugging.
6793
6794         * gst/gstclock.h:
6795         Cast to ClockTime before formatting to time.
6796
6797         * gst/gstutils.h:
6798         Cleanups.
6799
6800 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6801
6802         * check/gst-libs/controller.c: (GST_START_TEST),
6803         (gst_controller_suite):
6804         * docs/gst/tmpl/gstcaps.sgml:
6805         * docs/gst/tmpl/gstghostpad.sgml:
6806         * docs/gst/tmpl/gstquery.sgml:
6807         * docs/gst/tmpl/gstutils.sgml:
6808         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6809         (gst_object_sink_values), (gst_object_get_value_arrays),
6810         (gst_object_get_value_array):
6811           gracefully handle helper method calls to objects that are not beeing
6812           controlled, added test case for that          
6813
6814 2005-08-23  Wim Taymans  <wim@fluendo.com>
6815
6816         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6817         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6818         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6819         (gst_event_parse_qos), (gst_event_new_seek),
6820         (gst_event_parse_seek):
6821         * gst/gstevent.h:
6822         Some more debugging output and doc cleanups.
6823
6824         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6825         Fix possible deadlock.
6826
6827 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6828
6829         * docs/gst/gstreamer-docs.sgml:
6830         * docs/gst/gstreamer-sections.txt:
6831         * docs/gst/gstreamer.types:
6832         * docs/gst/tmpl/.cvsignore:
6833         * gst/gstbin.h:
6834         * gst/gstbus.c:
6835         * gst/gstelement.c:
6836         * gst/gstevent.h:
6837           added 100 symbols from gstreamer-unused.txt to the right sections
6838           fixed more broken comments
6839           added GstBus to docs
6840
6841 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6842
6843         * docs/gst/gstreamer-sections.txt:
6844         * docs/gst/tmpl/.cvsignore:
6845         * docs/gst/tmpl/gstbin.sgml:
6846         * docs/gst/tmpl/gstbuffer.sgml:
6847         * gst/base/gstbasesrc.c:
6848         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6849         * gst/gstbuffer.c:
6850         * gst/gstbuffer.h:
6851         * tools/gst-launch.1.in:
6852           inlined more doc comments, added missing comments and fixed comments
6853           fixed typos
6854
6855 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6856
6857         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6858           some debugging
6859         * gst/gstcaps.h:
6860           whitespace fixes
6861         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6862           more debugging
6863         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6864         * gst/gststructure.h:
6865           add a fixate function for booleans; add a FIXME that these func
6866           names should probably be gst_structure_fixate_*
6867
6868 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6869
6870         * docs/gst/gstreamer-docs.sgml:
6871         * docs/gst/gstreamer-sections.txt:
6872         * gst/Makefile.am:
6873         * gst/gstbin.c: (gst_bin_get_type),
6874         (gst_bin_child_proxy_get_child_by_index),
6875         (gst_bin_child_proxy_get_children_count),
6876         (gst_bin_child_proxy_init):
6877         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6878         (gst_child_proxy_get_child_by_index),
6879         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6880         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6881         (gst_child_proxy_get), (gst_child_proxy_set_property),
6882         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6883         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6884         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6885         * gst/gstchildproxy.h:
6886         * gst/parse/grammar.y:
6887         * tools/gst-inspect.c: (print_interfaces),
6888         (print_element_properties_info), (print_element_info):
6889           ported gstchildproxy over from 0.8
6890           ported gst-inspect fixes and enhancements over from 0.8
6891
6892 2005-08-22  Wim Taymans  <wim@fluendo.com>
6893
6894         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6895         (gst_base_transform_handle_buffer):
6896         Also call the transform function if we have ANY caps.
6897
6898         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6899         Fix debug info.
6900
6901 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6902
6903         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6904           Don't pretend to handle seek events if the source is not seekable
6905
6906 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6907
6908         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6909           Remove extra parameter to debug output
6910
6911         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6912         (gst_base_src_do_seek), (gst_base_src_activate_push):
6913           Fix seek event handling.
6914
6915         * gst/gstpipeline.c: (gst_pipeline_change_state):
6916         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6917         (gst_queue_src_activate_push):
6918           Don't start the src pad task on FLUSH_STOP if the pad
6919           isn't linked.
6920           Debug changes.
6921
6922 2005-08-22  Wim Taymans  <wim@fluendo.com>
6923
6924         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6925         Added check for gst_static_caps_get() refcounting.
6926
6927 2005-08-22  Wim Taymans  <wim@fluendo.com>
6928
6929         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6930         Make _static_caps_get() refcounting sane.
6931         
6932         * gst/gstelement.c: (gst_element_set_state):
6933         Add g_return_val_if_fail() to protect against segfaults.
6934
6935 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6936
6937         * docs/gst/tmpl/gstevent.sgml:
6938         * gst/gstevent.c:
6939         * gst/gstevent.h:
6940           inlined remaining docs, added missing doc comments
6941
6942 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6943
6944         * check/gst/gstbin.c: (GST_START_TEST):
6945           since we don't know when preroll is done, use refcount range
6946           check for the sink
6947         * gst/check/gstcheck.h:
6948           add macro for checking refcount range
6949
6950 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6951
6952         * check/Makefile.am:
6953           clean up environment for when registry gets built versus
6954           when actual tests are run; valgrind seems to not report
6955           leaks if GST_PLUGIN_PATH is set to some specific values
6956         * check/gst/gstbin.c: (GST_START_TEST):
6957           add more refcounting checks; maybe this exposes a
6958           preroll lock bug ?
6959         * common/check.mak:
6960         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6961         * gst/check/gstcheck.h:
6962         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6963         (gst_bin_change_state):
6964         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6965           add/fix debugging/whitespace
6966
6967 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6968
6969         * check/gst/gstevent.c: (event_probe), (test_event),
6970         (GST_START_TEST):
6971          Er, don't call gst_bin_watch_for_state_change you idiot.
6972
6973 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6974
6975         * check/Makefile.am:
6976           Use CHECK_CFLAGS and CHECK_LIBS
6977         * check/gst/gstevent.c: (event_probe), (test_event),
6978         (GST_START_TEST):
6979           Don't leak events.
6980         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6981         (gst_base_src_start), (gst_base_src_stop),
6982         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6983         (gst_base_src_change_state):
6984           Sprinkle gst_base_src_stop liberally around error paths to fix
6985           problems reusing a source after failed state changes.
6986         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6987         (helper_find_suggest), (gst_type_find_helper):
6988           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6989         * gst/gstevent.h:
6990         * docs/gst/tmpl/gstevent.sgml:
6991           Migrate part of the docs from the SGML file. Wait for ensonic to
6992           tell me how I did it wrong ;)
6993         * tools/gst-typefind.c: (main):
6994           Extra robustness to state changes between files.
6995
6996 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6997
6998         * check/Makefile.am:
6999           don't valgrind the controller test - it's leaking - Stefan, HELP
7000         * gst/check/gstcheck.c: (gst_check_message_error),
7001         (gst_check_chain_func), (gst_check_setup_element),
7002         (gst_check_teardown_element), (gst_check_setup_src_pad),
7003         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7004         (gst_check_teardown_sink_pad):
7005         * gst/check/gstcheck.h:
7006           add a bunch of methods to set up elements, and src and sink pads
7007         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7008         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7009         (GST_START_TEST):
7010           use them
7011         * gst/gstmessage.c:
7012         * gst/gsttag.h:
7013           whitespace/doc fixes
7014
7015 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7016
7017         * gst/gstelement.h:
7018           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7019           be handled by the application and not always printed as well
7020
7021 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7022
7023         * check/Makefile.am:
7024           set GST_TOOLS_DIR
7025         * gst/check/gstcheck.c: (gst_check_message_error):
7026         * gst/check/gstcheck.h:
7027           add a fail_unless_equals_int
7028           add fail_unless for error messages
7029
7030 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7031
7032         * check/Makefile.am:
7033         * check/gst.supp:
7034         * common/Makefile.am:
7035         * common/check.mak:
7036         * common/gst.supp:
7037           factor out some of the common stuff so we can use it
7038
7039 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7040
7041         * check/Makefile.am:
7042         * check/gst/gstiterator.c: (GST_START_TEST):
7043         * check/gst/gstsystemclock.c: (GST_START_TEST),
7044         (gst_systemclock_suite):
7045         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7046         * gst/gstclock.c:
7047           valgrind more tests
7048
7049 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7050
7051         * check/elements/.cvsignore:
7052         * check/elements/gstfakesrc.c:
7053           rename to name of element
7054         * check/elements/identity.c: (chain_func), (event_func),
7055         (setup_identity), (cleanup_identity), (GST_START_TEST),
7056         (identity_suite), (main):
7057           add a test for identity
7058         * check/Makefile.am:
7059         * pkgconfig/Makefile.am:
7060         * pkgconfig/gstreamer-check.pc.in:
7061         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7062         * gst/check:
7063         * gst/Makefile.am:
7064         * configure.ac:
7065           move the check stuff to a library that gets installed
7066         * check/gst-libs/controller.c: (GST_START_TEST):
7067         * check/gst-libs/gdp.c:
7068         * check/gst/gst.c: (GST_START_TEST):
7069         * check/gst/gstbin.c:
7070         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7071         * check/gst/gstbus.c:
7072         * check/gst/gstcaps.c: (GST_START_TEST):
7073         * check/gst/gstelement.c:
7074         * check/gst/gstghostpad.c:
7075         * check/gst/gstiterator.c:
7076         * check/gst/gstmessage.c:
7077         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7078         * check/gst/gstobject.c:
7079         * check/gst/gstpad.c: (GST_START_TEST):
7080         * check/gst/gststructure.c: (GST_START_TEST):
7081         * check/gst/gstsystemclock.c: (GST_START_TEST),
7082         (gst_systemclock_suite):
7083         * check/gst/gsttag.c: (gst_tag_suite):
7084         * check/gst/gstvalue.c:
7085         * check/pipelines/cleanup.c:
7086         * check/pipelines/simple_launch_lines.c:
7087         * check/states/sinks.c:
7088           change include statement
7089
7090         * docs/gst/gstreamer-sections.txt:
7091         * docs/gst/tmpl/gstpad.sgml:
7092           document more pad stuff
7093         * gst/gstminiobject.c: (gst_mini_object_ref),
7094         (gst_mini_object_unref):
7095           debug refcounting
7096
7097 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7098
7099         * docs/gst/tmpl/gst.sgml:
7100         * gst/gst.c:
7101           eliminate another tmpl file, fix spelling in the long-description
7102
7103 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7104
7105         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7106         (test_event), (timediff), (gstevents_suite):
7107           Should fix build on 64-bit arch's
7108
7109 2005-08-18  Andy Wingo  <wingo@pobox.com>
7110
7111         Make sure that when a pipeline goes to PLAYING, that data has
7112         actually hit the sink.
7113
7114         * check/states/sinks.c (test_sink): A sink that doesn't get any
7115         data shouldn't return SUCCESS for going to either PLAYING or
7116         PAUSED. Test also the return values on the way back down.
7117
7118         * gst/gstelement.c (gst_element_set_state): When changing the
7119         state of an element currently changing state asynchronously, go to
7120         lost-state after commiting the pending state. Makes future calls
7121         to get_state continue to return ASYNC.
7122
7123         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7124         ASYNC when going to PLAYING if we still don't have preroll, as can
7125         happen with live sources.
7126
7127 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7128
7129         * docs/pwg/advanced-types.xml:
7130           Hack long paragraph into 2 chunks as a workaround for buggy
7131           jadetex version in sid and breezy that loops infinitely and
7132           eats all RAM.
7133
7134 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7135
7136         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7137         (test_event), (timediff), (gstevents_suite):
7138           Provide more error margin in clock measurements to allow for 
7139           g_get_current_time inaccuracies.
7140
7141 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7142
7143         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7144         (test_event), (timediff), (gstevents_suite):
7145            Fix error message output so I might be able to tell why the
7146            test works here but fails on the build farm.
7147
7148 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7149
7150         * check/Makefile.am:
7151         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7152         (test_event), (timediff), (gstevents_suite), (main):
7153           I wrote a test!
7154
7155         * docs/design/part-seeking.txt:
7156           Spelling correction
7157
7158         * docs/gst/tmpl/gstevent.sgml:
7159         * docs/gst/tmpl/gstfakesrc.sgml:
7160           Docs updates.
7161
7162         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7163           Treat a buffer-without-newsegment the same as a receiving 
7164           a newsegment not in time format, and disable syncing to the clock
7165           with a warning.
7166
7167         * gst/gstbus.c: (gst_bus_set_sync_handler):
7168           Assert if anyone tries to replace the existing sync_handler for bus, 
7169           as only the owner should be setting it.
7170
7171         * gst/gstevent.h:
7172           Have a fixed set of custom event enums with events identified by
7173           their structure name (as in 0.8), rather than a free-for-all
7174           allowing collisions between enum values from different plugins.
7175
7176         * gst/gstpad.c: (gst_pad_class_init):
7177           Docs change.
7178           
7179         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7180           Handle out-of-band downstream events from the sending thread.
7181
7182 2005-08-17  Andy Wingo  <wingo@pobox.com>
7183
7184         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7185         play-timeout==0 to mean no timeout at all. In that case, don't
7186         bother with a get_state or a warning, just return directly, even
7187         if it's ASYNC.
7188
7189         * gst/base/gstbasetransform.c: Debug changes.
7190
7191         * gst/gstutils.h:
7192         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7193         ensure bins post state change messages. A bit of a hack but I can't
7194         think of a way to avoid it.
7195
7196         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7197
7198 2005-08-16  Andy Wingo  <wingo@pobox.com>
7199
7200         * gst/base/gstadapter.h:
7201         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7202         peek() but you own the data. Not terribly efficient atm.
7203
7204 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7205
7206         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7207         (gst_element_found_tags):
7208         * gst/gstutils.h:
7209           Add two utility functions for tag handling.
7210
7211 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7212
7213         * docs/manual/advanced-dataaccess.xml:
7214         * docs/manual/basics-helloworld.xml:
7215           Fix docs to use _bin_add() before _link(), which fixes the examples
7216           with recent core versions (reported by Madhan Raj M
7217           <raj_madan@rediffmail.com>, #313199).
7218
7219 2005-08-16  Wim Taymans  <wim@fluendo.com>
7220
7221         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7222         Added subtract checks.
7223
7224         * docs/design/part-events.txt:
7225         Some more docs about newsegment
7226
7227         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7228         Fix FIXME
7229
7230         * gst/gstcaps.c: (gst_caps_to_string):
7231         Add comments, cleanups.
7232         
7233         * gst/gstelement.c: (gst_element_save_thyself):
7234         cleanups
7235         
7236         * gst/gstvalue.c: (gst_value_collect_int_range),
7237         (gst_string_unwrap), (gst_value_union_int_int_range),
7238         (gst_value_union_int_range_int_range),
7239         (gst_value_intersect_int_int_range),
7240         (gst_value_intersect_int_range_int_range),
7241         (gst_value_intersect_double_double_range),
7242         (gst_value_intersect_double_range_double_range),
7243         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7244         (gst_value_subtract_int_range_int),
7245         (gst_value_subtract_double_range_double),
7246         (gst_value_subtract_double_range_double_range),
7247         (gst_value_subtract_from_list), (gst_value_subtract_list),
7248         (gst_value_can_compare), (gst_value_compare_fraction):
7249         Cleanups, add comments, remove unneeded asserts.
7250
7251 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7252
7253         * tools/gst-launch.c: (event_loop):
7254           don't convert NULL structures to strings
7255
7256 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7257
7258         * docs/gst/gstreamer-sections.txt:
7259           made some defines private
7260         * docs/gst/tmpl/gstconfig.sgml:
7261         * docs/gst/tmpl/gstqueue.sgml:
7262         * docs/gst/tmpl/gsttaglist.sgml:
7263         * docs/gst/tmpl/gsttypes.sgml:
7264         * docs/gst/tmpl/gstutils.sgml:
7265         * docs/pwg/appendix-porting.xml:
7266         * gst/base/gstbasesink.h:
7267         * gst/base/gstbasesrc.c:
7268         * gst/base/gstbasesrc.h:
7269         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7270         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7271         * gst/gstelement.c: (gst_element_class_init):
7272         * gst/gstpad.c: (gst_pad_class_init):
7273         * gst/gstqueue.c: (gst_queue_class_init):
7274         * gst/gstxml.c: (gst_xml_class_init):
7275           documented all undocumented signal inline
7276         * libs/gst/controller/gst-controller.h:
7277           added padding
7278
7279 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7280
7281         * docs/pwg/appendix-porting.xml:
7282           Document _set_link_function -> _set_setcaps_function.
7283
7284 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7285
7286         * check/Makefile.am:
7287           add a .check target for running the check
7288         * check/gst-libs/controller.c: (GST_START_TEST):
7289           cosmetic fixups
7290         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7291           complete checks for gstbuffer; would be nice if I could get the
7292           gcov stuff to work so I can see if I actually completed gstbuffer.c
7293         * check/gstcheck.h:
7294           add ASSERT_BUFFER_REFCOUNT
7295
7296 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7297
7298         * docs/gst/gstreamer-sections.txt:
7299         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7300         * gst/gsttag.h:
7301           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7302           spew out a warning if a tag that is already registered
7303           is re-registered, unless it is re-registered with a 
7304           different type (#308438).
7305
7306 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7307
7308         * docs/pwg/appendix-porting.xml:
7309         * docs/pwg/building-state.xml:
7310           Add some paragraphs about state changes in 0.9 to the PWG
7311           and the porting guide, in particular about the new meaning
7312           of GST_STATE_PAUSED and how to write state change functions
7313           with concurrent access by multiple threads in mind.
7314
7315 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7316
7317         * docs/gst/gstreamer-docs.sgml:
7318         * docs/libs/gstreamer-libs-docs.sgml:
7319           added deprecation and since indexes
7320         * libs/gst/controller/gst-controller.c:
7321         * libs/gst/controller/gst-helper.c:
7322           added since tags
7323
7324
7325 2005-08-11  Wim Taymans  <wim@fluendo.com>
7326
7327         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7328         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7329         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7330         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7331         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7332         (gst_ghost_pad_set_target):
7333         Actually implement (re)setting the target on a ghostpad
7334         as described in the docs.
7335
7336 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7337
7338         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7339           Check whether GST_DEBUG_NO_COLOR environment variable is
7340           set and disable coloured debug output if that is the case.
7341
7342 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7343
7344         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7345         (gst_type_find_helper):
7346           The memory returned by gst_type_find_peek() needs to
7347           stay valid until the end of a typefind function, and
7348           typefind functions may keep results from different 
7349           offsets around, so we can't just unref the buffer from
7350           the previous _peek(), but have to save all buffers 
7351           returned by _peek() until typefinding is done and only
7352           free them then.
7353
7354 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7355
7356         * docs/gst/gstreamer-sections.txt:
7357         * gst/gstutils.h:
7358           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7359
7360 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7361
7362         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7363           Fix a pretty good memleak.
7364
7365 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7366
7367         * gst/gstiterator.h:
7368           Fix wrong include and 'make distcheck'.
7369
7370 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7371
7372         * gst/gstbin.c: (bin_bus_handler):
7373           Use gst_element_post_message() instead.
7374
7375 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7376
7377         * gst/base/gstadapter.h:
7378         * gst/base/gstbasesink.h:
7379         * gst/base/gstbasesrc.h:
7380         * gst/base/gstbasetransform.h:
7381         * gst/base/gstcollectpads.h:
7382         * gst/base/gstpushsrc.h:
7383         * gst/gstiterator.h:
7384           Add padding to our base elements' class and instance structs and
7385           to GstIterator (you will need to rebuild all plugins and apps!)
7386
7387 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7388
7389         * gst/gstbin.c: (bin_bus_handler):
7390           Make default message forwarding from child->bus to bin->bus
7391           threadsafe and make it not emit warnings if the parent has no bus.
7392
7393 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7394
7395         * gst/gstelement.c: (activate_pads):
7396           On paused->ready, set pad->caps to NULL, as is the documented
7397           behaviour in this state change. Fixes playback of series of
7398           media files when visualization is enabled in Totem.
7399
7400 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7401
7402         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7403           Allow NULL as filter-caps (which means "any").
7404
7405 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7406
7407         * docs/libs/gstreamer-libs-sections.txt:
7408         * libs/gst/controller/gst-controller.c:
7409         * libs/gst/controller/gst-controller.h:
7410         * libs/gst/controller/gst-helper.c:
7411           adding more entries to the docs and fix small doc-bugs
7412
7413 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7414
7415         * docs/gst/gstreamer-docs.sgml:
7416         * docs/gst/gstreamer-sections.txt:
7417         * docs/gst/gstreamer.types:
7418         * docs/gst/tmpl/gstbasesink.sgml:
7419         * docs/gst/tmpl/gstbasesrc.sgml:
7420         * docs/gst/tmpl/gstbasetransform.sgml:
7421         * docs/gst/tmpl/gstfakesrc.sgml:
7422         * gst/base/gstcollectpads.c:
7423         * gst/base/gstcollectpads.h:
7424         * libs/gst/controller/gst-controller.c:
7425         * libs/gst/controller/gst-controller.h:
7426         * libs/gst/controller/gst-helper.c:
7427         * libs/gst/controller/gst-interpolation.c:
7428         * libs/gst/controller/lib.c:
7429           added long/short desc for controller docs
7430           added collectpads base class docs
7431           added correct includes to base-class docs
7432
7433 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7434
7435         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7436         (gst_test_mono_source_set_property),
7437         (gst_test_mono_source_class_init), (GST_START_TEST),
7438         (gst_controller_suite):
7439         * docs/gst/gstreamer-docs.sgml:
7440         * docs/gst/gstreamer-sections.txt:
7441         * docs/gst/gstreamer.types:
7442         * docs/libs/gstreamer-libs-docs.sgml:
7443         * docs/libs/gstreamer-libs-sections.txt:
7444         * gst/base/gstadapter.c:
7445         * libs/gst/controller/gst-controller.c:
7446         (gst_controlled_property_new), (gst_controlled_property_free),
7447         (gst_controller_new_valist),
7448         (gst_controller_remove_properties_valist),
7449         (gst_controller_sink_values), (_gst_controller_finalize):
7450         * libs/gst/controller/gst-controller.h:
7451         * libs/gst/controller/gst-helper.c:
7452         (gst_object_control_properties), (gst_object_uncontrol_properties),
7453         (gst_object_get_controller), (gst_object_set_controller),
7454         (gst_object_sink_values), (gst_object_get_value_arrays),
7455         (gst_object_get_value_array):
7456           more tests (and fixes) for the controller
7457           more docs for the controller
7458           integrated companies docs for the adapter 
7459
7460 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7461
7462         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7463         (GST_START_TEST), (fakesrc_suite):
7464           add tests for sizetype
7465
7466 2005-08-04  Andy Wingo  <wingo@pobox.com>
7467
7468         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7469         fixes buffer_alloc proxying among other things.
7470
7471         * gst/base/gstbasetransform.c:
7472         * gst/base/gstbasetransform.h:
7473         Revert patch to gstbasetransform from 7-28 removing
7474         delay_configure.
7475
7476         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7477         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7478         Semantics changed, should return not the size of the output buffer
7479         but the byte size of a buffer with a given caps.
7480
7481         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7482         debug object.
7483         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7484         out) are not the pad caps until setcaps finishes.
7485         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7486         not-in-place case as well. Deal with changing from in-place to
7487         not-in-place within calling pad_alloc_buffer. Still a bit
7488         concerned about the overhead here...
7489
7490 2005-08-03  Andy Wingo  <wingo@pobox.com>
7491
7492         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7493         fixating is an error.
7494
7495 2005-08-04  Edward Hervey  <edward@fluendo.com>
7496
7497         * gst/base/gstadapter.h: 
7498         Added gst_adapter_get_type() to the header
7499
7500 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7501
7502         * check/Makefile.am:
7503         * check/gst-libs/controller.c:
7504         * libs/gst/controller/gst-controller.c:
7505         (gst_controller_new_valist):
7506           added check test suite for the controller
7507         * gst/base/gstpushsrc.c:
7508           fixed a doc typo
7509
7510 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7511
7512         * docs/gst/Makefile.am:
7513         * docs/gst/gstreamer-docs.sgml:
7514         * docs/gst/gstreamer-sections.txt:
7515         * docs/gst/gstreamer.types:
7516         * docs/gst/tmpl/gstfakesrc.sgml:
7517         * gst/base/README:
7518         * gst/base/gstbasesink.c:
7519         * gst/base/gstbasesink.h:
7520         * gst/base/gstbasesrc.c:
7521         * gst/base/gstbasesrc.h:
7522         * gst/base/gstbasetransform.c:
7523         * gst/base/gstpushsrc.c:
7524         * gst/base/gstpushsrc.h:
7525           add short/long description docs to base classes
7526           add pushsrc to the docs
7527           remove consolidated doc fragments
7528
7529 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7530
7531         * configure.ac:
7532         * docs/libs/Makefile.am:
7533         * docs/libs/gstreamer-libs-docs.sgml:
7534         * docs/libs/gstreamer-libs-sections.txt:
7535         * docs/libs/gstreamer-libs.types:
7536         * examples/Makefile.am:
7537         * examples/controller/.cvsignore:
7538         * examples/controller/Makefile.am:
7539         * examples/controller/audio-example.c: (main):
7540         * libs/gst/Makefile.am:
7541         * libs/gst/controller/.cvsignore:
7542         * libs/gst/controller/Makefile.am:
7543         * libs/gst/controller/gst-controller.c:
7544         (on_object_controlled_property_changed), (gst_timed_value_compare),
7545         (gst_timed_value_find),
7546         (gst_controlled_property_set_interpolation_mode),
7547         (gst_controlled_property_new), (gst_controlled_property_free),
7548         (gst_controller_find_controlled_property),
7549         (gst_controller_new_valist), (gst_controller_new),
7550         (gst_controller_remove_properties_valist),
7551         (gst_controller_remove_properties), (gst_controller_set),
7552         (gst_controller_set_from_list), (gst_controller_unset),
7553         (gst_controller_get), (gst_controller_get_all),
7554         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7555         (gst_controller_get_value_array),
7556         (gst_controller_set_interpolation_mode),
7557         (_gst_controller_finalize), (_gst_controller_init),
7558         (_gst_controller_class_init), (gst_controller_get_type):
7559         * libs/gst/controller/gst-controller.h:
7560         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7561         (g_object_uncontrol_properties), (g_object_get_controller),
7562         (g_object_set_controller), (g_object_sink_values),
7563         (g_object_get_value_arrays), (g_object_get_value_array):
7564         * libs/gst/controller/gst-interpolation.c:
7565         (gst_controlled_property_find_timed_value_node),
7566         (interpolate_none_get), (interpolate_trigger_get),
7567         (interpolate_trigger_get_value_array):
7568         * libs/gst/controller/lib.c: (gst_controller_init):
7569         * pkgconfig/Makefile.am:
7570         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7571         * pkgconfig/gstreamer-control.pc.in:
7572         * testsuite/Makefile.am:
7573         * testsuite/controller/.cvsignore:
7574         * testsuite/controller/Makefile.am:
7575         * testsuite/controller/interpolator.c: (main):
7576           added controller code
7577           removed dparam pc files
7578
7579 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7580         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7581         (gst_collectpads_stop):
7582           Broadcast the condition when shutting down, to make sure we wake all
7583           threads up. Shut down pads on finalize, for safety.
7584
7585 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7586         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7587         (gst_base_transform_handle_buffer),
7588         (gst_base_transform_change_state):
7589           Handle PAUSED->READY->PAUSED transition after negotiation
7590           occurred already.
7591         * gst/gstmessage.c: (gst_message_init):
7592           Extra piece of debug for new messages.
7593
7594 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7595
7596         * configure.ac:
7597         * docs/gst/tmpl/gstbasesrc.sgml:
7598         * docs/gst/tmpl/gstelement.sgml:
7599         * docs/gst/tmpl/gstevent.sgml:
7600         * docs/gst/tmpl/gstfakesrc.sgml:
7601         * docs/gst/tmpl/gstformat.sgml:
7602         * docs/gst/tmpl/gstghostpad.sgml:
7603         * docs/gst/tmpl/gstpad.sgml:
7604         * docs/gst/tmpl/gstquery.sgml:
7605         * docs/gst/tmpl/gststructure.sgml:
7606         * docs/gst/tmpl/gsttaglist.sgml:
7607         * docs/gst/tmpl/gstvalue.sgml:
7608         * docs/libs/gstreamer-libs-docs.sgml:
7609         * docs/libs/gstreamer-libs-sections.txt:
7610         * docs/libs/gstreamer-libs.types:
7611         * libs/gst/Makefile.am:
7612         * libs/gst/control/.cvsignore:
7613         * libs/gst/control/Makefile.am:
7614         * libs/gst/control/control.c:
7615         * libs/gst/control/control.h:
7616         * libs/gst/control/dparam.c:
7617         * libs/gst/control/dparam.h:
7618         * libs/gst/control/dparam_smooth.c:
7619         * libs/gst/control/dparam_smooth.h:
7620         * libs/gst/control/dparamcommon.h:
7621         * libs/gst/control/dparammanager.c:
7622         * libs/gst/control/dparammanager.h:
7623         * libs/gst/control/dplinearinterp.c:
7624         * libs/gst/control/dplinearinterp.h:
7625         * libs/gst/control/unitconvert.c:
7626         * libs/gst/control/unitconvert.h:
7627         * testsuite/Makefile.am:
7628         * testsuite/dynparams/.cvsignore:
7629         * testsuite/dynparams/Makefile.am:
7630         * testsuite/dynparams/dparamstest.c:
7631         * tools/Makefile.am:
7632         * tools/gst-inspect.c: (print_element_info), (main):
7633         * tools/gst-xmlinspect.c: (print_element_info), (main):
7634           deactivate and remove dparams (libgstcontrol)
7635
7636 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7637
7638         * gst/elements/gsttypefindelement.c:
7639         (gst_type_find_element_have_type), (gst_type_find_element_init),
7640         (stop_typefinding), (gst_type_find_element_handle_event),
7641         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7642         * gst/elements/gsttypefindelement.h:
7643           Set caps on all outgoing buffers, not just the first one.
7644
7645 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7646
7647         * gst/elements/gsttypefindelement.c:
7648         (gst_type_find_element_have_type),
7649         (gst_type_find_element_check_set_buffer_caps),
7650         (gst_type_find_element_init), (stop_typefinding),
7651         (gst_type_find_element_handle_event),
7652         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7653         * gst/elements/gsttypefindelement.h:
7654           Set caps on first outgoing buffer when we've found the type.
7655
7656 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7657
7658         * docs/gst/gstreamer-docs.sgml:
7659         * docs/gst/gstreamer-sections.txt:
7660         * docs/gst/tmpl/gstscheduler.sgml:
7661         * docs/gst/tmpl/gstschedulerfactory.sgml:
7662           Remove some old cruft from docs.
7663
7664 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7665
7666         * gst/gstpad.h:
7667           Fix inline docs for GstPadLinkReturn.
7668           
7669         * gst/gststructure.c: (gst_structure_has_name):
7670         * gst/gststructure.h:
7671         * docs/gst/gstreamer-sections.txt:
7672           New API: gst_structure_has_name().
7673
7674 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7675
7676         * configure.ac:
7677           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7678           and _LARGEFILE_SOURCE in config.h as required. Do not 
7679           export those flags in our .pc files any longer (#142209).
7680
7681           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7682
7683         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7684         (gst_file_sink_do_seek), (gst_file_sink_event),
7685         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7686           Redo seek/tell calls with large file support in mind; add some
7687           debugging messages; add log message that tells us when large
7688           file support is unavailable or not enabled for some reason.
7689
7690         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7691           Add log message that tells us when large file support 
7692           is unavailable or not enabled for some reason.
7693
7694 2005-07-29  Wim Taymans  <wim@fluendo.com>
7695
7696         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7697         Added test for removing an element with ghostpad from a bin.
7698         Fixed test as current implementation does the right thing.
7699
7700         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7701         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7702         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7703         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7704         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7705         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7706         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7707         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7708         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7709         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7710         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7711         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7712         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7713         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7714         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7715         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7716         * gst/gstghostpad.h:
7717         Clean up ghostpads, remove properties for internal stuff.
7718         Make threadsafe.
7719         Fix refcounting.
7720         Prepare for switching targets, not all use cases work yet.
7721
7722 2005-07-29  Wim Taymans  <wim@fluendo.com>
7723
7724         * docs/design/part-gstghostpad.txt:
7725         Small update.
7726
7727         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7728         (gst_bin_remove_func):
7729         Unlinking pads while holding the bin LOCK is not a good
7730         idea.
7731
7732         * gst/gstpad.c: (gst_pad_class_init),
7733         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7734         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7735         No prob setting template after creating the pad.
7736
7737 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7738
7739         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7740         (gst_bus_peek), (gst_bus_source_dispatch),
7741         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7742         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7743           gst_bus_poll may be called from other threads. Handle
7744           this nicely by not making poll_data disappear off the
7745           stack once gst_bus_poll returns.
7746           gst_bus_peek now increments the refcount on the returned
7747           message.
7748
7749 2005-07-29  Wim Taymans  <wim@fluendo.com>
7750
7751         * docs/design/part-gstghostpad.txt:
7752         Overview of current GhostPad datastructures and use
7753         cases for changing the target.
7754
7755 2005-07-28  Wim Taymans  <wim@fluendo.com>
7756
7757         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7758         Added checks for hierarchy consistency whan adding linked
7759         elements to bins.
7760
7761         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7762         Added check to test element scheduling without bin/pipeline.
7763
7764         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7765         First add elements to bin, then link.
7766         
7767         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7768         (gst_bin_remove_func):
7769         Unlink pads from elements added/removed from bin to maintain
7770         hierarchy consistency.
7771
7772 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7773
7774         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7775         (gst_base_transform_handle_buffer):
7776         * gst/base/gstbasetransform.h:
7777           Remove broken delay_configure (fixes renegotiation of software
7778           scaling pipelines); remove some leftover printf()s.
7779
7780 2005-07-28  Wim Taymans  <wim@fluendo.com>
7781
7782         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7783         Added some more tests for wrong hierarchy
7784
7785         * docs/design/part-overview.txt:
7786         Some updates.
7787
7788         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7789         Cleanups.
7790
7791         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7792         (gst_element_dispose):
7793         Some more cleanups.
7794
7795         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7796         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7797         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7798         (gst_pad_set_caps), (gst_pad_send_event):
7799         Check for correct hierarchy when linking pads. Moving to
7800         strict requirement for ghostpads when linking elements in
7801         different bins.
7802
7803         * gst/gstpad.h:
7804         Clean ups. Added WRONG_HIERARCHY return value.
7805
7806 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7807
7808         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7809           Better debug if no transform is possible.
7810
7811 2005-07-27  Wim Taymans  <wim@fluendo.com>
7812
7813         * docs/random/wtay/network-transp:
7814         Some old doc I had.
7815
7816 2005-07-27  Wim Taymans  <wim@fluendo.com>
7817
7818         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7819         (gst_dp_event_from_packet):
7820         Fix serialization of seek events.
7821
7822 2005-07-27  Wim Taymans  <wim@fluendo.com>
7823
7824         * check/gst-libs/gdp.c: (GST_START_TEST):
7825         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7826         Fix compilation and fix event serialization.
7827
7828 2005-07-27  Wim Taymans  <wim@fluendo.com>
7829
7830         * CHANGES-0.9:
7831         * docs/design/part-TODO.txt:
7832         * docs/design/part-events.txt:
7833         Some docs updates
7834
7835         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7836         (gst_base_sink_event), (gst_base_sink_do_sync),
7837         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7838         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7839         (gst_base_src_do_seek), (gst_base_src_event_handler),
7840         (gst_base_src_loop):
7841         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7842         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7843         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7844         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7845         (gst_base_transform_set_passthrough),
7846         (gst_base_transform_is_passthrough):
7847         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7848         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7849         Event updates.
7850
7851         * gst/gstbuffer.h:
7852         Use faster casts.
7853
7854         * gst/gstelement.c: (gst_element_seek):
7855         * gst/gstelement.h:
7856         Update gst_element_seek.
7857
7858         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7859         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7860         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7861         (gst_event_new_eos), (gst_event_new_newsegment),
7862         (gst_event_parse_newsegment), (gst_event_new_tag),
7863         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7864         (gst_event_parse_qos), (gst_event_new_seek),
7865         (gst_event_parse_seek), (gst_event_new_navigation):
7866         * gst/gstevent.h:
7867         Make GstEvent use GstStructure. Add parsing code, make sure the
7868         API is sufficiently generic.
7869         Mark possible directions of events and serialization.
7870
7871         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7872         (_gst_message_copy), (gst_message_new_segment_start),
7873         (gst_message_new_segment_done), (gst_message_new_custom),
7874         (gst_message_parse_segment_start),
7875         (gst_message_parse_segment_done):
7876         Small cleanups.
7877
7878         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7879         (gst_pad_set_caps), (gst_pad_send_event):
7880         Update for new events. 
7881         Catch events sent in wrong directions.
7882
7883         * gst/gstqueue.c: (gst_queue_link_src),
7884         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7885         (gst_queue_handle_src_query):
7886         Event updates.
7887
7888         * gst/gsttag.c:
7889         * gst/gsttag.h:
7890         Remove event code from this file.
7891
7892         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7893         (gst_dp_event_from_packet):
7894         Event updates.
7895
7896 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7897
7898         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7899         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7900         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7901           Make debugging actually useful.
7902
7903 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7904
7905         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7906         (gst_pad_fixate_caps):
7907           Implement default fixation once again, so that gst_pad_fixate()
7908           actually does anything at all. This probably needs to be some
7909           sort of a last resort, and use profile-based fixation first, but
7910           since that doesn't exist yet, this is the best we have. Fixes
7911           visualization in Totem.
7912
7913 2005-07-22  Wim Taymans  <wim@fluendo.com>
7914
7915         * docs/design/part-events.txt:
7916         Small update.
7917
7918         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7919         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7920         (gst_base_sink_activate_pull):
7921         Some more comments.
7922
7923         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7924         (gst_fake_src_create):
7925         Fix handoff marshall.
7926
7927         * gst/elements/gstidentity.c: (gst_identity_class_init),
7928         (gst_identity_transform_ip):
7929         We're a real inplace element.
7930
7931         * gst/gstbus.c: (gst_bus_post):
7932         Added some comments.
7933
7934         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7935         * tests/muxing/case1.c: (main):
7936         * tests/sched/dynamic-pipeline.c: (main):
7937         * tests/sched/interrupt1.c: (main):
7938         * tests/sched/interrupt2.c: (main):
7939         * tests/sched/interrupt3.c: (main):
7940         * tests/sched/runxml.c: (main):
7941         * tests/sched/sched-stress.c: (main):
7942         * tests/seeking/seeking1.c: (event_received), (main):
7943         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7944         (main):
7945         * tests/threadstate/threadstate3.c: (main):
7946         * tests/threadstate/threadstate4.c: (main):
7947         * tests/threadstate/threadstate5.c: (main):
7948         Fix the tests.
7949
7950 2005-07-21  Wim Taymans  <wim@fluendo.com>
7951
7952         * docs/design/part-seeking.txt:
7953         Some small additions.
7954
7955         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7956         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7957         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7958         * gst/base/gstbasesink.h:
7959         discont values are gint64, handle the math correctly.
7960
7961         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7962         Make the basesrc report error if the source pad is not linked.
7963
7964         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7965         (gst_queue_loop), (gst_queue_handle_src_query),
7966         (gst_queue_src_activate_push):
7967         Make queue collect data even if the srcpad is not linked.
7968         Start pushing out data as soon as it is linked.
7969
7970         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7971         * gst/gstutils.h:
7972         Added gst_flow_get_name() to ease error reporting.
7973
7974 2005-07-20  Wim Taymans  <wim@fluendo.com>
7975
7976         * gst/gstmessage.c: (gst_message_new_segment_start),
7977         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7978         (gst_message_parse_segment_done):
7979         * gst/gstmessage.h:
7980         Added a bunch of messages for advanced seeking.
7981
7982         * gst/parse/grammar.y:
7983         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7984         (gst_dpman_state_changed):
7985         Fix some new-pad -> pad-added signals
7986
7987 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7988
7989         * docs/manual/appendix-porting.xml:
7990         * docs/pwg/appendix-porting.xml:
7991           Document new-pad/state-change signal renames and the FixedList
7992           type rename.
7993
7994 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7995
7996         * docs/manual/advanced-autoplugging.xml:
7997         * docs/manual/basics-helloworld.xml:
7998         * docs/manual/basics-pads.xml:
7999         * docs/random/ds/0.9-suggested-changes:
8000         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8001         * gst/gstelement.h:
8002         * gst/gstevent.h:
8003         * gst/gstformat.h:
8004         * gst/gstquery.h:
8005         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8006         (gst_structure_parse_array), (gst_structure_parse_value):
8007         * gst/gstvalue.c: (gst_type_is_fixed),
8008         (gst_value_list_prepend_value), (gst_value_list_append_value),
8009         (gst_value_list_get_size), (gst_value_list_get_value),
8010         (gst_value_transform_array_string), (gst_value_serialize_array),
8011         (gst_value_deserialize_array), (gst_value_intersect_array),
8012         (gst_value_is_fixed), (_gst_value_initialize):
8013         * gst/gstvalue.h:
8014           GstElement::new-pad -> pad-added, GstElement::state-change ->
8015           state-changed, GstValueFixedList -> GstValueArray, add format and
8016           flags as their own arguments in gst_element_seek() (should improve
8017           "bindeability"), remove function generators since they don't work
8018           under a whole bunch of compilers (they were deprecated already
8019           anyway).
8020
8021 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8022
8023         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8024         (_gst_debug_register_funcptr):
8025         * gst/gstinfo.h:
8026           Fix illegal cast on some platforms (#309253).
8027
8028 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8029
8030         * gst/gstmessage.c: (gst_message_new_custom):
8031         * gst/gstmessage.h:
8032           Add _new_custom, make _new_application a macro to _new_custom.
8033
8034 2005-07-20  Wim Taymans  <wim@fluendo.com>
8035
8036         * gst/base/gstbasesrc.c: (gst_base_src_init),
8037         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8038         * gst/base/gstbasesrc.h:
8039         Add a gboolean to decide when to push out a discont.
8040
8041         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8042         (gst_queue_loop), (gst_queue_handle_src_query),
8043         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8044         (gst_queue_set_property), (gst_queue_get_property):
8045         Some cleanups.
8046
8047         * tests/threadstate/threadstate1.c: (main):
8048         Make a thread test compile and run... very silly..
8049
8050
8051 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8052
8053         * docs/manual/appendix-porting.xml:
8054           Mention removal of libgstgconf-0.9.la and existence of gconf
8055           elements.
8056
8057 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8058
8059         * docs/pwg/advanced-clock.xml:
8060         * docs/pwg/appendix-porting.xml:
8061         * docs/pwg/intro-preface.xml:
8062         * docs/pwg/other-base.xml:
8063         * docs/pwg/other-manager.xml:
8064         * docs/pwg/other-nton.xml:
8065         * docs/pwg/other-ntoone.xml:
8066         * docs/pwg/other-oneton.xml:
8067         * docs/pwg/pwg.xml:
8068           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8069           demuxer), remove n-to-n (was never written), fix some code examples
8070           and links and update the porting section to include all this.
8071
8072 2005-07-19  Wim Taymans  <wim@fluendo.com>
8073
8074         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8075         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8076         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8077         (gst_queue_src_activate_push), (gst_queue_change_state),
8078         (gst_queue_get_property):
8079         * gst/gstqueue.h:
8080         Propagate GstFlowReturn more intelligently upstream and output
8081         an ERROR/EOS when streaming stopped due to fatal error.
8082
8083 2005-07-19  Wim Taymans  <wim@fluendo.com>
8084
8085         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8086         Don't block forever for the state change to complete, the
8087         pipeline already did with a sensible timeout.
8088
8089 2005-07-19  Wim Taymans  <wim@fluendo.com>
8090
8091         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8092         Make sure we never call the create function is we
8093         got deactivated.
8094
8095 2005-07-19  Andy Wingo  <wingo@pobox.com>
8096
8097         * gst/parse/parse.l: Attempt to solve bug #172815.
8098
8099 2005-07-19  Wim Taymans  <wim@fluendo.com>
8100
8101         * docs/design/part-clocks.txt:
8102         * docs/design/part-events.txt:
8103         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8104         Small docs updates.
8105         Only update the seeking values when we are not
8106         busy streaming.
8107
8108 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8109
8110         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8111           Oops, ignore the result of gst_pad_push_event here.
8112
8113 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8114
8115         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8116         (gst_base_src_activate_push):
8117           Send discont event from the loop function, as pads
8118           aren't activated yet in the activate_push handler.
8119
8120         * gst/gstbin.c: (bin_bus_handler):
8121           Don't leak element name.
8122
8123 2005-07-18  Andy Wingo  <wingo@pobox.com>
8124
8125         * configure.ac: Use AS_LIBTOOL_TAGS.
8126
8127 2005-07-18  Wim Taymans  <wim@fluendo.com>
8128
8129         * docs/gst/gstreamer.types:
8130         Remove deleted types.
8131
8132 2005-07-18  Wim Taymans  <wim@fluendo.com>
8133
8134         * check/elements/gstfakesrc.c: (GST_START_TEST):
8135         * configure.ac:
8136         * gst/Makefile.am:
8137         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8138         (init_popt_callback):
8139         * gst/gst.h:
8140         * gst/gst_private.h:
8141         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8142         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8143         * gst/gstbin.h:
8144         * gst/gstbus.h:
8145         * gst/gstconfig.h.in:
8146         * gst/gstelement.c: (gst_element_class_init),
8147         (gst_element_set_base_time), (gst_element_get_base_time),
8148         (iterator_fold_with_resync), (gst_element_change_state),
8149         (gst_element_dispose), (gst_element_get_bus):
8150         * gst/gstelement.h:
8151         * gst/gstelementfactory.h:
8152         * gst/gsterror.c: (_gst_core_errors_init):
8153         * gst/gsterror.h:
8154         * gst/gstevent.h:
8155         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8156         * gst/gstindex.c:
8157         * gst/gstinfo.c: (_gst_debug_init):
8158         * gst/gstmessage.c: (_gst_message_copy):
8159         * gst/gstmessage.h:
8160         * gst/gstminiobject.h:
8161         * gst/gstobject.c:
8162         * gst/gstobject.h:
8163         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8164         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8165         * gst/gstpad.h:
8166         * gst/gstparse.h:
8167         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8168         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8169         (gst_pipeline_get_last_stream_time):
8170         * gst/gstpipeline.h:
8171         * gst/gstpluginfeature.h:
8172         * gst/gstquery.h:
8173         * gst/gstscheduler.c:
8174         * gst/gstscheduler.h:
8175         * gst/gststructure.h:
8176         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8177         (gst_task_finalize), (gst_task_func), (gst_task_create),
8178         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8179         (gst_task_stop), (gst_task_pause):
8180         * gst/gsttask.h:
8181         * gst/gsttypefind.h:
8182         * gst/gsttypes.h:
8183         * gst/registries/gstlibxmlregistry.c: (load_feature),
8184         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8185         * gst/registries/gstxmlregistry.c:
8186         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8187         * gst/schedulers/threadscheduler.c:
8188         * libs/gst/control/dparammanager.h:
8189         * tools/gst-inspect.c: (print_element_list),
8190         (print_plugin_features), (print_element_features):
8191         * tools/gst-xmlinspect.c: (print_element_list),
8192         (print_plugin_info), (main):
8193         Removed plugable schedulers.
8194         Removed Scheduler/Manager from elements.
8195         Removed gsttypes.h, rearranged includes.
8196         Removed dependency pad<->element, element<>pipeline, and
8197         various others,  fix includes.
8198         implement gst_pad_get_parent() with gst_object_get_parent()
8199         Make GstTask sefcontained.
8200         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8201         timeout.
8202         Fix endless loop in iterator_fold_with_resync.
8203
8204
8205 2005-07-18  Wim Taymans  <wim@fluendo.com>
8206
8207         * gst/Makefile.am:
8208         * gst/gstarch.h:
8209         Remove old file.
8210
8211 2005-07-18  Wim Taymans  <wim@fluendo.com>
8212
8213         * gst/Makefile.am:
8214         No more cothreads.h
8215
8216 2005-07-18  Wim Taymans  <wim@fluendo.com>
8217
8218         * gst/cothreads.c:
8219         * gst/cothreads.h:
8220         Let's remove these.
8221
8222 2005-07-18  Wim Taymans  <wim@fluendo.com>
8223
8224         * docs/design/part-dynamic.txt:
8225         * docs/design/part-events.txt:
8226         * docs/design/part-seeking.txt:
8227         Some more docs in the works.
8228
8229         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8230         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8231         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8232         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8233         (gst_base_transform_handle_buffer),
8234         (gst_base_transform_sink_activate_push),
8235         (gst_base_transform_src_activate_pull),
8236         (gst_base_transform_set_passthrough),
8237         (gst_base_transform_is_passthrough):
8238         Refcounting fixes.
8239
8240         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8241         Cleanups.
8242
8243         * gst/gstevent.c: (gst_event_finalize):
8244         Set SRC to NULL.
8245
8246         * gst/gstutils.c: (gst_element_unlink),
8247         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8248         (gst_pad_proxy_setcaps):
8249         * gst/gstutils.h:
8250         Add _get_parent_element() to get a pads parent as an element.
8251
8252 2005-07-18  Wim Taymans  <wim@fluendo.com>
8253
8254         * check/gst/gstbin.c: (GST_START_TEST):
8255         Remove bogus test.
8256
8257 2005-07-18  Wim Taymans  <wim@fluendo.com>
8258
8259         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8260         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8261         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8262         (gst_base_sink_event), (gst_base_sink_do_sync),
8263         (gst_base_sink_chain), (gst_base_sink_loop),
8264         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8265         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8266         Refcounting fixes.
8267         Fix logic for returning ASYNC when not prerolled.
8268
8269 2005-07-18  Wim Taymans  <wim@fluendo.com>
8270
8271         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8272         Fix nasty refcount bug.
8273
8274 2005-07-16 Philippe Khalaf <burger@speedy.org>
8275
8276         * gst/elements/gstfdsrc.c:
8277         * gst/elements/gstfdsrc.h:
8278         * gst/elements/gstelements.c:
8279         * gst/elements/Makefile.am:
8280         Ported fdsrc to 0.9.
8281
8282 2005-07-16  Wim Taymans  <wim@fluendo.com>
8283
8284         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8285         (gst_base_sink_do_sync):
8286         Fix compile error.
8287
8288 2005-07-16  Wim Taymans  <wim@fluendo.com>
8289
8290         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8291         (gst_base_sink_event), (gst_base_sink_get_times),
8292         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8293         * gst/base/gstbasesink.h:
8294         Store and use discont values when syncing buffers as described
8295         in design docs.
8296         
8297         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8298         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8299         (gst_base_src_activate_push):
8300         Push discont event when starting.
8301
8302         * gst/elements/gstidentity.c: (gst_identity_transform):
8303         Small cleanups.
8304
8305         * gst/gstbin.c: (gst_bin_change_state):
8306         Small cleanups in base_time  distribution.
8307
8308         * gst/gstelement.c: (gst_element_set_base_time),
8309         (gst_element_get_base_time), (gst_element_change_state):
8310         * gst/gstelement.h:
8311         Added methods for the base_time of the element.
8312         Some MT fixes.
8313
8314         * gst/gstpipeline.c: (gst_pipeline_send_event),
8315         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8316         (gst_pipeline_get_last_stream_time):
8317         * gst/gstpipeline.h:
8318         MT fixes.
8319         Handle seeking as described in design doc, remove stream_time
8320         hack.
8321         Cleanups clock and stream_time selection code. Added accessors
8322         for the stream_time.
8323         
8324
8325 2005-07-16  Andy Wingo  <wingo@pobox.com>
8326
8327         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8328         (#305291).
8329
8330 2005-07-16  Wim Taymans  <wim@fluendo.com>
8331
8332         * check/gst/gstbin.c: (GST_START_TEST):
8333         Make elements silent as the deep_notify refs the
8334         parent, which might make the test fail.
8335
8336         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8337         Don't hold the lock for too long.
8338
8339 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8340
8341         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8342           Don't unref the caps we passed to gst_caps_make_writable() after
8343           passing them. gst_caps_make_writable() will do that for us.
8344
8345 2005-07-15  Andy Wingo  <wingo@pobox.com>
8346
8347         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8348         (#157311).
8349
8350         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8351         own marshalling function for the handoff signal. Properly type the
8352         buffer as a buffer. Fixes some warnings. Should do a more general
8353         solution.
8354         (gst_identity_class_init): Plug into the right marshaller.
8355
8356 2005-07-15  Wim Taymans  <wim@fluendo.com>
8357
8358         * docs/design/part-TODO.txt:
8359         * docs/design/part-clocks.txt:
8360         * docs/design/part-element-sink.txt:
8361         * docs/design/part-events.txt:
8362         * docs/design/part-gstpipeline.txt:
8363         Updated docs, mostly DISCONT related.
8364
8365 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8366
8367         * docs/pwg/building-pads.xml:
8368           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8369
8370 2005-07-15  Andy Wingo  <wingo@pobox.com>
8371
8372         * tools/gst-typefind.c: Update, add copyright block.
8373
8374         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8375         Normalize and truncate caps before fixation.
8376
8377         * gst/gstcaps.h:
8378         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8379         discards all but the first structure from its argument.
8380
8381 2005-07-15  Wim Taymans  <wim@fluendo.com>
8382
8383         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8384         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8385         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8386         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8387         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8388         (gst_base_transform_chain), (gst_base_transform_change_state),
8389         (gst_base_transform_set_passthrough),
8390         (gst_base_transform_is_passthrough):
8391         * gst/base/gstbasetransform.h:
8392         Make passthrough work using the bufferpools.
8393         Changed API a bit, subclasses have to write into a buffer
8394         provided by the base class.
8395         More debug info in nego functions.
8396         
8397         * gst/elements/gstidentity.c: (gst_identity_init),
8398         (gst_identity_transform):
8399         Port to new base class.
8400
8401 2005-07-15  Wim Taymans  <wim@fluendo.com>
8402
8403         * gst/gstmessage.c: (gst_message_new_state_changed):
8404         * tools/gst-launch.c: (event_loop), (main):
8405         Totally dump messages in -launch with the -m option.
8406         Fix message name for State messages,
8407
8408 2005-07-14  Wim Taymans  <wim@fluendo.com>
8409
8410         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8411         Post error messages on errors.
8412
8413 2005-07-14  Wim Taymans  <wim@fluendo.com>
8414
8415         * gst/gstcaps.c: (gst_caps_do_simplify):
8416         Remove debug info.
8417
8418         * gst/gsterror.h:
8419         Define error for stream stopped.
8420
8421         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8422         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8423         Do proper return values.
8424
8425         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8426         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8427         (gst_pad_get_range):
8428         Better return values.
8429
8430         * gst/gstpad.h:
8431         Reorganise return values, add macro to check for fatal errors.
8432
8433         * gst/gstqueue.c: (gst_queue_chain):
8434         Return proper GstFlowReturn values,
8435
8436 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8437
8438         * docs/gst/gstreamer-sections.txt:
8439         * docs/gst/gstreamer.types:
8440         * docs/gst/tmpl/gst.sgml:
8441         * docs/gst/tmpl/gstbasesink.sgml:
8442         * docs/gst/tmpl/gstbasesrc.sgml:
8443         * docs/gst/tmpl/gstbasetransform.sgml:
8444         * docs/gst/tmpl/gstbin.sgml:
8445         * docs/gst/tmpl/gstbuffer.sgml:
8446         * docs/gst/tmpl/gstcaps.sgml:
8447         * docs/gst/tmpl/gstclock.sgml:
8448         * docs/gst/tmpl/gstcompat.sgml:
8449         * docs/gst/tmpl/gstconfig.sgml:
8450         * docs/gst/tmpl/gstelement.sgml:
8451         * docs/gst/tmpl/gstelementdetails.sgml:
8452         * docs/gst/tmpl/gstelementfactory.sgml:
8453         * docs/gst/tmpl/gstenumtypes.sgml:
8454         * docs/gst/tmpl/gsterror.sgml:
8455         * docs/gst/tmpl/gstevent.sgml:
8456         * docs/gst/tmpl/gstfakesink.sgml:
8457         * docs/gst/tmpl/gstfakesrc.sgml:
8458         * docs/gst/tmpl/gstfilesink.sgml:
8459         * docs/gst/tmpl/gstfilesrc.sgml:
8460         * docs/gst/tmpl/gstfilter.sgml:
8461         * docs/gst/tmpl/gstformat.sgml:
8462         * docs/gst/tmpl/gstghostpad.sgml:
8463         * docs/gst/tmpl/gstimplementsinterface.sgml:
8464         * docs/gst/tmpl/gstindex.sgml:
8465         * docs/gst/tmpl/gstindexfactory.sgml:
8466         * docs/gst/tmpl/gstinfo.sgml:
8467         * docs/gst/tmpl/gstiterator.sgml:
8468         * docs/gst/tmpl/gstmacros.sgml:
8469         * docs/gst/tmpl/gstmemchunk.sgml:
8470         * docs/gst/tmpl/gstminiobject.sgml:
8471         * docs/gst/tmpl/gstobject.sgml:
8472         * docs/gst/tmpl/gstpad.sgml:
8473         * docs/gst/tmpl/gstpadtemplate.sgml:
8474         * docs/gst/tmpl/gstparse.sgml:
8475         * docs/gst/tmpl/gstpipeline.sgml:
8476         * docs/gst/tmpl/gstplugin.sgml:
8477         * docs/gst/tmpl/gstpluginfeature.sgml:
8478         * docs/gst/tmpl/gstquery.sgml:
8479         * docs/gst/tmpl/gstqueue.sgml:
8480         * docs/gst/tmpl/gstregistry.sgml:
8481         * docs/gst/tmpl/gstregistrypool.sgml:
8482         * docs/gst/tmpl/gstscheduler.sgml:
8483         * docs/gst/tmpl/gstschedulerfactory.sgml:
8484         * docs/gst/tmpl/gststructure.sgml:
8485         * docs/gst/tmpl/gstsystemclock.sgml:
8486         * docs/gst/tmpl/gsttaglist.sgml:
8487         * docs/gst/tmpl/gsttagsetter.sgml:
8488         * docs/gst/tmpl/gsttrace.sgml:
8489         * docs/gst/tmpl/gsttrashstack.sgml:
8490         * docs/gst/tmpl/gsttypefind.sgml:
8491         * docs/gst/tmpl/gsttypefindfactory.sgml:
8492         * docs/gst/tmpl/gsttypes.sgml:
8493         * docs/gst/tmpl/gsturihandler.sgml:
8494         * docs/gst/tmpl/gsturitype.sgml:
8495         * docs/gst/tmpl/gstutils.sgml:
8496         * docs/gst/tmpl/gstvalue.sgml:
8497         * docs/gst/tmpl/gstversion.sgml:
8498         * docs/gst/tmpl/gstxml.sgml:
8499         * docs/libs/tmpl/gstcontrol.sgml:
8500         * docs/libs/tmpl/gstdataprotocol.sgml:
8501         * docs/libs/tmpl/gstdparam.sgml:
8502         * docs/libs/tmpl/gstdplinint.sgml:
8503         * docs/libs/tmpl/gstdpman.sgml:
8504         * docs/libs/tmpl/gstdpsmooth.sgml:
8505         * docs/libs/tmpl/gstgetbits.sgml:
8506         * docs/libs/tmpl/gstunitconvert.sgml:
8507         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8508         (gst_push_src_base_init), (gst_push_src_class_init),
8509         (gst_push_src_init), (gst_push_src_create):
8510         * gst/base/gstpushsrc.h:
8511         * gst/elements/gstelements.c:
8512         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8513         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8514         (gst_fake_sink_init), (gst_fake_sink_set_property),
8515         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8516         (gst_fake_sink_event), (gst_fake_sink_preroll),
8517         (gst_fake_sink_render), (gst_fake_sink_change_state):
8518         * gst/elements/gstfakesink.h:
8519         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8520         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8521         (gst_fake_src_base_init), (gst_fake_src_class_init),
8522         (gst_fake_src_init), (gst_fake_src_event_handler),
8523         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8524         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8525         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8526         (gst_fake_src_create_buffer), (gst_fake_src_create),
8527         (gst_fake_src_start), (gst_fake_src_stop):
8528         * gst/elements/gstfakesrc.h:
8529         * gst/elements/gstfilesink.c: (_do_init),
8530         (gst_file_sink_base_init), (gst_file_sink_class_init),
8531         (gst_file_sink_init), (gst_file_sink_dispose),
8532         (gst_file_sink_set_location), (gst_file_sink_set_property),
8533         (gst_file_sink_get_property), (gst_file_sink_open_file),
8534         (gst_file_sink_close_file), (gst_file_sink_query),
8535         (gst_file_sink_event), (gst_file_sink_render),
8536         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8537         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8538         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8539         * gst/elements/gstfilesink.h:
8540         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8541         (gst_file_src_class_init), (gst_file_src_init),
8542         (gst_file_src_finalize), (gst_file_src_set_location),
8543         (gst_file_src_set_property), (gst_file_src_get_property),
8544         (gst_file_src_map_region), (gst_file_src_map_small_region),
8545         (gst_file_src_create_mmap), (gst_file_src_create_read),
8546         (gst_file_src_create), (gst_file_src_is_seekable),
8547         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8548         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8549         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8550         (gst_file_src_uri_handler_init):
8551         * gst/elements/gstfilesrc.h:
8552           more autistic cleanliness in functions/names/defines
8553
8554 2005-07-13  Andy Wingo  <wingo@pobox.com>
8555
8556         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8557         source couldn't negotiate.
8558
8559         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8560         connections again.
8561
8562         * gst/gstutils.h:
8563         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8564         function. I am channeling Hades. Put your boots on suckers!!!
8565
8566 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8567
8568         * testsuite/caps/Makefile.am:
8569         * testsuite/caps/value_compare.c:
8570         * testsuite/caps/value_intersect.c:
8571         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8572           move two testsuite apps over to the check dir
8573
8574 2005-07-12  Wim Taymans  <wim@fluendo.com>
8575
8576         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8577         Added more debug info in the negotiate process.
8578
8579         * gst/gstmessage.h:
8580         Prepare for segment playback.
8581
8582         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8583         Better debugging.
8584
8585         * gst/gstutils.c:
8586         Some more docs.
8587
8588         * tools/gst-launch.c: (main):
8589         NULL pipeline on errors.
8590
8591 2005-07-12  Andy Wingo  <wingo@pobox.com>
8592
8593         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8594         not it comes from a malloc region. Make sure our copy gets freed.
8595
8596 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8597
8598         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8599         * check/gst/gstmessage.c: (GST_START_TEST):
8600         * check/gst/gststructure.c: (GST_START_TEST),
8601         (gst_structure_suite), (main):
8602           more testing
8603         * gst/gstelement.c: (gst_element_message_full):
8604           clean up GError and debug string now that they get copied
8605         * gst/gstmessage.c: (gst_message_new_error),
8606         (gst_message_new_warning), (gst_message_parse_error),
8607         (gst_message_parse_warning):
8608           use GST_TYPE_G_ERROR for structure_new, and take copies of
8609           arguments, so that we don't mess up refcounting
8610
8611 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8612
8613         * check/Makefile.am:
8614           add per-test valgrind targets
8615         * check/gst-libs/gdp.c: (GST_START_TEST),
8616         (gst_data_protocol_suite), (main):
8617           clean up
8618
8619 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8620
8621         * check/Makefile.am:
8622           instate more valgrindable tests
8623         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8624         (GST_START_TEST), (fakesrc_suite):
8625         * check/gst/gstpad.c: (GST_START_TEST):
8626         * check/gst/gststructure.c: (GST_START_TEST):
8627           fix test leaks
8628         * docs/gst/tmpl/gstminiobject.sgml:
8629         * gst/gstpad.c: (gst_pad_finalize):
8630           fix the static mutex leak
8631
8632 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8633
8634         * check/Makefile.am:
8635           add two more tests for valgrinding
8636         * check/gst/gstvalue.c: (GST_START_TEST):
8637           test refcount of deserialized buffer, found a leak
8638         * docs/gst/gstreamer-docs.sgml:
8639         * docs/gst/gstreamer-sections.txt:
8640         * docs/gst/gstreamer.types:
8641         * docs/gst/tmpl/gstminiobject.sgml:
8642           add miniobject to docs
8643         * gst/gstminiobject.c:
8644           add some docs
8645         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8646         (gst_string_unwrap):
8647           fix a hard-to-find invalid write for one of the tests
8648           fix a leak for deserialized buffers
8649
8650 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8651
8652         * docs/pwg/advanced-events.xml:
8653         * docs/pwg/advanced-request.xml:
8654         * docs/pwg/advanced-scheduling.xml:
8655         * docs/pwg/appendix-porting.xml:
8656         * docs/pwg/building-boiler.xml:
8657         * docs/pwg/intro-preface.xml:
8658         * docs/pwg/other-ntoone.xml:
8659           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8660           of example code and explanation for pad activation, loop() and
8661           getrange() functions and a bit more. Remove old comments pointing
8662           to loop-functions.
8663         * examples/pwg/Makefile.am:
8664           Add loop/getrange examples.
8665
8666 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8667
8668         * configure.ac:
8669           check for valgrind binary + some fixes
8670         * check/gst.supp:
8671           valgrind suppressions for the tests
8672         * check/Makefile.am:
8673           add a valgrind: target that valgrinds the unit tests
8674         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8675         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8676         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8677         * check/gst/gstghostpad.c:
8678           added some cleanup
8679         * check/gst/gstdata.c:
8680           removed
8681         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8682         (thread_unref), (gst_mini_object_suite), (main):
8683           added
8684         * gst/gst.c: (gst_deinit):
8685         * gst/gst.h:
8686           add a method to clean up.
8687         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8688         (gst_system_clock_obtain):
8689           allow for disposing the system clock.
8690         * tools/gst-launch.c: (main):
8691           deinit
8692
8693 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8694
8695         * docs/gst/tmpl/gstbasesrc.sgml:
8696         * docs/gst/tmpl/gstfakesrc.sgml:
8697         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8698         (gst_base_src_init), (gst_base_src_set_property),
8699         (gst_base_src_get_property), (gst_base_src_get_range),
8700         (gst_base_src_start):
8701         * gst/base/gstbasesrc.h:
8702           add num-buffers property
8703         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8704         (gst_fakesrc_init), (gst_fakesrc_set_property),
8705         (gst_fakesrc_get_property), (gst_fakesrc_create),
8706         (gst_fakesrc_start):
8707           remove num-buffers property
8708
8709 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8710
8711         * docs/gst/gstreamer-sections.txt:
8712         * docs/gst/tmpl/gstbasesink.sgml:
8713         * docs/gst/tmpl/gstbasesrc.sgml:
8714         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8715         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8716         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8717         (gst_base_sink_set_property), (gst_base_sink_get_property),
8718         (gst_base_sink_handle_object), (gst_base_sink_event),
8719         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8720         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8721         (gst_base_sink_loop), (gst_base_sink_deactivate),
8722         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8723         (gst_base_sink_change_state):
8724         * gst/base/gstbasesink.h:
8725         * gst/base/gstbasesrc.h:
8726         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8727         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8728         (gst_filesink_init):
8729           more macro splitting
8730
8731 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8732
8733         * gst/gstelement.c: (gst_element_get_bus):
8734           add debug
8735         * tools/gst-launch.c: (check_intr), (event_loop):
8736           fix bus leaks
8737
8738 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8739
8740         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8741           fix a caps leak
8742
8743 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8744
8745         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8746         (gst_base_src_finalize):
8747           add finalize method and clean up properly
8748         * gst/gstpipeline.c: (gst_pipeline_dispose):
8749           add debug
8750
8751 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8752
8753         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8754         (gst_bin_suite):
8755           add more things to check
8756         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8757         * gst/gstelement.c:
8758           more debug
8759
8760 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8761
8762         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8763         (GST_START_TEST), (fakesrc_suite):
8764         * check/gst-libs/gdp.c: (GST_START_TEST):
8765         * check/gst/gst.c: (GST_START_TEST):
8766         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8767         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8768         * check/gst/gstbus.c: (GST_START_TEST):
8769         * check/gst/gstcaps.c: (GST_START_TEST):
8770         * check/gst/gstdata.c: (GST_START_TEST):
8771         * check/gst/gstelement.c: (GST_START_TEST):
8772         * check/gst/gstghostpad.c: (GST_START_TEST):
8773         * check/gst/gstiterator.c: (GST_START_TEST):
8774         * check/gst/gstmessage.c: (GST_START_TEST):
8775         * check/gst/gstobject.c: (GST_START_TEST):
8776         * check/gst/gstpad.c: (GST_START_TEST):
8777         * check/gst/gststructure.c: (GST_START_TEST):
8778         * check/gst/gstsystemclock.c: (GST_START_TEST),
8779         (gst_systemclock_suite):
8780         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8781         * check/gst/gstvalue.c: (GST_START_TEST):
8782         * check/pipelines/cleanup.c: (GST_START_TEST):
8783         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8784         * check/states/sinks.c: (GST_START_TEST):
8785         * check/gstcheck.c: (gst_check_init):
8786         * check/gstcheck.h:
8787           add debugging category
8788           use GST_START_TEST now, so we add a debug line
8789
8790 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8791
8792         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8793           add test for state change message on a bin
8794         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8795           add another test
8796         * gst/gstbin.c: (gst_bin_init):
8797         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8798         * gst/gstelement.c: (gst_element_post_message),
8799         (gst_element_set_state):
8800         * gst/gstelementfactory.c: (gst_element_factory_create):
8801         * gst/gstmessage.c: (gst_message_new):
8802         * gst/gstscheduler.c:
8803           various debugging additions and cleanups
8804
8805 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8806
8807         * check/Makefile.am:
8808         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8809         (main):
8810           adding tests for elements
8811         * gst/gstelement.c: (gst_element_dispose):
8812
8813 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8814
8815         * gst/registries/gstlibxmlregistry.c: (load_feature):
8816           plug more leaks.  A simple gst_init() now is leakfree, yay.
8817
8818 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8819
8820         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8821         (gst_xml_registry_load):
8822           plug another memleak
8823
8824 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8825
8826         * configure.ac:
8827           use GST_SET_ERROR_CFLAGS
8828         * docs/faq/cvs.xml:
8829           change to ERROR_CFLAGS
8830
8831 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8832
8833         * configure.ac:
8834           make GST_ERROR_CFLAGS overridable and re-enable Werror
8835         * docs/faq/cvs.xml:
8836           add a note about error CFLAGS
8837         * docs/gst/tmpl/gstfakesrc.sgml:
8838         * gst/elements/gstfakesrc.c:
8839           comment out some unused code
8840         * gst/gst.c: (split_and_iterate):
8841         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8842         (load_feature):
8843           plug some memleaks
8844
8845 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8846
8847         * common/Makefile.am:
8848         * common/gtk-doc.mak:
8849         * docs/gst/Makefile.am:
8850           factor out gtk-doc.mak
8851
8852 2005-07-07  Wim Taymans  <wim@fluendo.com>
8853
8854         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8855         (gst_thread_scheduler_dispose):
8856         Unlock the STREAM_LOCK completely.
8857
8858 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8859
8860         * check/Makefile.am:
8861         * check/elements/.cvsignore:
8862         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8863         (START_TEST), (fakesrc_suite), (main):
8864         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8865         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8866         (gst_fakesrc_create), (gst_fakesrc_start):
8867         * gst/elements/gstfakesrc.h:
8868           adding a first element test
8869
8870 2005-07-07  Andy Wingo  <wingo@pobox.com>
8871
8872         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8873         debug message.
8874
8875 2005-07-07  Wim Taymans  <wim@fluendo.com>
8876
8877         * gst/gstquery.c:
8878         * gst/gstquery.h:
8879         Remove old types
8880
8881 2005-07-07  Wim Taymans  <wim@fluendo.com>
8882
8883         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8884         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8885         Allow subclasses to implement their own negotiation.
8886
8887 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8888
8889         * docs/design/part-gstbin.txt:
8890         * docs/design/part-gstpipeline.txt:
8891           Update design notes to reflect the movement of
8892           responsibility for bus handling from GstPipeline to
8893           GstBin
8894
8895 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8896
8897         * configure.ac:
8898           Remove unnecessary queue2/3/4 examples.
8899
8900 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8901
8902         * examples/Makefile.am:
8903         * examples/helloworld/helloworld.c: (event_loop), (main):
8904         * examples/queue/queue.c: (event_loop), (main):
8905         * examples/queue2/queue2.c: (main):
8906           Update a couple of the examples to work again.
8907
8908         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8909         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8910          Spelling corrections and extra debug.
8911         
8912         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8913         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8914         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8915         * gst/gstbin.h:
8916         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8917         (gst_pipeline_change_state):
8918         * gst/gstpipeline.h:
8919           Move the bus handler for children to the GstBin, and create a
8920           separate bus for receiving messages from children to the one the
8921           bus sends 'upwards' on.
8922
8923 2005-07-06  Wim Taymans  <wim@fluendo.com>
8924
8925         * gst/base/README:
8926         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8927         (gst_base_sink_handle_object), (gst_base_sink_loop),
8928         (gst_base_sink_change_state):
8929         * gst/base/gstbasesink.h:
8930         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8931         (gst_base_src_init), (gst_base_src_setcaps),
8932         (gst_base_src_getcaps), (gst_base_src_loop),
8933         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8934         (gst_base_src_start), (gst_base_src_change_state):
8935         * gst/base/gstbasesrc.h:
8936         Make basesrc negotiate.
8937         Handle the case where preroll fails in basesink.
8938         Update README.
8939
8940 2005-07-06  Wim Taymans  <wim@fluendo.com>
8941
8942         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8943         Implement the fixate function.
8944         Clean up acceptcaps.
8945
8946 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8947
8948         * docs/pwg/building-filterfactory.xml:
8949         * docs/pwg/pwg.xml:
8950           Remove never-written filter-factory chapter; I'll add the various
8951           base classes to part 4 ("other element types") later on.
8952
8953 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8954
8955         * docs/pwg/advanced-negotiation.xml:
8956         * docs/pwg/building-boiler.xml:
8957         * docs/pwg/building-pads.xml:
8958         * docs/pwg/pwg.xml:
8959         * examples/pwg/Makefile.am:
8960           Add a chapter on caps negotiation, simplify the original code
8961           samples a bit w.r.t. caps negotiation, add link to the advanced
8962           section. Add a bunch of examples showing different use cases of
8963           different types of caps negotiation. Upstream renegotiation isn't
8964           fully documented yet since nobody knows how that works.
8965
8966 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8967
8968         * check/gst/gstpad.c:
8969         * check/gstcheck.c:
8970         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8971           if pad has no parent, return NULL as list of internal links
8972
8973 2005-07-05  Andy Wingo  <wingo@pobox.com>
8974
8975         * gst/elements/gstfilesrc.c:
8976         * gst/elements/gstfakesrc.c: 
8977         * gst/base/gstpushsrc.c:
8978         * gst/base/gstbasesrc.h: 
8979         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8980         
8981 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8982
8983         * Makefile.am:
8984           better report generation target (lcov needs a patch)
8985
8986 2005-07-05  Andy Wingo  <wingo@pobox.com>
8987
8988         * gst/elements, testsuite: Null if we got it...
8989
8990 2005-07-05  Wim Taymans  <wim@fluendo.com>
8991
8992         * configure.ac:
8993         * libs/gst/dataprotocol/Makefile.am:
8994         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8995         * libs/gst/dataprotocol/dataprotocol.h:
8996         * pkgconfig/Makefile.am:
8997         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8998         * pkgconfig/gstreamer-dataprotocol.pc.in:
8999         Ported dataprotol to 0.9. 
9000         Added pkgconfig files.
9001
9002 2005-07-05  Andy Wingo  <wingo@pobox.com>
9003
9004         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9005         Default to returning TRUE for the case when tranform_caps returns
9006         a fixed caps, like for identity or volume.
9007
9008         * check/gst/gstbus.c (pound_bus_with_messages): 
9009         * check/gst/gstmessage.c (START_TEST): 
9010         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9011         message API change.
9012
9013         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9014         logic weaks here: always run transform_caps, trying passthrough
9015         operation only if the original caps intersects with the transform.
9016
9017         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9018         source and sink caps.
9019
9020         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9021         Intersect the peer caps with the pad template before going into
9022         transform_caps.
9023         (gst_base_transform_transform_caps): More debugging.
9024
9025         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9026         src argument.
9027
9028 2005-07-04  Edward Hervey  <edward@fluendo.com>
9029
9030         * gst/gstutils.c:
9031         * gst/gstutils.h:
9032         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9033         in bindings.
9034
9035 2005-07-04  Andy Wingo  <wingo@pobox.com>
9036
9037         * check/gst/gstpad.c: Only set explicit caps on pads.
9038
9039 2005-07-01  Andy Wingo  <wingo@pobox.com>
9040
9041         * tests/network-clock.scm: Commentary update.
9042
9043         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9044         Didn't really make sense, not implementable with basetransform,
9045         etc.
9046         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9047         attempt at implementing the sync property, needs an unlock method.
9048
9049         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9050         New func, by default returns the same caps (the identity
9051         transformation).
9052         (gst_base_transform_getcaps): Uses transform_caps to return
9053         something sensible.
9054         (gst_base_transform_setcaps): Complicated logic to get caps on
9055         both pads, even if they are different, and to call set_caps once
9056         for every time both pads get their caps set.
9057         (gst_base_transform_handle_buffer): Give the ref to the transform
9058         function. Allows in-place modification of the buffer.
9059
9060         * gst/base/gstbasetransform.h (transform_caps): New class method.
9061         Given caps on one side, what can I do on the other.
9062         (set_caps): Take two caps, one for each side of the element.
9063
9064         * gst/gstpad.h:
9065         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9066         caps in place. This is safe because we can check the mutability of
9067         the caps, and a good idea because fixate functions are just called
9068         as a matter of last resort. (Not actually implemented.)
9069         (gst_pad_set_caps): If the caps we're setting is actually the same
9070         as the existing pad caps, just update the pointer without calling
9071         setcaps. Assert that caps is either NULL or fixed, as per the
9072         docs.
9073
9074         * gst/gstghostpad.c: Update for fixate changes.
9075
9076 2005-07-02  Andy Wingo  <wingo@pobox.com>
9077
9078         * gst/gstcaps.c:
9079         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9080         two refcounts makes it immutable, which is enough. Doc more.
9081
9082 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9083
9084         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9085           Put the mini_object into GValue as a mini_object,
9086           not a gpointer, since that's how we declared
9087           the signal.
9088
9089 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9090
9091         * examples/pwg/Makefile.am:
9092           Fix buildbot again.
9093
9094 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9095
9096         * docs/pwg/building-testapp.xml:
9097           Add extra check.
9098         * examples/pwg/Makefile.am:
9099           Fix buildbot.
9100
9101 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9102
9103         * configure.ac:
9104         * examples/Makefile.am:
9105         * examples/pwg/Makefile.am:
9106         * examples/pwg/extract.pl:
9107           Enable building the PWG examples.
9108         * docs/pwg/advanced-interfaces.xml:
9109           Add URI interface stub.
9110         * docs/pwg/advanced-types.xml:
9111         * docs/pwg/other-autoplugger.xml:
9112         * docs/pwg/appendix-porting.xml:
9113         * docs/pwg/pwg.xml:
9114           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9115         * docs/pwg/building-boiler.xml:
9116         * docs/pwg/building-chainfn.xml:
9117         * docs/pwg/building-pads.xml:
9118         * docs/pwg/building-props.xml:
9119         * docs/pwg/building-state.xml:
9120         * docs/pwg/building-testapp.xml:
9121           Update the building-*.xml parts for 0.9 changes. All examples
9122           code blocks compile in examples/pwg/*.
9123
9124 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9125
9126         * docs/manual/advanced-autoplugging.xml:
9127         * docs/manual/appendix-checklist.xml:
9128         * docs/manual/appendix-integration.xml:
9129         * docs/manual/highlevel-components.xml:
9130           Fix playbin/decodebin examples, update docs a bit, mention bus
9131           instead of signals in various places, mention kmplayer and
9132           kaffeine since they have a working GStreamer backend in the KDE
9133           section.
9134
9135 2005-06-30  Wim Taymans  <wim@fluendo.com>
9136
9137         * CHANGES-0.9:
9138         * docs/design/draft-ghostpads.txt:
9139         * docs/design/draft-push-pull.txt:
9140         * docs/design/draft-query.txt:
9141         * docs/design/part-TODO.txt:
9142         * docs/design/part-query.txt:
9143         Added CHANGES-0.9 doc, updated status of other docs.
9144         
9145         * gst/gstquery.h:
9146         Remove "hmm" macro
9147
9148 2005-06-30  Wim Taymans  <wim@fluendo.com>
9149
9150         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9151         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9152         (gst_base_sink_change_state):
9153         * gst/base/gstbasesink.h:
9154         Some tweaks, only EOS and a buffer complete a preroll.
9155
9156 2005-06-30  Andy Wingo  <wingo@pobox.com>
9157
9158         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9159         activate_push down to the internal pad as well.
9160
9161 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9162
9163         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9164
9165         * gst/gsttaginterface.c:
9166           Some documentation fixes (#307394 and #307397).
9167
9168 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9169
9170         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9171
9172         * gst/gstvalue.c: (gst_value_intersect_list):
9173           Fix memleak (#309125).
9174
9175 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9176
9177         * docs/manual/advanced-dataaccess.xml:
9178           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9179         * docs/manual/basics-pads.xml:
9180           Add reference for filtered caps to above chapter.
9181
9182 2005-06-30  Wim Taymans  <wim@fluendo.com>
9183
9184         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9185         (gst_bin_change_state):
9186         Probes are gone.
9187         Lame attempt at making the state change function a bit
9188         more readable.
9189
9190 2005-06-30  Wim Taymans  <wim@fluendo.com>
9191
9192         * docs/design/part-clocks.txt:
9193         * docs/design/part-element-sink.txt:
9194         * docs/design/part-events.txt:
9195         * docs/design/part-preroll.txt:
9196         * docs/design/part-states.txt:
9197         Some more tweeks and additions to the docs.
9198
9199 2005-06-30  Wim Taymans  <wim@fluendo.com>
9200
9201         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9202         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9203         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9204         (gst_pad_check_pull_range), (gst_pad_get_range),
9205         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9206         * gst/gstpad.h:
9207         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9208         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9209         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9210         (gst_pad_remove_buffer_probe):
9211         Removed atomic operations, use existing LOCK.
9212         Move exception handling out of main code path.
9213
9214 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9215
9216         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9217         (silly_return_true_function), (gst_pad_class_init),
9218         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9219         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9220         (gst_pad_send_event):
9221           Fix accumulator, add default value by using _emitv() instead
9222           of _emit() for signal emission.
9223
9224 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9225
9226         * docs/manual/advanced-dataaccess.xml:
9227         * examples/manual/Makefile.am:
9228           Add probe example.
9229         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9230           Make work (??).
9231
9232 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9233
9234         * gst/elements/gstfilesink.c: (gst_filesink_render):
9235           Simplify code so that we don't have to handle short
9236           writes and return GST_FLOW_ERROR if an error occured.
9237
9238 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9239
9240         * docs/gst/gstreamer-docs.sgml:
9241           Remove probes more.
9242
9243 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9244
9245         * docs/gst/gstreamer-sections.txt:
9246         * docs/gst/tmpl/gstpad.sgml:
9247         * docs/gst/tmpl/gstprobe.sgml:
9248         * gst/Makefile.am:
9249         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9250         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9251         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9252         (gst_pad_push_event), (gst_pad_send_event):
9253         * gst/gstpad.h:
9254         * gst/gstutils.c: (gst_pad_add_data_probe),
9255         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9256         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9257         (gst_pad_remove_buffer_probe):
9258         * gst/gstutils.h:
9259           Remove old probes, add new g-signal-based probes and some utility
9260           functions.
9261
9262 2005-06-29  Edward Hervey  <edward@fluendo.com>
9263
9264         * gst/gstelementfactory.c:
9265         * gst/gstutils.h:
9266         * gst/gstutils.c:
9267         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9268         the definition to the header file.
9269
9270 2005-06-29  Andy Wingo  <wingo@pobox.com>
9271
9272         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9273         plugins from the source directory.
9274
9275 2005-06-29  Wim Taymans  <wim@fluendo.com>
9276
9277         * docs/gst/tmpl/gstbuffer.sgml:
9278         * docs/gst/tmpl/gstclock.sgml:
9279         Some fixings for blantently wrong text.
9280
9281 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9282
9283         * check/Makefile.am:
9284         * gst/gst.c: (add_path_func), (init_pre):
9285         * gst/gstregistry.c: (gst_registry_add_path):
9286           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9287           only scan the GST_PLUGIN_PATH locations, and not add
9288           system locations
9289
9290 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9291
9292         * docs/gst/gstreamer-sections.txt:
9293         * docs/gst/tmpl/gstbasesrc.sgml:
9294         * gst/gstelement.c:
9295         * gst/gstelement.h:
9296         * gst/gstevent.c:
9297         * gst/gstutils.c:
9298           doc fixes
9299
9300 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9301
9302         * docs/manual/advanced-autoplugging.xml:
9303           Fix autoplugging example.
9304
9305 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9306
9307         * docs/manual/advanced-autoplugging.xml:
9308         * docs/manual/mime-world.fig:
9309           Try to get autoplugging working, fix type detection. Fix text
9310           in hello-world image.
9311
9312 2005-06-29  Wim Taymans  <wim@fluendo.com>
9313
9314         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9315         (gst_base_sink_change_state):
9316         Small debug line.
9317
9318         * gst/gstclock.h:
9319         map SIGNAL and BROADCAST to the right function.
9320
9321         * gst/gstobject.h:
9322         Remove redundant braces.
9323
9324         * gst/gstpad.c: (gst_pad_set_caps):
9325         Don't call setcaps function when reseting caps to NULL.
9326
9327         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9328         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9329         (gst_system_clock_id_unschedule):
9330         Use BROADCAST as this is what we do.
9331
9332 2005-06-29  Wim Taymans  <wim@fluendo.com>
9333
9334         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9335         We are actually prerolling before commiting the state
9336         change. 
9337
9338 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9339
9340         * docs/manual/advanced-clocks.xml:
9341         * docs/manual/advanced-interfaces.xml:
9342         * docs/manual/advanced-metadata.xml:
9343         * docs/manual/advanced-position.xml:
9344         * docs/manual/advanced-schedulers.xml:
9345         * docs/manual/advanced-threads.xml:
9346         * docs/manual/appendix-porting.xml:
9347         * docs/manual/basics-bins.xml:
9348         * docs/manual/basics-bus.xml:
9349         * docs/manual/basics-elements.xml:
9350         * docs/manual/basics-helloworld.xml:
9351         * docs/manual/basics-pads.xml:
9352         * docs/manual/highlevel-components.xml:
9353         * docs/manual/manual.xml:
9354         * docs/manual/thread.fig:
9355           Update (until threads/scheduling) Application Development Manual;
9356           remove GstThread, add GstBus, add simple porting checklist, add
9357           documentation for tag writing, clocks, make all examples until this
9358           part compile and run.
9359         * examples/manual/Makefile.am:
9360           Update from changes to Application Development Manual; add bus
9361           example, remove thread example.
9362
9363 2005-06-28  Wim Taymans  <wim@fluendo.com>
9364
9365         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9366         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9367         (gst_bus_source_dispatch):
9368         Add debugging messages.
9369         Make internal methods static.
9370         Handle the case where the bus is flushed in the handler.
9371         
9372         * gst/gstelement.c: (gst_element_get_bus):
9373         Fix refcount in _get_bus();
9374
9375         * gst/gstpipeline.c: (gst_pipeline_change_state),
9376         (gst_pipeline_get_clock_func):
9377         Clock refcounting fixes.
9378         Handle the case where preroll timed out more gracefully.
9379         
9380         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9381         Clean up the internal thread in dispose. This is needed
9382         for subclasses that actually get disposed.
9383         
9384         * gst/schedulers/threadscheduler.c:
9385         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9386         (gst_thread_scheduler_dispose):
9387         Free thread pool in dispose.
9388
9389 2005-06-28  Andy Wingo  <wingo@pobox.com>
9390
9391         * tests/network-clock-utils.scm (debug, print-event): New utils.
9392
9393         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9394         (*packet-loss*): Unified loss probability.
9395         (network-time): Report out-of-band events.
9396
9397         * tests/plot-data: Add support for out-of-band events. Hack it
9398         into this script instead of passing it down the pipe; should fix
9399         this later.
9400
9401 2005-06-28  Wim Taymans  <wim@fluendo.com>
9402
9403         * docs/gst/gstreamer.types:
9404         * docs/gst/tmpl/gstbasesrc.sgml:
9405         * docs/gst/tmpl/gstpad.sgml:
9406         Docs fixes.
9407
9408 2005-06-28  Wim Taymans  <wim@fluendo.com>
9409
9410         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9411         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9412         (gst_proxy_pad_do_fixatecaps):
9413         Correctly proxy the check_pull_range function.
9414
9415 2005-06-28  Andy Wingo  <wingo@pobox.com>
9416
9417         * tests/network-clock.scm: Removed need for slib.
9418         
9419 2005-06-28  Wim Taymans  <wim@fluendo.com>
9420
9421         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9422         (gst_basesink_preroll_queue_flush):
9423         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9424         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9425         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9426         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9427         (gst_proxy_pad_set_property):
9428         * gst/gstpad.c:
9429         * gst/gstpad.h:
9430         * gst/gstqueue.c: (gst_queue_init):
9431         The deprecated pad loop function is removed now.
9432
9433 2005-06-28  Andy Wingo  <wingo@pobox.com>
9434
9435         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9436         New parameters, simulate network packet loss.
9437
9438         * tests/network-clock-utils.scm: Initialize the RNG.
9439
9440 2005-06-28  Wim Taymans  <wim@fluendo.com>
9441
9442         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9443         (gst_basesink_event), (gst_basesink_deactivate):
9444         Flushing the preroll queue always needs to unlock the waiters.
9445
9446 2005-06-28  Edward Hervey  <edward@fluendo.com>
9447
9448         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9449         Wheen a seek was successful on a pipeline, set the stream_time to the
9450         seek offset in order to have a synchronized stream_time.
9451
9452 2005-06-28  Wim Taymans  <wim@fluendo.com>
9453
9454         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9455         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9456         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9457         (gst_proxy_pad_do_fixatecaps):
9458         Call wrapper function instead of just calling the function
9459         pointers. This takes care of any locking and whatmore.
9460
9461 2005-06-28  Wim Taymans  <wim@fluendo.com>
9462
9463         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9464         (gst_pad_pull_range):
9465         * gst/gstpad.h:
9466         CONNECTED -> LINKED.
9467
9468 2005-06-28  Andy Wingo  <wingo@pobox.com>
9469
9470         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9471         source-munging commit!!!
9472
9473         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9474         (gst_object_sink): Take gpointer arguments, not GstObject --
9475         avoids casts. Like GLib.
9476
9477         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9478         activate.
9479
9480 2005-06-27  Andy Wingo  <wingo@pobox.com>
9481
9482         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9483         remaining buffer.
9484
9485         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9486         returns a sorted copy of the trace list.
9487         (gst_alloc_trace_print_live): New API, only prints traces with
9488         live objects. Sort the list.
9489         (gst_alloc_trace_print_all): Sort the list.
9490         (gst_alloc_trace_print): Align columns.
9491
9492         * gst/elements/gstttypefindelement.c:
9493         * gst/elements/gsttee.c:
9494         * gst/base/gstbasesrc.c:
9495         * gst/base/gstbasesink.c:
9496         * gst/base/gstbasetransform.c:
9497         * gst/gstqueue.c: Adapt for pad activation changes.
9498
9499         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9500         sched.
9501         (gst_pipeline_dispose): Drop ref on sched.
9502
9503         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9504         (gst_pad_activate_default): Push mode by default.
9505         (pre_activate_switch, post_activate_switch): New stubs, things to
9506         do before and after switching activation modes on pads.
9507         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9508         the pad's activate function to choose which mode to activate.
9509         Shortcut on deactivation and call the right function directly.
9510         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9511         mode.
9512         (gst_pad_activate_push): New API, same for push mode.
9513         (gst_pad_set_activate_function) 
9514         (gst_pad_set_activatepull_function) 
9515         (gst_pad_set_activatepush_function): Setters for new API.
9516
9517         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9518         Trace all miniobjects.
9519         (gst_mini_object_make_writable): Unref the arg if we copy, like
9520         gst_caps_make_writable.
9521
9522         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9523
9524         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9525         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9526         Adapt for new pad API.
9527
9528         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9529
9530         * gst/gstelement.h:
9531         * gst/gstelement.c (gst_element_iterate_src_pads) 
9532         (gst_element_iterate_sink_pads): New API functions.
9533         
9534         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9535         should fold into gstiterator.c in some form.
9536         (gst_element_pads_activate): Simplified via use of fold and
9537         delegation of decisions to gstpad->activate.
9538
9539         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9540         help in debugging.
9541
9542         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9543         class once in init, like gstmessage. Didn't run into this issue
9544         but it seems correct. Don't initialize a trace, gstminiobject does
9545         that.
9546
9547         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9548         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9549         to the bus.
9550         (assert_live_count): New util function, uses alloc traces to check
9551         cleanup.
9552
9553         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9554         To be modified when unlink drops the internal pad.
9555
9556 2005-06-27  Wim Taymans  <wim@fluendo.com>
9557
9558         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9559         (gst_bin_change_state):
9560         Cleanup the get_state() function a little, make sure it
9561         iterates the same set of elements.
9562         Added stub iterate_state_order().
9563
9564 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9565
9566         * docs/gst/gstreamer-docs.sgml:
9567         * docs/gst/gstreamer-sections.txt:
9568         * docs/gst/gstreamer.types:
9569         * docs/gst/tmpl/gstbasesink.sgml:
9570         * docs/gst/tmpl/gstbasesrc.sgml:
9571         * docs/gst/tmpl/gstbasetransform.sgml:
9572         * docs/gst/tmpl/gstelement.sgml:
9573         * docs/gst/tmpl/gstiterator.sgml:
9574         * gst/base/gstbasesrc.c:
9575         * gst/base/gstbasesrc.h:
9576         * gst/base/gstbasetransform.h:
9577         * gst/gstelement.c:
9578         * gst/gstiterator.h:
9579           adding basetransform and iterator docs
9580
9581 2005-06-27  Andy Wingo  <wingo@pobox.com>
9582
9583         * docs/design/part-activation.txt: Notes on how activation should
9584         work -- not quite implemented yet.
9585
9586 2005-06-25  Wim Taymans  <wim@fluendo.com>
9587
9588         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9589         At least get the chain function correct, needs more
9590         fixing.
9591
9592 2005-06-25  Wim Taymans  <wim@fluendo.com>
9593
9594         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9595         (gst_basesink_handle_object), (gst_basesink_event),
9596         (gst_basesink_do_sync), (gst_basesink_handle_event),
9597         (gst_basesink_change_state):
9598         * gst/gsttask.h:
9599         Right, two problems here: ghostpads don't take locks and
9600         glib _rec_mutex_lock_full() with depth==0 still locks.
9601         Catch illegal locking and g_warn them.
9602
9603 2005-06-25  Wim Taymans  <wim@fluendo.com>
9604
9605         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9606         Have to check for completion now...
9607
9608 2005-06-25  Wim Taymans  <wim@fluendo.com>
9609
9610         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9611         (gst_basesink_handle_object), (gst_basesink_event),
9612         (gst_basesink_do_sync), (gst_basesink_handle_event),
9613         (gst_basesink_change_state):
9614         * gst/gstpad.h:
9615         Unlock STREAM_LOCK whatever the recursion was.
9616
9617 2005-06-25  Wim Taymans  <wim@fluendo.com>
9618
9619         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9620         (gst_basesink_preroll_queue_empty),
9621         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9622         (gst_basesink_event), (gst_basesink_do_sync),
9623         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9624         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9625         (gst_basesink_change_state):
9626         Reworked the base sink, handle event and buffer serialisation
9627         correctly and removed possible deadlock.
9628         Handle EOS correctly.
9629
9630 2005-06-25  Wim Taymans  <wim@fluendo.com>
9631
9632         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9633         (gst_pipeline_change_state):
9634         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9635         Allow elements to post EOS in the state change function.
9636         Fix up -launch, make it exit the poll loop when the
9637         pipeline actually changed state.
9638         Fix up warning parsing in -launch.
9639
9640 2005-06-25  Wim Taymans  <wim@fluendo.com>
9641
9642         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9643         (gst_tee_sink_activate):
9644         Core takes STREAM_LOCK for us now.
9645
9646 2005-06-25  Wim Taymans  <wim@fluendo.com>
9647
9648         * gst/gstelement.c: (gst_element_get_state_func),
9649         (gst_element_set_state):
9650         * gst/gstelement.h:
9651         * gst/gstmessage.c: (gst_message_parse_error),
9652         (gst_message_parse_warning):
9653         Keep track of current target state while performing a state
9654         change so that subclasses can do something interesting.
9655         Fix parsing of warning/error messages when GError is NULL.
9656
9657 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9658
9659         * docs/gst/Makefile.am:
9660         * docs/gst/gstreamer-docs.sgml:
9661         * docs/gst/gstreamer-sections.txt:
9662         * docs/gst/gstreamer.types:
9663         * docs/gst/tmpl/gstbasesink.sgml:
9664         * docs/gst/tmpl/gstbasesrc.sgml:
9665         * docs/gst/tmpl/gstbin.sgml:
9666         * docs/gst/tmpl/gstcompat.sgml:
9667         * docs/gst/tmpl/gstfakesink.sgml:
9668         * docs/gst/tmpl/gstfakesrc.sgml:
9669         * docs/gst/tmpl/gstfilesink.sgml:
9670         * docs/gst/tmpl/gstfilesrc.sgml:
9671         * docs/gst/tmpl/gstindex.sgml:
9672         * docs/manual/appendix-quotes.xml:
9673         * gst/base/gstbasesrc.h:
9674         * gst/elements/gstfakesrc.h:
9675         * gst/gstmessage.h:
9676           start pulling in base classes and elements in our docs
9677
9678 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9679
9680         * docs/gst/Makefile.am:
9681         * docs/libs/Makefile.am:
9682           fixed make distcheck with gtk-doc 1.3
9683
9684 2005-06-23  Wim Taymans  <wim@fluendo.com>
9685
9686         * gst/gstelement.c: (gst_element_get_state_func),
9687         (gst_element_set_state), (gst_element_change_state):
9688         When the state did not change, also report NO_PREROLL
9689         when it matters.
9690
9691 2005-06-23  Wim Taymans  <wim@fluendo.com>
9692
9693         * gst/gstpad.c: (gst_pad_event_default):
9694         * gst/gstqueue.c: (gst_queue_loop):
9695         No unsafe task pausing please.
9696
9697 2005-06-23  Wim Taymans  <wim@fluendo.com>
9698
9699         * gst/schedulers/threadscheduler.c:
9700         (gst_thread_scheduler_task_start),
9701         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9702         Ref the task before pushing it on the threadpool. This
9703         makes sure that we have a ref when the threadfunction is
9704         actually called.
9705
9706 2005-06-23  Andy Wingo  <wingo@pobox.com>
9707
9708         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9709         offset is greater than the file's size.
9710
9711         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9712         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9713         * gst/gstobject.c (gst_object_class_init): Make the class lock
9714         recursive. Wim won't let me drop deep_notify. Decodebin works
9715         again, whoopdy doo.
9716
9717         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9718         internal pad, and hacks accordingly. Doesn't do it on the target
9719         pad because we change its caps. Probably catches all cases of
9720         interest tho.
9721         (gst_ghost_pad_set_property): Connect to notify::caps as
9722         appropritate.
9723
9724         * tests/network-clock.scm (plot-simulation): Pipe data to the
9725         elite python skript.
9726
9727         * tests/network-clock-utils.scm (define-parameter): New macro,
9728         defines a parameter that can be set via the command line.
9729         (set-parameter!, parse-parameter-arguments): Command line args
9730         parser.
9731
9732         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9733         stdin.
9734
9735 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9736
9737         * gst/elements/gsttypefindelement.c:
9738         (gst_type_find_element_handle_event):
9739           Don't restart typefinding on a discont.
9740         * gst/gstelement.c: (gst_element_set_state):
9741           Debug spelling fix.
9742         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9743           Allow changing mode of an active pad.
9744           Debug output fixes.
9745         * gst/registries/gstlibxmlregistry.c: (load_feature):
9746           Don't cast a static pad template to a normal pad template.
9747
9748 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9749
9750         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9751         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9752           remove gst_strtoll completely, since it didn't actually do
9753           anything more than what g_ascii_strtoull already does.
9754           check for range errors when deserializing
9755           do a cast for the unsigned cases; but further fixing needs
9756           a decision on what the interpretation of "(int)" and
9757           deserialization should be for values that fall outside the
9758           type's boundaries (ie, refuse, or interpret as casting)
9759
9760 2005-06-23  Wim Taymans  <wim@fluendo.com>
9761
9762         * check/Makefile.am:
9763         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9764         * docs/design/part-live-source.txt:
9765         * docs/design/part-states.txt:
9766         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9767         (gst_basesrc_set_live), (gst_basesrc_is_live),
9768         (gst_basesrc_get_range), (gst_basesrc_activate),
9769         (gst_basesrc_change_state):
9770         * gst/base/gstbasesrc.h:
9771         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9772         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9773         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9774         * gst/gstelement.c: (gst_element_get_state_func),
9775         (gst_element_set_state):
9776         * gst/gstelement.h:
9777         * gst/gsttypes.h:
9778         * tools/gst-launch.c: (event_loop), (main):
9779         Added support for live sources and other elements that
9780         cannot do preroll.
9781         Updated design docs, added live-source design doc.
9782         Implemented live source functionality in basesrc
9783         Fix error condition in _bin_get_state()
9784         Implement live source handling in -launch.
9785         Added check for live sources.
9786         Fixed case in GstBin where elements were changed state
9787         multiple times.
9788
9789
9790 2005-06-23  Andy Wingo  <wingo@pobox.com>
9791
9792         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9793         borken refcounting.
9794
9795         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9796         gst_caps_replace takes care of this for us.
9797
9798         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9799         gst_pad_set_caps on the target, not just its setcaps() function.
9800
9801         * tests/network-clock.scm: 
9802         * tests/network-clock-utils.scm: A network clock simulator.
9803         Something of an algorithmic testbed before doing something in C.
9804
9805 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9806
9807         * check/Makefile.am:
9808         * check/gst/capslist.h:
9809           copy over from 0.8, and add two with bitmasks specified with
9810           (int) 0xFF...
9811         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9812           add test to parse everything from capslist.h
9813         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9814         (main):
9815           add test for structure deserialization
9816         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9817           add tests for deserialization of strings to int types
9818         * gst/gststructure.c: (gst_structure_nth_field_name):
9819         * gst/gststructure.h:
9820           add a way to get the name of a field referenced by index
9821         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9822           instead of checking if the resulting long long lies between
9823           min and max, we check if the long long would fit into
9824           a number of bytes for the final type.
9825           This fixes cases where a string represents 2^32 - 1, which
9826           when cast to int would be the (valid) -1, but is bigger than
9827           G_MAXINT
9828
9829 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9830
9831         * gst/parse/grammar.y:
9832           add a log line for type deserialization
9833
9834 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9835
9836         * check/gst/gstvalue.c: (START_TEST):
9837         * gst/gstvalue.c: (gst_value_deserialize):
9838           return long long, not int, so gint64 deserialization actually
9839           works.  Is there any flag that makes the compiler check this ?
9840           Fixes #308559
9841
9842 2005-06-22  Wim Taymans  <wim@fluendo.com>
9843
9844         * gst/gstbuffer.h:
9845         Added convenience macros for setting buffers in GValue.
9846
9847 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9848
9849         * check/gst/.cvsignore:
9850         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9851           add a test deserializing int64, and comment part out because
9852           it fails, yay !
9853
9854 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9855
9856         * check/Makefile.am:
9857         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9858         * testsuite/Makefile.am:
9859         * testsuite/caps/Makefile.am:
9860         * testsuite/caps/value_serialize.c:
9861         * testsuite/test_gst_init.c:
9862           move a value_serialize test over
9863
9864 2005-06-20  Wim Taymans  <wim@fluendo.com>
9865
9866         * gst/gstpad.c:
9867         Small doc updates.
9868         
9869         * gst/gstvalue.c: (gst_value_compare_buffer),
9870         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9871         (gst_value_compare_flags), (gst_value_serialize_flags),
9872         (gst_value_deserialize_flags), (_gst_value_initialize):
9873         Fix serialisation of buffers, they are not boxed types anymore
9874
9875 2005-06-20  Wim Taymans  <wim@fluendo.com>
9876
9877         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9878         Testcase to show error in buffer-on-caps serialisation.
9879
9880 2005-06-20  Andy Wingo  <wingo@pobox.com>
9881
9882         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9883         will be adding to later.
9884
9885         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9886         if its socks fill with rocks.
9887         (gst_system_clock_obtain): Set the name on object construction.
9888         Avoid double-checked locking.
9889
9890 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9891
9892         * gst/gsturi.c: (gst_element_make_from_uri):
9893           Fix potential endless loop.
9894
9895 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9896
9897         * check/Makefile.am:
9898           add gsttag
9899         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9900         (main):
9901           move over from testsuite dir and clean up
9902         * configure.ac:
9903         * gst/gsttag.c:
9904         * testsuite/Makefile.am:
9905         * testsuite/tags/.cvsignore:
9906         * testsuite/tags/Makefile.am:
9907         * testsuite/tags/merge.c:
9908           remove testsuite/tags
9909
9910 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9911
9912         * docs/gst/gstreamer-sections.txt:
9913         * docs/gst/tmpl/gstenumtypes.sgml:
9914         * win32/gstenumtypes.c:
9915           clean up documentation build a little
9916
9917 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9918
9919         * check/gstcheck.h:
9920           add macros for checking refcounts on objects and caps
9921         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9922           add some more unit tests
9923         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9924         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9925           fix leaked refcounts (I hope :)) so unittest works
9926         * gst/gstpad.h:
9927           whitespace removal
9928
9929 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9930
9931         * configure.ac: back to HEAD
9932
9933 === release 0.9.1 ===
9934
9935 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9936
9937         * NEWS:
9938         * RELEASE:
9939           updated
9940
9941 2005-06-17  Andy Wingo  <wingo@pobox.com>
9942
9943         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9944         assert; it's always possible that the pad gets deactivated in
9945         between the checks in gstpad.c and the implementation. Rely on
9946         finish_preroll() to return a FLUSHING or similar instead of on the
9947         assert.
9948         
9949         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9950         clock and post an EOS message if we come out of finish_preroll in
9951         the playing state.
9952
9953 2005-06-16  David Schleef  <ds@schleef.org>
9954
9955         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9956         (gst_capsfilter_set_property): Allow NULL as possible value
9957         for filter_caps property, indicating GST_CAPS_ANY.
9958
9959 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9960
9961         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9962           fix debug output
9963         * gst/schedulers/Makefile.am:
9964           use libgst prefix
9965         * gstreamer.spec.in:
9966           fix spec for it
9967
9968 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9969
9970         * gstreamer.spec.in:
9971           clean up
9972
9973 2005-06-08  Andy Wingo  <wingo@pobox.com>
9974
9975         * gst/gstutils.c: RPAD fixes all around.
9976         (gst_element_link_pads): Refcounting fixes.
9977
9978         * tools/gst-inspect.c:
9979         * tools/gst-xmlinspect.c:
9980         * parse/grammar.y:
9981         * gst/base/gsttypefindhelper.c:
9982         * gst/base/gstbasesink.c:
9983         * gst/gstqueue.c: RPAD fixes.
9984
9985         * gst/gstghostpad.h:
9986         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9987         pads. The tricky thing is they provide both source and sink
9988         interfaces, since they proxy the internal pad for the external
9989         pad, and vice versa. Implement with lower-level ProxyPad objects,
9990         with the interior proxy pad as a child of the exterior ghost pad.
9991         Should write a doc on this.
9992         
9993         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9994         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9995         gst_object API.
9996         
9997         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9998         pads are real pads. No ghost pads in this file. Not documenting
9999         the myriad s/RPAD/PAD/ and REALIZE fixes.
10000         (gst_pad_class_init): Add properties for "direction" and
10001         "template". Both are construct-only, so they can't change during
10002         the life of the pad. Fixes properly deriving from GstPad.
10003         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10004         derived objects, just set properties when creating the objects via
10005         g_object_new.
10006         (gst_pad_get_parent): Implement as a function, return NULL if the
10007         parent is not an element.
10008         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10009         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10010         
10011         * gst/gstobject.c (gst_object_class_init): Make name a construct
10012         property. Don't set it in the object init.
10013
10014         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10015         with UNKNOWN direction.
10016         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10017         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10018         (gst_element_remove_pad): Remove ghost-pad special cases.
10019         (gst_element_pads_activate): Remove rpad cruft.
10020
10021         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10022         catch the pad's-parent-not-an-element case.
10023
10024         * gst/gst.h: Include gstghostpad.h.
10025
10026         * gst/gst.c (init_post): No more real, ghost pads.
10027
10028         * gst/Makefile.am: Add gstghostpad.[ch].
10029
10030         * check/Makefile.am:
10031         * check/gst/gstbin.c:
10032         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10033         into a bin creates ghost pads, and that the refcounts are right.
10034         Partly moved from gstbin.c.
10035
10036 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10037
10038         * check/gst-libs/.cvsignore:
10039         * check/gst/.cvsignore:
10040         * check/pipelines/.cvsignore:
10041           ignore more
10042         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10043         (START_TEST), (cleanup_suite), (main):
10044           add some tests related to cleanup after running pipelines
10045
10046 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10047
10048         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10049           add a testsuite for GstBuffer
10050
10051 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10052
10053         * gst/gstminiobject.h:
10054           add defines for accessing the refcount
10055
10056 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10057
10058         * Makefile.am: added support for html unit test coverage reports
10059
10060 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10061
10062         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10063           Free existing caps if the capsfilter changes. Add a FIXME about
10064           setting those caps on the pads.
10065
10066         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10067           Before adding a ghost pad to a parent bin, check that there isn't
10068           already one for the element on the bin. Prevents infinite recursion
10069           when using decodebin in parse pipelines. Andy says he'll rewrite the
10070           way this works anyway, so ignore the hack.
10071
10072 2005-06-02  Andy Wingo  <wingo@pobox.com>
10073
10074         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10075         file size, pass it on to the type find helper.
10076
10077         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10078         segment_start and segment_end properly according to the seek
10079         method. Segment_end is still a bit flaky because offset can be
10080         negative for CUR and END cases, but it takes -1 as an "unset"
10081         value.
10082
10083 2005-06-02  Wim Taymans  <wim@fluendo.com>
10084
10085         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10086         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10087         (gst_basesink_activate):
10088         * gst/base/gstbasesink.h:
10089         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10090         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10091         (gst_pad_query), (gst_pad_start_task):
10092         * gst/gstpad.h:
10093         * gst/gstqueue.c: (gst_queue_bufferalloc),
10094         (gst_queue_handle_sink_event), (gst_queue_chain):
10095         Bufferalloc: return GstFlowReturn to more accuratly report
10096         why allocation failed.
10097
10098 2005-06-02  Wim Taymans  <wim@fluendo.com>
10099
10100         * gst/gstpipeline.c: (gst_pipeline_send_event):
10101         Take snapshot of state without blocking.
10102
10103 2005-06-02  Wim Taymans  <wim@fluendo.com>
10104
10105         * docs/design/part-TODO.txt:
10106         * docs/design/part-caps.txt:
10107         * docs/design/part-clocks.txt:
10108         * docs/design/part-negotiation.txt:
10109         * docs/design/part-preroll.txt:
10110         Small doc updates 
10111
10112 2005-05-30  Wim Taymans  <wim@fluendo.com>
10113
10114         * gst/elements/gstidentity.c: (gst_identity_event),
10115         (gst_identity_transform), (gst_identity_get_property):
10116         Protect last_message property as it is accessed from
10117         multiple threads.
10118
10119 2005-05-30  Wim Taymans  <wim@fluendo.com>
10120
10121         * gst/gstelement.c: (gst_element_init),
10122         (gst_element_pads_activate), (gst_element_change_state):
10123         Slicker pad activation code.
10124
10125 2005-05-30  Wim Taymans  <wim@fluendo.com>
10126
10127         * gst/Makefile.am:
10128         * gst/gstelement.h:
10129         * gst/gstelementfactory.h:
10130         * gst/gsttypes.h:
10131         Move elementfactory methods to separate .h file.
10132
10133 2005-05-30  Wim Taymans  <wim@fluendo.com>
10134
10135         * docs/design/part-overview.txt:
10136         * gst/gstsystemclock.h:
10137         Small typo fixes, doc updates.
10138
10139 2005-05-30  Wim Taymans  <wim@fluendo.com>
10140
10141         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10142         (init_popt_callback):
10143         Remove cpu-opt flag.
10144
10145 2005-05-30  Wim Taymans  <wim@fluendo.com>
10146
10147         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10148         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10149         * gst/gstbuffer.h:
10150         Avoid typechecking in places where not needed.
10151         Added accessor for malloc_data.
10152
10153 2005-05-30  Wim Taymans  <wim@fluendo.com>
10154
10155         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10156         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10157         (gst_pad_configure_sink), (gst_pad_configure_src),
10158         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10159         (gst_pad_start_task):
10160         Propagate errors from _set_caps() in configure_src/sink
10161         functions instead of returning TRUE.
10162         FLUSH events can travel up and downstream
10163
10164
10165 2005-05-30  Wim Taymans  <wim@fluendo.com>
10166
10167         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10168         (gst_basesink_activate):
10169         Handle EOS in preroll.
10170
10171 2005-05-30  Wim Taymans  <wim@fluendo.com>
10172
10173         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10174         (gst_queue_loop), (gst_queue_handle_src_event):
10175         Remove old pieces of code
10176         Flushing the queue in an upstream event is a very bad idea.
10177
10178 2005-05-26  Andy Wingo  <wingo@pobox.com>
10179
10180         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10181         gst_value_set_mini_object so as to add a ref on the object (which
10182         will be removed when the value is unset).
10183
10184         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10185         arg type in ::handoff.
10186
10187         * gst/gstelement.c (gst_element_change_state): Also deactivate
10188         pads in READY->NULL, just in case the element didn't make it to
10189         PAUSED. Wingo tested, Wim approved.
10190
10191 2005-05-26  Wim Taymans  <wim@fluendo.com>
10192
10193         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10194         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10195         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10196         A flushing pad cannot be used to alloc_buffer from.
10197
10198 2005-05-26  Wim Taymans  <wim@fluendo.com>
10199
10200         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10201         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10202         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10203         (gst_bus_create_watch), (gst_bus_add_watch_full):
10204         * gst/gstbus.h:
10205         Implement a real GSource and use g_main_context_wakeup() to
10206         signal new messages instead of the socketpair.
10207
10208 2005-05-25  Wim Taymans  <wim@fluendo.com>
10209
10210         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10211         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10212         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10213         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10214         (gst_pad_send_event), (gst_pad_start_task):
10215         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10216         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10217         (gst_queue_sink_activate), (gst_queue_src_activate),
10218         (gst_queue_change_state):
10219         * gst/gstqueue.h:
10220         Fix state changes for non sinks. We now change sinks, then elements
10221         with unconnected srcpads, then the rest.
10222         More efficient queue unlocking in flush and state changes.
10223         Set the pad activate mode even if it does not have an activate
10224         function.
10225
10226 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10227
10228         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10229           Don't go in pull mode for non-seekable sources.
10230         * gst/elements/gsttypefindelement.h:
10231         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10232         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10233         (free_entry), (stop_typefinding),
10234         (gst_type_find_element_handle_event), (find_peek),
10235         (gst_type_find_element_chain), (do_pull_typefind),
10236         (gst_type_find_element_change_state):
10237           Allow typefinding (w/o seeking) in push-mode, simplified version
10238           of what was in 0.8.
10239         * gst/gstutils.c: (gst_buffer_join):
10240         * gst/gstutils.h:
10241           gst_buffer_join() from 0.8.
10242
10243 2005-05-25  Wim Taymans  <wim@fluendo.com>
10244
10245         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10246         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10247         (gst_pad_send_event), (gst_pad_start_task):
10248         Disable attempt at mode switching until it is figured out.
10249
10250 2005-05-25  Wim Taymans  <wim@fluendo.com>
10251
10252         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10253         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10254         (gst_basesink_finish_preroll), (gst_basesink_chain),
10255         (gst_basesink_loop), (gst_basesink_activate),
10256         (gst_basesink_change_state):
10257         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10258         (gst_basesrc_get_range), (gst_basesrc_loop),
10259         (gst_basesrc_activate):
10260         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10261         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10262         (gst_real_pad_init), (gst_real_pad_set_property),
10263         (gst_real_pad_get_property), (gst_pad_set_active),
10264         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10265         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10266         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10267         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10268         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10269         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10270         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10271         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10272         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10273         (gst_pad_stop_task):
10274         * gst/gstpad.h:
10275         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10276         (gst_queue_loop), (gst_queue_src_activate):
10277         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10278         (gst_task_get_state):
10279         * gst/gsttask.h:
10280         * gst/schedulers/threadscheduler.c:
10281         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10282         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10283         in task function.
10284         Remove ACTIVE pad flag, use FLUSHING everywhere
10285         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10286         functions.
10287         Add locks around IS_FLUSHING when reading.
10288         Take STREAM lock in chain(), get_range() functions so plugins
10289         don't need to take it anymore.
10290         
10291
10292
10293 2005-05-25  Wim Taymans  <wim@fluendo.com>
10294
10295         * tools/gst-launch.c: (event_loop):
10296         Unref message after using its contents instead of
10297         before.
10298
10299 2005-05-24  Wim Taymans  <wim@fluendo.com>
10300
10301         * docs/design/draft-ghostpads.txt:
10302         * docs/design/draft-push-pull.txt:
10303         * docs/design/draft-query.txt:
10304         * docs/design/part-overview.txt:
10305         Docs updates, added general overview doc.
10306
10307 2005-05-21  David Schleef  <ds@schleef.org>
10308
10309         * docs/gst/tmpl/old/GstBin.sgml:
10310         * docs/gst/tmpl/old/GstBuffer.sgml:
10311         * docs/gst/tmpl/old/GstCaps.sgml:
10312         * docs/gst/tmpl/old/GstClock.sgml:
10313         * docs/gst/tmpl/old/GstCompat.sgml:
10314         * docs/gst/tmpl/old/GstData.sgml:
10315         * docs/gst/tmpl/old/GstElement.sgml:
10316         * docs/gst/tmpl/old/GstEvent.sgml:
10317         * docs/gst/tmpl/old/GstIndex.sgml:
10318         * docs/gst/tmpl/old/GstStructure.sgml:
10319         * docs/gst/tmpl/old/GstTag.sgml:
10320         * docs/gst/tmpl/old/cothreads.sgml:
10321         * docs/gst/tmpl/old/cothreads_compat.sgml:
10322         * docs/gst/tmpl/old/gettext.sgml:
10323         * docs/gst/tmpl/old/gobject2gtk.sgml:
10324         * docs/gst/tmpl/old/grammar.tab.sgml:
10325         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10326         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10327         * docs/gst/tmpl/old/gst_private.sgml:
10328         * docs/gst/tmpl/old/gstaggregator.sgml:
10329         * docs/gst/tmpl/old/gstarch.sgml:
10330         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10331         * docs/gst/tmpl/old/gstbufferstore.sgml:
10332         * docs/gst/tmpl/old/gstdata_private.sgml:
10333         * docs/gst/tmpl/old/gstdisksink.sgml:
10334         * docs/gst/tmpl/old/gstdisksrc.sgml:
10335         * docs/gst/tmpl/old/gstelementfactory.sgml:
10336         * docs/gst/tmpl/old/gstextratypes.sgml:
10337         * docs/gst/tmpl/old/gstfakesink.sgml:
10338         * docs/gst/tmpl/old/gstfakesrc.sgml:
10339         * docs/gst/tmpl/old/gstfdsink.sgml:
10340         * docs/gst/tmpl/old/gstfdsrc.sgml:
10341         * docs/gst/tmpl/old/gstfilesink.sgml:
10342         * docs/gst/tmpl/old/gstfilesrc.sgml:
10343         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10344         * docs/gst/tmpl/old/gstidentity.sgml:
10345         * docs/gst/tmpl/old/gstindexfactory.sgml:
10346         * docs/gst/tmpl/old/gstmarshal.sgml:
10347         * docs/gst/tmpl/old/gstmd5sink.sgml:
10348         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10349         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10350         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10351         * docs/gst/tmpl/old/gstpipefilter.sgml:
10352         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10353         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10354         * docs/gst/tmpl/old/gstshaper.sgml:
10355         * docs/gst/tmpl/old/gstspider.sgml:
10356         * docs/gst/tmpl/old/gstspideridentity.sgml:
10357         * docs/gst/tmpl/old/gststatistics.sgml:
10358         * docs/gst/tmpl/old/gsttee.sgml:
10359         * docs/gst/tmpl/old/gsttimecache.sgml:
10360         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10361         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10362         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10363         * docs/gst/tmpl/old/types.sgml:
10364           I didn't intend to add these or check them in.
10365
10366 2005-05-19  David Schleef  <ds@schleef.org>
10367
10368         * configure.ac: Use -no-common everywhere.  In a sane world, it
10369           would be the default in libtool, because without it, you can't
10370           build DLLs on Windows.
10371         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10372         * docs/gst/gstreamer-sections.txt:
10373         * docs/gst/tmpl/gstcpu.sgml:
10374         * docs/gst/tmpl/gstdata.sgml:
10375         * docs/gst/tmpl/gstthread.sgml:
10376
10377 2005-05-19  David Schleef  <ds@schleef.org>
10378
10379         * gst/gstminiobject.c: (gst_value_set_mini_object),
10380         (gst_value_take_mini_object), (gst_value_get_mini_object):
10381         * gst/gstminiobject.h: Add GValue set/get functions.
10382
10383 2005-05-19  Wim Taymans  <wim@fluendo.com>
10384
10385         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10386         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10387         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10388         * gst/gstbuffer.h:
10389         * gst/gstbus.c: (gst_bus_post):
10390         * gst/gstelement.c: (gst_element_get_random_pad):
10391         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10392         Make subbufer unref the parent in finalize.
10393         some more debugging info.
10394
10395
10396 2005-05-19  Wim Taymans  <wim@fluendo.com>
10397
10398         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10399         (gst_basesink_init), (gst_basesink_finalize),
10400         (gst_basesink_activate), (gst_basesink_change_state):
10401         Don't free preroll queue too early.
10402
10403 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10404
10405         * gst/Makefile.am:
10406         * gst/ROADMAP:
10407           Hi, I'm outdated. Please shoot me.
10408
10409 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10410
10411         * gst/gstpipeline.c: (gst_pipeline_send_event):
10412           Do not access variables after they have been deleted.
10413
10414 2005-05-19  Wim Taymans  <wim@fluendo.com>
10415
10416         * tools/gst-inspect.c: (print_plugin_features):
10417         A plugin feature does unfortunatly not use the
10418         object name yet...
10419
10420 2005-05-18  Wim Taymans  <wim@fluendo.com>
10421
10422         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10423         Port _span() functions to new subbuffers.
10424
10425 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10426
10427         * gst/gstbin.c: (gst_bin_add_func):
10428           Fix clock settery in bins when adding kids after the clock has
10429           been selected.
10430
10431 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10432
10433         * gst/elements/gstidentity.c: (gst_identity_class_init):
10434           Workaround until signals support GstMiniObject.
10435
10436 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10437
10438         * gst/gstbuffer.c:
10439         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10440
10441 2005-05-18  Wim Taymans  <wim@fluendo.com>
10442
10443         * gst/base/Makefile.am:
10444         * gst/base/gstadapter.c: (gst_adapter_base_init),
10445         (gst_adapter_class_init), (gst_adapter_init),
10446         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10447         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10448         (gst_adapter_flush), (gst_adapter_available),
10449         (gst_adapter_available_fast):
10450         * gst/base/gstadapter.h:
10451         Ported and added adapter to the base classes.
10452
10453 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10454
10455         * gst/gst.c:
10456         * gst/gstmessage.c:
10457           Make sure the class is reffed/unreffed once before threads can be
10458           used.  Fixes #304551.
10459
10460 2005-05-17  Wim Taymans  <wim@fluendo.com>
10461
10462         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10463         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10464         * gst/gstminiobject.c: (gst_mini_object_get_type),
10465         (gst_mini_object_free):
10466         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10467         (gst_pad_push), (gst_pad_push_event):
10468         * gst/gstqueue.c: (gst_queue_change_state):
10469         Don't queue buffers in basesink when we are flushing.
10470         Unref buffer when flushing in basesink.
10471         Flush queue when going to READY
10472         Unref buffer when _push() returns an error.
10473         Don't free MiniObject instance when refcount is incremented
10474         in _finalize() so that we can recover objects.
10475
10476 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10477
10478         * docs/manual/advanced-schedulers.xml:
10479         * docs/manual/appendix-checklist.xml:
10480         * docs/pwg/advanced-clock.xml:
10481         * docs/pwg/advanced-interfaces.xml:
10482         * docs/pwg/advanced-request.xml:
10483         * docs/pwg/advanced-types.xml:
10484         * docs/pwg/intro-preface.xml:
10485         * examples/plugins/example.c: (gst_example_get_type),
10486         (gst_example_class_init), (gst_example_chain),
10487         (gst_example_set_property), (gst_example_get_property),
10488         (gst_example_change_state), (plugin_init):
10489         * examples/plugins/example.h:
10490           small doc fixes
10491
10492 2005-05-17  Wim Taymans  <wim@fluendo.com>
10493
10494         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10495         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10496         * gst/gstqueue.c: (gst_queue_change_state):
10497         Clear queue when going to READY.
10498         Remove IN_SETCAPS flag too.
10499
10500 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10501
10502         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10503           Remove implicit cast from gboolean to GstElementStateReturn;
10504           make sure we still return failure in paused => ready case if
10505           the parent class fails to change state and our own stop 
10506           vfunc succeeds.
10507
10508 2005-05-17  Wim Taymans  <wim@fluendo.com>
10509
10510         * tools/gst-launch.c: (event_loop):
10511         Message was unreffed too soon.
10512
10513 2005-05-16  Andy Wingo  <wingo@pobox.com>
10514
10515         * gst/gstbin.c (sink_iterator_filter): Err... um...
10516
10517         * check/gst/gstbin.c (test_ghost_pads): New test for the
10518         ghosting-if-elements-not-in-same-bin behavior.
10519
10520 2005-05-16  David Schleef  <ds@schleef.org>
10521
10522         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10523         accessing refcount directly.
10524
10525 2005-05-15  David Schleef  <ds@schleef.org>
10526
10527         * check/Makefile.am: remove GstData checks
10528         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10529         * gst/Makefile.am: add miniobject, remove data
10530         * gst/gst.h: add miniobject, remove data
10531         * gst/gstdata.c: remove
10532         * gst/gstdata.h: remove
10533         * gst/gstdata_private.h: remove
10534         * gst/gsttypes.h: remove GstEvent and GstMessage
10535         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10536         * gst/gstmarshal.list: change BOXED -> OBJECT
10537
10538         Implement GstMiniObject.
10539         * gst/gstminiobject.c:
10540         * gst/gstminiobject.h:
10541
10542         Modify to be subclasses of GstMiniObject.
10543         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10544         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10545         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10546         (gst_subbuffer_get_type), (gst_subbuffer_init),
10547         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10548         (gst_buffer_span):
10549         * gst/gstbuffer.h:
10550         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10551         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10552         (_gst_event_copy), (gst_event_new):
10553         * gst/gstevent.h:
10554         * gst/gstmessage.c: (_gst_message_initialize),
10555         (gst_message_get_type), (gst_message_class_init),
10556         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10557         (gst_message_new), (gst_message_new_error),
10558         (gst_message_new_warning), (gst_message_new_tag),
10559         (gst_message_new_state_changed), (gst_message_new_application):
10560         * gst/gstmessage.h:
10561         * gst/gstprobe.c: (gst_probe_perform),
10562         (gst_probe_dispatcher_dispatch):
10563         * gst/gstprobe.h:
10564         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10565         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10566         (_gst_query_copy), (gst_query_new):
10567
10568         Update elements for GstData -> GstMiniObject changes
10569         * gst/gstquery.h:
10570         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10571         (gst_queue_chain), (gst_queue_loop):
10572         * gst/elements/gstbufferstore.c:
10573         (gst_buffer_store_add_buffer_func),
10574         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10575         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10576         (gst_fakesink_render):
10577         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10578         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10579         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10580         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10581         (gst_filesrc_create_read):
10582         * gst/elements/gstidentity.c: (gst_identity_class_init):
10583         * gst/elements/gsttypefindelement.c:
10584         (gst_type_find_element_src_event), (free_entry_buffers),
10585         (gst_type_find_element_handle_event):
10586         * libs/gst/dataprotocol/dataprotocol.c:
10587         (gst_dp_header_from_buffer):
10588         * libs/gst/dataprotocol/dataprotocol.h:
10589         * libs/gst/dataprotocol/dp-private.h:
10590
10591 2005-05-15  David Schleef  <ds@schleef.org>
10592
10593         * gst/elements/gstelements.c: Don't include headers that were
10594         just removed.
10595
10596 2005-05-15  David Schleef  <ds@schleef.org>
10597
10598         * gst/elements/Makefile.am: Remove some elements that don't
10599         need to be in the core (or even exist at all).
10600         * gst/elements/gstaggregator.c:
10601         * gst/elements/gstaggregator.h:
10602         * gst/elements/gstmd5sink.c:
10603         * gst/elements/gstmd5sink.h:
10604         * gst/elements/gstmultifilesrc.c:
10605         * gst/elements/gstmultifilesrc.h:
10606         * gst/elements/gstpipefilter.c:
10607         * gst/elements/gstpipefilter.h:
10608         * gst/elements/gstshaper.c:
10609         * gst/elements/gstshaper.h:
10610         * gst/elements/gststatistics.c:
10611         * gst/elements/gststatistics.h:
10612         * po/POTFILES.in: Remove above files.
10613
10614 2005-05-14  Andy Wingo  <wingo@pobox.com>
10615
10616         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10617         so as to get the refs right.
10618         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10619         unreffing objects that don't pass the filter.
10620
10621         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10622         gst_element_set_bus.
10623         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10624         normal cases, this will destroy the bus.
10625
10626         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10627         object.
10628
10629         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10630         has no sinks.
10631
10632 2005-05-13  Andy Wingo  <wingo@pobox.com>
10633
10634         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10635         gst_pad_link, call pad_link_maybe_ghosting,
10636         (pad_link_maybe_ghosting): Links pads, making sure that the
10637         elements being linked are in the same bin.
10638         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10639         Helpers for pad_link_maybe_ghosting.
10640
10641 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10642
10643         * configure.ac:
10644           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10645
10646 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10647
10648         * docs/design/part-element-source.txt:
10649           Mention GstPushSrc
10650
10651 2005-05-12  Wim Taymans  <wim@fluendo.com>
10652
10653         * gst/base/gstbasesink.c: (gst_basesink_init),
10654         (gst_basesink_activate):
10655         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10656         (gst_basesrc_is_seekable):
10657         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10658         (bin_element_is_sink), (gst_bin_change_state):
10659         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10660         * gst/gstelement.h:
10661         Identify sinks by their flag to avoid overly complicated
10662         checks (fow now).
10663         Do state changes even for elements not reachable from the
10664         sinks.
10665         BaseSink is a sink now :)
10666         Some more debugging info in the basesrc.
10667
10668
10669 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10670
10671         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10672           Implement _query on a bin, similar to _send_event.
10673
10674 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10675
10676         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10677           Discont event offset format should be GST_FORMAT_BYTES,
10678           not GST_FORMAT_TIME.
10679
10680 2005-05-12  Wim Taymans  <wim@fluendo.com>
10681
10682         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10683         Same fix as Ronald's but without the signal. 
10684
10685 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10686
10687         * gst/gstutils.c: (gst_element_query_position):
10688           No, an element is not a pad.
10689
10690 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10691
10692         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10693         (gst_bin_get_state):
10694           If a child is removed from a bin while we remove the child from
10695           the bin and while we're retrieving its state, signal this to the
10696           get_state function so we abort the wait (instead of waiting for
10697           a timeout) and can immediately re-iterate over all other elements.
10698
10699 2005-05-12  Wim Taymans  <wim@fluendo.com>
10700
10701         * gst/base/Makefile.am:
10702         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10703         (gst_basesrc_start):
10704         * gst/base/gstbasesrc.h:
10705         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10706         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10707         (gst_pushsrc_init), (gst_pushsrc_create):
10708         * gst/base/gstpushsrc.h:
10709         Added is_seekable to BaseSrc
10710         Added simple PushSrc.
10711
10712 2005-05-11  Wim Taymans  <wim@fluendo.com>
10713
10714         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10715         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10716         (gst_element_link_pads), (gst_element_query_position),
10717         (gst_element_query_convert), (intersect_caps_func),
10718         (gst_pad_query_position), (gst_pad_query_convert):
10719         Fix refcounting in utils function.
10720         No point in trying to activate a pad when it's added, it could
10721         be added from the state change function and then we deadlock, the
10722         element has to decide what to do.
10723
10724 2005-05-10  Andy Wingo  <wingo@pobox.com>
10725
10726         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10727         *all* the arguments.
10728
10729         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10730         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10731         lock (according to the docs -- if this is wrong change the docs).
10732
10733         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10734         flush messages in the NULL state.
10735
10736         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10737         message immediately and return.
10738         (gst_bus_set_flushing): New function. If a bus is flushing, it
10739         flushes out any queued messages and immediately unrefs new
10740         messages. This is so when an element goes to NULL, all of the
10741         unhandled messages coming from it can be freed, and their
10742         references to the element dropped. In other words: message source
10743         ref considered harmful :P
10744
10745         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10746         we're finished with it.
10747
10748         * gst/gstmessage.c (gst_message_new_state_changed): 
10749
10750 2005-05-10  Wim Taymans  <wim@fluendo.com>
10751
10752         * gst/gstvalue.c: (gst_value_compare_flags),
10753         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10754         (_gst_value_initialize):
10755         Added flags serialize/deserialize/compare code.
10756
10757 2005-05-09  Andy Wingo  <wingo@pobox.com>
10758
10759         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10760         Intersect the peer's caps with our caps.
10761
10762 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10763
10764         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10765         * gst/elements/gsttypefindelement.c: (find_peek):
10766           Handle negative offsets better. Fixes decodebin.
10767
10768 2005-05-09  Wim Taymans  <wim@fluendo.com>
10769
10770         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10771         (gst_base_transform_event):
10772         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10773         Implement accept_caps.
10774         Fix silly lock/unlock mismatch in base class.
10775
10776 2005-05-09  Wim Taymans  <wim@fluendo.com>
10777
10778         * docs/design/draft-push-pull.txt:
10779         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10780         * gst/elements/gstfilesink.c: (gst_filesink_init),
10781         (gst_filesink_query):
10782         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10783         (gst_type_find_handle_src_query), (find_element_get_length):
10784         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10785         * gst/gstelement.h:
10786         * gst/gstmessage.c:
10787         * gst/gstmessage.h:
10788         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10789         (gst_real_pad_get_caps_unlocked),
10790         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10791         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10792         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10793         (gst_real_pad_dispose), (gst_real_pad_finalize),
10794         (gst_pad_load_and_link), (gst_pad_save_thyself),
10795         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10796         (gst_pad_check_pull_range), (gst_pad_pull_range),
10797         (gst_pad_template_get_type), (gst_pad_template_class_init),
10798         (gst_pad_template_init), (gst_pad_template_dispose),
10799         (name_is_valid), (gst_static_pad_template_get),
10800         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10801         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10802         (gst_pad_get_element_private), (gst_pad_start_task),
10803         (gst_pad_pause_task), (gst_pad_stop_task),
10804         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10805         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10806         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10807         (gst_ghost_pad_new):
10808         * gst/gstpad.h:
10809         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10810         (gst_query_new_position), (gst_query_set_position),
10811         (gst_query_parse_position), (gst_query_new_convert),
10812         (gst_query_set_convert), (gst_query_parse_convert):
10813         * gst/gstquery.h:
10814         * gst/gstqueryutils.c:
10815         * gst/gstqueryutils.h:
10816         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10817         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10818         (gst_queue_handle_src_query):
10819         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10820         (gst_element_query_position), (gst_element_query_convert),
10821         (intersect_caps_func), (gst_pad_query_position),
10822         (gst_pad_query_convert):
10823         * gst/gstutils.h:
10824         * tools/gst-inspect.c: (print_pad_info):
10825         * tools/gst-xmlinspect.c: (print_element_info):
10826         Remove old query functions. Ported old code.
10827         Added position/convert helper functions to gstutils.
10828         Reordered gstpad.c code, grouping relevant things.
10829         Remove gst_message_new(), always need to speficy a specific
10830         message.
10831
10832
10833 2005-05-09  Andy Wingo  <wingo@pobox.com>
10834
10835         * gst/gstiterator.h: Add some includes.
10836
10837         * gst/gstqueryutils.h: Include more headers.
10838
10839         * gst/gstpad.h:
10840         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10841         some uses of gst_pad_query.
10842
10843         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10844         NULL out parameters.
10845         (gst_query_new_position): New proc, allocates a new position
10846         query.
10847
10848         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10849         gstqueryutils.c to the build.
10850
10851         * gst/gststructure.c (gst_structure_set_valist): Implement with
10852         the generic G_VALUE_COLLECT.
10853         
10854 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10855
10856         * gst/Makefile.am: (gst_headers):
10857         Added gstqueryutils.h to the list of headers to install, that was
10858         a 'nachty' move wingo :)
10859
10860 2005-05-06  Andy Wingo  <wingo@pobox.com>
10861
10862         * gst/gstquery.h
10863         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10864         GstData, init a memchunk.
10865         (standard_definitions): Add a few query types, deprecate a few.
10866         (gst_query_get_type): New proc.
10867         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10868         implementation.
10869         (gst_query_new_application, gst_query_get_structure): New public
10870         procs.
10871
10872         * docs/design/draft-query.txt: Removed LINKS from the query types,
10873         because all the rest can be dispatched to other pads -- seemed
10874         ugly to have a query that couldn't be dispatched. internal_links
10875         is fine as a pad method.
10876
10877         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10878         in gstpad.c, but maintain binary compatibility for the moment.
10879         Will fix before 0.9 is out.
10880
10881         * gst/gstqueryutils.c: 
10882         * gst/gstqueryutils.h: New files, implement 3 methods for each
10883         query type: parse_query, parse_response, and set. Probably need an
10884         allocator as well.
10885
10886         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10887
10888         * gst/elements/gstfilesink.c (gst_filesink_query2):
10889         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10890         query_types, and formats methods.
10891
10892         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10893         (gst_pad_set_query2_function): New functions.
10894         (gst_real_pad_init): Set query2_default as the default query2
10895         function. Basically just dispatches to internally linked pads.
10896
10897         Needs review!
10898         
10899         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10900         without using the atomic operations. Only one thread can possibly
10901         be accessing the data at this point. Changed so as to avoid
10902         gst_atomic operations.
10903
10904 2005-05-06  Wim Taymans  <wim@fluendo.com>
10905
10906         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10907         Also set caps if we use the fallback buffer alloc.
10908
10909 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10910
10911         * docs/gst/Makefile.am:
10912         * docs/gst/gstreamer-docs.sgml:
10913         * docs/gst/gstreamer-sections.txt:
10914         * docs/gst/tmpl/gstatomic.sgml:
10915         * docs/gst/tmpl/gstmemchunk.sgml:
10916         * testsuite/elements/struct_i386.h:
10917         * win32/GStreamer.vcproj:
10918         * win32/Makefile:
10919           Purge GstAtomic stuff from docs and win32 makefiles as well
10920
10921 2005-05-06  Wim Taymans  <wim@fluendo.com>
10922
10923         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10924         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10925         * gst/gstpad.c: (gst_pad_peer_get_caps):
10926         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10927         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10928         (gst_queue_src_activate), (gst_queue_change_state):
10929         * gst/gstqueue.h:
10930         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10931         (intersect_caps_func):
10932         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10933         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10934         Some fixes for the peer_get_caps() change.
10935
10936 2005-05-06  Wim Taymans  <wim@fluendo.com>
10937
10938         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10939         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10940         (gst_basesink_activate):
10941         Actually do something with error codes returned from the push
10942         functions.
10943
10944 2005-05-06  Wim Taymans  <wim@fluendo.com>
10945
10946         * docs/design/part-element-sink.txt:
10947         * docs/design/part-element-source.txt:
10948         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10949         (gst_basesink_event), (gst_basesink_activate):
10950         * gst/base/gstbasesink.h:
10951         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10952         (gst_basesrc_activate):
10953         * gst/base/gstbasesrc.h:
10954         * gst/gstelement.c: (gst_element_pads_activate):
10955         Some more documentation.
10956         Fixed scheduling decision in _pads_activate().
10957
10958 2005-05-05  Andy Wingo  <wingo@pobox.com>
10959
10960         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10961         the test suite.
10962
10963 2005-05-05  Wim Taymans  <wim@fluendo.com>
10964
10965         * gst/base/Makefile.am:
10966         * gst/base/gstbasesink.h:
10967         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10968         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10969         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10970         (gst_collectpads_class_init), (gst_collectpads_init),
10971         (gst_collectpads_finalize), (gst_collectpads_new),
10972         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10973         (find_pad), (gst_collectpads_remove_pad),
10974         (gst_collectpads_is_active), (gst_collectpads_collect),
10975         (gst_collectpads_collect_range), (gst_collectpads_start),
10976         (gst_collectpads_stop), (gst_collectpads_peek),
10977         (gst_collectpads_pop), (gst_collectpads_available),
10978         (gst_collectpads_read), (gst_collectpads_flush),
10979         (gst_collectpads_chain):
10980         * gst/base/gstcollectpads.h:
10981         * gst/elements/Makefile.am:
10982         * gst/elements/gstelements.c:
10983         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10984         (gst_fakesink_get_times), (gst_fakesink_event),
10985         (gst_fakesink_preroll), (gst_fakesink_render):
10986         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10987         (gst_filesink_init), (gst_filesink_set_location),
10988         (gst_filesink_open_file), (gst_filesink_close_file),
10989         (gst_filesink_pad_query), (gst_filesink_event),
10990         (gst_filesink_render), (gst_filesink_change_state):
10991         * gst/elements/gstfilesink.h:
10992         Added object to help in making collect pad based elements.
10993         Ported filesink.
10994         Make event function in sink baseclass return gboolean.
10995
10996 2005-05-05  Wim Taymans  <wim@fluendo.com>
10997
10998         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10999         (gst_bin_get_by_name):
11000         * gst/gstbuffer.h:
11001         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11002         (gst_clock_finalize):
11003         * gst/gstdata.c: (gst_data_replace):
11004         * gst/gstdata.h:
11005         * gst/gstelement.c: (gst_element_request_pad),
11006         (gst_element_pads_activate):
11007         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11008         (gst_object_unref):
11009         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11010         (gst_pad_set_checkgetrange_function),
11011         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11012         (gst_pad_check_pull_range), (gst_pad_pull_range),
11013         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11014         (gst_pad_pause_task), (gst_pad_stop_task):
11015         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11016         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11017         Fix name lookup in GstBin.
11018         Added _data_replace() function and _buffer_replace()
11019         Use finalize method to clean up clock.
11020         Fix refcounting on request pads.
11021         Fix pad schedule mode error.
11022         Some more object refcounting debug info,
11023
11024
11025 2005-05-04  Andy Wingo <wingo@pobox.com>
11026
11027         * check/Makefile.am:
11028         * docs/gst/tmpl/gstatomic.sgml:
11029         * docs/gst/tmpl/gstplugin.sgml:
11030         * gst/base/gstbasesink.c: (gst_basesink_activate):
11031         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11032         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11033         (gst_basesrc_query), (gst_basesrc_set_property),
11034         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11035         (gst_basesrc_activate):
11036         * gst/base/gstbasesrc.h:
11037         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11038         (gst_base_transform_src_activate):
11039         * gst/elements/gstelements.c:
11040         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11041         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11042         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11043         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11044         (gst_type_find_element_checkgetrange),
11045         (gst_type_find_element_activate):
11046         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11047         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11048         (gst_caps_load_thyself):
11049         * gst/gstelement.c: (gst_element_pads_activate),
11050         (gst_element_save_thyself), (gst_element_restore_thyself):
11051         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11052         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11053         * gst/gstpad.h:
11054         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11055         (gst_xml_parse_file), (gst_xml_parse_memory),
11056         (gst_xml_get_element), (gst_xml_make_element):
11057         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11058         (_file_index_id_save_xml), (gst_file_index_commit):
11059         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11060         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11061         (load_paths):
11062         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11063         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11064         * tools/gst-complete.c: (main):
11065         * tools/gst-compprep.c: (main):
11066         * tools/gst-inspect.c: (print_element_properties_info):
11067         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11068         * tools/gst-xmlinspect.c: (print_element_properties):
11069         GCC 4 fixen.
11070         
11071 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11072
11073         * gst/gstplugin.c: (gst_plugin_check_module),
11074         (gst_plugin_check_file), (gst_plugin_load_file):
11075             apply patch from #172526 to make register work on MacOSX
11076
11077 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11078
11079         * docs/gst/tmpl/gstconfig.sgml:
11080         * gst/gstconfig.h.in:
11081           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11082         * testsuite/debug/printf_extension.c: (main):
11083           Do not use GST_PTR_FORMAT on pointers to types with
11084           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11085         * testsuite/elements/property.h:
11086           use correct printf format
11087
11088 2005-05-02  Wim Taymans  <wim@fluendo.com>
11089
11090         * docs/design/draft-push-pull.txt:
11091         * docs/design/draft-query.txt:
11092         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11093         (gst_basesrc_start):
11094         Added draft for new query API.
11095         Added draft for better selecting scheduling methods.
11096         Make basesrc ignore length if the subclass does not support
11097         it.
11098
11099 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11100
11101         * gst/Makefile.am:
11102           possible fixes for automake-1.5 - _LIBADD is reserved
11103
11104 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11105
11106         * docs/faq/Makefile.am:
11107         * docs/manual/Makefile.am:
11108         * docs/manuals.mak:
11109         * docs/pwg/Makefile.am:
11110         * gst/Makefile.am:
11111           possible fixes for automake-1.5
11112
11113 2005-04-28  Wim Taymans  <wim@fluendo.com>
11114
11115         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11116         (gst_basesink_pad_getcaps), (gst_basesink_init),
11117         (gst_basesink_do_sync):
11118         * gst/gstclock.c: (gst_clock_entry_new):
11119         * gst/gstevent.c: (gst_event_discont_get_value):
11120         * gst/gstpipeline.c: (pipeline_bus_handler),
11121         (gst_pipeline_change_state):
11122         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11123         Better debugging of clocking info.
11124         Allow NULL values when getting discont values.
11125
11126 2005-04-27  Wim Taymans  <wim@fluendo.com>
11127
11128         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11129         * check/gst/gstpad.c: (gst_pad_suite):
11130         Increase timeout for checks.
11131
11132 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11133
11134         * check/Makefile.am:
11135           fix the broken rule for cleanup.  Apparently this rule is
11136           only needed on FC2, so maybe this warrants further autotool
11137           inspection.
11138
11139 2005-04-26  Wim Taymans  <wim@fluendo.com>
11140
11141         * gst/gsttrashstack.h:
11142         Ooohh. a nasty one! After having a failed pop() from the stack,
11143         it's possible that the stack is empty. In that case, don't
11144         follow the NULL pointer.
11145
11146 2005-04-25  Wim Taymans  <wim@fluendo.com>
11147
11148         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11149         (gst_pad_set_checkgetrange_function),
11150         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11151         (gst_pad_check_pull_range), (gst_pad_pull_range),
11152         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11153         (gst_pad_pause_task), (gst_pad_stop_task):
11154         * gst/gstplugin.c: (gst_plugin_load):
11155         * gst/gstplugin.h:
11156         Remove gst_library_load as it does more harm than good with
11157         the new g_module flags.
11158         Revert bogus caps template check in pad linking, pad caps
11159         are important when linking not the template, which is more
11160         general than the current caps.
11161
11162 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11163
11164         * gst/autoplug/.cvsignore:
11165         * gst/autoplug/Makefile.am:
11166         * gst/autoplug/gstsearchfuncs.c:
11167         * gst/autoplug/gstsearchfuncs.h:
11168         * gst/autoplug/gstspider.c:
11169         * gst/autoplug/gstspider.h:
11170         * gst/autoplug/gstspideridentity.c:
11171         * gst/autoplug/gstspideridentity.h:
11172         * gst/autoplug/spidertest.c:
11173           Die, spider, die.
11174
11175 2005-04-25  Wim Taymans  <wim@fluendo.com>
11176
11177         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11178         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11179         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11180         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11181         * gst/gstpad.h:
11182         Added stubs for unimplemented functions. 
11183
11184 2005-04-24  David Schleef  <ds@schleef.org>
11185
11186         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11187         please fix.
11188
11189 2005-04-24  David Schleef  <ds@schleef.org>
11190
11191         Convert everything from GstAtomicInt to g_atomic_int_*, and
11192         remove gstatomic.
11193         * gst/Makefile.am:
11194         * gst/gstatomic.c:
11195         * gst/gstatomic.h:
11196         * gst/gstatomic_impl.h:
11197         * gst/gstbuffer.c:
11198         * gst/gstcaps.c:
11199         * gst/gstcaps.h:
11200         * gst/gstclock.c:
11201         * gst/gstclock.h:
11202         * gst/gstdata.c:
11203         * gst/gstdata.h:
11204         * gst/gstdata_private.h:
11205         * gst/gstevent.c:
11206         * gst/gstinfo.c:
11207         * gst/gstinfo.h:
11208         * gst/gstmessage.c:
11209         * gst/gstobject.c:
11210         * gst/gstobject.h:
11211         * gst/gststructure.c:
11212         * gst/gststructure.h:
11213         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11214         * gst/gstutils.h:
11215
11216 2005-04-24  David Schleef  <ds@schleef.org>
11217
11218         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11219         make the regressions tests work.  Remove some code that is no
11220         longer true.
11221         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11222         Disable warning for pads without templates.
11223
11224 2005-04-24  David Schleef  <ds@schleef.org>
11225
11226         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11227         functions that handle filtered links.
11228         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11229         removed functions.
11230         * gst/gstutils.c: Fix/remove utility functions that handle
11231         filtered caps.
11232         * gst/gstutils.h:
11233         * gst/gstvalue.c: Add serialization/deserialization of caps
11234         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11235         requires fixing so that the filter caps notation creates
11236         a capsfilter element and sets the filter_caps property.  I
11237         think everyone probably wants to keep the shorthand notation.
11238         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11239         * docs/gst/tmpl/gstpad.sgml:
11240
11241         * gst/elements/gstelements.c: Register capsfilter element.
11242         * gst/Makefile.am: fix spacing
11243         * docs/random/ds/0.9-suggested-changes: random
11244
11245 2005-04-23  David Schleef  <ds@schleef.org>
11246
11247         * gst/elements/Makefile.am:
11248         * gst/elements/gstcapsfilter.c: New element that acts like an
11249         identity, but filters caps.  Will eventually replace filtered
11250         caps in pad linking.
11251         * gst/gstutils.c: (gst_element_create_all_pads): New function
11252         to create all the ALWAYS pads that are registered with an
11253         element class.  This functionality should eventually be
11254         merged in with GstElement initialization.
11255         * gst/gstutils.h:
11256         * testsuite/trigger/README: part of trigger test code that should
11257         have been checked in a long time ago.
11258
11259 2005-04-23  David Schleef  <ds@schleef.org>
11260
11261         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11262         needed with new versions of libtool (nobody will confirm this),
11263         and hard to carry around.
11264         * gst/autoplug/Makefile.am:
11265         * gst/base/Makefile.am:
11266         * gst/elements/Makefile.am:
11267         * gst/indexers/Makefile.am:
11268         * gst/schedulers/Makefile.am:
11269         * libs/gst/bytestream/Makefile.am:
11270         * libs/gst/control/Makefile.am:
11271         * libs/gst/dataprotocol/Makefile.am:
11272         * libs/gst/getbits/Makefile.am:
11273
11274 2005-04-21  Wim Taymans  <wim@fluendo.com>
11275
11276         * docs/design/draft-push-pull.txt:
11277         * docs/design/part-MT-refcounting.txt:
11278         * docs/design/part-TODO.txt:
11279         * docs/design/part-caps.txt:
11280         * docs/design/part-events.txt:
11281         * docs/design/part-gstbus.txt:
11282         * docs/design/part-gstpipeline.txt:
11283         * docs/design/part-messages.txt:
11284         * docs/design/part-push-pull.txt:
11285         * docs/design/part-query.txt:
11286         Some more docs.
11287
11288 2005-04-21  Wim Taymans  <wim@fluendo.com>
11289
11290         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11291         (gst_message_new), (gst_message_new_error),
11292         (gst_message_new_warning), (gst_message_new_tag),
11293         (gst_message_new_state_changed), (gst_message_new_application),
11294         (gst_message_get_structure):
11295         * gst/gstmessage.h:
11296         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11297         (gst_structure_copy_conditional):
11298         Use parent refcount in GstMessage to ensure GstStructure
11299         consistency.
11300         Cleaned up headers a bit.
11301         
11302
11303 2005-04-20  Wim Taymans  <wim@fluendo.com>
11304
11305         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11306         (gst_basesink_pad_getcaps), (gst_basesink_init),
11307         (gst_basesink_chain_unlocked):
11308         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11309         (gst_type_find_helper):
11310         * gst/elements/gsttypefindelement.c:
11311         (gst_type_find_element_have_type), (gst_type_find_element_init),
11312         (stop_typefinding), (gst_type_find_element_handle_event),
11313         (find_suggest), (gst_type_find_element_chain),
11314         (gst_type_find_element_checkgetrange),
11315         (gst_type_find_element_getrange), (do_typefind),
11316         (gst_type_find_element_activate):
11317         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11318         (gst_buffer_default_free), (gst_buffer_default_copy),
11319         (gst_buffer_set_caps):
11320         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11321         (gst_caps_replace):
11322         * gst/gstmessage.c: (gst_message_new),
11323         (gst_message_new_state_changed):
11324         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11325         (gst_pad_set_checkgetrange_function),
11326         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11327         (gst_pad_set_caps), (gst_pad_check_pull_range),
11328         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11329         * gst/gstpad.h:
11330         * gst/gsttypefind.c: (gst_type_find_register):
11331         Make gst_caps_replace() work like other _replace() functions.
11332         Use _caps_replace() where possible.
11333         Make sure _message_new() initialises its field.
11334         Add gst_static_pad_template_get_caps()
11335
11336
11337 2005-04-18  Andy Wingo  <wingo@pobox.com>
11338
11339         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11340         on the peer, not the pad. I think that was a typo. Pass an extra
11341         arg to see if random access is possible. Activate the pads as
11342         PULL_RANGE if possible.
11343
11344         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11345
11346         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11347         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11348         to PROP_....
11349
11350 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11351
11352         * docs/faq/using.xml:
11353           Add note on gstreamer-properties (#154996).
11354
11355 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11356
11357         * docs/random/bbb/optional-properties:
11358           Some analysis on optional properties.
11359
11360 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11361
11362         * docs/gst/tmpl/gstelementfactory.sgml:
11363         * gst/gstelement.h:
11364         * gst/gstelementfactory.c: (gst_element_factory_init),
11365         (gst_element_factory_cleanup), (gst_element_register),
11366         (__gst_element_factory_add_static_pad_template),
11367         (gst_element_factory_get_static_pad_templates),
11368         (gst_element_factory_can_src_caps),
11369         (gst_element_factory_can_sink_caps):
11370         * gst/registries/Makefile.am:
11371         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11372         (gst_xml_registry_class_init), (gst_xml_registry_init),
11373         (gst_xml_registry_new), (gst_xml_registry_set_property),
11374         (gst_xml_registry_get_property), (get_time), (make_dir),
11375         (gst_xml_registry_get_perms_func),
11376         (plugin_times_older_than_recurse), (plugin_times_older_than),
11377         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11378         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11379         (add_to_char_array), (read_string), (read_uint), (read_enum),
11380         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11381         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11382         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11383         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11384         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11385         (gst_xml_registry_rebuild):
11386         * gst/registries/gstlibxmlregistry.h:
11387         * tools/gst-compprep.c: (main):
11388         * tools/gst-inspect.c: (print_pad_templates_info):
11389         * tools/gst-xmlinspect.c: (print_element_info):
11390           Use libxml2 for registry parsing, use staticpadtemplates in
11391           elementfactories. Makes gst_init() +/- 10x faster.
11392
11393 2005-04-12  Wim Taymans  <wim@fluendo.com>
11394
11395         * gst/base/Makefile.am:
11396         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11397         (gst_basesink_pad_getcaps), (gst_basesink_init),
11398         (gst_basesink_event), (gst_basesink_change_state):
11399         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11400         (gst_basesrc_init), (gst_basesrc_query),
11401         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11402         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11403         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11404         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11405         (gst_basesrc_stop), (gst_basesrc_activate),
11406         (gst_basesrc_change_state):
11407         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11408         (helper_find_suggest), (gst_type_find_helper):
11409         * gst/base/gsttypefindhelper.h:
11410         * gst/elements/Makefile.am:
11411         * gst/elements/gstelements.c:
11412         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11413         (gst_fakesink_get_times), (gst_fakesink_event),
11414         (gst_fakesink_preroll), (gst_fakesink_render):
11415         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11416         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11417         (gst_fakesrc_get_property), (gst_fakesrc_create),
11418         (gst_fakesrc_start), (gst_fakesrc_stop):
11419         * gst/elements/gstfakesrc.h:
11420         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11421         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11422         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11423         (gst_filesrc_create_read), (gst_filesrc_create),
11424         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11425         (gst_filesrc_start):
11426         * gst/elements/gsttypefindelement.c:
11427         (gst_type_find_element_have_type), (gst_type_find_element_init),
11428         (start_typefinding), (stop_typefinding), (push_buffer_store),
11429         (gst_type_find_element_handle_event),
11430         (gst_type_find_element_chain),
11431         (gst_type_find_element_checkgetrange),
11432         (gst_type_find_element_getrange), (do_typefind),
11433         (gst_type_find_element_activate),
11434         (gst_type_find_element_change_state):
11435         * gst/elements/gsttypefindelement.h:
11436         * gst/gstpipeline.c: (pipeline_bus_handler):
11437         Added typefind helper.
11438         Small preroll fix in the base sink.
11439         Disable typefind code in basesrc.
11440         Crude port of typefindelement.
11441         Fakesrc cleanups.
11442
11443
11444 2005-04-11  Wim Taymans  <wim@fluendo.com>
11445
11446         * check/gst/gstbus.c: (gstbus_suite):
11447         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11448         * check/gstcheck.h:
11449           Fix up the timeout so that the test does not fail.
11450
11451 2005-04-06  Wim Taymans  <wim@fluendo.com>
11452
11453         * gst/base/README:
11454         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11455         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11456         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11457         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11458         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11459         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11460         (gst_basesrc_stop), (gst_basesrc_activate),
11461         (gst_basesrc_change_state), (basesrc_find_peek),
11462         (basesrc_find_suggest), (gst_basesrc_type_find):
11463         * gst/base/gstbasesrc.h:
11464         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11465         (gst_filesrc_class_init), (gst_filesrc_init),
11466         (gst_filesrc_finalize), (gst_filesrc_set_location),
11467         (gst_filesrc_set_property), (gst_filesrc_get_property),
11468         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11469         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11470         (gst_filesrc_create_read), (gst_filesrc_create),
11471         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11472         * gst/elements/gstfilesrc.h:
11473         * gst/gstelement.c: (gst_element_get_state_func),
11474         (gst_element_lost_state), (gst_element_pads_activate):
11475         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11476         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11477         (gst_pad_pull_range):
11478         * gst/gstpad.h:
11479         More work on the generic source base class, implement seeking,
11480         query.
11481         Make filesrc extend the base source class.
11482         Added gst_pad_set_checkgetrange_function to GstPad.
11483
11484 2005-04-06  Andy Wingo  <wingo@pobox.com>
11485
11486         * pkgconfig/gstreamer-base.pc.in:
11487         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11488
11489         * pkgconfig/Makefile.am:
11490         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11491
11492 2005-04-04  Wim Taymans  <wim@fluendo.com>
11493
11494         * gst/base/Makefile.am:
11495         * gst/base/README:
11496         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11497         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11498         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11499         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11500         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11501         (gst_basesrc_base_init), (gst_basesrc_class_init),
11502         (gst_basesrc_init), (gst_basesrc_get_formats),
11503         (gst_basesrc_get_query_types), (gst_basesrc_query),
11504         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11505         (gst_basesrc_set_property), (gst_basesrc_get_property),
11506         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11507         (gst_basesrc_loop), (gst_basesrc_activate),
11508         (gst_basesrc_change_state):
11509         * gst/base/gstbasesrc.h:
11510         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11511         (gst_fakesrc_class_init), (gst_fakesrc_init),
11512         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11513         (gst_fakesrc_get_property), (gst_fakesrc_create):
11514         * gst/elements/gstfakesrc.h:
11515         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11516         (gst_filesrc_open_file), (gst_filesrc_loop),
11517         (gst_filesrc_activate), (filesrc_find_peek),
11518         (gst_filesrc_type_find):
11519         Made base source class, make fakesrc extend it.
11520         Add comments to basesink class.
11521         Some filesrc cleanup.
11522
11523 2005-03-31  David Schleef  <ds@schleef.org>
11524
11525         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11526         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11527         expected to link against libgstreamer.
11528         * gst/base/Makefile.am: link against libgstreamer
11529         * gst/elements/Makefile.am: same
11530
11531 2005-03-31  Andy Wingo  <wingo@pobox.com>
11532
11533         * tests/instantiate/Makefile.am:
11534         * tests/instantiate/caps.c: Add test to test speed of caps copy
11535         and free.
11536
11537         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11538         GMemChunk to be fair.
11539
11540         * gst/gsttrashstack.h: Remove warning about using the fallback
11541         trash stack implementation, it's still faster than malloc.
11542
11543 2005-03-30  Andy Wingo  <wingo@pobox.com>
11544
11545         * tests/complexity.c: Add a copyright.
11546
11547 2005-03-31  Wim Taymans  <wim@fluendo.com>
11548
11549         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11550         (gst_base_transform_class_init), (gst_base_transform_init),
11551         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11552         (gst_base_transform_get_property),
11553         (gst_base_transform_sink_activate),
11554         (gst_base_transform_src_activate),
11555         (gst_base_transform_change_state):
11556         * gst/base/gstbasetransform.h:
11557         * gst/elements/gstidentity.c: (gst_identity_class_init),
11558         (gst_identity_event), (gst_identity_check_perfect),
11559         (gst_identity_transform), (gst_identity_start),
11560         (gst_identity_stop):
11561         Added start/stop methods to transform base class so subclasses 
11562         don't need to deal with state changes even.
11563
11564 2005-03-31  Wim Taymans  <wim@fluendo.com>
11565
11566         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11567         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11568         * gst/gstevent.h:
11569         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11570         (gst_pad_pull_range):
11571         Added rate to the discont event to prepare for variable speed
11572         and reverse playback.
11573
11574 2005-03-29  David Schleef  <ds@schleef.org>
11575
11576         * configure.ac:
11577         * testsuite/trigger/Makefile.am:
11578         * testsuite/trigger/trigger.c: A little example program to show
11579         how trigger-based elements can work.
11580
11581 2005-03-29  Wim Taymans  <wim@fluendo.com>
11582
11583         * gst/base/Makefile.am:
11584         * gst/base/README:
11585         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11586         (gst_basesink_base_init), (gst_basesink_class_init),
11587         (gst_basesink_pad_getcaps), (gst_basesink_init),
11588         (gst_basesink_activate), (gst_basesink_change_state):
11589         * gst/base/gstbasesink.h:
11590         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11591         (gst_base_transform_base_init), (gst_base_transform_finalize),
11592         (gst_base_transform_class_init), (gst_base_transform_init),
11593         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11594         (gst_base_transform_event), (gst_base_transform_getrange),
11595         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11596         (gst_base_transform_set_property),
11597         (gst_base_transform_get_property),
11598         (gst_base_transform_sink_activate),
11599         (gst_base_transform_src_activate),
11600         (gst_base_transform_change_state):
11601         * gst/base/gstbasetransform.h:
11602         * gst/elements/gstidentity.c: (gst_identity_finalize),
11603         (gst_identity_class_init), (gst_identity_init),
11604         (gst_identity_event), (gst_identity_check_perfect),
11605         (gst_identity_transform), (gst_identity_set_property),
11606         (gst_identity_get_property), (gst_identity_change_state):
11607         * gst/elements/gstidentity.h:
11608         * gst/gstelement.c: (gst_element_get_state_func),
11609         (gst_element_lost_state), (gst_element_pads_activate):
11610         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11611         (gst_pad_check_pull_range), (gst_pad_pull_range):
11612         * gst/gstpad.h:
11613         Simplify pad activation.
11614         Added function to check if pull_range can be performed.
11615         Error out when pulling inactive or flushing pads.
11616         Removed const from refcounted types as it does not make sense.
11617         Simplify pad templates in basesink
11618         Added base class for simple 1-to-1 transforms.
11619         Make identity subclass the base transform.
11620
11621 2005-03-29  Andy Wingo  <wingo@pobox.com>
11622
11623         * docs/libs/gstreamer-libs-overrides.txt: 
11624         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11625         really don't understand what's going on, but like whatever. I want
11626         green buildbot!
11627
11628         * docs/gst/Makefile.am:
11629         * docs/libs/Makefile.am: Dist the overrides files.
11630
11631         * check/Makefile.am (clean-local): Remove .libs directories.
11632
11633         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11634         elements to EXTRA_DIST, so po/ files are happy.
11635
11636         * po/POTFILES.in: Er, remove it here.
11637
11638         * po/POTFILES: Remove gstspider.c.
11639
11640         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11641
11642         * docs/libs/gstreamer-libs-docs.sgml: 
11643         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11644         bytestream.
11645
11646         * tests/complexity.c (main): Set the length of the preroll queue
11647         on the sinks to prevent a lockup.
11648
11649         * libs/gst/dataprotocol/Makefile.am: 
11650         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11651         the same as the one in check/gst-libs/gdp.c.
11652
11653         * po/, docs/gst/: Commit automatic changes to docs and po files.
11654
11655         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11656         the versioned libgstbase.
11657
11658         * check/Makefile.am: Depend on an unversioned gst-register, seems
11659         to make autoconf happier.
11660
11661         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11662
11663 2005-03-28  Wim Taymans  <wim@fluendo.com>
11664
11665         * configure.ac:
11666         * docs/design/part-gstelement.txt:
11667         * docs/design/part-negotiation.txt:
11668         * docs/design/part-preroll.txt:
11669         * docs/design/part-scheduling.txt:
11670         * docs/design/part-states.txt:
11671         * gst/Makefile.am:
11672         * gst/base/Makefile.am:
11673         * gst/base/README:
11674         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11675         (gst_basesink_base_init), (gst_basesink_class_init),
11676         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11677         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11678         (gst_basesink_set_pad_functions),
11679         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11680         (gst_basesink_set_property), (gst_basesink_get_property),
11681         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11682         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11683         (gst_basesink_preroll_queue_push),
11684         (gst_basesink_preroll_queue_empty),
11685         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11686         (gst_basesink_event), (gst_basesink_get_times),
11687         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11688         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11689         (gst_basesink_loop), (gst_basesink_activate),
11690         (gst_basesink_change_state):
11691         * gst/base/gstbasesink.h:
11692         * gst/elements/Makefile.am:
11693         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11694         (gst_fakesink_class_init), (gst_fakesink_init),
11695         (gst_fakesink_set_property), (gst_fakesink_get_property),
11696         (gst_fakesink_get_times), (gst_fakesink_event),
11697         (gst_fakesink_preroll), (gst_fakesink_render),
11698         (gst_fakesink_change_state):
11699         * gst/elements/gstfakesink.h:
11700         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11701         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11702         * gst/gstelement.c: (gst_element_add_pad),
11703         (gst_element_get_state_func), (gst_element_abort_state),
11704         (gst_element_commit_state), (gst_element_lost_state),
11705         (gst_element_set_state), (gst_element_pads_activate):
11706         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11707         * gst/gstpipeline.c: (gst_pipeline_send_event),
11708         (gst_pipeline_change_state):
11709         Added state change code.
11710         Added/updated docs.
11711         Added sink base class, make fakesink extend the base class.
11712         Small cleanups in GstPipeline.
11713
11714 2005-03-26  David Schleef  <ds@schleef.org>
11715
11716         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11717         is broken and should be implemented in a different library.
11718         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11719         * gst/gst.h: remove gstcpu.h
11720         * gst/gstcpu.c: remove
11721         * gst/gstcpu.h: remove
11722         * gst/Makefile.am.future: Remove this file.  It's ancient.
11723
11724 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11725
11726         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11727         (gst_bin_send_event):
11728           Add default event/set_manager handlers. The set_manager handler
11729           takes care that the manager is distributed over kids that were
11730           already in the bin before the manager was set. The event handler
11731           is a utility virtual function that sends the event over all sinks,
11732           so that gst_element_send_event (bin, event); has the expected
11733           behaviour.
11734         * gst/gstpad.c: (gst_pad_event_default):
11735           Re-install default event handling for discontinuities, so that
11736           seeking works without requiring hacks in applications or extra
11737           code in sinks.
11738         * gst/gstpipeline.c: (gst_pipeline_class_init),
11739         (gst_pipeline_send_event):
11740           Half hack, half utility: set a pipeline to PAUSED for seek events,
11741           since that is the only way we can guarantee a/v sync. Means that
11742           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11743           and it "just works".
11744
11745 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11746
11747         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11748           Lock/unlock mismatch.
11749
11750 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11751
11752         * docs/faq/gst-uninstalled:
11753           add gst-plugins-base
11754         * docs/gst/Makefile.am:
11755           don't error out until docs are fixed
11756         * docs/gst/gstreamer.types:
11757           remove thread
11758
11759 2005-03-22  Wim Taymans  <wim@fluendo.com>
11760
11761         * check/Makefile.am:
11762         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11763         * gst/gststructure.c: (gst_structure_set_valist),
11764         (gst_structure_copy_conditional):
11765         Activated more tests.
11766         Added message test.
11767         Added G_TYPE_POINTER to GstStructure.
11768         
11769
11770 2005-03-22  Wim Taymans  <wim@fluendo.com>
11771
11772         * docs/design/part-TODO.txt:
11773         * docs/design/part-events.txt:
11774         * docs/design/part-gstbin.txt:
11775         * docs/design/part-gstbus.txt:
11776         * docs/design/part-gstpipeline.txt:
11777         * docs/design/part-messages.txt:
11778         * gst/gstbus.c:
11779         * gst/gstmessage.c:
11780         Docs updates
11781
11782 2005-03-21  Wim Taymans  <wim@fluendo.com>
11783
11784         * gst/gstbus.c: (gst_bus_post):
11785         Fix copy-and-paste error.
11786
11787 2005-03-21  Wim Taymans  <wim@fluendo.com>
11788
11789         * check/Makefile.am:
11790         * gst/Makefile.am:
11791         * gst/elements/Makefile.am:
11792         * gst/elements/gstelements.c:
11793         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11794         (gst_fakesink_event), (gst_fakesink_chain):
11795         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11796         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11797         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11798         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11799         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11800         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11801         (gst_fakesrc_loop), (gst_fakesrc_activate),
11802         (gst_fakesrc_change_state):
11803         * gst/elements/gstfakesrc.h:
11804         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11805         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11806         (gst_filesrc_open_file), (gst_filesrc_loop),
11807         (gst_filesrc_activate), (gst_filesrc_change_state),
11808         (filesrc_find_peek), (filesrc_find_suggest),
11809         (gst_filesrc_type_find):
11810         * gst/elements/gstidentity.c: (gst_identity_finalize),
11811         (gst_identity_class_init), (gst_identity_init),
11812         (gst_identity_proxy_getcaps), (identity_queue_push),
11813         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11814         (gst_identity_getrange), (gst_identity_chain),
11815         (gst_identity_sink_loop), (gst_identity_src_loop),
11816         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11817         (gst_identity_set_property), (gst_identity_get_property),
11818         (gst_identity_change_state):
11819         * gst/elements/gstidentity.h:
11820         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11821         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11822         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11823         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11824         (gst_tee_sink_activate):
11825         * gst/elements/gsttee.h:
11826         * gst/gst.c: (gst_register_core_elements), (init_post):
11827         * gst/gst.h:
11828         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11829         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11830         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11831         (gst_bin_change_state):
11832         * gst/gstbin.h:
11833         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11834         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11835         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11836         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11837         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11838         (bus_watch_callback), (bus_watch_destroy),
11839         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11840         (poll_timeout), (gst_bus_poll):
11841         * gst/gstbus.h:
11842         * gst/gstcaps.h:
11843         * gst/gstdata.h:
11844         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11845         (gst_element_post_message), (gst_element_message_full),
11846         (gst_element_get_state_func), (gst_element_get_state),
11847         (gst_element_abort_state), (gst_element_commit_state),
11848         (gst_element_lost_state), (gst_element_set_state),
11849         (gst_element_pads_activate), (gst_element_change_state),
11850         (gst_element_dispose), (gst_element_set_manager_func),
11851         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11852         (gst_element_set_manager), (gst_element_get_manager),
11853         (gst_element_set_bus), (gst_element_get_bus),
11854         (gst_element_set_scheduler), (gst_element_get_scheduler):
11855         * gst/gstelement.h:
11856         * gst/gstevent.c: (gst_event_new_segment_seek),
11857         (gst_event_new_flush):
11858         * gst/gstevent.h:
11859         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11860         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11861         (gst_message_new_eos), (gst_message_new_error),
11862         (gst_message_new_warning), (gst_message_new_tag),
11863         (gst_message_new_state_changed), (gst_message_new_application),
11864         (gst_message_get_structure), (gst_message_parse_tag),
11865         (gst_message_parse_state_changed), (gst_message_parse_error),
11866         (gst_message_parse_warning):
11867         * gst/gstmessage.h:
11868         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11869         (gst_real_pad_set_property), (gst_pad_set_active),
11870         (gst_pad_is_active), (gst_pad_set_blocked_async),
11871         (gst_pad_set_blocked), (gst_pad_is_blocked),
11872         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11873         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11874         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11875         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11876         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11877         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11878         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11879         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11880         (gst_pad_set_caps), (gst_pad_configure_sink),
11881         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11882         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11883         (gst_real_pad_dispose), (gst_real_pad_finalize),
11884         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11885         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11886         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11887         * gst/gstpad.h:
11888         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11889         (pipeline_bus_handler), (gst_pipeline_change_state),
11890         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11891         * gst/gstpipeline.h:
11892         * gst/gstprobe.h:
11893         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11894         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11895         (gst_queue_link_src), (gst_queue_bufferalloc),
11896         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11897         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11898         (gst_queue_loop), (gst_queue_handle_src_event),
11899         (gst_queue_handle_src_query), (gst_queue_src_activate),
11900         (gst_queue_change_state):
11901         * gst/gstqueue.h:
11902         * gst/gstscheduler.c: (gst_scheduler_init),
11903         (gst_scheduler_dispose), (gst_scheduler_create_task),
11904         (gst_scheduler_factory_create):
11905         * gst/gstscheduler.h:
11906         * gst/gststructure.c: (gst_structure_get_type),
11907         (gst_structure_copy_conditional):
11908         * gst/gststructure.h:
11909         * gst/gsttaginterface.h:
11910         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11911         (gst_task_init), (gst_task_dispose), (gst_task_create),
11912         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11913         (gst_task_pause):
11914         * gst/gsttask.h:
11915         * gst/gstthread.c:
11916         * gst/gstthread.h:
11917         * gst/gsttypes.h:
11918         * gst/schedulers/Makefile.am:
11919         * gst/schedulers/cothreads_compat.h:
11920         * gst/schedulers/entryscheduler.c:
11921         * gst/schedulers/faircothreads.c:
11922         * gst/schedulers/faircothreads.h:
11923         * gst/schedulers/fairscheduler.c:
11924         * gst/schedulers/gstbasicscheduler.c:
11925         * gst/schedulers/gstoptimalscheduler.c:
11926         * gst/schedulers/gthread-cothreads.h:
11927         * gst/schedulers/threadscheduler.c:
11928         (gst_thread_scheduler_task_get_type),
11929         (gst_thread_scheduler_task_class_init),
11930         (gst_thread_scheduler_task_init),
11931         (gst_thread_scheduler_task_start),
11932         (gst_thread_scheduler_task_stop),
11933         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11934         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11935         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11936         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11937         (plugin_init):
11938         * libs/gst/Makefile.am:
11939         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11940         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11941         (gst_file_pad_parent_set):
11942         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11943         (gst_dp_event_from_packet):
11944         * tests/complexity.c: (main):
11945         * tests/mass_elements.c: (main):
11946         * testsuite/states/locked.c: (message_received), (main):
11947         * testsuite/states/parent.c: (main):
11948         * tools/gst-inspect.c: (print_element_flag_info),
11949         (print_implementation_info), (print_pad_info):
11950         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11951         (main):
11952         * tools/gst-md5sum.c: (event_loop), (main):
11953         * tools/gst-typefind.c: (main):
11954         * tools/gst-xmlinspect.c: (print_element_info):
11955         Next big merge.
11956         Added GstBus for mainloop integration.
11957         Added GstMessage for sending notifications on the bus.
11958         Added GstTask as an abstraction for pipeline entry points.
11959         Removed GstThread.
11960         Removed Schedulers.
11961         Simplified GstQueue for multithreaded core.
11962         Made _link threadsafe, removed old capsnego.
11963         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11964         Added pad blocking functions.
11965         Reworked scheduling functions in GstPad to prepare for
11966         scheduling updates soon.
11967         Moved events out of data stream.
11968         Simplified GstEvent types.
11969         Added return values to push/pull.
11970         Removed clocking from GstElement.
11971         Added prototypes for state change function for next merge.
11972         Removed iterate from bins and state change management.
11973         Fixed some elements, disabled others for now.
11974         Fixed -inspect and -launch.
11975         Added check for GstBus.
11976
11977 2005-03-10  Wim Taymans  <wim@fluendo.com>
11978
11979         * docs/design/part-MT-refcounting.txt:
11980         * docs/design/part-clocks.txt:
11981         * docs/design/part-gstelement.txt:
11982         * docs/design/part-gstobject.txt:
11983         * docs/design/part-standards.txt:
11984         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11985         (gst_bin_remove_func), (gst_bin_remove):
11986         * gst/gstbin.h:
11987         * gst/gstbuffer.c:
11988         * gst/gstcaps.h:
11989         * testsuite/clock/clock1.c: (main):
11990         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11991         (main):
11992         * testsuite/dlopen/loadgst.c: (do_test):
11993         * testsuite/refcounting/bin.c: (add_remove_test1),
11994         (add_remove_test2), (main):
11995         * testsuite/refcounting/element.c: (main):
11996         * testsuite/refcounting/element_pad.c: (main):
11997         * testsuite/refcounting/pad.c: (main):
11998         * tools/gst-launch.c: (sigint_handler_sighandler):
11999         * tools/gst-typefind.c: (main):
12000         Doc updates.
12001         Added doc about clock.
12002         removed gst_bin_iterate_recurse_up(), marked methods
12003         for removal.
12004         Fix more testsuites.
12005
12006 2005-03-09  Wim Taymans  <wim@fluendo.com>
12007
12008         * gst/gstpad.c: (gst_pad_get_direction),
12009         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12010         (gst_pad_collect_valist):
12011         * testsuite/bins/interface.c: (main):
12012         * testsuite/caps/audioscale.c: (test_caps):
12013         * testsuite/caps/caps.c: (test1), (test2), (test3):
12014         * testsuite/caps/deserialize.c: (main):
12015         * testsuite/caps/enumcaps.c: (main):
12016         * testsuite/caps/filtercaps.c: (main):
12017         * testsuite/caps/intersect2.c: (main):
12018         * testsuite/caps/random.c: (main):
12019         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12020         * testsuite/caps/sets.c: (check_caps):
12021         * testsuite/caps/simplify.c: (check_caps), (main):
12022         * testsuite/caps/subtract.c: (check_caps):
12023         Fix _pad_get_direction wrt ghostpads.
12024         Fix caps testsuite.
12025
12026 2005-03-09  Wim Taymans  <wim@fluendo.com>
12027
12028         * check/Makefile.am:
12029         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12030         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12031         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12032         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12033         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12034         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12035         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12036         (bin_element_is_sink), (gst_bin_iterate_sinks),
12037         (gst_bin_iterate_all_by_interface):
12038         * gst/gstbin.h:
12039         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12040         (gst_element_change_state), (gst_element_dispose),
12041         (gst_element_finalize), (gst_element_set_loop_function):
12042         * gst/gstelement.h:
12043         * gst/gstiterator.c: (find_custom_fold_func):
12044         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12045         (gst_pad_collectv), (gst_pad_collect_valist),
12046         (gst_pad_template_new):
12047         * gst/gstpipeline.c: (gst_pipeline_class_init),
12048         (gst_pipeline_dispose), (gst_pipeline_set_property),
12049         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12050         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12051         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12052         * gst/gstutils.h:
12053         * gst/schedulers/entryscheduler.c:
12054         * gst/schedulers/gstbasicscheduler.c:
12055         (gst_basic_scheduler_cothreaded_chain),
12056         (gst_basic_scheduler_chain_add_element):
12057         * testsuite/bins/interface.c: (main):
12058         Added GstBin test.
12059         Added GstSystemClock test.
12060         Implemented clock distribution code in GstBin.
12061         Implemented iterate sinks method for future use.
12062         Rearranged gstelement.h
12063         Fix GstIterator comparison bug.
12064         Moved some code to GstPipeline, mostly clocking related.
12065
12066 2005-03-09  Wim Taymans  <wim@fluendo.com>
12067
12068         * configure.ac:
12069         * gst/gst_private.h:
12070         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12071         (gst_bin_remove_func), (gst_bin_remove),
12072         (gst_bin_get_by_name_recurse_up):
12073         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12074         (gst_clock_id_compare_func), (gst_clock_id_wait),
12075         (gst_clock_id_wait_async), (gst_clock_init),
12076         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12077         * gst/gstelement.h:
12078         * gst/gstinfo.c: (_gst_debug_init):
12079         * gst/gstobject.h:
12080         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12081         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12082         * gst/gstpad.h:
12083         Bump version number, we're now 0.9.0
12084         Add future debugging category.
12085         Fix NULL _unref() in _get_by_name_recurse_up
12086         Rearrange gstpad.h.
12087         Update some docs.
12088
12089 2005-03-08  Wim Taymans  <wim@fluendo.com>
12090
12091         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12092         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12093         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12094         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12095         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12096         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12097         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12098         * gst/elements/gstidentity.c: (gst_identity_class_init):
12099         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12100         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12101         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12102         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12103         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12104         (gst_tee_link):
12105         * gst/gstelement.c: (gst_element_class_init),
12106         (gst_element_base_class_init), (gst_element_init),
12107         (gst_element_get_random_pad), (gst_element_wait_state_change),
12108         (gst_element_change_state), (gst_element_dispose),
12109         (gst_element_finalize), (gst_element_set_loop_function):
12110         * gst/gstelement.h:
12111         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12112         * gst/gstthread.c: (gst_thread_class_init),
12113         (gst_thread_release_children_locks), (gst_thread_change_state):
12114         * gst/schedulers/gstbasicscheduler.c:
12115         (gst_basic_scheduler_loopfunc_wrapper),
12116         (gst_basic_scheduler_chain_wrapper),
12117         (gst_basic_scheduler_src_wrapper),
12118         (gst_basic_scheduler_remove_element):
12119         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12120         Remove threadsafe properties. Fix elements because GObject
12121         complains when installing a property before declaring a
12122         set/get_property handler.
12123         Rearrange gstelement.h file, use STATE macros for state locks.
12124         Free mutexes in the finalize method instead of dispose.
12125
12126 2005-03-08  Wim Taymans  <wim@fluendo.com>
12127
12128         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12129         * gst/gstthread.c: (gst_thread_release_children_locks):
12130         Added parentage check.
12131         Fix build og GstThread again.
12132
12133 2005-03-08  Wim Taymans  <wim@fluendo.com>
12134
12135         * docs/design/part-MT-refcounting.txt:
12136         * docs/design/part-conventions.txt:
12137         * docs/design/part-gstobject.txt:
12138         * docs/design/part-relations.txt:
12139         * docs/design/part-standards.txt:
12140         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12141         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12142         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12143         (gst_bin_iterate_all_by_interface):
12144         * gst/gstbuffer.h:
12145         * gst/gstclock.h:
12146         * gst/gstelement.c: (gst_element_class_init),
12147         (gst_element_change_state), (gst_element_set_loop_function):
12148         * gst/gstelement.h:
12149         * gst/gstiterator.c:
12150         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12151         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12152         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12153         (gst_object_set_parent), (gst_object_unparent),
12154         (gst_object_check_uniqueness):
12155         * gst/gstobject.h:
12156         Docs updates, clean up some headers.
12157
12158 2005-03-07  Wim Taymans  <wim@fluendo.com>
12159
12160         * check/.cvsignore:
12161         * check/Makefile.am:
12162         * check/gst-libs/.cvsignore:
12163         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12164         * check/gst/.cvsignore:
12165         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12166         (START_TEST), (gstbus_suite), (main):
12167         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12168         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12169         (gst_data_suite), (main):
12170         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12171         (add_fold_func), (gstiterator_suite), (main):
12172         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12173         (thread_name_object), (thread_name_object_default),
12174         (gst_object_name_compare), (gst_object_suite), (main):
12175         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12176         (gst_pad_suite), (main):
12177         * check/gstcheck.c: (gst_check_log_message_func),
12178         (gst_check_log_critical_func), (gst_check_init):
12179         * check/gstcheck.h:
12180         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12181         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12182         Added checks.
12183
12184 2005-03-07  Wim Taymans  <wim@fluendo.com>
12185
12186         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12187         (gst_list_iterator_next), (gst_list_iterator_resync),
12188         (gst_list_iterator_free), (gst_iterator_new_list),
12189         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12190         (gst_iterator_free), (gst_iterator_push), (filter_next),
12191         (filter_resync), (filter_uninit), (filter_free),
12192         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12193         (gst_iterator_foreach), (find_custom_fold_func),
12194         (gst_iterator_find_custom):
12195         * gst/gstiterator.h:
12196         Added missing files.
12197
12198 2005-03-07  Wim Taymans  <wim@fluendo.com>
12199
12200         * Makefile.am:
12201         * configure.ac:
12202         * docs/design/part-MT-refcounting.txt:
12203         * docs/design/part-conventions.txt:
12204         * docs/design/part-gstobject.txt:
12205         * docs/design/part-relations.txt:
12206         * examples/mixer/mixer.c: (main):
12207         * examples/thread/thread.c: (eos), (main):
12208         * gst/Makefile.am:
12209         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12210         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12211         (gst_spider_plug_from_srcpad):
12212         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12213         (gst_spider_identity_change_state),
12214         (gst_spider_identity_sink_loop_type_finding):
12215         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12216         * gst/elements/gstidentity.c: (gst_identity_init):
12217         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12218         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12219         * gst/elements/gsttypefindelement.c: (free_entry):
12220         * gst/gst.c:
12221         * gst/gst.h:
12222         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12223         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12224         (gst_bin_set_index), (gst_bin_set_element_sched),
12225         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12226         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12227         (gst_bin_iterate_elements), (iterate_child_recurse),
12228         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12229         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12230         (compare_interface), (gst_bin_get_by_interface),
12231         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12232         * gst/gstbin.h:
12233         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12234         (gst_buffer_default_free), (gst_buffer_default_copy),
12235         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12236         (gst_buffer_create_sub):
12237         * gst/gstbuffer.h:
12238         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12239         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12240         (gst_caps_unref), (gst_static_caps_get),
12241         (gst_caps_remove_and_get_structure), (gst_caps_append),
12242         (gst_caps_append_structure), (gst_caps_remove_structure),
12243         (gst_caps_copy_nth), (gst_caps_set_simple),
12244         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12245         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12246         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12247         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12248         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12249         (gst_caps_structure_figure_out_union),
12250         (gst_caps_switch_structures), (gst_caps_do_simplify),
12251         (gst_caps_replace), (gst_caps_from_string),
12252         (gst_caps_copy_conditional):
12253         * gst/gstcaps.h:
12254         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12255         (_gst_clock_id_free), (gst_clock_id_unref),
12256         (gst_clock_id_compare_func), (gst_clock_id_wait),
12257         (gst_clock_id_wait_async), (gst_clock_class_init),
12258         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12259         (gst_clock_get_time), (gst_clock_set_time_adjust),
12260         (gst_clock_set_property), (gst_clock_get_property):
12261         * gst/gstclock.h:
12262         * gst/gstcompat.h:
12263         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12264         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12265         * gst/gstdata.h:
12266         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12267         (gst_element_requires_clock), (gst_element_provides_clock),
12268         (gst_element_set_clock), (gst_element_clock_wait),
12269         (gst_element_wait), (gst_element_set_time_delay),
12270         (gst_element_is_indexable), (gst_element_add_pad),
12271         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12272         (pad_compare_name), (gst_element_get_static_pad),
12273         (gst_element_request_pad), (gst_element_get_request_pad),
12274         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12275         (gst_element_class_get_pad_template_list),
12276         (gst_element_class_get_pad_template), (gst_element_error_func),
12277         (gst_element_get_random_pad), (gst_element_get_event_masks),
12278         (gst_element_send_event), (gst_element_seek),
12279         (gst_element_get_query_types), (gst_element_query),
12280         (gst_element_get_formats), (gst_element_convert),
12281         (gst_element_is_locked_state), (gst_element_set_locked_state),
12282         (gst_element_sync_state_with_parent), (gst_element_change_state),
12283         (gst_element_finalize), (gst_element_yield),
12284         (gst_element_interrupt), (gst_element_set_scheduler),
12285         (gst_element_get_scheduler), (gst_element_set_loop_function):
12286         * gst/gstelement.h:
12287         * gst/gstevent.h:
12288         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12289         (gst_format_get_by_nick), (gst_format_get_details),
12290         (gst_format_iterate_definitions):
12291         * gst/gstformat.h:
12292         * gst/gstindex.c: (gst_index_gtype_resolver):
12293         * gst/gstinfo.c:
12294         * gst/gstinfo.h:
12295         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12296         (gst_mem_chunk_free):
12297         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12298         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12299         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12300         (gst_object_dispatch_properties_changed),
12301         (gst_object_set_name_default), (gst_object_set_name),
12302         (gst_object_get_name), (gst_object_set_name_prefix),
12303         (gst_object_get_name_prefix), (gst_object_set_parent),
12304         (gst_object_get_parent), (gst_object_unparent),
12305         (gst_object_check_uniqueness), (gst_object_save_thyself),
12306         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12307         (gst_object_set_property), (gst_object_get_property),
12308         (gst_object_get_path_string):
12309         * gst/gstobject.h:
12310         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12311         (gst_real_pad_init), (gst_real_pad_get_property),
12312         (gst_pad_custom_new), (gst_pad_get_direction),
12313         (gst_pad_set_active), (gst_pad_is_active),
12314         (gst_pad_set_event_function), (gst_pad_is_linked),
12315         (gst_pad_link_free), (gst_pad_link_intersect),
12316         (gst_pad_link_fixate), (gst_pad_set_caps),
12317         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12318         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12319         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12320         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12321         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12322         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12323         (gst_pad_realize), (gst_pad_get_allowed_caps),
12324         (gst_real_pad_dispose), (gst_real_pad_finalize),
12325         (gst_pad_collectv), (gst_pad_collect_valist),
12326         (gst_pad_template_dispose), (gst_pad_template_new),
12327         (gst_pad_get_internal_links):
12328         * gst/gstpad.h:
12329         * gst/gstpipeline.c: (gst_pipeline_dispose),
12330         (gst_pipeline_change_state):
12331         * gst/gstpipeline.h:
12332         * gst/gstplugin.c:
12333         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12334         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12335         * gst/gstpluginfeature.h:
12336         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12337         * gst/gstquery.c: (_gst_query_type_initialize),
12338         (gst_query_type_register), (gst_query_type_get_by_nick),
12339         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12340         * gst/gstquery.h:
12341         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12342         * gst/gstscheduler.c: (gst_scheduler_add_element),
12343         (gst_scheduler_factory_create):
12344         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12345         (gst_structure_free), (gst_structure_set_name),
12346         (gst_structure_id_set_value), (gst_structure_set_value),
12347         (gst_structure_set_valist), (gst_structure_remove_field),
12348         (gst_structure_remove_fields),
12349         (gst_structure_remove_fields_valist),
12350         (gst_structure_remove_all_fields), (gst_structure_foreach),
12351         (gst_structure_map_in_place),
12352         (gst_caps_structure_fixate_field_nearest_int),
12353         (gst_caps_structure_fixate_field_nearest_double):
12354         * gst/gststructure.h:
12355         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12356         (gst_system_clock_init), (gst_system_clock_dispose),
12357         (gst_system_clock_async_thread),
12358         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12359         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12360         * gst/gstsystemclock.h:
12361         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12362         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12363         * gst/gsttaginterface.c:
12364         * gst/gstthread.c: (gst_thread_dispose),
12365         (gst_thread_release_children_locks), (gst_thread_change_state),
12366         (gst_thread_main_loop):
12367         * gst/gsttrashstack.h:
12368         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12369         * gst/gsttypes.h:
12370         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12371         (gst_element_request_pad), (gst_element_get_pad_from_template),
12372         (gst_element_request_compatible_pad),
12373         (gst_element_get_compatible_pad_filtered),
12374         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12375         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12376         (gst_element_link_many), (gst_element_link),
12377         (gst_element_link_pads), (gst_element_unlink_pads),
12378         (gst_element_unlink_many), (gst_element_unlink),
12379         (gst_pad_can_link_filtered), (gst_pad_can_link),
12380         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12381         (gst_object_default_error), (gst_bin_add_many),
12382         (gst_bin_remove_many), (gst_element_populate_std_props),
12383         (gst_element_class_install_std_props), (gst_buffer_merge),
12384         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12385         (link_fold_func), (gst_pad_proxy_setcaps):
12386         * gst/gstutils.h:
12387         * gst/gstvalue.c: (gst_value_deserialize_string):
12388         * gst/parse/grammar.y:
12389         * gst/schedulers/gstbasicscheduler.c:
12390         (gst_basic_scheduler_cothreaded_chain),
12391         (gst_basic_scheduler_chain_recursive_add),
12392         (gst_basic_scheduler_pad_link):
12393         * gst/schedulers/gstoptimalscheduler.c:
12394         (get_group_schedule_function),
12395         (gst_opt_scheduler_state_transition),
12396         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12397         * libs/gst/bytestream/bytestream.c:
12398         * libs/gst/dataprotocol/dataprotocol.c:
12399         (gst_dp_header_from_buffer):
12400         * po/nb.po:
12401         * po/ru.po:
12402         * tests/threadstate/threadstate2.c: (eos):
12403         * tools/gst-compprep.c: (main):
12404         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12405         (print_pad_info), (print_children_info):
12406         * tools/gst-launch.c: (idle_func), (main):
12407         * tools/gst-md5sum.c: (idle_func), (main):
12408         * tools/gst-xmlinspect.c: (print_element_info):
12409         First THREADED backport attempt, focusing on adding locks and
12410         making sure the API is threadsafe. Needs more work. More docs
12411         follow this week.
12412
12413 2005-02-24  Andy Wingo  <wingo@pobox.com>
12414
12415         * tests/bench-complexity.scm:
12416         * tests/complexity.gnuplot: New files, good for running complexity
12417         benchmarks.
12418
12419         * tests/Makefile.am:
12420         * tests/complexity.c: New test, sets up N elements, at each level
12421         teeing into M streams per element. Eeeenteresting.
12422
12423         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12424         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12425         running bench-mass_elements.scm.
12426
12427         * tests/bench-mass_elements.scm: New script, runs mass_elements
12428         for various numbers of identities, outputting the results to a
12429         file. Requires guile 1.6. Just for testing.
12430
12431 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12432
12433         * gst/schedulers/fairscheduler.c:
12434           compile with debug disabled
12435
12436 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12437
12438         * configure.ac:
12439           hunting season on 0.9 is now OPEN