Makefile.am: remove some files
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * Makefile.am:
4           remove some files
5         * README:
6           reinstate and update
7         * DEVEL:
8         * REQUIREMENTS:
9           removed
10         * LICENSE:
11         * docs/random/LICENSE:
12           moved to random
13
14 2005-11-30  Edward Hervey  <edward@fluendo.com>
15
16         * gst/gsttypefind.c: (gst_type_find_register):
17         * gst/gsttypefind.h:
18         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19         (gst_type_find_factory_dispose):
20         * gst/gsttypefindfactory.h:
21         Fix memory leak in GstTypeFindFactory.
22
23 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
24
25         * gst/gst.c:
26         * plugins/elements/Makefile.am:
27         * plugins/elements/gstelements.c:
28         * plugins/elements/gstqueue.c:
29           move queue from core to the elements plugin
30
31 2005-11-29  Andy Wingo  <wingo@pobox.com>
32
33         * libs/gst/base/gstbasetransform.h: 
34         * libs/gst/base/gstbasesrc.h: 
35         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
36
37         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
38         of pointers by which to pad very extensible base classes (like the
39         ones in libs/gst/base).
40
41 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
42
43         * docs/gst/gstreamer-docs.sgml:
44         * docs/gst/gstreamer-sections.txt:
45         * docs/libs/gstreamer-libs-docs.sgml:
46         * docs/libs/gstreamer-libs-sections.txt:
47           moving documentation from core to lib
48
49 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
50
51         * check/Makefile.am:
52         * configure.ac:
53         * docs/gst/Makefile.am:
54         * gst/Makefile.am:
55         * gst/base/.cvsignore:
56         * gst/base/Makefile.am:
57         * gst/base/README:
58         * gst/base/gstadapter.c:
59         * gst/base/gstadapter.h:
60         * gst/base/gstbasesink.c:
61         * gst/base/gstbasesink.h:
62         * gst/base/gstbasesrc.c:
63         * gst/base/gstbasesrc.h:
64         * gst/base/gstbasetransform.c:
65         * gst/base/gstbasetransform.h:
66         * gst/base/gstcollectpads.c:
67         * gst/base/gstcollectpads.h:
68         * gst/base/gstpushsrc.c:
69         * gst/base/gstpushsrc.h:
70         * gst/base/gsttypefindhelper.c:
71         * gst/base/gsttypefindhelper.h:
72         * gst/check/Makefile.am:
73         * gst/check/gstcheck.c:
74         * gst/check/gstcheck.h:
75         * gst/net/Makefile.am:
76         * gst/net/gstnet.h:
77         * gst/net/gstnetclientclock.c:
78         * gst/net/gstnetclientclock.h:
79         * gst/net/gstnettimepacket.c:
80         * gst/net/gstnettimepacket.h:
81         * gst/net/gstnettimeprovider.c:
82         * gst/net/gstnettimeprovider.h:
83         * libs/gst/Makefile.am:
84         * libs/gst/base/Makefile.am:
85         * libs/gst/base/gstbasetransform.c:
86         * libs/gst/check/Makefile.am:
87         * plugins/elements/Makefile.am:
88         * po/POTFILES.in:
89           CVS surgery + support to move base, check, and net out of gst
90           and into libs/gst
91
92 2005-11-29  Andy Wingo  <wingo@pobox.com>
93
94         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
95
96         * gst/gststructure.h (struct _GstStructure): Only one pointer of
97         padding.
98
99         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
100
101         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
102
103         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
104
105         * gst/gstobject.h: (struct _GstObject): Only one pointer of
106         padding; reduces object size by about 30%. We don't expect
107         anything else to go into gstobject.
108
109         * gst/gstminiobject.h (struct _GstMiniObject)
110         (struct _GstMiniObjectClass): Only one pointer of padding; the
111         payload is only a pointer and two ints anyway. For the class there
112         are only two methods as well.
113         
114         * gst/gstelement.h (struct _GstElementClass): Removed
115         the state_changed signal callback, it is not used.
116
117 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
118
119         * docs/gst/gstreamer.types:
120           fix includes, though they are a little dinky
121
122 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
123
124         * check/Makefile.am:
125           look in the right place for elements, a lot more chance of
126           success
127         * gst/Makefile.am:
128           remove indexers and elements subdirs
129         * plugins/Makefile.am:
130           make indexers conditional
131
132 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
133
134         * Makefile.am:
135         * configure.ac:
136         * plugins/elements/Makefile.am:
137         * plugins/elements/gstcapsfilter.c:
138         * plugins/elements/gstfilesink.c:
139         * plugins/elements/gstfilesrc.c:
140         * plugins/elements/gstidentity.c:
141         * plugins/indexers/Makefile.am:
142           do CVS surgery and related build fixery to move elements
143           and indexers in a new gstreamer/plugins directory, out of the
144           gst/ directory
145
146 2005-11-29  Andy Wingo  <wingo@pobox.com>
147
148         * check/Makefile.am:
149         * pkgconfig/gstreamer-net-uninstalled.pc.in:
150         * pkgconfig/gstreamer-net.pc.in:
151         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
152         #322257.
153
154 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
155
156         * tools/Makefile.am:
157         * tools/gst-complete.1.in:
158         * tools/gst-complete.c:
159         * tools/gst-compprep.1.in:
160         * tools/gst-compprep.c:
161           removing -compprep and -complete
162
163 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
164
165         * gst/gstevent.c: (gst_event_new_new_segment),
166         (gst_event_parse_new_segment):
167         * gst/gstevent.h:
168           fix #320529 - clean up new_segment API and structure.
169           Let's hope everyone was using the methods, and not the structure.
170
171 2005-11-29  Edward Hervey  <edward@fluendo.com>
172
173         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
174         (gst_base_sink_event), (gst_base_sink_do_sync),
175         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
176         Properly handle non GST_FORMAT_TIME segment
177         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
178         Properly handle non GST_FORMAT_TIME segment
179         * gst/gstsegment.c:
180         This function is valid if the accumulator is 0 and the format
181         is different from the requested format.
182         
183 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
184
185         * docs/gst/gstreamer-sections.txt:
186         Add gst_query_new_seeking and gst_query_parse_seeking to the
187         docs.
188
189 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
190
191         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
192           Treat a pad alloc with new caps the same as if we were not
193           negotiated, in order to allow a changing upstream output
194           to produce a new format of data.
195
196 2005-11-29  Edward Hervey  <edward@fluendo.com>
197
198         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
199         (gst_base_transform_event), (gst_base_transform_eventfunc):
200         The event virtual method is now properly implemented, with a default
201         handler
202         Sub classes should call the parent_class event method. They should
203         return FALSE if they had a problem handling the given event, or don't
204         want GstBaseTransform to send that even downstream
205         * gst/elements/gstidentity.c: (gst_identity_class_init),
206         (gst_identity_init), (gst_identity_event),
207         (gst_identity_transform_ip), (gst_identity_set_property),
208         (gst_identity_get_property):
209         * gst/elements/gstidentity.h:
210         Added the single-segment boolean property.
211         If set to TRUE, it will output a single segment of data, starting from
212         0, will eat up all incoming newsegment, and modify the timestamp of the
213         buffers accordingly
214
215 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
216
217         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
218           Don't ref NULL target pad (#322751). Improve docs.
219
220 2005-11-29  Michael Smith  <msmith@fluendo.com>
221
222         * gst/gstregistryxml.c: (load_plugin):
223           Don't crash if we failed to load a feature from a plugin. 
224
225 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
226
227         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
228         (GST_START_TEST):
229           use more check API and less GLib API
230
231 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
232
233         * Makefile.am:
234           don't run checks if we don't have check
235         * common/check.mak:
236           remove the registry when running make torture
237         * docs/gst/gstreamer-sections.txt:
238           remove second multiply
239         * gst/gstqueue.c: (gst_queue_loop):
240           fix a compile warning when disabling debug
241
242 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
243
244         * gst/gstinfo.h:
245         Hey! Let's print the pad name if the pointer != NULL instead
246         of when it == NULL :-)
247
248 2005-11-28  Wim Taymans  <wim@fluendo.com>
249
250         * check/gst/gstutils.c: (GST_START_TEST):
251         Updated check, add some scaling accuracy checking code.
252
253         * gst/gstutils.c: (gst_util_div128_64),
254         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
255         (gst_util_uint64_scale_int):
256         Fix 6 times faster division code. Optimize for common 
257         1/1 and less common X/1 cases.
258
259 2005-11-28  Wim Taymans  <wim@fluendo.com>
260
261         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
262         More checks.
263
264         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
265         (do_linear_regression), (gst_clock_add_observation):
266         Cleanups.
267         Release lock when the clock cannot be slaved.
268         Catch the case where the regression returned an invalid denominator.
269
270         * gst/gstutils.c: (gst_util_div128_64_iterate),
271         (gst_util_div128_64), (gst_util_uint64_scale_int64),
272         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
273         Add protentially more performant non-iterative 128/64 divide function
274         that unfortunatly does not work yet.
275         Shortcut the trivial 0/X = 0 case.
276         Remove the warnings on overflow.
277
278 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
279
280         * gst/gstplugin.c: (gst_plugin_register_func):
281           everything causing a plugin not to load should be at least a WARNING
282
283 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
284
285         * docs/random/ensonic/dparams.txt:
286           some TODOs for the next dev cycle
287         * libs/gst/controller/gstcontroller.c:
288         (gst_controlled_property_set_interpolation_mode),
289         (gst_controlled_property_new):
290         * libs/gst/controller/gstcontroller.h:
291           use base type to assign acccessor functions
292
293 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
294
295         * check/Makefile.am:
296         Oops, that should have been top_srcdir
297
298 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
299
300         * check/Makefile.am:
301         * check/elements/fdsrc.c: (GST_START_TEST):
302         Use a cmdline define to specify the location of a file to use for
303         testing, to avoid breaking distcheck.
304
305 2005-11-28  Andy Wingo  <wingo@pobox.com>
306
307         * gst/gstpad.c (fixate_value): Use array functions for arrays.
308
309 2005-11-28  Edward Hervey  <edward@fluendo.com>
310
311         * tools/gst-launch.c: (main):
312         Clarify the output strings, makes it easier to translate.
313         Fixes #322626
314
315 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
316
317         * gst/Makefile.am:
318           don't try and build net if we don't even have <sys/socket.h>
319
320 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
321
322         * check/Makefile.am:
323         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
324         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
325           Add tests for fdsrc seekability
326
327         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
328         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
329         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
330         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
331         * gst/elements/gstfdsrc.h:
332           fdsrc should not be a 'live' source.
333           Implement seeking on seekable fd's.
334
335         * gst/gstquery.c: (gst_query_new_seeking),
336         (gst_query_parse_seeking):
337         * gst/gstquery.h:
338           Implement SEEKING query functions: 
339             *_new_seeking and *_parse_seeking
340
341 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
342
343         * gst/gstelement.c: (gst_element_dispose):
344           don't loop forever
345
346         * gst/gstiterator.c:
347         * gst/gststructure.c:
348           doc fixes
349
350         * libs/gst/controller/gstcontroller.c:
351         (gst_controlled_property_set_interpolation_mode):
352         * libs/gst/controller/gstcontroller.h:
353         * libs/gst/controller/gstinterpolation.c:
354         (interpolate_none_get_enum_value_array):
355           support controlling enums
356
357 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
358
359         * gst/gstvalue.c:
360           Improve documentation for gst_value_union().
361
362         * gst/gstvalue.h:
363           Change return value for union, intersect and subtract functions
364           from gint to gboolean.
365
366 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
367
368         * gst/gstvalue.c: (gst_value_serialize_any_list),
369         (gst_value_transform_any_list_string),
370         (gst_value_deserialize_list), (gst_value_deserialize_array),
371         (gst_value_set_int_range), (gst_value_deserialize_int_range),
372         (gst_value_set_double_range), (gst_value_deserialize_double_range),
373         (gst_value_set_fraction_range_full),
374         (gst_value_deserialize_fraction_range),
375         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
376         (gst_value_deserialize_boolean),
377         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
378         (gst_value_serialize_float), (gst_value_deserialize_float),
379         (gst_string_wrap), (gst_value_deserialize_string),
380         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
381         (gst_value_union_int_range_int_range),
382         (gst_value_intersect_int_range_int_range),
383         (gst_value_intersect_double_range_double_range),
384         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
385         (gst_value_subtract_int_range_int_range),
386         (gst_value_subtract_double_double_range),
387         (gst_value_subtract_double_range_double_range),
388         (gst_value_deserialize_fraction):
389         * gst/gstvalue.h:
390           Use gint, gdouble and gchar in our API instead of int, double and
391           char (and make usage in gstvalue.c more consistent).
392
393 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
394
395         * check/Makefile.am:
396         * libs/gst/controller/Makefile.am:
397         * libs/gst/dataprotocol/Makefile.am:
398           fix up Makefile.am and remove GST_ENABLE_NEW
399
400 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
401
402         * configure.ac:
403         * gst/Makefile.am:
404         * gst/base/Makefile.am:
405         * gst/check/Makefile.am:
406         * gst/elements/Makefile.am:
407         * gst/net/Makefile.am:
408           update LDFLAGS use some more
409
410 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
411
412         * common/m4/gst-doc.m4:
413           Fixes #312589
414
415 2005-11-26  Edward Hervey  <edward@fluendo.com>
416
417         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
418         This shouldn't issue a g_warning since it returns NULL if it
419         couldn't find the plugin, and all functions using this behave
420         properly on a NULL return. Switching to a GST_WARNING.
421
422 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
423
424         * gst/gstbin.c: (gst_bin_handle_message_func):
425         Don't leak clock messages.
426
427 2005-11-25  Wim Taymans  <wim@fluendo.com>
428
429         * gst/gstutils.c: (gst_util_uint64_scale_int64),
430         (gst_util_uint64_scale_int):
431         Optimisations, remove unneeded vars.
432
433 2005-11-25  Wim Taymans  <wim@fluendo.com>
434
435         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
436         Added more checks for the high precision uint64 cases.
437
438         * gst/gstutils.c: (gst_util_uint64_scale_int64),
439         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
440         Implement high precission (guint64 * guint64) / guint64.
441
442 2005-11-24  Wim Taymans  <wim@fluendo.com>
443
444         * gst/base/gstbasesrc.c: (gst_base_src_query):
445         Fix wrong percentage query.
446
447         * gst/gstutils.c: (gst_util_uint64_scale),
448         (gst_util_uint64_scale_int):
449         Add some more common cases that can be handled 
450         efficiently to _scale.
451
452 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
453
454         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
455         (gst_mini_object_suite):
456           don't use check calls from threads; check probably isn't
457           threadsafe and using a lock to make it threadsafe would
458           defeat the purpose of this check
459         * gst/check/gstcheck.c:
460         * gst/check/gstcheck.h:
461           use GST_DEBUG some more
462
463 2005-11-24  Wim Taymans  <wim@fluendo.com>
464
465         * gst/gstutils.c: (gst_util_uint64_scale),
466         (gst_util_uint64_scale_int):
467         Chain trivial case to _scale_int.
468
469 2005-11-24  Wim Taymans  <wim@fluendo.com>
470
471         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
472         Added test for scaling.
473
474         * gst/gstclock.h:
475         Small doc fix.
476
477         * gst/gstutils.c: (gst_util_uint64_scale_int):
478         Implemented high precision scaling code.
479
480 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
481
482         * gst/gstinfo.h:
483           do not crash on pad==NULL
484
485 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
486
487         Patch by: Stefan Kost
488
489         * common/gtk-doc.mak:
490         * docs/gst/Makefile.am:
491         * docs/libs/Makefile.am:
492           Fix distcheck issues for the libraries docs build
493           Closes #319599.
494
495 2005-11-24  Michael Smith <msmith@fluendo.com>
496
497         * docs/manual/basics-helloworld.xml:
498           Fix bug #315027: memory leak in example code in docs.
499
500 2005-11-24  Michael Smith <msmith@fluendo.com>
501
502         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
503           Unlock the PREROLL_LOCK in a failure case.
504
505 2005-11-24  Wim Taymans  <wim@fluendo.com>
506
507         * docs/gst/gstreamer-sections.txt:
508         * gst/base/gstadapter.h:
509         * gst/base/gstbasesink.h:
510         * gst/base/gstbasesrc.h:
511         * gst/base/gstbasetransform.h:
512         * gst/base/gstpushsrc.h:
513         * gst/elements/gstfakesink.h:
514         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
515         * gst/elements/gstfakesrc.h:
516         * gst/elements/gstfilesink.h:
517         * gst/elements/gstfilesrc.h:
518         * gst/gst.c:
519         * gst/gstbin.c:
520         * gst/gstbuffer.c: (_gst_buffer_copy):
521         * gst/gstbus.h:
522         * gst/gstcaps.c:
523         * gst/gstchildproxy.c:
524         * gst/gstclock.c:
525         * gst/gstelement.c:
526         * gst/gstelementfactory.c:
527         * gst/gstelementfactory.h:
528         * gst/gstevent.c:
529         * gst/gstghostpad.h:
530         * gst/gstindex.h:
531         * gst/gstinterface.h:
532         * gst/gstminiobject.c:
533         * gst/gstminiobject.h:
534         * gst/gstpad.c:
535         * gst/gstpad.h:
536         * gst/gstpadtemplate.h:
537         * gst/gstpipeline.h:
538         * gst/gstpluginfeature.h:
539         * gst/gstquery.h:
540         * gst/gstqueue.h:
541         * gst/gsttaglist.c:
542         * gst/gsttaglist.h:
543         * gst/gsttagsetter.c:
544         * gst/gsttagsetter.h:
545         * gst/gsttrace.c:
546         * gst/gsttrace.h:
547         * gst/gsttypefind.h:
548         * gst/gsturi.h:
549         * gst/gstvalue.c:
550         * gst/net/gstnetclientclock.c:
551         * gst/net/gstnetclientclock.h:
552         * gst/net/gstnettimepacket.c:
553         * gst/net/gstnettimeprovider.c:
554         * gst/net/gstnettimeprovider.h:
555         Doc fixes.
556
557 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
558
559         * configure.ac: back to HEAD
560
561 === release 0.9.6 ===
562
563 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
564
565         * configure.ac:
566           releasing 0.9.6, "Always On Time"
567
568 2005-11-23  Wim Taymans  <wim@fluendo.com>
569
570         * docs/gst/gstreamer-sections.txt:
571         * gst/glib-compat.c:
572         * gst/gsttagsetter.c:
573         * gst/gstvalue.c:
574         * gst/net/gstnetclientclock.c:
575         * gst/net/gstnettimepacket.h:
576         Doc updates.
577
578 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
579
580         * docs/faq/using.xml:
581         * docs/libs/tmpl/gstcontrol.sgml:
582         * docs/manual/advanced-dparams.xml:
583         * docs/manual/appendix-checklist.xml:
584         * docs/manual/basics-elements.xml:
585         * docs/pwg/other-source.xml:
586         * docs/random/moving-plugins:
587         * gst/gstpad.c:
588         * tools/gst-launch.1.in:
589           remove mentions of sinesrc
590
591 2005-11-23  Michael Smith <msmith@fluendo.com>
592
593         * docs/gst/gstreamer-sections.txt:
594           Update for new API and API changes.
595         * gst/gstobject.h:
596           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
597         * gst/gstvalue.c:
598           Documentation typo fix.
599         * gst/net/gstnettimepacket.c:
600           Documentation fixes for arguments.
601
602 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
603
604         * gst/gststructure.c: (gst_structure_get_fraction),
605         (gst_structure_parse_value),
606         (gst_structure_fixate_field_nearest_fraction):
607         * gst/gststructure.h:
608         * gst/gstutils.c: (gst_util_uint64_scale_int):
609         * gst/gstutils.h:
610         * scripts/update-funcnames:
611         API Changes. 
612         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
613         Make gst_structure_fixate_field_nearest_fraction take a numerator
614         and denominator argument instead of a GValue
615         add gst_structure_get_fraction helper function.
616
617 2005-11-23  Wim Taymans  <wim@fluendo.com>
618
619         * docs/design/part-TODO.txt:
620         Update TODO.
621
622         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
623         * gst/net/gstnetclientclock.h:
624         Use parent fields for timeout and window_size.
625
626 2005-11-23  Andy Wingo  <wingo@pobox.com>
627
628         * check/net/gstnetclientclock.c (test_functioning): Adjust to
629         rate_num/rate_denom change.
630
631         * gst/net/gstnetclientclock.c
632         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
633         OBJECT_LOCK. Don't call add_observation with the lock.
634
635         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
636         fraction.
637         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
638         rate fraction.
639         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
640         deal with rate as a fraction whose numerator and denominator are
641         GstClockTime values.
642         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
643         master; the other fields are protected by the SLAVE_LOCK.
644         (do_linear_regression): Note that this must be called with the
645         SLAVE_LOCK.
646         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
647         OBJECT_LOCK. Call set_calibration instead of touching the
648         variables directly.
649         (gst_clock_set_property, gst_clock_get_property): Protect
650         master/slave parameters with the SLAVE_LOCK.
651
652         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
653         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
654         note that all of the instance variables that add_observation and
655         the set_master functions use are protected by that lock and not
656         the OBJECT_LOCK.
657         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
658
659         * gst/gstclock.c (gst_clock_add_observation): No longer requires
660         the caller to take the object lock.
661
662 2005-11-23  Wim Taymans  <wim@fluendo.com>
663
664         * gst/gsterror.c: (_gst_core_errors_init):
665         * gst/gsterror.h:
666         Add error for clock stuff.
667
668         * gst/gstpipeline.c: (gst_pipeline_change_state),
669         (gst_pipeline_set_clock):
670         Post clock error when clock cannot be used in a pipeline.
671
672 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
673
674         * docs/gst/gstreamer-sections.txt:
675           make two symbols from gstinfo private for the docs
676         * gst/base/gstcollectpads.h:
677         * gst/gstutils.c:
678           fix doc typos, update docs
679
680 2005-11-22  Wim Taymans  <wim@fluendo.com>
681
682         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
683         (gst_base_sink_wait), (gst_base_sink_do_sync),
684         (gst_base_sink_handle_event):
685         * gst/base/gstbasesink.h:
686         No need to store the clock, the parent element class already
687         has it.
688
689         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
690         Updates for clock_set returning a gboolean
691
692         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
693         (gst_clock_id_wait_async), (gst_clock_class_init),
694         (gst_clock_init), (gst_clock_finalize),
695         (gst_clock_get_internal_time), (gst_clock_get_time),
696         (gst_clock_slave_callback), (gst_clock_set_master),
697         (gst_clock_get_master), (do_linear_regression),
698         (gst_clock_add_observation), (gst_clock_set_property),
699         (gst_clock_get_property):
700         * gst/gstclock.h:
701         Implement master/slave. When setting a clock as a slave, a
702         periodic timeout is scheduled to sample master and slave times.
703         Then the slave clock is recalibrated to match offset and rate
704         of the master clock.
705         Update logging a bit.
706         Add flag so that a clock can state that is cannot be slaved to
707         another clock.
708
709         * gst/gstelement.c: (gst_element_set_clock):
710         * gst/gstelement.h:
711         The set clock returns a gboolean for when an element cannot
712         deal with the selected clock in the pipeline. 
713
714         * gst/gstpipeline.c: (gst_pipeline_change_state),
715         (gst_pipeline_set_clock):
716         * gst/gstpipeline.h:
717         Handle the case where the selected clock cannot be set on
718         the pipeline.
719
720         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
721         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
722         (gst_net_client_clock_set_property),
723         (gst_net_client_clock_get_property),
724         (gst_net_client_clock_observe_times):
725         * gst/net/gstnetclientclock.h:
726         Use regression code in GstClock parent, remove duplicated
727         functionality.
728
729 2005-11-22  Michael Smith <msmith@fluendo.com>
730
731         * gst/gstutils.c: (gst_util_clock_time_scale):
732         * gst/gstutils.h:
733         * docs/gst/gstreamer-sections.txt:
734           Rename method to have extra underscore.
735
736 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
737
738         * gst/elements/Makefile.am:
739         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
740         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
741         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
742         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
743         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
744         * gst/elements/gstfakesrc.h:
745         * gst/gstqueue.c: (queue_leaky_get_type):
746           correctly fix GEnumValues so that nick is the short lowercase
747           dashed tag
748         * tools/gst-inspect.c: (print_element_properties_info):
749           also show the nick, since it's useful to use from parse_launch
750           syntax
751           Fixes #322139
752
753 2005-11-22  Michael Smith <msmith@fluendo.com>
754
755         * gst/gstutils.c: (gst_util_clocktime_scale):
756         * gst/gstutils.h:
757         * docs/gst/gstreamer-sections.txt:
758           Add util method for scaling a clocktime by a fraction. Useful 
759           implementation is left as an exercise for the reader.
760
761 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
762
763         * gst/gstvalue.c: (gst_value_collect_fraction_range):
764         If needed, allocate storage in the destination value during
765         collection.
766
767 2005-11-22  Edward Hervey  <edward@fluendo.com>
768
769         * docs/gst/gstreamer-sections.txt:
770         * gst/Makefile.am:
771         * gst/gst.h:
772         * gst/gsturitype.c:
773         * gst/gsturitype.h:
774         * gst/gstutils.c: (gst_util_set_object_arg):
775         * tools/gst-compprep.c: (main):
776         * tools/gst-inspect.c: (print_element_properties_info):
777         Removed GstURI, closes bug #321061
778
779 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
780
781         * check/gst/gststructure.c: (GST_START_TEST):
782         * gst/gststructure.c: (gst_structure_parse_value):
783           Oops, broke automatic string type parsing.
784           Add a test to catch it in future.
785
786 2005-11-22  Andy Wingo  <wingo@pobox.com>
787
788         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
789         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
790         Actually rename the function implementations. Grr.
791
792 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
793
794         * check/gst/capslist.h:
795           Comment test cases
796         * check/gst/gststructure.c: (GST_START_TEST),
797         (gst_structure_suite):
798           Test automatic value type detection in gst_structure_from_string.
799         * gst/gststructure.c: (gst_structure_parse_value):
800           Add fraction as a type we try and guess automatically in
801           caps/structure strings.
802
803 2005-11-22  Andy Wingo  <wingo@pobox.com>
804
805         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
806
807         * gst/gsttagsetter.h:
808         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
809         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
810         (gst_tag_setter_add_tag_valist)
811         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
812         _add_values, _add_valist, and _add_valist_values. Since this is an
813         interface the function suffixes should be more explicit so
814         language binding don't end up with element.add_valist ->
815         gst_tag_setter_add_valist, for example. Fixes #322069.
816
817 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
818
819         * check/gst/gstcaps.c: (GST_START_TEST):
820           Extend caps string tests to check that a caps to string
821           conversion is reversible and produces the same caps.
822
823         * gst/gststructure.c: (gst_structure_value_get_generic_type):
824           Output "fraction" as the generic type fraction range, so caps
825           serialisation and deserialisation works.
826         * check/gst/capslist.h:
827         * gst/gstvalue.c: (gst_value_deserialize_fraction):
828           Support 'MIN' and 'MAX' for deserialising fractions.
829
830 2005-11-22  Andy Wingo  <wingo@pobox.com>
831
832         * gst/gstevent.h (gst_event_new_new_segment)
833         (gst_event_parse_new_segment, gst_event_new_buffer_size)
834         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
835         Renamed from *_newsegment, *_buffersize, *_notarget.
836
837         * scripts/update-funcnames: New script, performs the changes
838         listed above.
839
840 2005-11-22  Wim Taymans  <wim@fluendo.com>
841
842         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
843         Make sure the GstFlowReturn is returned.
844
845         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
846         (gst_bus_add_signal_watch):
847         * gst/gstbus.h:
848         add gst_bus_add_signal_watch_full.
849
850         * gst/gstplugin.c: (gst_plugin_load_file):
851         Small style cleanup.
852
853 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
854
855         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
856           Block the fakesrc srcpad when we send an event, to avoid
857           contention on the stream_lock causing random test failures.
858
859 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
860
861         * check/gst/gstvalue.c: (GST_START_TEST):
862         * gst/gstvalue.c: (gst_value_fraction_subtract):
863           Fix subtraction.
864
865 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
866
867         * gst/gst.h:
868           include "gstchildproxy.h"
869         * gst/gstchildproxy.h:
870         * libs/gst/controller/gstcontroller.h:
871           use G_GNUC_NULL_TERMINATED
872
873 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
874
875         * check/gst/capslist.h:
876         * check/gst/gstcaps.c: (GST_START_TEST):
877         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
878         * gst/gststructure.c: (gst_structure_parse_range),
879         (gst_structure_fixate_field_nearest_fraction):
880         * gst/gststructure.h:
881         * gst/gstvalue.c: (gst_value_init_fraction_range),
882         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
883         (gst_value_collect_fraction_range),
884         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
885         (gst_value_set_fraction_range_full),
886         (gst_value_get_fraction_range_min),
887         (gst_value_get_fraction_range_max),
888         (gst_value_serialize_fraction_range),
889         (gst_value_transform_fraction_range_string),
890         (gst_value_compare_fraction_range),
891         (gst_value_deserialize_fraction_range),
892         (gst_value_intersect_fraction_fraction_range),
893         (gst_value_intersect_fraction_range_fraction_range),
894         (gst_value_subtract_fraction_fraction_range),
895         (gst_value_subtract_fraction_range_fraction),
896         (gst_value_subtract_fraction_range_fraction_range),
897         (gst_value_collect_fraction), (gst_value_fraction_multiply),
898         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
899         (gst_value_transform_string_fraction), (_gst_value_initialize):
900         * gst/gstvalue.h:
901           Implement fraction ranges and extend GstFraction to support
902           arithmetic subtraction, as well as deserialization from integer
903           strings such as "100"
904           Add a testsuite as for int and double range set operations
905
906 2005-11-21  Andy Wingo  <wingo@pobox.com>
907
908         * gst/gsttaglist.h: 
909         * gst/gstcaps.h: 
910         * gst/gststructure.h: Add glib-compat.h.
911
912 2005-11-21  Wim Taymans  <wim@fluendo.com>
913
914         * gst/gstbin.c: (gst_bin_change_state_func):
915         Fix for #321595
916
917 2005-11-21  Wim Taymans  <wim@fluendo.com>
918
919         * gst/gstsegment.h:
920         And add a nice define too.
921
922 2005-11-21  Wim Taymans  <wim@fluendo.com>
923
924         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
925         (gst_segment_new), (gst_segment_free), (gst_segment_init),
926         (gst_segment_set_duration), (gst_segment_set_last_stop),
927         (gst_segment_set_seek), (gst_segment_set_newsegment),
928         (gst_segment_to_stream_time), (gst_segment_to_running_time),
929         (gst_segment_clip):
930         * gst/gstsegment.h:
931         Make binding friendly.
932
933 2005-11-21  Andy Wingo  <wingo@pobox.com>
934
935         * gst/gsttagsetter.h: 
936         * gst/gsttaglist.h: 
937         * gst/gststructure.h: 
938         * gst/gstcaps.h: 
939         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
940         #319940.
941
942         * gst/gsterror.c (_gst_core_errors_init):
943         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
944         category.
945
946         * gst/Makefile.am (gst_headers): Add glib-compat.h.
947         (noinst_HEADERS): noinst the -private.
948
949 2005-11-21  Michael Smith <msmith@fluendo.com>
950
951         * gst/gstplugin.h:
952         * gst/gstregistry.h:
953           Remove unimplemented declarations for which we can see no sensible
954           use.
955
956 2005-11-21  Andy Wingo  <wingo@pobox.com>
957
958         * gst/gst.h: Include glib-compat.h.
959
960         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
961
962         * gst/glib-compat.c: Include the public and the private header.
963
964         * gst/glib-compat-private.h: Copied here from glib-compat.h.
965
966         * gst/gstvalue.c: 
967         * gst/gstpad.c: 
968         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
969
970         * check/gst/gstevent.c (create_custom_events): Check that
971         FLUSH_STOP is serialized.
972
973         * check/elements/identity.c (event_func): 
974         * check/elements/fakesrc.c (event_func): No stream lock, the core
975         takes it.
976
977         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
978         stream lock taking, yay.
979
980         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
981         ensure that core takes the stream lock.
982
983         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
984         lock name change.
985
986         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
987         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
988         it already. For the flush start we do take it though so we get the
989         right preroll state change messages.
990
991         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
992         the stream lock here, the core does it for us.
993
994         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
995         GST_STREAM_GET_LOCK.
996         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
997         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
998         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
999         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1000         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1001         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1002
1003         * gst/gstpad.c: Update for stream lock name change.
1004
1005         * gst/base/gstbasesink.c: Update for preroll lock name change.
1006
1007 2005-11-21  Wim Taymans  <wim@fluendo.com>
1008
1009         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1010         (gst_clock_get_master):
1011         * gst/gstclock.h:
1012         * gst/gstsystemclock.c: (gst_system_clock_init):
1013         Convert Clock flags to object flags.
1014         Added methods to manage master/slave clocks.
1015
1016 2005-11-21  Wim Taymans  <wim@fluendo.com>
1017
1018         * check/gst/gstsegment.c: (GST_START_TEST):
1019         * docs/design/part-TODO.txt:
1020         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1021         (gst_base_sink_event), (gst_base_sink_do_sync),
1022         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1023         (gst_base_sink_query), (gst_base_sink_change_state):
1024         * gst/base/gstbasesink.h:
1025         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1026         (gst_base_src_default_newsegment),
1027         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1028         (gst_base_src_get_range), (gst_base_src_loop),
1029         (gst_base_src_change_state):
1030         * gst/base/gstbasesrc.h:
1031         * gst/base/gstbasetransform.c:
1032         (gst_base_transform_prepare_output_buf),
1033         (gst_base_transform_event), (gst_base_transform_change_state):
1034         * gst/base/gstbasetransform.h:
1035         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1036         (gst_collect_pads_event):
1037         * gst/base/gstcollectpads.h:
1038         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1039         (gst_fake_src_create):
1040         * gst/elements/gstfakesrc.h:
1041         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1042         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1043         (gst_segment_set_last_stop), (gst_segment_set_seek),
1044         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1045         (gst_segment_to_running_time), (gst_segment_clip):
1046         * gst/gstsegment.h:
1047         More segment updates, replace code in plugins with segment
1048         helper functions.
1049
1050 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1051
1052         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1053         Don't ignore sscanf results
1054
1055 2005-11-21  Andy Wingo  <wingo@pobox.com>
1056
1057         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1058
1059         * *.h:
1060         * *.c: Ran scripts/update-macros. Oh yes.
1061
1062         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1063         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1064         GST_GET_LOCK, etc.
1065
1066         * scripts/update-macros: New script. Run it on your files to
1067         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1068         well.
1069
1070 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1071
1072         * docs/gst/Makefile.am:
1073         * docs/gst/gstreamer-docs.sgml:
1074         * docs/gst/gstreamer-sections.txt:
1075         * docs/gst/gstreamer.types:
1076         * gst/gstinfo.h:
1077           more docs fixes, add new api to the docs
1078
1079 2005-11-21  Andy Wingo  <wingo@pobox.com>
1080
1081         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1082         state_broadcast call.
1083
1084         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1085
1086 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1087
1088         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1089         function calls for arrays.
1090
1091 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1092
1093         * docs/random/ensonic/media-device-daemon.txt:
1094           wild idea, can this be done?
1095         * docs/gst/gstreamer-sections.txt:
1096         * gst/gsterror.h:
1097         * gst/gstfilter.c:
1098         * gst/gstfilter.h:
1099         * gst/gstplugin.h:
1100         * gst/gstpluginfeature.c:
1101         * gst/gsttrace.c:
1102         * gst/gstvalue.c:
1103         * gst/gstvalue.h:
1104           doc fixes and additions
1105
1106 2005-11-21  Andy Wingo  <wingo@pobox.com>
1107
1108         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1109         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1110         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1111         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1112         private to the basesrc implementation.
1113
1114         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1115         behalf of event function if necessary. It should no longer be
1116         necessary to take the stream lock in pad's event functions. Fixes
1117         #320299.
1118
1119 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1120         * docs/gst/gstreamer-sections.txt:
1121         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1122         (gst_structure_fixate_field_nearest_double),
1123         (gst_structure_fixate_field_boolean):
1124         * gst/gststructure.h:
1125         * win32/common/libgstreamer.def:
1126         * win32/gstreamer.def:
1127
1128         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1129         (#322027)
1130
1131 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1132
1133         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1134         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1135         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1136         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1137         (gst_fdsrc_uri_handler_init):
1138         * gst/elements/gstfdsrc.h:
1139           Port fd:// URI handler from 0.8 to fdsrc
1140
1141 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1142
1143         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1144         (gst_value_serialize_fourcc):
1145         * gst/gstvalue.h:
1146           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1147           consistent with our other format defines (#320324).
1148
1149 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1150
1151         * gst/gstvalue.c: (gst_value_is_fixed):
1152           Revert previous commit. Value lists are by definition
1153           not fixed, as they are a list of possible values.
1154
1155 2005-11-21  Andy Wingo  <wingo@pobox.com>
1156
1157         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1158         during the stable series if we need it. Fixes #319178.
1159
1160         * gst/gstevent.c (gst_event_new_filler): Removed.
1161
1162         * check/gst/gstevent.c: Update comment about filler events.
1163
1164 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1165
1166         * gst/gstvalue.c: (gst_value_is_fixed):
1167           Should handle both value arrays and value lists.
1168
1169 2005-11-21  Andy Wingo  <wingo@pobox.com>
1170
1171         patch by: Alessandro Dessina <alessandro nnva org>
1172
1173         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1174         functions to access arrays. Fixes #321962.
1175
1176 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1177
1178         * docs/gst/gstreamer.types:
1179           gst_collectpads_get_type => gst_collect_pads_get_type.
1180           
1181         * gst/base/gstbasetransform.c:
1182           Remove unused SIGNAL_HANDOFF enum.
1183
1184 2005-11-21  Andy Wingo  <wingo@pobox.com>
1185
1186         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1187         the event type (upstream, downstream, serialized). Renamed
1188         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1189         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1190         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1191
1192         * gst/gstevent.c: Update for new CUSTOM event names.
1193
1194         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1195
1196         * gst/gstevent.h:
1197         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1198         bug #319392.
1199
1200 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1201
1202         * docs/gst/gstreamer-sections.txt:
1203         * win32/common/libgstbase.def:
1204         * win32/libgstbase.def:
1205         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1206         (gst_collect_pads_class_init), (gst_collect_pads_init),
1207         (gst_collect_pads_finalize), (gst_collect_pads_new),
1208         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1209         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1210         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1211         (gst_collect_pads_start), (gst_collect_pads_stop),
1212         (gst_collect_pads_peek), (gst_collect_pads_pop),
1213         (gst_collect_pads_available), (gst_collect_pads_read),
1214         (gst_collect_pads_flush), (gst_collect_pads_event),
1215         (gst_collect_pads_chain):
1216         * gst/base/gstcollectpads.h:
1217           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1218           unimplemented functions as unimplemented. Add padding to
1219           GstCollectData. (#320766, #320423)
1220
1221 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1222
1223         * gst/gstmessage.c:
1224           Improve docs for DURATION message (usage of duration parameter)
1225           (#320113)
1226
1227 2005-11-20  Wim Taymans  <wim@fluendo.com>
1228
1229         * check/Makefile.am:
1230         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1231         (main):
1232         * gst/Makefile.am:
1233         * gst/gst.h:
1234         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1235         (gst_segment_set_seek), (gst_segment_set_newsegment),
1236         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1237         (gst_segment_clip):
1238         * gst/gstsegment.h:
1239         Added segment helper structure and methods. Not fully implemented
1240         yet.
1241         Added segment check.
1242
1243 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1244
1245         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1246           Add a deserialisation test for fractions
1247         * examples/metadata/read-metadata.c: (message_loop),
1248         (make_pipeline), (main):
1249           Fix up metadata reading sample.
1250         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1251           Debug format fix
1252         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1253           Don't try and fixate empty caps
1254         * gst/gst_private.h:
1255           Wrap in G_BEGIN_DECLS/G_END_DECLS
1256         * gst/gstvalue.c: (gst_value_collect_fraction),
1257         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1258         (gst_value_transform_string_fraction),
1259         (gst_value_compare_fraction):
1260           Add some extra guards to ensure that we don't end up 
1261           with an invalid denominator of 0 in a gstfraction and
1262           that fractions always get reduced.
1263
1264 2005-11-20  Wim Taymans  <wim@fluendo.com>
1265
1266         * docs/gst/gstreamer-sections.txt:
1267         * gst/gstbuffer.h:
1268         * gst/gstelement.c:
1269         * gst/gstformat.c:
1270         * gst/gstformat.h:
1271         * gst/gstindex.h:
1272         * gst/gstquery.c:
1273         * gst/gstquery.h:
1274         * gst/gstvalue.c:
1275         Doc fixes.
1276
1277 2005-11-20  Wim Taymans  <wim@fluendo.com>
1278
1279         * docs/design/part-TODO.txt:
1280         * gst/gstcaps.h:
1281         Make a proper enum of the flag.
1282
1283 2005-11-19  Wim Taymans  <wim@fluendo.com>
1284
1285         * docs/design/part-TODO.txt:
1286         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1287         (gst_format_to_quark), (gst_format_register):
1288         * gst/gstformat.h:
1289         * gst/gstquery.c: (_gst_query_initialize),
1290         (gst_query_type_get_name), (gst_query_type_to_quark),
1291         (gst_query_type_register):
1292         * gst/gstquery.h:
1293         Add type to quark and type to string conversions.
1294
1295 2005-11-19  Andy Wingo  <wingo@pobox.com>
1296
1297         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1298         #320097.
1299
1300 2005-11-19  Wim Taymans  <wim@fluendo.com>
1301
1302         * docs/design/part-TODO.txt:
1303         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1304         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1305         (gst_bin_handle_message_func):
1306         * gst/gstbin.h:
1307         Make message handling overridable.
1308
1309 2005-11-19  Andy Wingo  <wingo@pobox.com>
1310
1311         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1312
1313         * gst/gstclock.h:
1314         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1315         be a GstClockTime.
1316         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1317         is a GstClockTime. Fixes #321710.
1318
1319         * gst/gstclock.h (GstClock): Remove offset property. Add
1320         internal_calibration and external_calibration. Fix padding. Pad
1321         also by GstClockTime so we don't run into problems.
1322
1323         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1324         (gst_clock_get_rate_offset): Remove.
1325         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1326
1327         * gst/gstutils.h:
1328         * gst/gstutils.c (g_static_rec_cond_wait)
1329         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1330
1331         * gst/gstbin.c: Remove terrible continue_state prototype.
1332
1333         * gst/gstelement.h (gst_element_continue_state): Make public.
1334
1335         * gst/gstelement.h:
1336         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1337         by continue_state. Fixes #319389.
1338
1339         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1340         Really fixes #168438. However I don't see anywhere where the
1341         filter function is called... stupid GStreamer...
1342         
1343         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1344         don't have a dispose function, so it won't get called when the
1345         object is unreffed, but oh well!
1346
1347         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1348         allows a destroy function to be set so user_data can be freed.
1349         Fixes #168438.
1350         (gst_index_set_filter): Call gst_index_set_filter_full.
1351
1352         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1353
1354         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1355         string should produce an error, given the lack of a way to
1356         represent NULL strings. Fixes #165650.
1357         
1358         * gst/gstvalue.h: 
1359         * gst/gstvalue.c (gst_value_array_append_value) 
1360         (gst_value_array_prepend_value, gst_value_array_get_size) 
1361         (gst_value_array_get_value): New API, copied from
1362         gst_value_list_*, only operates on arrays.
1363         (gst_value_list_append_value, gst_value_list_prepend_value) 
1364         (gst_value_list_concat, gst_value_list_get_size) 
1365         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1366
1367         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1368         init_list, because it works on both.
1369         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1370         (gst_value_copy_list_or_array): Renamed from copy_list.
1371         (gst_value_free_list_or_array): Renamed from free_list.
1372         (gst_value_collect_list_or_array): Renamed from collect_list.
1373         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1374         (gst_value_list_or_array_peek_pointer): Renamed from
1375         list_peek_pointer.
1376         (_gst_value_array_value_table, _gst_value_list_value_table):
1377         Update value table functions.
1378         (gst_value_compare_list_or_array): Renamed from compare_list.
1379
1380         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1381         some constness.
1382
1383         * gst/gsttaglist.c:
1384         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1385         GstTagList*. Fixes #143472.
1386
1387         * gst/gststructure.h: Clarify what the foreach/map functions can
1388         or can't do to their arguments.
1389
1390 2005-11-18  Wim Taymans  <wim@fluendo.com>
1391
1392         * gst/gstclock.c: (gst_clock_set_calibration),
1393         (gst_clock_get_calibration):
1394         Doc and API fixes.
1395         Calibration can be set with internal time equal to current
1396         internal time too.
1397
1398 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1399
1400         * gst/gsterror.c:
1401         * gst/gsterror.h:
1402           document
1403
1404 2005-11-18  Andy Wingo  <wingo@pobox.com>
1405
1406         * configure.ac: 
1407         * pkgconfig/gstreamer-net.pc.in:
1408         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1409         * pkgconfig/Makefile.am: Add net pkgconfig files.
1410
1411 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1412
1413         * gst/gstcaps.c:
1414         * gst/gstghostpad.c:
1415         * gst/gsttrace.c:
1416         * gst/gstvalue.c:
1417         * gst/gstvalue.h:
1418           docs fixes
1419
1420 2005-11-18  Andy Wingo  <wingo@pobox.com>
1421
1422         * gst/net/gstnetclientclock.c: Turn off debugging.
1423
1424         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1425         times connverge somewhat. Can't make a real test.
1426
1427         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1428         integer arithmetic. Return the minimum of the domain, which can be
1429         set as "internal" for gst_clock_set_calibration.
1430         (gst_net_client_clock_observe_times): Call _set_calibration.
1431         (gst_net_client_clock_new): Call _set_calibration instead of
1432         rate_offset.
1433
1434         * check/net/gstnetclientclock.c (test_functioning): Use the right
1435         adjustment api.
1436
1437         * gst/gstclock.h:
1438         * gst/gstclock.c (gst_clock_get_calibration) 
1439         (gst_clock_set_calibration): New functions, obsolete the ones I
1440         added yesterday. Doh. Precision issues mean we have to extrapolate
1441         from a point in the more recent past than 1970.
1442         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1443         obsolete.
1444         (gst_clock_adjust_unlocked): Use the right calibration data.
1445
1446 2005-11-18  Edward Hervey  <edward@fluendo.com>
1447
1448         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1449         Also reset the ->current_* values in READY->PAUSED
1450
1451 2005-11-18  Andy Wingo  <wingo@pobox.com>
1452
1453         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1454         Whoops, check the right fd. Also add some debugging.
1455         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1456         (do_linear_regression): Add a crapload of debugging. Subtract off
1457         the minimum values from the input series to discard unneeded bits.
1458         Use only int arithmetic. There is still double arithmetic when
1459         calculating the intercept that needs fixing. Return boolean to
1460         indicate success; FALSE would mean the domain or range is too
1461         great. Still needs fixes.
1462
1463 2005-11-18  Wim Taymans  <wim@fluendo.com>
1464
1465         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1466         For the current position in stream time, we need to subtract
1467         accumulated time.
1468         
1469         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1470         Release lock before calling the callback function of async
1471         entries.
1472
1473 2005-11-18  Andy Wingo  <wingo@pobox.com>
1474
1475         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1476         Port goes all the way to MAXUINT16.
1477
1478         * gst/net/gstnettimeprovider.c: Make the port range the same as
1479         for the kernel: 0 assigns, otherwise ports are less than
1480         MAXUINT16.
1481
1482         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1483         port change.
1484
1485         * check/net/gstnetclientclock.c (test_functioning): Add the start
1486         of another test. 
1487
1488 2005-11-18  Wim Taymans  <wim@fluendo.com>
1489
1490         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1491         (gst_bin_remove_func), (bin_bus_handler):
1492         * gst/gstbin.h:
1493         Removing a clock provider from a bin, triggers a clock lost message
1494         so that a new clock will be selected.
1495         Adding a clock to a bin triggers a clock provider message.
1496         Make sure we reselect a clock when we received a clock lost message.
1497         Keep a reference to the element that provided the clock.
1498
1499 2005-11-18  Andy Wingo  <wingo@pobox.com>
1500
1501         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1502         the clock initially so it produces values around the base time.
1503         (gst_net_client_clock_class_init): Typo fix.
1504         (gst_net_client_clock_thread): Add note on when the socket gets
1505         closed.
1506
1507 2005-11-17  Wim Taymans  <wim@fluendo.com>
1508
1509         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1510         Free remote and local time arrays.
1511
1512 2005-11-17  Wim Taymans  <wim@fluendo.com>
1513
1514         * gst/net/gstnetclientclock.c: (do_linear_regression),
1515         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1516         Fix compilation, uninitialized vars and a forgotten continue.
1517
1518 2005-11-17  Andy Wingo  <wingo@pobox.com>
1519
1520         * check/Makefile.am (check_PROGRAMS): 
1521         * check/net/gstnetclientclock.c: Add a most minimal test for the
1522         net client clock. More to come later.
1523
1524         * gst/net/gstnet.h: 
1525         * gst/net/Makefile.am: Add netclientclock.
1526
1527         * gst/net/gstnetclientclock.h:
1528         * gst/net/gstnetclientclock.c: New files, implement an untested
1529         GstClock that takes its time from a network time provider.
1530         Implements the algorithm in network-clock.scm.
1531
1532         * tests/network-clock.scm (*window-size*): Rename from
1533         *queue-length*.
1534         * tests/network-clock.scm (network-time): 
1535         * tests/network-clock-utils.scm (q-push): Update callers.
1536
1537 2005-11-17  Wim Taymans  <wim@fluendo.com>
1538
1539         * gst/gstbin.c: (gst_bin_provide_clock_func),
1540         (gst_bin_sort_iterator_new):
1541         And unref the child too..
1542
1543 2005-11-17  Wim Taymans  <wim@fluendo.com>
1544
1545         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1546         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1547         Refactor the sort iterator so it can be used while holding the
1548         LOCK too.
1549         Make clock selection select a clock closest to the source.
1550
1551 2005-11-17  Michael Smith <msmith@fluendo.com>
1552
1553         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1554         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1555         * gst/gstclock.h:
1556           Anonymous structs are a gcc (and some other compilers) extension, so
1557           don't use them. Since this is only for ABI-compatibility, and our
1558           API/ABI freeze is over in a few days, this whole thing will only
1559           last a few days, so don't bother trying to think up a meaningful
1560           name for the struct.
1561
1562 2005-11-17  Andy Wingo  <wingo@pobox.com>
1563
1564         * gst/gstclock.h (GstClock): Add rate and offset properties,
1565         preserving ABI stability. Add rate/offset accessors. Will file bug
1566         for the freeze break.
1567
1568         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1569         and offset, trying to keep precision and avoiding
1570         underflow/overflow.
1571         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1572         functions. Make gst_clock_set_time_adjust obsolete.
1573         (gst_clock_set_time_adjust): Note that this function is obsolete.
1574         Will file bug soon.
1575
1576         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1577         greppable by using GST_PADDING-1+1.
1578
1579 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1580
1581         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1582
1583         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1584           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1585
1586         * gst/gstpadtemplate.h:
1587         * gst/gstpluginfeature.h:
1588           Don't use c++ style comments in headers (#321638).
1589
1590 2005-11-16  Andy Wingo  <wingo@pobox.com>
1591
1592         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1593         buffer.
1594
1595         * check/net/gstnettimeprovider.c: Check to see that the time
1596         provider actually provides times. Works, yo!
1597
1598 2005-11-16  Wim Taymans  <wim@fluendo.com>
1599
1600         * check/Makefile.am:
1601         Enable more tests.
1602
1603         * check/elements/fakesrc.c: (GST_START_TEST):
1604         Set element to NULL before disposing it.
1605
1606 2005-11-16  Andy Wingo  <wingo@pobox.com>
1607
1608         * gst/net/Makefile.am:
1609         * gst/net/gstnet.h:
1610         * gst/net/gstnettimeprovider.c: 
1611         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1612         provider, include it from gstnet.h, and add it to the build.
1613
1614         * gst/net/gstnettimepacket.h: 
1615         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1616         sending and receiving.
1617
1618 2005-11-16  Wim Taymans  <wim@fluendo.com>
1619
1620         * check/Makefile.am:
1621         Enable valgrind check.
1622
1623         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1624         (gst_fake_src_alloc_buffer):
1625         Fix memleak.
1626
1627 2005-11-16  Wim Taymans  <wim@fluendo.com>
1628
1629         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1630         Call parent finalize too.
1631
1632 2005-11-16  Wim Taymans  <wim@fluendo.com>
1633
1634         * check/Makefile.am:
1635         Enable valgrind check that should work fine now.
1636
1637         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1638         * gst/gstqueue.c: (gst_queue_init):
1639         Fix memleaks in pad allocation.
1640
1641 2005-11-16  Andy Wingo  <wingo@pobox.com>
1642
1643         * gst/net/Makefile.am:
1644         * gst/net/gstnet.h: New part of core to hold network elements and
1645         objects. Put in core because it exposes API that applications want
1646         to use. The library is named libgstnet-tempname right now because
1647         of the existing libgstnet in gst-plugins-base. Solution is
1648         probably to rename the one in plugins-base; will file a bug for
1649         the freeze break.
1650
1651         * gst/net/gstnettimeprovider.c: 
1652         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1653         get_time call over the network.
1654
1655         * configure.ac: 
1656         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1657
1658         * check/Makefile.am:
1659         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1660         get additions shortly.
1661
1662 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1663
1664         * gst/gstpad.c: (gst_pad_new_from_static_template):
1665         * gst/gstpad.h:
1666           add gst_pad_new_from_static_template functions
1667         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1668         (gst_check_setup_sink_pad):
1669         * gst/elements/gsttee.c: (gst_tee_init):
1670           and use them
1671
1672 2005-11-16  Wim Taymans  <wim@fluendo.com>
1673
1674         * gst/gstpad.c: (gst_pad_pause_task):
1675         Removed warning, it's not really an error either.
1676
1677 2005-11-16  Wim Taymans  <wim@fluendo.com>
1678
1679         * gst/base/gstbasetransform.c:
1680         (gst_base_transform_prepare_output_buf),
1681         (gst_base_transform_event):
1682         Check if the caps are NULL, this can happen if the element
1683         is shutting down and the pad caps are set to NULL.
1684
1685 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1686
1687         * gst/elements/gsttee.c: (gst_tee_init):
1688           fix pad template leak in tee
1689
1690 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1691
1692         * gst/glib-compat.c: (g_value_dup_gst_object):
1693         * gst/glib-compat.h:
1694         * gst/gstpad.c: (gst_pad_set_property):
1695           use gst_object_ref when setting the pad template; this will
1696           trigger the pad template leaks on GLib 2.6 and the slaves
1697
1698 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1699
1700         * gst/glib-compat.c: (gst_flags_get_first_value):
1701         * gst/glib-compat.h:
1702         * gst/gstregistryxml.c:
1703           remove functions copied from GLib 2.6
1704
1705 2005-11-16  Michael Smith <msmith@fluendo.com>
1706
1707         * gst/Makefile.am:
1708           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1709           do, but only breaks with newer valgrind versions. We're not a
1710           valgrind tool, we have no link-time dependencies on libcoregrind.
1711
1712 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1713
1714         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1715           some debug changes
1716         * gst/gstmessage.h:
1717           typo fixes
1718
1719 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1720
1721         * gst/base/gstbasesrc.c: (gst_base_src_init):
1722         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1723         * gst/gstqueue.c: (gst_queue_init):
1724         * gst/gstregistryxml.c: (load_feature):
1725           Revert all these unrefs, they don't even pass make check !
1726
1727 2005-11-15  Johan Dahlin  <johan@gnome.org>
1728
1729         * gst/base/gstbasesrc.c: (gst_base_src_init):
1730         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1731         * gst/gstqueue.c: (gst_queue_init): 
1732         Free pad templates, fixes a couple of leaks.
1733
1734 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1735
1736         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1737
1738         * gst/gstpad.c: (gst_pad_get_property):
1739           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1740           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1741           (#321452)
1742
1743 2005-11-15  Wim Taymans  <wim@fluendo.com>
1744
1745         * gst/gstevent.c:
1746         Small doc update.
1747
1748 2005-11-15  Andy Wingo  <wingo@pobox.com>
1749
1750         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1751
1752         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1753         using GST_CLOCK_TIME_NONE to disable base time management.
1754         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1755         time if it was NONE before.
1756         (gst_pipeline_change_state): Only munge the base time if
1757         stream_time != GST_CLOCK_TIME_NONE.
1758
1759         * check/gst/gstpipeline.c (test_base_time): Punt around the
1760         problem of the probe not being called, because that's not the
1761         issue I'm looking at. Add a check that setting stream_time to NONE
1762         disables base time management.
1763         
1764 2005-11-15  Wim Taymans  <wim@fluendo.com>
1765
1766         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1767         segment_stop == -1 at startup.
1768
1769         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1770         (gst_base_transform_change_state):
1771         Init segment values at start.
1772
1773 2005-11-15  Wim Taymans  <wim@fluendo.com>
1774
1775         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1776         0 segment values are 0 in any format.
1777
1778         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1779         * gst/base/gstbasetransform.h:
1780         Parse newsegment correctly in basetransform
1781
1782         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1783         Sync to clock using updated segment values.
1784
1785 2005-11-15  Andy Wingo  <wingo@pobox.com>
1786
1787         * check/gst/gstpipeline.c (test_base_time): Add check that the
1788         base time and stream time are reset correctly.
1789
1790 2005-11-15  Wim Taymans  <wim@fluendo.com>
1791
1792         * docs/design/part-TODO.txt:
1793         Some more TODO items.
1794
1795 2005-11-15  Andy Wingo  <wingo@pobox.com>
1796
1797         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1798         error if the user selected "no clock" as the clocking method.
1799
1800         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1801         timestamps with live capture.
1802
1803         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1804         is 0 but we are a live source, timestamp the buffers using the
1805         element's clock.
1806
1807 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1808
1809         * docs/gst/gstreamer-sections.txt:
1810         * gst/gsterror.c:
1811         * gst/gstghostpad.c:
1812         * gst/gstobject.h:
1813         * gst/gstxml.c:
1814           more section docs
1815
1816 2005-11-14  Wim Taymans  <wim@fluendo.com>
1817
1818         * common/gst.supp:
1819           add suppressions from Wim's Debian machine
1820
1821 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1822
1823         * common/gst.supp:
1824           add suppressions from Andy's AMD64 Ubuntu machine
1825
1826 2005-11-14  Andy Wingo  <wingo@pobox.com>
1827
1828         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1829         STATE_LOCK not necessary. Fixes #311489.
1830
1831         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1832         #305291.
1833
1834         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1835         this function is not implemented.
1836
1837 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1838
1839         * gst/base/gstbasetransform.c:
1840         (gst_base_transform_prepare_output_buf):
1841         Ref the source pad caps while we need them.
1842         Fixes (#321386)
1843
1844 2005-11-11  Wim Taymans  <wim@fluendo.com>
1845
1846         * docs/gst/gstreamer-sections.txt:
1847         Added some docs for GstCollectData.
1848
1849         * gst/base/gstadapter.c:
1850         Some small code example fix.
1851
1852         * gst/base/gstcollectpads.c:
1853         * gst/base/gstcollectpads.h:
1854         Document some more.
1855
1856 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1857
1858         * configure.ac: back to HEAD
1859
1860 === release 0.9.5 ===
1861
1862 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1863
1864         * configure.ac:
1865           releasing 0.9.5, "Bike Lunch Day"
1866
1867 2005-11-11  Wim Taymans  <wim@fluendo.com>
1868
1869         * gst/gstbuffer.c: (_gst_buffer_copy):
1870         Copy more flags.
1871
1872         * gst/gstcaps.c: (gst_caps_is_equal):
1873         Fix some docs.
1874         Make _is_equal fast in the trivial cases.
1875
1876         * gst/gstminiobject.c:
1877         * gst/gstminiobject.h:
1878         More docs. Spifify .h file.
1879
1880         * gst/gstutils.c:
1881         Small doc update.
1882
1883 2005-11-11  Wim Taymans  <wim@fluendo.com>
1884
1885         * gst/base/gstbasetransform.c:
1886         (gst_base_transform_prepare_output_buf),
1887         (gst_base_transform_handle_buffer):
1888         Small cleanups.
1889         If we're processing a buffer and need to allocate an output
1890         buffer, we cannot accept a format change. If we did get a 
1891         format change, we have to alloc a buffer ourselves of the 
1892         right size.
1893
1894 2005-11-11  Wim Taymans  <wim@fluendo.com>
1895
1896         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1897         While checking the flag for reentrancy in the gstcaps function
1898         is nice to detect recursive invocations, it also makes it 
1899         impossible to call getcaps from multiple threads, which must be
1900         possible. So, checking for recursive calls has to go.
1901
1902 2005-11-11  Michael Smith <msmith@fluendo.com>
1903
1904         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1905           Don't sync on buffers that fall partially outside our current
1906           segment. Prevents an assertion failure/abort playing some files.
1907
1908 2005-11-10  Andy Wingo  <wingo@pobox.com>
1909
1910         * check/gst/gstbin.c (test_message_state_changed_children): Style
1911         fix..
1912
1913         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1914         gst_bus_poll with the signal watch. Ensures that poll and a signal
1915         watch see the same messages.
1916
1917         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1918         a poll and a watch at the same time get the same messages.
1919
1920 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1921
1922         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1923         * gst/gstcaps.c: (gst_caps_intersect):
1924           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1925           and it's not needed.
1926
1927 2005-11-10  Wim Taymans  <wim@fluendo.com>
1928
1929         * docs/design/part-TODO.txt:
1930         Updated todo.
1931
1932 2005-11-10  Wim Taymans  <wim@fluendo.com>
1933
1934         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1935         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1936         (gst_base_src_do_sync), (gst_base_src_get_range):
1937         Implement clock sync in base class.
1938
1939 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1940
1941         patch by: Tim-Philipp Müller <tim at centricular dot net>
1942
1943         * gst/gststructure.c: (gst_structure_parse_field),
1944         (gst_structure_from_string):
1945           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1946           so that gst_parse_launch() can deal with spaces in filtered link
1947           caps (fixes #164479)
1948         * check/gst/capslist.h:
1949         * check/gst/gststructure.c: (GST_START_TEST):
1950           add unit tests for this change
1951
1952 2005-11-10  Wim Taymans  <wim@fluendo.com>
1953
1954         * docs/gst/gstreamer-sections.txt:
1955         * gst/gstelement.c:
1956         * gst/gstelement.h:
1957         Fix docs, move some STATE macros to private.
1958
1959 2005-11-10  Wim Taymans  <wim@fluendo.com>
1960
1961         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1962         Added check for bug #317341
1963
1964         * gst/gstbuffer.c:
1965         * gst/gstbuffer.h:
1966         Some more spiffifying.
1967
1968         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1969         Call peer linkfunction if we are a source pad. Totally fixes
1970         #317341
1971
1972         * gst/gstpad.c:
1973         Update docs, source pads should call the peer linkfunction
1974         so they can atomically perform the pad link.
1975
1976 2005-11-09  Wim Taymans  <wim@fluendo.com>
1977
1978         * gst/gstbuffer.c:
1979         * gst/gstbuffer.h:
1980         Uber-spiffy-spiffify some more.
1981
1982 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1983
1984         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1985         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1986         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1987         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1988         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1989         * gst/gstpad.c: (gst_pad_init):
1990           Use GST_DEBUG_FUNCPTR() more extensively.
1991
1992 2005-11-09  Wim Taymans  <wim@fluendo.com>
1993
1994         * gst/gstobject.c: (gst_object_class_init):
1995         * gst/gstobject.h:
1996         Documentation fixes.
1997
1998 2005-11-09  Edward Hervey  <edward@fluendo.com>
1999
2000         * gst/gsttypefindfactory.c:
2001         Fix docs.
2002         
2003 2005-11-09  Edward Hervey  <edward@fluendo.com>
2004
2005         * gst/base/gsttypefindhelper.c:
2006         * gst/gsttypefind.c:
2007         * gst/gsttypefind.h:
2008         Fix docs.
2009
2010 2005-11-09  Wim Taymans  <wim@fluendo.com>
2011
2012         * gst/gstiterator.c:
2013         Fix revision data.
2014
2015         * gst/gsttask.c:
2016         * gst/gsttask.h:
2017         Fix docs.
2018
2019 2005-11-09  Wim Taymans  <wim@fluendo.com>
2020
2021         * gst/gstevent.h:
2022         * gst/gsturi.h:
2023         Fix docs.
2024
2025 2005-11-09  Wim Taymans  <wim@fluendo.com>
2026
2027         * docs/gst/gstreamer-sections.txt:
2028         Moved the message async delivery private lock and cond
2029         to the private section.
2030
2031         * gst/gstmessage.c:
2032         * gst/gstmessage.h:
2033         Fixed docs.
2034
2035 2005-11-09  Edward Hervey  <edward@fluendo.com>
2036
2037         * docs/gst/gstreamer-sections.txt:
2038         * gst/gsturi.c:
2039         * gst/gsturi.h:
2040         Document GstURIHandler
2041
2042 2005-11-09  Wim Taymans  <wim@fluendo.com>
2043
2044         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2045         (gst_iterator_find_custom):
2046         * gst/gstiterator.h:
2047         Fix iterator docs.
2048
2049 2005-11-09  Wim Taymans  <wim@fluendo.com>
2050
2051         * gst/gstbin.h:
2052         Document another field.
2053
2054         * gst/gststructure.c:
2055         * gst/gststructure.h:
2056         Document.
2057
2058 2005-11-09  Wim Taymans  <wim@fluendo.com>
2059
2060         * gst/gstbin.h:
2061         Documented structs.
2062
2063 2005-11-09  Wim Taymans  <wim@fluendo.com>
2064
2065         * docs/gst/gstreamer-sections.txt:
2066         Added some new macros.
2067
2068         * gst/gstclock.c:
2069         * gst/gstclock.h:
2070         * gst/gstobject.h:
2071         Docs updates.
2072
2073 2005-11-09  Wim Taymans  <wim@fluendo.com>
2074
2075         * docs/design/part-TODO.txt:
2076         Some more items for the TODO
2077
2078         * gst/gstcaps.c:
2079         * gst/gstcaps.h:
2080         Document GstCaps.
2081
2082 2005-11-09  Andy Wingo  <wingo@pobox.com>
2083
2084         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2085         to work on something else now tho...
2086
2087         * gst/base/gstadapter.c: More adapter docs.
2088
2089         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2090         (gst_file_sink_stop): New functions, replace the state change
2091         handler.
2092         (gst_file_sink_class_init): Hook up the start and stop functions.
2093         (gst_file_sink_base_init): Don't set the state change handler any
2094         more. It was a bit ugly too, being set from here...
2095         (gst_file_sink_get_property, gst_file_sink_set_property):
2096         Cleanups...
2097         (gst_file_sink_set_location): More robust check that doesn't call
2098         GST_STATE. Ugggggg.
2099
2100 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2101
2102         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2103           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2104
2105 2005-11-08  Wim Taymans  <wim@fluendo.com>
2106
2107         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2108         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2109         (gst_base_sink_chain), (gst_base_sink_change_state):
2110         * gst/base/gstbasesink.h:
2111         * gst/base/gstbasesrc.h:
2112         * gst/gstelement.h:
2113         * gst/gstevent.h:
2114         Avoid excessive typechecking in macros.
2115
2116         * gst/gstminiobject.c: (gst_mini_object_get_type),
2117         (gst_mini_object_init), (gst_mini_object_new),
2118         (gst_mini_object_free):
2119         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2120         (gst_object_finalize):
2121         Remove cruft code, optimize alloc_trace.
2122
2123 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2124
2125         * docs/faq/gst-uninstalled:
2126           fix up PS1 for systems that try to reset it
2127
2128 2005-11-07  Wim Taymans  <wim@fluendo.com>
2129
2130         * gst/base/gstbasesrc.c: (gst_base_src_init),
2131         (gst_base_src_get_range):
2132         Set the segment_end to -1 initially. Fixed typefind.
2133
2134 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2135
2136         * gst/base/gstadapter.c:
2137           Debug category should be 'adapter', not 'GstAdapter'.
2138           
2139         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2140         (gst_collectpads_class_init), (gst_collectpads_init),
2141         (gst_collectpads_peek), (gst_collectpads_pop),
2142         (gst_collectpads_event), (gst_collectpads_chain):
2143           Add debug category and some debugging output. Use boilerplate
2144           macros. Remove some extraneous words from docs.
2145
2146 2005-11-05  Andy Wingo  <wingo@pobox.com>
2147
2148         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2149         macro.
2150
2151 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2152
2153         * docs/gst/gstreamer-sections.txt:
2154         * gst/gstcaps.h:
2155         * gst/gstinfo.c:
2156         * gst/gstminiobject.h:
2157         * gst/gstobject.h:
2158         * gst/gstutils.h:
2159           more docs added
2160
2161 2005-11-04  Wim Taymans  <wim@fluendo.com>
2162
2163         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2164         Small update to stop at the configured segment_end
2165         position.
2166
2167 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2168
2169         * gst/gstregistry.c:
2170         * gst/gstregistry.h:
2171           added missing docs
2172
2173 2005-11-04  Edward Hervey  <edward@fluendo.com>
2174
2175         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2176         Check if we are doing a segment seek and have arrived at the
2177         end of that segment.
2178
2179 2005-11-04  Wim Taymans  <wim@fluendo.com>
2180
2181         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2182         Don't leak a mutex unlock in case of an error.
2183
2184         * gst/gstbus.h:
2185         Doc fixes.
2186
2187 2005-11-04  Wim Taymans  <wim@fluendo.com>
2188
2189         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2190         (gst_bus_post):
2191         Get the context to wake up only once.
2192
2193 2005-11-03  Wim Taymans  <wim@fluendo.com>
2194
2195         * check/states/sinks.c: (GST_START_TEST):
2196         Uncomment fixed check.
2197
2198         * docs/design/part-TODO.txt:
2199         Updated TODO.
2200
2201         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2202         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2203         (gst_base_sink_get_position):
2204         If we are going to PLAYING, post the right pending state
2205         when we post the intermediate paused message.
2206
2207         * gst/gstelement.c: (gst_element_continue_state),
2208         (gst_element_set_state_func), (gst_element_change_state):
2209         Don't post state changes that were between the same state
2210         and were not ASYNC.
2211
2212 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2213
2214         * docs/gst/gstreamer-sections.txt:
2215         * gst/gstcaps.h:
2216         * gst/gstinfo.c:
2217         * gst/gstminiobject.h:
2218         * gst/gstobject.h:
2219         * gst/gstutils.h:
2220           more docs and doc style fixes
2221
2222 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2223
2224         * docs/gst/gstreamer-sections.txt:
2225         * gst/gstelement.c:
2226         * gst/gstminiobject.c:
2227         doc fixes
2228
2229 2005-11-03  Andy Wingo  <wingo@pobox.com>
2230
2231         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2232         state-changed messages actually have the right order and the right
2233         values.
2234
2235 2005-11-03  Wim Taymans  <wim@fluendo.com>
2236
2237         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2238         Added some more checks. Specifically the case where NO_PREROLL
2239         elements are in the pipeline.
2240
2241         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2242         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2243         (gst_base_sink_get_position):
2244         Post READY->PAUSED state change messages too.
2245         Fix bug where VOID was posted as pending state...
2246
2247         * gst/gstbin.c: (gst_bin_recalc_state):
2248         use _element_continue_state() to continue the state change.
2249
2250         * gst/gstelement.c: (gst_element_continue_state),
2251         (gst_element_commit_state), (gst_element_set_state_func),
2252         (gst_element_change_state), (gst_element_change_state_func):
2253         Lots of state change cleanups, assign the STATE_RETURN in
2254         a new continue_state() function that also propagates the
2255         last return value from a state change to the app.
2256         Update some debug statements with proper category.
2257
2258 2005-11-03  Wim Taymans  <wim@fluendo.com>
2259
2260         * docs/design/part-events.txt:
2261         * docs/design/part-gstpipeline.txt:
2262         * docs/design/part-messages.txt:
2263         * docs/design/part-overview.txt:
2264         * docs/design/part-seeking.txt:
2265         * docs/design/part-states.txt:
2266         * docs/design/part-trickmodes.txt:
2267         * docs/manual/advanced-position.xml:
2268         Small docs updates.
2269
2270         * gst/gstobject.h:
2271         People think !! is ugly, this looks better.
2272
2273         * gst/gstpad.c: (gst_pad_set_blocked_async):
2274         Remove !! since it's fixed elsewhere now.
2275
2276 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2277
2278         * gst/gstminiobject.h:
2279         * gst/gstobject.h:
2280           Add !! to _FLAG_IS_SET macros to make the result boolean.
2281
2282 2005-11-03  Edward Hervey  <edward@fluendo.com>
2283
2284         * gst/gstpad.c: (gst_pad_set_blocked_async):
2285         comparing a flag and a gboolean rarely returns coherent results...
2286         Added two characters (!!) to make that work correctly.
2287         
2288 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2289
2290         * gst/gstbus.c: (gst_bus_class_init):
2291           Fix some typos.
2292           
2293         * gst/gstqueue.c: (gst_queue_loop):
2294           Don't assume a miniobject that isn't a buffer is an
2295           event (it could be that there is a refcounting
2296           problem somewhere and the pointer is stale and
2297           refers to an already destroyed miniobject).
2298
2299 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2300
2301         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2302
2303 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2304
2305         * docs/manual/advanced-position.xml:
2306           Update seek example and explanations to current 0.9 API.
2307
2308         * gst/elements/gsttypefindelement.c:
2309         (gst_type_find_element_activate):
2310           Remove FIXME comment now that the found caps
2311           are unreffed.
2312
2313 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2314
2315         * gst/gstregistryxml.c: (load_feature):
2316           Add another GST_STR_NULL instance
2317
2318 2005-11-02  Edward Hervey  <edward@fluendo.com>
2319
2320         * gst/gstpad.c: (handle_pad_block):
2321         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2322         
2323 2005-11-02  Wim Taymans  <wim@fluendo.com>
2324
2325         * gst/gstbin.c:
2326         Fix typo in docs.
2327
2328         * gst/gstelement.c: (gst_element_commit_state):
2329         Remove unused value.
2330
2331         * gst/gstiterator.c:
2332         Mention that the returned element is reffed in the docs.
2333
2334 2005-11-02  Wim Taymans  <wim@fluendo.com>
2335
2336         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2337         (gst_pad_push), (gst_pad_push_event):
2338         Unlock blocked pads when they are flushed.
2339
2340 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2341
2342         * docs/README:
2343         * docs/gst/gstreamer-sections.txt:
2344         * gst/gstbin.c:
2345           doc updates
2346         * gst/gstregistry.c: (gst_registry_scan_path_level):
2347           fix for a nasty little missed situation where an installed plug-in
2348           which was in the cache did not get overridden by an uninstalled one
2349           which was earlier in the plugin path because the newly created plugin
2350           for the uninstalled one (not in the registry) didn't get its
2351           ->registered set to TRUE
2352
2353 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2354
2355         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2356         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2357         (gst_collectpads_is_active), (gst_collectpads_collect),
2358         (gst_collectpads_collect_range), (gst_collectpads_start),
2359         (gst_collectpads_stop), (gst_collectpads_peek),
2360         (gst_collectpads_pop), (gst_collectpads_available),
2361         (gst_collectpads_read), (gst_collectpads_flush):
2362           Guard public API with assertions.
2363         
2364         * gst/gstpad.c:
2365           Fix docs for gst_pad_set_link_function().
2366
2367 2005-11-02  Johan Dahlin  <johan@gnome.org>
2368
2369         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2370         Unref found_caps after we used it.
2371
2372 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2373
2374         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2375           Don't try to ref NULL.
2376
2377 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2378
2379         * win32/common/config.h.in:
2380           provide a GST_FUNCTION that just gives a string for now
2381
2382 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2383
2384         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2385         (gst_object_flags_get_type), (register_gst_bin_flags),
2386         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2387         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2388         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2389         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2390         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2391         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2392         (gst_clock_flags_get_type), (register_gst_state),
2393         (gst_state_get_type), (register_gst_state_change_return),
2394         (gst_state_change_return_get_type), (register_gst_state_change),
2395         (gst_state_change_get_type), (register_gst_element_flags),
2396         (gst_element_flags_get_type), (register_gst_core_error),
2397         (gst_core_error_get_type), (register_gst_library_error),
2398         (gst_library_error_get_type), (register_gst_resource_error),
2399         (gst_resource_error_get_type), (register_gst_stream_error),
2400         (gst_stream_error_get_type), (register_gst_event_type),
2401         (gst_event_type_get_type), (register_gst_seek_type),
2402         (gst_seek_type_get_type), (register_gst_seek_flags),
2403         (gst_seek_flags_get_type), (register_gst_format),
2404         (gst_format_get_type), (register_gst_index_certainty),
2405         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2406         (gst_index_entry_type_get_type),
2407         (register_gst_index_lookup_method),
2408         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2409         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2410         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2411         (gst_index_flags_get_type), (register_gst_debug_level),
2412         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2413         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2414         (gst_iterator_result_get_type), (register_gst_iterator_item),
2415         (gst_iterator_item_get_type), (register_gst_message_type),
2416         (gst_message_type_get_type), (register_gst_mini_object_flags),
2417         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2418         (gst_pad_link_return_get_type), (register_gst_flow_return),
2419         (gst_flow_return_get_type), (register_gst_activate_mode),
2420         (gst_activate_mode_get_type), (register_gst_pad_direction),
2421         (gst_pad_direction_get_type), (register_gst_pad_flags),
2422         (gst_pad_flags_get_type), (register_gst_pad_presence),
2423         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2424         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2425         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2426         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2427         (gst_plugin_flags_get_type), (register_gst_rank),
2428         (gst_rank_get_type), (register_gst_query_type),
2429         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2430         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2431         (gst_tag_flag_get_type), (register_gst_task_state),
2432         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2433         (gst_alloc_trace_flags_get_type),
2434         (register_gst_type_find_probability),
2435         (gst_type_find_probability_get_type), (register_gst_uri_type),
2436         (gst_uri_type_get_type), (register_gst_parse_error),
2437         (gst_parse_error_get_type):
2438         * win32/common/gstversion.h:
2439           update win32 copies
2440
2441 2005-11-01  Luca Ognibene  <luogni@tin.it>
2442
2443         * gst/gst.c:
2444           fix docs. popt is dead, long live GOption.
2445
2446 2005-10-31  Wim Taymans  <wim@fluendo.com>
2447
2448         * gst/gstbuffer.h:
2449         Small doc fix.
2450
2451 2005-10-31  Andy Wingo  <wingo@pobox.com>
2452
2453         * Boo!
2454
2455         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2456
2457         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2458         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2459         the possibility of deadlocks here if code calling notify() or
2460         set() has a lock that can be taken in another notify handler (ABBA
2461         with class lock and e.g. python GIL state lock).
2462
2463 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2464
2465         * gst/gstbus.c: Doc updates.
2466
2467 2005-10-28  Wim Taymans  <wim@fluendo.com>
2468
2469         * docs/design/part-TODO.txt:
2470         * gst/gstiterator.c:
2471         * gst/gstsystemclock.c:
2472         * gst/gstsystemclock.h:
2473         Doc updates.
2474
2475 2005-10-28  Edward Hervey  <edward@fluendo.com>
2476
2477         * docs/gst/gstreamer-docs.sgml:
2478         * docs/gst/gstreamer-sections.txt:
2479         the GstURIType documentation page is private, it only defines GstURIType
2480         which should be defined in the GstURIHandler page
2481         
2482 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2483
2484         * gst/gstbin.c: (gst_bin_class_init):
2485         * gst/gstbin.h:
2486         * gst/gstutils.c:
2487         Documentation updates.
2488
2489 2005-10-28  Wim Taymans  <wim@fluendo.com>
2490
2491         * docs/gst/gstreamer-sections.txt:
2492         * gst/gstclock.c:
2493         * gst/gstclock.h:
2494         Documented the clocks.
2495
2496 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2497
2498         * docs/gst/gstreamer-sections.txt:
2499           move some macros to private sections
2500         * gst/gstminiobject.c:
2501         * gst/gstminiobject.h:
2502           add descriptions provided by ds and some more
2503         * gst/gstpad.h:
2504           mark macro as to be removed
2505
2506 2005-10-28  Wim Taymans  <wim@fluendo.com>
2507
2508         * docs/design/part-TODO.txt:
2509         Add an item to TODO.
2510
2511         * gst/gstiterator.c: (gst_iterator_fold),
2512         (gst_iterator_find_custom):
2513         * gst/gstiterator.h:
2514         Add iterator docs.
2515
2516 2005-10-28  Wim Taymans  <wim@fluendo.com>
2517
2518         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2519         (gst_base_transform_init):
2520         Don't leak class.
2521
2522         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2523         An EOS event marks the queue as completely filled.
2524
2525 2005-10-27  Wim Taymans  <wim@fluendo.com>
2526
2527         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2528         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2529         Some more debugging.
2530
2531         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2532         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2533         (gst_base_transform_event), (gst_base_transform_getrange),
2534         (gst_base_transform_chain):
2535         * gst/base/gstbasetransform.h:
2536         Fix debugging,
2537         Protect transform and concurrent buffer alloc with a new lock.
2538         Try not to break ABI/API.
2539
2540 2005-10-27  Wim Taymans  <wim@fluendo.com>
2541
2542         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2543         (gst_base_src_init), (gst_base_src_query),
2544         (gst_base_src_default_newsegment),
2545         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2546         (gst_base_src_send_event), (gst_base_src_event_handler),
2547         (gst_base_src_pad_get_range), (gst_base_src_loop),
2548         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2549         (gst_base_src_start), (gst_base_src_deactivate),
2550         (gst_base_src_activate_push), (gst_base_src_change_state):
2551         Move some stuff around and cleanup things.
2552
2553 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2554
2555         * gst/base/gstbasesrc.c: (gst_base_src_query):
2556           Add missing break statements.
2557
2558 2005-10-27  Wim Taymans  <wim@fluendo.com>
2559
2560         * check/gst/gstbin.c: (GST_START_TEST):
2561         An extra refcount is taken in basesrc.
2562
2563         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2564         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2565         (gst_base_src_loop):
2566         Small cleanups, check for flushing after being unlocked from the 
2567         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2568         Don't send out EOS when going to READY.
2569
2570 2005-10-27  Wim Taymans  <wim@fluendo.com>
2571
2572         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2573         (gst_base_sink_get_position):
2574         Some more debug.
2575
2576         * gst/gstbin.c: (message_check), (bin_replace_message),
2577         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2578         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2579         (bin_query_duration_init), (bin_query_duration_fold),
2580         (bin_query_duration_done), (bin_query_generic_fold),
2581         (gst_bin_query):
2582         * tools/gst-launch.c: (main):
2583         Remove old option.
2584
2585 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2586
2587         * examples/controller/audio-example.c: (main):
2588         * examples/queue/queue.c: (event_loop):
2589         * gst/base/gstbasetransform.h:
2590         * gst/gstelement.c: (gst_element_send_event):
2591         * gst/gstevent.h:
2592         * gst/gstpad.c: (gst_pad_send_event):
2593           fixing examples
2594           fixing docs typos
2595           changing log priority in error situations
2596
2597 2005-10-25  Wim Taymans  <wim@fluendo.com>
2598
2599         * gst/gstbin.c: (message_check), (bin_replace_message),
2600         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2601         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2602         (bin_query_duration_init), (bin_query_duration_fold),
2603         (bin_query_duration_done), (bin_query_generic_fold),
2604         (gst_bin_query):
2605         Some doc and debug updates.
2606         Cache previously requested query DURATION for speed. invalidate
2607         cached duration if element posts a DURATION message.
2608
2609 2005-10-25  Wim Taymans  <wim@fluendo.com>
2610
2611         * docs/design/part-TODO.txt:
2612         Update TODO.
2613
2614         * gst/gstbin.c: (message_check), (bin_replace_message),
2615         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2616         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2617         (bin_query_duration_init), (bin_query_duration_fold),
2618         (bin_query_duration_done), (bin_query_generic_fold),
2619         (gst_bin_query):
2620         Handle SEGMENT_START/DONE messages correctly.
2621         More evolved query algorithm that handles duration queries
2622         correctly.
2623
2624         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2625         (gst_element_get_state_func), (gst_element_abort_state),
2626         (gst_element_commit_state), (gst_element_lost_state):
2627         Some more debugging.
2628
2629         * gst/gstmessage.h:
2630         Added doc.
2631
2632 2005-10-25  Wim Taymans  <wim@fluendo.com>
2633
2634         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2635         Don't use invalid stream_time.
2636
2637         * gst/gstevent.c: (gst_event_new_newsegment):
2638         stream_time in newsegment cannot be undefined.
2639
2640 2005-10-24  Wim Taymans  <wim@fluendo.com>
2641
2642         * gst/gstbus.c:
2643         Doc fix.
2644
2645         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2646         (gst_queue_loop):
2647         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2648
2649 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2650
2651         * docs/libs/tmpl/gstdparam.sgml:
2652         * docs/libs/tmpl/gstdplinint.sgml:
2653         * docs/libs/tmpl/gstdpman.sgml:
2654         * docs/libs/tmpl/gstdpsmooth.sgml:
2655         * docs/libs/tmpl/gstunitconvert.sgml:
2656           these are obsolete
2657
2658 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2659
2660         * configure.ac:
2661           back to HEAD
2662
2663 === release 0.9.4 ===
2664
2665 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2666
2667         * configure.ac:
2668           releasing 0.9.4, "Tyrannosaurus Rex"
2669
2670 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2671
2672         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2673         (gst_file_sink_get_current_offset):
2674           Use fseeko() and ftello() if available. When falling back on
2675           lseek() to get the current offset, fflush() first to make sure
2676           everything is up-to-date and we get the right offset.
2677
2678 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2679
2680         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2681         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2682         * gst/gsterror.c: (_gst_stream_errors_init):
2683         * gst/gsterror.h:
2684         * gst/gstqueue.c: (gst_queue_loop):
2685         * po/POTFILES.in:
2686           remove prematurely added error category and clean up the instances
2687
2688 2005-10-21  Wim Taymans  <wim@fluendo.com>
2689
2690         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2691         (gst_base_sink_get_position), (gst_base_sink_query),
2692         (gst_base_sink_change_state):
2693         Simply set the right flag when going to playing, that's all
2694         we need to do instead of calling a function inside the object
2695         lock (that could take the lock as well and deadlock)
2696
2697 2005-10-21  Wim Taymans  <wim@fluendo.com>
2698
2699         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2700         (gst_base_src_loop):
2701         Don't warn, the peer element knows what to do best when
2702         the seek failed, it might try something else.
2703
2704 2005-10-21  Wim Taymans  <wim@fluendo.com>
2705
2706         * gst/base/gstbasesrc.c: (gst_base_src_init),
2707         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2708         Fix seeking.
2709
2710 2005-10-21  Wim Taymans  <wim@fluendo.com>
2711
2712         * docs/design/part-segments.txt:
2713         More docs.
2714
2715         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2716         Correctly set caps, even on the subbufer.
2717
2718 2005-10-21  Wim Taymans  <wim@fluendo.com>
2719
2720         * docs/gst/gstreamer-docs.sgml:
2721         * docs/gst/gstreamer-sections.txt:
2722         * gst/gstelement.h:
2723         * gst/gstevent.c:
2724         * gst/gstevent.h:
2725         * gst/gstmessage.h:
2726         * gst/gstpad.h:
2727         * gst/gstparse.h:
2728         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2729         * gst/gsttask.h:
2730         * gst/gstutils.c:
2731         * gst/gstutils.h:
2732         And 2% more doc coverage.
2733
2734 2005-10-21  Andy Wingo  <wingo@pobox.com>
2735
2736         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2737         position reporting.
2738
2739 2005-10-20  Wim Taymans  <wim@fluendo.com>
2740
2741         * gst/gsterror.c: (gst_error_get_message):
2742         * gst/gstparse.h:
2743         * gst/gstquery.h:
2744         * gst/gststructure.c:
2745         * gst/gsttrace.c:
2746         * gst/gstutils.c:
2747         More docs.
2748
2749 2005-10-20  Wim Taymans  <wim@fluendo.com>
2750
2751         * gst/gstbuffer.h:
2752         * gst/gstpad.c:
2753         * gst/gstparse.c:
2754         Another 1% more coverage.
2755
2756 2005-10-20  Wim Taymans  <wim@fluendo.com>
2757
2758         * docs/gst/gstreamer-sections.txt:
2759         * gst/gstelement.c: (gst_element_get_state_func),
2760         (gst_element_abort_state), (gst_element_commit_state),
2761         (gst_element_lost_state):
2762         * gst/gstevent.h:
2763         * gst/gstquery.c: (gst_query_set_position),
2764         (gst_query_parse_position), (gst_query_set_duration),
2765         (gst_query_parse_duration), (gst_query_new_convert):
2766         * gst/gstutils.c:
2767         Yay! 1% more docs coverage.
2768
2769 2005-10-20  Wim Taymans  <wim@fluendo.com>
2770
2771         * gst/gstpad.h:
2772         * gst/gstquery.c: (gst_query_set_position),
2773         (gst_query_parse_position), (gst_query_set_duration),
2774         (gst_query_parse_duration), (gst_query_new_convert):
2775         * gst/gstquery.h:
2776         * gst/gstutils.c: (gst_element_query_convert):
2777         * gst/gstutils.h:
2778         Docs and consistency fixes.
2779
2780 2005-10-20  Wim Taymans  <wim@fluendo.com>
2781
2782         * gst/gsttask.c:
2783         * gst/gsttask.h:
2784         More docs.
2785
2786 2005-10-20  Wim Taymans  <wim@fluendo.com>
2787
2788         * gst/gstbin.c: (message_check), (bin_replace_message),
2789         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2790         (update_degree), (gst_bin_sort_iterator_next),
2791         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2792         Reworked the message handling a bit, cache the messages instead of
2793         only the senders. alows us to do more in the future.
2794
2795 2005-10-20  Wim Taymans  <wim@fluendo.com>
2796
2797         * docs/design/part-TODO.txt:
2798         Update TODO
2799
2800         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2801         (gst_base_sink_query):
2802         Don't use clock time to report position when in EOS.
2803
2804 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2805
2806         * tools/gst-inspect.c: (print_interfaces),
2807         (print_element_properties_info), (print_element_info):
2808           Fix interface output with gst-inspect -a; don't print
2809           newlines after double/float properties.
2810
2811 2005-10-20  Wim Taymans  <wim@fluendo.com>
2812
2813         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2814         (gst_base_sink_query):
2815         Speed up current position calculation.
2816
2817         * gst/base/gstbasesrc.c: (gst_base_src_query),
2818         (gst_base_src_default_newsegment):
2819         Correctly set stream position in newsegment.
2820
2821         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2822         (update_degree), (gst_bin_sort_iterator_next),
2823         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2824         * gst/gstmessage.c: (gst_message_new_custom):
2825         Clean up debugging info
2826
2827         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2828         (gst_queue_loop), (gst_queue_handle_src_query):
2829         Pause task faster.
2830
2831 2005-10-19  Wim Taymans  <wim@fluendo.com>
2832
2833         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2834         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2835         Fix query handling again.
2836
2837 2005-10-19  Wim Taymans  <wim@fluendo.com>
2838
2839         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2840         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2841         * gst/base/gstbasesrc.c: (gst_base_src_query):
2842         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2843         * gst/elements/gsttypefindelement.c:
2844         (gst_type_find_handle_src_query), (find_element_get_length),
2845         (gst_type_find_element_activate):
2846         API change fix.
2847
2848         * gst/gstquery.c: (gst_query_new_position),
2849         (gst_query_set_position), (gst_query_parse_position),
2850         (gst_query_new_duration), (gst_query_set_duration),
2851         (gst_query_parse_duration), (gst_query_set_segment),
2852         (gst_query_parse_segment):
2853         * gst/gstquery.h:
2854         Bundling query position/duration is not a good idea since duration
2855         does not change much and we don't want to recalculate it for every
2856         position query, so they are separated again..
2857         Base value in segment query is not needed.
2858
2859         * gst/gstqueue.c: (gst_queue_handle_src_query):
2860         * gst/gstutils.c: (gst_element_query_position),
2861         (gst_element_query_duration), (gst_pad_query_position),
2862         (gst_pad_query_duration):
2863         * gst/gstutils.h:
2864         Updates for query API change.
2865         Added some docs here and there.
2866
2867 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2868
2869         * check/gst/gstbin.c: (GST_START_TEST):
2870         * check/gst/gstghostpad.c: (GST_START_TEST):
2871         * check/pipelines/cleanup.c: (GST_START_TEST):
2872           wait on thread to die so we can check refcount correctly
2873
2874 2005-10-18  Wim Taymans  <wim@fluendo.com>
2875
2876         * check/pipelines/stress.c: (GST_START_TEST):
2877         Make check a little more time consuming.
2878
2879 2005-10-18  Wim Taymans  <wim@fluendo.com>
2880
2881         * check/Makefile.am:
2882         * check/pipelines/stress.c: (GST_START_TEST),
2883         (simple_launch_lines_suite), (main):
2884         Small state change torture test.
2885
2886         * docs/design/part-states.txt:
2887         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2888         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2889         (gst_base_sink_change_state):
2890         Never take state lock from streaming thread, clean up ugly
2891         hacks. Unfortunatly core does not yet support nice ways to
2892         async commit state.
2893         
2894         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2895         (bin_bus_handler):
2896         Start state recalc if a STATE_DIRTY message is posted, but only
2897         on the toplevel bin.
2898
2899         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2900         (gst_element_get_state_func), (gst_element_abort_state),
2901         (gst_element_commit_state), (gst_element_lost_state),
2902         (gst_element_set_state_func), (gst_element_change_state):
2903         * gst/gstelement.h:
2904         State variables are now protected with the LOCK, the state
2905         lock is only used to serialize _set_state().
2906
2907 2005-10-18  Wim Taymans  <wim@fluendo.com>
2908
2909         * check/gst/gstbin.c: (GST_START_TEST):
2910         * check/gst/gstmessage.c: (GST_START_TEST):
2911         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2912         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2913         (bin_bus_handler):
2914         * gst/gstelement.c: (gst_element_abort_state),
2915         (gst_element_commit_state), (gst_element_lost_state):
2916         * gst/gstmessage.c: (gst_message_new_state_changed),
2917         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2918         (gst_message_new_segment_done), (gst_message_new_duration),
2919         (gst_message_parse_state_changed),
2920         (gst_message_parse_segment_start),
2921         (gst_message_parse_segment_done), (gst_message_parse_duration):
2922         * gst/gstmessage.h:
2923         * tools/gst-launch.c: (event_loop):
2924         Seriously, this is better than a previous commit as we only need
2925         to notify the fact that an element changed state in a streaming
2926         thread, marking the state of the parents dirty, hence the 
2927         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2928         message.
2929
2930 2005-10-18  Wim Taymans  <wim@fluendo.com>
2931
2932         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2933         (gst_bin_recalc_func):
2934         * gst/gstelement.c: (gst_element_set_clock),
2935         (gst_element_abort_state), (gst_element_lost_state):
2936         Cleanups, prepare for state change fixes.
2937
2938 2005-10-18  Wim Taymans  <wim@fluendo.com>
2939
2940         * gst/gstbin.h:
2941         * gst/gstelement.c: (gst_element_class_init),
2942         (gst_element_set_state), (gst_element_set_state_func):
2943         * gst/gstelement.h:
2944         Pending ABI changes.
2945         GThreadPool in GstBinClass to monitor async state changes.
2946         state_cookie in GstElement to detect concurrent gst/set state.
2947         set_state is now virtual too in case a very complicated element
2948         has to be constructed.
2949
2950 2005-10-18  Wim Taymans  <wim@fluendo.com>
2951
2952         * check/gst/gstbin.c: (GST_START_TEST):
2953         * check/gst/gstmessage.c: (GST_START_TEST):
2954         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2955         * gst/gstbin.c: (bin_bus_handler):
2956         * gst/gstelement.c: (gst_element_commit_state),
2957         (gst_element_lost_state):
2958         * gst/gstmessage.c: (gst_message_new_state_changed),
2959         (gst_message_new_segment_start), (gst_message_new_segment_done),
2960         (gst_message_new_duration), (gst_message_parse_state_changed),
2961         (gst_message_parse_segment_start),
2962         (gst_message_parse_segment_done), (gst_message_parse_duration):
2963         * gst/gstmessage.h:
2964         * tools/gst-launch.c: (event_loop):
2965         Make messages future proof.
2966         state-change gets a flag if it was a message comming from the
2967         streaming thread.
2968         segment-start/stop can also be specified in other formats.
2969         A message to notify an app that a pipeline changed playback 
2970         duration.
2971         Also fix a GstMessage leak in -launch
2972
2973 2005-10-18  Andy Wingo  <wingo@pobox.com>
2974
2975         * gst/gstelement.c (gst_element_dispose): More helpful message.
2976
2977 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2978
2979         reviewed by: <delete if not using a buddy>
2980
2981         * common/gtk-doc.mak:
2982
2983 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2984
2985         * gst/gstregistry.c: (gst_registry_scan_path_level):
2986           unref a plug-in we get that was already initialized
2987
2988 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2989
2990         * docs/gst/gstreamer-sections.txt:
2991         * docs/libs/gstreamer-libs-sections.txt:
2992         * gst/gstelement.h:
2993           add new api entries
2994           hide internal macro
2995
2996 2005-10-17  Andy Wingo  <wingo@pobox.com>
2997
2998         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2999         cleanup.
3000
3001         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3002
3003         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3004
3005         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3006         (gst_element_get_state_func): Better debug message.
3007         (gst_element_commit_state): s/INFO/DEBUG/.
3008         (gst_element_lost_state, gst_element_change_state): 
3009
3010         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3011         (gst_message_new_custom): s/INFO/LOG/.
3012
3013 2005-10-17  Michael Smith <msmith@fluendo.com>
3014
3015         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3016           Check if end time is valid using end time, not start time.
3017
3018 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3019
3020         * check/gst-libs/controller.c: (GST_START_TEST),
3021         (gst_controller_suite):
3022         * libs/gst/controller/gstcontroller.c:
3023         (gst_controlled_property_set_interpolation_mode):
3024         * libs/gst/controller/gstcontroller.h:
3025         * libs/gst/controller/gstinterpolation.c:
3026         * testsuite/controller/.cvsignore:
3027         * testsuite/controller/Makefile.am:
3028         * testsuite/controller/interpolator.c:
3029           merge controller testsuites
3030           fix broken tests
3031           remove mem-chunk from docs
3032
3033 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3034
3035         * gst/gstmemchunk.c:
3036         * gst/gstmemchunk.h:
3037         * gst/gsttrashstack.c:
3038         * gst/gsttrashstack.h:
3039           out.  get out.  you're fired.  to the Attic !
3040
3041 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3042
3043         * gst/gstcaps.c: (gst_caps_intersect):
3044           fix signedness issues in a (hopefully) correct way
3045         * gst/gstelement.c: (gst_element_pads_activate):
3046           some debugging
3047         * gst/gstobject.c: (gst_object_set_parent):
3048           some debugging
3049
3050 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3051
3052         * gst/gstvalue.h: Fix prototypes.
3053
3054 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3055
3056         * docs/gst/gstreamer-sections.txt:
3057         * gst/gst.c: (gst_version_string):
3058         * gst/gst.h:
3059         * gst/gstversion.h.in:
3060         * win32/common/libgstreamer.def:
3061           add gst_version_string ()
3062
3063 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3064
3065         * configure.ac:
3066           clean up further
3067         * gst/gst.c: (init_post):
3068         * win32/common/config.h.in:
3069           it's PLUGINDIR now
3070         * gst/gstcaps.c: (gst_caps_intersect):
3071           use gint64, the range could be bigger than a guint
3072
3073 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3074
3075         * gst/gstclock.h:
3076           document potential problem in 2038
3077
3078 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3079
3080         * gst/gstcaps.c: (gst_caps_intersect):
3081           Fix guint j diving under 0
3082
3083 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3084
3085         * configure.ac:
3086         * win32/common/config.h:
3087         * win32/common/config.h.in:
3088           check for process.h, declares getpid() on Windows
3089         * gst/gstinfo.c:
3090           include process.h if we have it
3091         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3092         * gst/gstmemchunk.h:
3093           fix signedness issues
3094         * win32/common/libgstreamer.def:
3095           fix get_type's
3096
3097 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3098
3099         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3100         fix. Because of unsigned ints, caps intersection was going nuts and
3101         trying to access structures with G_MAXUINT index. That fixes
3102         videotestsrc ! ffmpegcolorspace ! fakesink
3103         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3104         consistency.
3105
3106 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3107
3108         * configure.ac:
3109           use the gettext macro
3110         * gst/elements/gstelements.c:
3111         * gst/gst.c:
3112         * gst/indexers/gstindexers.c:
3113           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3114         * win32/common/config.h:
3115           updated config.h
3116         * win32/common/config.h.in:
3117           add the template to generate config.h
3118         * win32/common/gstenumtypes.c:
3119         * win32/common/gstversion.h:
3120           updated copies
3121
3122 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3123
3124         * gst/gst.c: (gst_version):
3125         * gst/gstversion.h.in:
3126           add the nano
3127
3128 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3129
3130         * gst/gstevent.h:
3131           Oops, add missing closing bracket.
3132
3133 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3134
3135         * configure.ac:
3136           use common m4's for argument checking
3137
3138 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3139
3140         * docs/gst/gstreamer-sections.txt:
3141         * gst/gstevent.h:
3142           Add GST_EVENT_TYPE_NAME() macro.
3143
3144 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3145
3146         * gst/gstinfo.c:
3147         * gst/gstpluginfeature.c:
3148         * gst/gsttask.c:
3149           privatize more symbols
3150
3151 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3152
3153         * configure.ac:
3154           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3155           everything that uses GStreamer API should have the includes
3156
3157 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3158
3159         * docs/gst/gstreamer-sections.txt:
3160         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3161         * gst/gstvalue.h:
3162           give each value a _get_type, removes the DATA exports
3163
3164 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3165
3166         * gst/gst.c:
3167         * gst/gst.h:
3168           remove _gst_registry_auto_load, not used anymore
3169         * gst/gstbin.c: (gst_bin_get_type):
3170         * gst/gstbin.h:
3171         * gst/gstelement.c: (gst_element_get_type):
3172         * gst/gstelement.h:
3173         * gst/gstobject.c: (gst_object_get_type):
3174         * gst/gstobject.h:
3175         * gst/gstpad.c: (gst_pad_get_type):
3176         * gst/gstpad.h:
3177           make _get_type functions similar, fixes data export from library
3178
3179 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3180
3181         * configure.ac:
3182           correctly make conditionals
3183         * gst/elements/Makefile.am:
3184         * gst/elements/gstelements.c:
3185           fix typo causing fdsrc not to build
3186
3187 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3188
3189         * testsuite/Makefile.am:
3190         * testsuite/bytestream/.cvsignore:
3191         * testsuite/bytestream/Makefile.am:
3192         * testsuite/bytestream/filepadsink.c:
3193         * testsuite/bytestream/gstbstest.c:
3194         * testsuite/bytestream/test1.c:
3195         * testsuite/bytestream/testfile1:
3196         * testsuite/caps/normalisation.c:
3197         * testsuite/caps/random.c: (main):
3198         * testsuite/cleanup/.cvsignore:
3199         * testsuite/cleanup/Makefile.am:
3200         * testsuite/cleanup/cleanup1.c:
3201         * testsuite/cleanup/cleanup2.c:
3202         * testsuite/cleanup/cleanup3.c:
3203         * testsuite/cleanup/cleanup4.c:
3204         * testsuite/cleanup/cleanup5.c:
3205         * testsuite/controller/interpolator.c:
3206         * testsuite/debug/printf_extension.c: (main):
3207         * testsuite/elements/tee.c:
3208         * testsuite/negotiation/.cvsignore:
3209         * testsuite/negotiation/Makefile.am:
3210         * testsuite/negotiation/pad_link.c:
3211         * testsuite/pad/Makefile.am:
3212         * testsuite/pad/chainnopull.c:
3213         * testsuite/pad/getnopush.c:
3214         * testsuite/pad/link.c:
3215         * testsuite/refcounting/sched.c: (create_pipeline):
3216         * testsuite/registry/Makefile.am:
3217         * testsuite/registry/gst-print-formats.c:
3218         * testsuite/schedulers/.cvsignore:
3219         * testsuite/schedulers/142183-2.c:
3220         * testsuite/schedulers/142183.c:
3221         * testsuite/schedulers/143777-2.c:
3222         * testsuite/schedulers/143777.c:
3223         * testsuite/schedulers/147713.c:
3224         * testsuite/schedulers/147819.c:
3225         * testsuite/schedulers/147894-2.c:
3226         * testsuite/schedulers/147894.c:
3227         * testsuite/schedulers/Makefile.am:
3228         * testsuite/schedulers/group_link.c:
3229         * testsuite/schedulers/queue_link.c:
3230         * testsuite/schedulers/relink.c:
3231         * testsuite/schedulers/unlink.c:
3232         * testsuite/schedulers/unref.c:
3233         * testsuite/schedulers/useless_iteration.c:
3234         * testsuite/states/bin.c:
3235           clean out/remove some stuff from the testsuite directories
3236
3237 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3238
3239         * configure.ac:
3240           check for some headers
3241         * gst/elements/Makefile.am:
3242         * gst/elements/gstelements.c:
3243           don't compile fdsrc without sys/socket.h
3244         * gst/indexers/Makefile.am:
3245         * gst/indexers/gstindexers.c: (plugin_init):
3246           don't compile fileindex without mmap
3247
3248 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3249
3250         * configure.ac:
3251           reorganize
3252           clean up
3253           document more
3254           remove cruft
3255         * check/Makefile.am:
3256         * docs/gst/Makefile.am:
3257         * examples/helloworld/Makefile.am:
3258         * gst/Makefile.am:
3259         * gst/base/Makefile.am:
3260         * gst/check/Makefile.am:
3261         * gst/elements/Makefile.am:
3262         * gst/indexers/Makefile.am:
3263         * gst/parse/Makefile.am:
3264         * libs/gst/controller/Makefile.am:
3265         * libs/gst/dataprotocol/Makefile.am:
3266         * examples/helloworld/helloworld.c: (event_loop):
3267           compile fixes, though it's not being compiled currently
3268
3269 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3270
3271         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3272           Add some simple tests for the new taglist date API.
3273
3274 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3275
3276         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3277         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3278           Beautify 'last-message' output: print 'none' for buffer timestamps
3279           and durations if none is set; improve alignment with next messages.
3280
3281 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3282
3283         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3284         * gst/gstpluginfeature.h:
3285         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3286         * gst/gstregistry.h:
3287         * docs/gst/gstreamer-sections.txt:
3288           Add new API to check plugin feature version requirements.
3289
3290         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3291           Some basic tests for the above.         
3292
3293 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3294
3295         * gst/gststructure.c: (gst_structure_to_string):
3296           guard against NULL printf - happens when for example
3297           a message structure with GstClock gets serialized
3298
3299 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3300
3301         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3302           Fix presumable copy'n'pasto.
3303
3304 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3305
3306         * gst/elements/gstfakesrc.h:
3307         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3308         * gst/elements/gsttypefindelement.c:
3309           fix some signedness
3310         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3311           I wonder if this could actually write +2GB files before
3312
3313 2005-10-13  Andy Wingo  <wingo@pobox.com>
3314
3315         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3316         Fix Timmeke Waymans bug.
3317         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3318         string of the proper length to gst_caps_from_string. There's a
3319         potential for, before this fix, that this could cause someone
3320         connecting over the network to cause a segfault if the payload is
3321         not NUL-terminated.
3322
3323 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3324
3325         * docs/design/draft-push-pull.txt:
3326         * docs/design/part-overview.txt:
3327         * docs/random/TODO-pre-0.9:
3328         * docs/random/old/ChangeLog.gstreamer:
3329         * gst/base/gstpushsrc.c:
3330         * gst/gstclock.c:
3331           fixed typos
3332
3333 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3334
3335         * gst/glib-compat.c: (gst_flags_get_first_value):
3336         * gst/glib-compat.h:
3337         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3338         (gst_value_compare_double), (gst_value_serialize_flags):
3339           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3340           infinite loop
3341
3342 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3343
3344         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3345         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3346           fix up debugging
3347         * tools/gst-launch.c: (event_loop):
3348           print out clock nicely
3349
3350 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3351
3352         * docs/gst/gstreamer-sections.txt:
3353         * gst/gsttaglist.h:
3354         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3355         (gst_tag_list_get_date_index):
3356           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3357           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3358
3359 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3360
3361         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3362         (gst_collectpads_chain):
3363         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3364         in CollectData.
3365
3366 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3367
3368         * docs/gst/gstreamer-sections.txt:
3369         * gst/gst.c:
3370         * gst/gsterror.h:
3371         * tools/gst-inspect.c: (main):
3372         * tools/gst-launch.c: (main):
3373         * tools/gst-run.c: (main):
3374         * tools/gst-xmlinspect.c: (main):
3375           fix GOption context leaks
3376           doc fixes
3377
3378 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3379
3380         * gst/gstbus.c:
3381           use HAVE_UNISTD_H
3382         * win32/common/config.h:
3383           update config
3384         * win32/vs6/grammar.dsp:
3385         * win32/vs6/libgstelements.dsp:
3386         * win32/vs6/libgstreamer.dsp:
3387           update vs6 files
3388
3389 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3390
3391         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3392         * gst/base/gstbasesrc.c: (gst_base_src_query):
3393           fix more guint64<->gdouble conversions
3394
3395 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3396
3397         * Makefile.am:
3398           add win32-update target
3399         * win32/common/gstconfig.h:
3400         * win32/common/gstenumtypes.c:
3401         * win32/common/gstenumtypes.h:
3402         * win32/common/gstversion.h:
3403           add files that visual studio can't generate
3404
3405 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3406
3407         * Makefile.am:
3408           add a win32-update target
3409         * configure.ac:
3410
3411 2005-10-12  Wim Taymans  <wim@fluendo.com>
3412
3413         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3414         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3415         * gst/gstelement.c: (gst_element_commit_state),
3416         (gst_element_set_state):
3417         Protect flags with proper lock.
3418         unref provided cached clock in dispose.
3419
3420 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3421
3422         * gst/gst.c:
3423         * gst/gstminiobject.h:
3424         * gst/gstpad.h:
3425         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3426           removed unused flags from miniobject
3427           doc fixes
3428
3429 2005-10-12  Wim Taymans  <wim@fluendo.com>
3430
3431         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3432         (gst_file_sink_event), (gst_file_sink_render):
3433         Flush before seeking.
3434
3435 2005-10-12  Andy Wingo  <wingo@pobox.com>
3436
3437         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3438         always been the case.
3439
3440 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3441
3442         * check/gst/gstbin.c: (GST_START_TEST):
3443         * docs/gst/gstreamer-sections.txt:
3444         * gst/base/gstbasesink.c: (gst_base_sink_init):
3445         * gst/base/gstbasesrc.c: (gst_base_src_init),
3446         (gst_base_src_get_range), (gst_base_src_check_get_range),
3447         (gst_base_src_start), (gst_base_src_stop):
3448         * gst/base/gstbasesrc.h:
3449         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3450         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3451         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3452         (bin_bus_handler):
3453         * gst/gstbin.h:
3454         * gst/gstbuffer.h:
3455         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3456         * gst/gstbus.h:
3457         * gst/gstelement.c: (gst_element_is_locked_state),
3458         (gst_element_set_locked_state), (gst_element_commit_state),
3459         (gst_element_set_state):
3460         * gst/gstelement.h:
3461         * gst/gstindex.c: (gst_index_init):
3462         * gst/gstindex.h:
3463         * gst/gstminiobject.h:
3464         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3465         (gst_object_set_parent):
3466         * gst/gstobject.h:
3467         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3468         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3469         * gst/gstpad.h:
3470         * gst/gstpadtemplate.h:
3471         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3472         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3473         * gst/gstpipeline.h:
3474         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3475         (gst_file_index_commit):
3476         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3477         * testsuite/pad/link.c: (gst_test_src_init),
3478         (gst_test_filter_init), (gst_test_sink_init):
3479         * testsuite/states/locked.c: (main):
3480           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3481           moved bitshift from macro to enum definition
3482
3483 2005-10-12  Wim Taymans  <wim@fluendo.com>
3484
3485         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3486         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3487         (gst_file_sink_render):
3488         Some more debugging info.
3489
3490 2005-10-12  Wim Taymans  <wim@fluendo.com>
3491
3492         * docs/design/part-states.txt:
3493         * tools/gst-launch.c: (main):
3494         Some doc updates.
3495         Revert non-intentional change.
3496
3497 2005-10-12  Wim Taymans  <wim@fluendo.com>
3498
3499         * check/gst/gstbin.c: (GST_START_TEST):
3500         * check/gst/gstelement.c: (GST_START_TEST):
3501         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3502         * check/gst/gstghostpad.c: (GST_START_TEST):
3503         * check/gst/gstpipeline.c: (GST_START_TEST):
3504         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3505         * check/states/sinks.c: (GST_START_TEST):
3506         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3507         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3508         (gst_bin_remove_func), (gst_bin_get_state_func),
3509         (gst_bin_recalc_state), (gst_bin_change_state_func),
3510         (bin_bus_handler):
3511         * gst/gstelement.c: (gst_element_get_state_func),
3512         (gst_element_get_state), (gst_element_abort_state),
3513         (gst_element_commit_state), (gst_element_set_state),
3514         (gst_element_change_state), (gst_element_change_state_func):
3515         * gst/gstelement.h:
3516         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3517         (gst_pipeline_provide_clock_func):
3518         * gst/gstutils.c: (gst_element_link_pads_filtered):
3519         * tools/gst-launch.c: (main):
3520         * tools/gst-typefind.c: (main):
3521         Use GstClockTime in _get_state() instead of GTimeVal.
3522         Remove old code in gstutils.c
3523
3524 2005-10-12  Andy Wingo  <wingo@pobox.com>
3525
3526         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3527         removed.
3528
3529         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3530         there is no task. Shouldn't affect any code, as nothing in our
3531         plugins checks this return value.
3532         (gst_pad_stop_task): Also take the stream lock if the pad has no
3533         task. Docs updated.
3534
3535 2005-10-12  Wim Taymans  <wim@fluendo.com>
3536
3537         * gst/gstpad.c: (pre_activate), (post_activate),
3538         (gst_pad_activate_pull), (gst_pad_activate_push):
3539         Cleanup activation code. Reset old state if
3540         activation failed.
3541
3542 2005-10-12  Wim Taymans  <wim@fluendo.com>
3543
3544         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3545         (gst_base_sink_change_state):
3546         No need to prerol after receiving EOS.
3547
3548         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3549         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3550         * gst/elements/gstidentity.c: (gst_identity_event):
3551         Print events more verbosely.
3552
3553 2005-10-12  Wim Taymans  <wim@fluendo.com>
3554
3555         * check/Makefile.am:
3556         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3557         * check/states/sinks2.c:
3558         Moved sinks2 testcode in sinks check.
3559
3560         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3561         (gst_bin_remove_func), (gst_bin_recalc_state),
3562         (gst_bin_change_state_func), (bin_bus_handler):
3563         Fix potential race condition when _get_state() iterated over an
3564         ASYNC element right before it posted a state completion.
3565
3566         * gst/gstclock.h:
3567         Do proper cast here.
3568
3569         * gst/gstevent.c: (gst_event_new_newsegment),
3570         (gst_event_parse_newsegment):
3571         A playback rate of 0.0 is not allowed.
3572
3573 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3574
3575         * win32/common/config.h:
3576         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3577         (_trewinddir), (_ttelldir), (_tseekdir):
3578         * win32/common/dirent.h:
3579         * win32/common/gtchar.h:
3580         * win32/common/libgstbase.def:
3581         * win32/common/libgstreamer.def:
3582         * win32/vs6/grammar.dsp:
3583         * win32/vs6/gst_inspect.dsp:
3584         * win32/vs6/gst_launch.dsp:
3585         * win32/vs6/gstreamer.dsw:
3586         * win32/vs6/libgstbase.dsp:
3587         * win32/vs6/libgstelements.dsp:
3588         * win32/vs6/libgstreamer.dsp:
3589           Visual Studio 6 project files, and a new common directory.
3590           Phear.
3591
3592 2005-10-11  Wim Taymans  <wim@fluendo.com>
3593
3594         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3595         (gst_base_sink_do_sync), (gst_base_sink_query),
3596         (gst_base_sink_change_state):
3597         * gst/base/gstbasesink.h:
3598         Correctly parse newsegment info.
3599
3600 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3601
3602         * gst/gst.c: (init_post):
3603           split plugin paths correctly
3604
3605 2005-10-11  Wim Taymans  <wim@fluendo.com>
3606
3607         * check/gst/gstevent.c: (GST_START_TEST):
3608         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3609         (gst_base_sink_change_state):
3610         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3611         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3612         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3613         * gst/gstevent.c: (gst_event_new_newsegment),
3614         (gst_event_parse_newsegment):
3615         * gst/gstevent.h:
3616         Added extra flag to newsegment for future API freeze.
3617         Updated check and base elements.
3618
3619 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3620
3621         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3622         (gst_collectpads_add_pad), (gst_collectpads_pop),
3623         (gst_collectpads_event), (gst_collectpads_chain):
3624         * gst/base/gstcollectpads.h: Handle EOS correctly.
3625
3626 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3627
3628         * tools/gst-launch.c: (main):
3629           more null protecting
3630
3631 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3632
3633         * gst/gst-i18n-lib.h:
3634           check for ENABLE_NLS, not GETTEXT_PACKAGE
3635         * gst/gstregistry.c: (gst_registry_add_plugin),
3636         (gst_registry_scan_path_level),
3637         (_gst_registry_remove_cache_plugins):
3638           protect possibly NULL strings
3639         * gst/parse/types.h:
3640           config.h already included before
3641         * tools/gst-inspect.c: (main):
3642           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3643           check for ENABLE_NLS, not GETTEXT_PACKAGE
3644         * tools/gst-launch.c: (main):
3645           check for ENABLE_NLS, not GETTEXT_PACKAGE
3646
3647 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3648
3649         * configure.ac:
3650           if we don't have glib, fail before testing 2.8
3651         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3652           fix a leak, should fix plugins-base testsuite
3653
3654 2005-10-11  Andy Wingo  <wingo@pobox.com>
3655
3656         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3657         take the mode we're going to as an arg. Go head and set the mode
3658         and flushing flags now, so that if the activate function starts a
3659         thread all the flags will be in the right state.
3660         (post_activate): Renamed also. Just handle making sure streaming
3661         finishes for the deactivation case, and setting the deactivated
3662         mode.
3663         (gst_pad_set_active): Complain loudly if deactivation fails.
3664         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3665         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3666         remove the terrible hack.
3667
3668 2005-10-11  Wim Taymans  <wim@fluendo.com>
3669
3670         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3671         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3672         (gst_bin_recalc_state), (gst_bin_change_state_func),
3673         (gst_bin_dispose), (bin_bus_handler):
3674         * gst/gstbin.h:
3675         Prepare to make current EOS message queue more generic.
3676         Fix some typos.
3677
3678         * gst/gstevent.c: (gst_event_new_newsegment),
3679         (gst_event_parse_newsegment):
3680         * gst/gstevent.h:
3681         Rename base to stream_time.
3682
3683         * gst/gstmessage.h:
3684         Fix typo in docs.
3685
3686 2005-10-11  Wim Taymans  <wim@fluendo.com>
3687
3688         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3689         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3690         (gst_bin_change_state_func), (bin_bus_handler):
3691         * gst/gstbin.h:
3692         Work on proper clock selection.
3693
3694 2005-10-11  Edward Hervey  <edward@fluendo.com>
3695
3696         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3697         * libs/gst/controller/gstcontroller.h:
3698         Added GList* version of _remove_properties() in order to be able to wrap
3699         it in bindings.
3700
3701 2005-10-11  Wim Taymans  <wim@fluendo.com>
3702
3703         * docs/design/part-states.txt:
3704         Some more docs.
3705
3706         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3707         (gst_bin_change_state_func), (bin_bus_handler):
3708         Doc updates. Don't distribute the same clock over and over again.
3709
3710         * gst/gstclock.c:
3711         * gst/gstclock.h:
3712         Doc updates.
3713
3714         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3715         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3716         (gst_pad_send_event):
3717         * gst/gstpad.h:
3718         Make probe emission threadsafe again.
3719         Register quarks and move _get_name() from utils.
3720         Doc updates.
3721
3722         * gst/gstpipeline.c: (gst_pipeline_class_init),
3723         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3724         Only redistribute the clock of it changed.
3725
3726         * gst/gstsystemclock.h:
3727         Doc updates. 
3728
3729         * gst/gstutils.c:
3730         * gst/gstutils.h:
3731         Moved the _flow_get_name() to GstPad.
3732
3733 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3734
3735         * check/gst-libs/gdp.c: (GST_START_TEST):
3736         * check/gst/gstcaps.c: (GST_START_TEST):
3737         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3738         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3739         (gst_dp_packet_from_caps):
3740           fix more valgrind warnings before turning up the heat
3741
3742 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3743
3744         * gst/parse/grammar.y:
3745           some cleanup before the hacking
3746
3747 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3748
3749         * gst/base/gstbasesrc.c: (gst_base_src_query):
3750           use conversions
3751         * gst/gstutils.c: (gst_guint64_to_gdouble),
3752         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3753         * gst/gstutils.h:
3754           externalize, basesrc uses it
3755           obviously the implementation needs testing
3756
3757 2005-10-10  Wim Taymans  <wim@fluendo.com>
3758
3759         * tests/sched/Makefile.am:
3760         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3761         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3762
3763 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3764
3765         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3766           apparently converting from guint64 to double is not implemented
3767           on MSVC
3768
3769 2005-10-10  Wim Taymans  <wim@fluendo.com>
3770
3771         * check/Makefile.am:
3772         * check/generic/states.c: (GST_START_TEST):
3773         * check/gst/gstbin.c: (GST_START_TEST):
3774         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3775         * check/states/sinks.c: (GST_START_TEST):
3776         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3777         (main):
3778         Check fixes, use API as stated in design docs, remove hacks.
3779
3780         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3781         (gst_base_sink_change_state):
3782         Catch stopping our task while we're shutting down.
3783
3784         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3785         (gst_bin_remove_func), (gst_bin_get_state_func),
3786         (gst_bin_recalc_state), (gst_bin_change_state_func),
3787         (bin_bus_handler):
3788         * gst/gstbin.h:
3789         * gst/gstelement.c: (gst_element_init),
3790         (gst_element_get_state_func), (gst_element_abort_state),
3791         (gst_element_commit_state), (gst_element_lost_state),
3792         (gst_element_set_state), (gst_element_change_state),
3793         (gst_element_change_state_func):
3794         * gst/gstelement.h:
3795         New state change algorithm (see #318116)
3796
3797         * gst/gstpipeline.c: (gst_pipeline_class_init),
3798         (gst_pipeline_init), (gst_pipeline_set_property),
3799         (gst_pipeline_get_property), (do_pipeline_seek),
3800         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3801         * gst/gstpipeline.h:
3802         Remove crude state change hacks.
3803
3804         * gst/gstutils.h:
3805         Remove crude hacks.
3806
3807         * tools/gst-launch.c: (main):
3808         Fixes for state change. Needs some more work to fully use the
3809         new stuff.
3810
3811 2005-10-10  Andy Wingo  <wingo@pobox.com>
3812
3813         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3814
3815         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3816         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3817         issue.
3818
3819 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3820
3821         * gst/gstiterator.c: (gst_iterator_new):
3822           Fix my previous commit: GTypes passed to gst_iterator_new()
3823           can be fundamental types.
3824
3825 2005-10-10  Wim Taymans  <wim@fluendo.com>
3826
3827         * gst/gstelement.c: (gst_element_iterate_pad_list),
3828         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3829         (gst_element_iterate_sink_pads):
3830         Use src/sink pads lists for the respective iterators instead
3831         of filtering.
3832
3833 2005-10-10  Andy Wingo  <wingo@pobox.com>
3834
3835         Merged in popt removal + GOption addition patch from Ronald, bug
3836         #169772.
3837
3838         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3839         GstElement macros around, remove popt-related symbols, add goption
3840         stuff.
3841
3842         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3843         
3844         * docs/gst/Makefile.am:
3845         * docs/libs/Makefile.am: No POPT_CFLAGS.
3846         
3847         * examples/manual/Makefile.am:
3848         * docs/manual/basics-init.xml: Doc updates with an example.
3849         
3850         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3851         (gst_init), (parse_one_option), (parse_goption_arg):
3852         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3853         bit of hand merging and debugging to get the GOption stuff working
3854         tho.
3855         
3856         * tests/Makefile.am:
3857         * tools/Makefile.am:
3858         * tools/gst-inspect.c: (main):
3859         * tools/gst-launch.c: (main):
3860         * tools/gst-run.c: (main):
3861         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3862
3863 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3864
3865         * gst/gstiterator.c: (gst_iterator_new):
3866           Add assertions to make sure passed GType is likely to really
3867           be a GType (as the compiler won't catch it if the size and
3868           GType arguments get mixed up, see #318447).
3869
3870 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3871
3872         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3873
3874         * gst/gstbin.c: (gst_bin_iterate_sorted):
3875           Pass GType and size arguments to gst_iterator_new() in the right
3876           order (maybe we should make _new() take the GType as first argument
3877           just like _new_list()?) (#318447).
3878           
3879
3880 2005-10-10  Wim Taymans  <wim@fluendo.com>
3881
3882         * gst/gstelement.c: (gst_element_finalize):
3883         And free the GStaticRecMutex too
3884
3885 2005-10-10  Andy Wingo  <wingo@pobox.com>
3886
3887         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3888         Allocate and free the mutex properly.
3889
3890         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3891         New macros.
3892         (GstElement): The state_lock is now recursive. Rebuild your
3893         plugins, suckers. Old macros adapted.
3894
3895         * docs/gst/gstreamer-sections.txt: Doc updates.
3896
3897         * gst/gstutils.h:
3898         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3899         (g_static_rec_cond_wait): Ported from state changes patch, while
3900         we wait on bug #317802 to be solved in a well-distributed GLib.
3901
3902         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3903         gst_element_change_state, variable name changes.
3904         (gst_element_change_state): Split out of gst_element_set_state in
3905         preparation for the state change merge. Doesn't pay attention to
3906         the 'transition' argument.
3907         (gst_element_set_state): Updates, hopefully purely cosmetic.
3908         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3909         state change patch.
3910         (gst_element_get_state_func): Renamed from get_state, cosmetic
3911         changes.
3912
3913 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3914
3915         * gst/elements/gstelements.c:
3916         * win32/GStreamer.vcproj:
3917         * win32/config.h:
3918         * win32/dirent.c: (_tseekdir):
3919         * win32/gst-inspect.vcproj:
3920         * win32/gst-launch.vcproj:
3921         * win32/gstconfig.h:
3922         * win32/gstelements.vcproj:
3923         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3924         * win32/gstreamer.def:
3925         * win32/msvc71.sln:
3926           updates for the win32 build (patch from Sebastien Moutte)
3927
3928 2005-10-10  Andy Wingo  <wingo@pobox.com>
3929
3930         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3931         gst_bin_get_state, cleaned up (but no logic changes).
3932         (bin_element_is_sink): Comment updates.
3933         (sink_iterator_filter): Remove needless cast.
3934         (gst_bin_iterate_sinks): Doc update.
3935         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3936         cleaned up (but no logic changes).
3937
3938         * check/states/sinks.c (test_src_sink): Cleanups from the state
3939         change patch.
3940         (test_livesrc_sink): Sync on the state.
3941
3942         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3943         the state change patch.
3944
3945         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3946         change patch.
3947
3948         * check/gst/gstbin.c: Merge in some style fixes and additional
3949         checks from Wim's state change patch.
3950
3951 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3952
3953         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3954         (gst_type_find_helper):
3955           Check whether we have the requested data already in our list of
3956           cached buffers before pulling a new buffer; also make the buffer
3957           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3958
3959 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3960
3961         * gst/gstcaps.c:
3962         * gst/gstevent.c:
3963           doc updates
3964         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3965           don't use long long, it's not portable.  Replacing with
3966           gint64 seems to work; let's hope no skeletons fall out of the closet.
3967
3968 2005-10-10  Andy Wingo  <wingo@pobox.com>
3969
3970         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3971
3972 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3973
3974         * docs/gst/gstreamer-sections.txt:
3975         * gst/gstevent.c:
3976         * gst/gstevent.h:
3977         * gst/gstinfo.c:
3978         * gst/gstinfo.h:
3979         * gst/gstmessage.c: (gst_message_parse_state_changed):
3980         * gst/gstpad.c:
3981         * gst/gstpad.h:
3982           more docs, fix compilation
3983
3984 2005-10-09  Philippe Khalaf <burger@speedy.org>
3985         * gst/gstmessage.c:
3986           Fixed a few forgotten variables on previous commit
3987
3988 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3989
3990         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3991           Fix evil typefind crasher: getrange() might return a short
3992           buffer at the end of a file, but gst_type_find_peek() must
3993           either return the full data as requested or NULL, but
3994           never a short buffer.
3995
3996 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3997
3998         * gst/gstmessage.c: (gst_message_new_state_changed),
3999         (gst_message_parse_state_changed):
4000         * gst/gstmessage.h:
4001           don't use "new", it's a C++ keyword
4002
4003 2005-10-08  Wim Taymans  <wim@fluendo.com>
4004
4005         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4006         * gst/gstelement.c: (gst_element_post_message):
4007         * gst/gstpipeline.c: (gst_pipeline_change_state):
4008         Small docs and debug updates.
4009
4010 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4011
4012         * docs/gst/gstreamer-sections.txt:
4013         * gst/gstelementfactory.c:
4014         * gst/gstevent.c:
4015         * gst/gsttaglist.c:
4016           more docs
4017
4018 2005-10-08  Wim Taymans  <wim@fluendo.com>
4019
4020         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4021         (gst_bin_dispose), (bin_bus_handler):
4022         Fix typos, add comments.
4023         Clear EOS list when going to PAUSED from any direction and do it
4024         in a threadsafe way.
4025         Get base time in a threadsafe way too.
4026         Fix confusing debug in the change_state function.
4027         Various other small cleanups.
4028         
4029         * gst/gstelement.c: (gst_element_post_message):
4030         Fix very verbose bus posting code.
4031
4032         * gst/gstpipeline.c: (gst_pipeline_class_init),
4033         (gst_pipeline_set_property), (gst_pipeline_get_property),
4034         (gst_pipeline_change_state):
4035         Small ARG_ -> PROP_ cleanup
4036
4037 2005-10-08  Wim Taymans  <wim@fluendo.com>
4038
4039         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4040         Do a less CPU demanding EOS check because we can.
4041
4042 2005-10-08  Wim Taymans  <wim@fluendo.com>
4043
4044         * libs/gst/dataprotocol/dataprotocol.c:
4045         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4046         (gst_dp_packet_from_event):
4047         * libs/gst/dataprotocol/dataprotocol.h:
4048         * libs/gst/dataprotocol/dp-private.h:
4049         It's about time we bump the version number.
4050         Since event types don't fit in the guint8 anymore describing
4051         the payload type, make payload type 16 bits wide.
4052
4053 2005-10-08  Wim Taymans  <wim@fluendo.com>
4054
4055         * docs/design/part-TODO.txt:
4056         * docs/design/part-clocks.txt:
4057         * docs/design/part-events.txt:
4058         * docs/design/part-gstbin.txt:
4059         * docs/design/part-gstelement.txt:
4060         * docs/design/part-gstpipeline.txt:
4061         * docs/design/part-live-source.txt:
4062         * docs/design/part-messages.txt:
4063         * docs/design/part-overview.txt:
4064         * docs/design/part-states.txt:
4065         Many doc updates.
4066
4067 2005-10-08  Wim Taymans  <wim@fluendo.com>
4068
4069         * gst/gstevent.c:
4070         * gst/gstevent.h:
4071         Fix event quark registration.
4072         Add some space between events so we can insert them in the
4073         right groups.
4074
4075 2005-10-08  Wim Taymans  <wim@fluendo.com>
4076
4077         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4078         (gst_base_sink_handle_buffer):
4079         Better log message.
4080
4081         * gst/gstbus.h:
4082         * gst/gstelement.h:
4083         More docs.
4084
4085         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4086         (gst_queue_set_property), (gst_queue_get_property):
4087         * gst/gstqueue.h:
4088         Remove old unused properties.
4089
4090 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4091         * docs/gst/gstreamer-sections.txt:
4092         * gst/gstmessage.c:
4093         * gst/gstmessage.h:
4094         * gst/gstminiobject.c:
4095         * gst/gstminiobject.h:
4096         * gst/gstobject.h:
4097         * gst/gstpad.h:
4098         * gst/gstutils.h:
4099           lots of new docs and doc fixes
4100
4101 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4102
4103         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4104         * gst/gstplugin.h:
4105         * gst/gstregistry.c: (gst_registry_lookup_locked),
4106         (gst_registry_scan_path_level):
4107         * gst/gstregistryxml.c: (load_plugin):
4108           Only ever load one plugin for a given plugin basename.
4109           This ensures correct overriding of GST_PLUGIN_PATH over
4110           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4111           system installed plugins.
4112
4113 2005-10-08  Wim Taymans  <wim@fluendo.com>
4114
4115         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4116         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4117         Prepare for doing QOS.
4118
4119 2005-10-08  Wim Taymans  <wim@fluendo.com>
4120
4121         * check/gst/gstbin.c: (GST_START_TEST):
4122         * check/pipelines/cleanup.c: (GST_START_TEST):
4123         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4124         Allow new clock message too.
4125
4126 2005-10-08  Wim Taymans  <wim@fluendo.com>
4127
4128         * gst/gstmessage.c: (gst_message_new_error),
4129         (gst_message_new_warning), (gst_message_new_tag),
4130         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4131         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4132         (gst_message_new_segment_start), (gst_message_new_segment_done),
4133         (gst_message_parse_state_changed),
4134         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4135         (gst_message_parse_new_clock):
4136         * gst/gstmessage.h:
4137         Also carry the clock in question.
4138
4139 2005-10-08  Wim Taymans  <wim@fluendo.com>
4140
4141         * gst/gstmessage.c: (gst_message_new_custom),
4142         (gst_message_new_eos), (gst_message_new_error),
4143         (gst_message_new_warning), (gst_message_new_tag),
4144         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4145         (gst_message_new_new_clock), (gst_message_new_segment_start),
4146         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4147         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4148         * gst/gstmessage.h:
4149         Clean up.
4150         Added clock related messages.
4151
4152         * gst/gstpipeline.c: (gst_pipeline_change_state):
4153         Post message when the clock changed.
4154
4155         * tools/gst-launch.c: (event_loop):
4156         Print new clock.
4157
4158 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4159
4160         * tools/gst-inspect.c: (print_element_properties_info):
4161           Can't pass NULL strings to g_print() on windows.
4162
4163 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4164
4165         * docs/Makefile.am:
4166         * docs/gst/Makefile.am:
4167         * docs/gst/gstreamer-docs.sgml:
4168         * docs/gst/running.xml:
4169         * docs/version.entities.in:
4170           add a chapter on running GStreamer.
4171           document GST_DEBUG and GST_PLUGIN* env vars
4172
4173 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4174
4175         * Makefile.am:
4176           remove include dir
4177         * configure.ac:
4178           remove PLUGINS_BUILDDIR stuff
4179         * gst/gst.c: (init_post):
4180           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4181         * idiottest.mak:
4182           remove, it was condescending and not needed
4183
4184 2005-10-08  Wim Taymans  <wim@fluendo.com>
4185
4186         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4187         (gst_base_sink_handle_object), (gst_base_sink_event),
4188         (gst_base_sink_wait), (gst_base_sink_handle_event),
4189         (gst_base_sink_change_state):
4190         * gst/base/gstbasesink.h:
4191         Repost EOS message while going to PLAYING if still EOS.
4192         Make sure that when receiving a FLUSH_START we don't attempt
4193         to sync on the clock anymore.
4194
4195 2005-10-08  Wim Taymans  <wim@fluendo.com>
4196
4197         * tools/gst-launch.c: (event_loop):
4198         Better message printout.
4199
4200 2005-10-08  Wim Taymans  <wim@fluendo.com>
4201
4202         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4203         (gst_bin_child_proxy_get_children_count):
4204         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4205         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4206         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4207         (gst_child_proxy_set_valist):
4208         * gst/parse/grammar.y:
4209         Make ChildProxy threadsafe and fix mem leaks.
4210
4211 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4212
4213         * gst/gst.c: (init_post):
4214           debug the GST_PLUGIN_ env vars
4215
4216 2005-10-08  Wim Taymans  <wim@fluendo.com>
4217
4218         * check/gst/gstbin.c: (GST_START_TEST):
4219         * check/gst/gstmessage.c: (GST_START_TEST):
4220         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4221         * gst/gstelement.c: (gst_element_commit_state),
4222         (gst_element_lost_state):
4223         * gst/gstmessage.c: (gst_message_new_state_changed),
4224         (gst_message_parse_state_changed):
4225         * gst/gstmessage.h:
4226         * tools/gst-launch.c: (event_loop):
4227         Added extra field to STATE_CHANGE message with the pending
4228         state, which will be different from the new state soon.
4229
4230 2005-10-08  Wim Taymans  <wim@fluendo.com>
4231
4232         * gst/gstbus.c: (gst_bus_pop):
4233         * gst/gstclock.c:
4234         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4235         Small cleanups and doc updates.
4236
4237 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4238
4239         * gst/gst.c: (init_pre):
4240         * gst/gstbin.c: (gst_bin_add_func):
4241           log distributing clocks and base time
4242         * gst/gstregistry.c: (gst_registry_add_plugin),
4243         (gst_registry_scan_path_level), (gst_registry_scan_path):
4244           clean up the debugging output a little
4245         * gst/gstutils.c: (gst_element_state_get_name):
4246           warn about a memleak (I've actually seen this be used, though
4247           it was probably a bug)
4248
4249 2005-10-07  Wim Taymans  <wim@fluendo.com>
4250
4251         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4252         (gst_base_src_init), (gst_base_src_default_newsegment),
4253         (gst_base_src_newsegment), (gst_base_src_do_seek),
4254         (gst_base_src_loop), (gst_base_src_start):
4255         * gst/base/gstbasesrc.h:
4256         Make the newsegment event customizable by subclasses.
4257
4258 2005-10-07  Wim Taymans  <wim@fluendo.com>
4259
4260         * gst/gstevent.c: (gst_event_new_buffersize),
4261         (gst_event_parse_buffersize):
4262         * gst/gstevent.h:
4263         New event for future idea.
4264
4265 2005-10-07  Andy Wingo  <wingo@pobox.com>
4266
4267         * gst/gstelement.c (gst_element_post_message): Doc update.
4268
4269         * docs/gst/gstreamer-sections.txt: Update.
4270
4271         * gst/gstmessage.c (gst_message_new_application): Made into a
4272         function like honest API calls.
4273         (gst_message_new_element): New message type.
4274
4275         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4276
4277         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4278         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4279         times.
4280
4281         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4282         NO_PREROLL from gst_element_change_state to fall through.
4283
4284 2005-10-07  Wim Taymans  <wim@fluendo.com>
4285
4286         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4287         (gst_ghost_pad_do_activate_push):
4288         Activating a ghostpad with no internal pad in push mode
4289         is ok.
4290
4291 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4292
4293         * gst/gstobject.h:
4294           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4295           Fixes compilation on Windows.
4296
4297 2005-10-07  Michael Smith <msmith@fluendo.com>
4298
4299         * tools/gst-inspect.c:
4300           Print out feature and plugin count at the end when printing out
4301           all features.
4302
4303 2005-10-04  Michael Smith <msmith@fluendo.com>
4304
4305         * gst/gsterror.c: (_gst_stream_errors_init):
4306           Add another error string used in a few existing plugins.
4307
4308         * gst/gstplugin.c:
4309         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4310         * tools/gst-inspect.c: (print_element_info):
4311           When a feature disappears from a plugin (and the feature exists in
4312           the cached registry file), things went horribly wrong. This isn't a
4313           complete fix, we should actually be removing the 'missing' features
4314           from the features list when we load the actual plugin. That's not
4315           yet implemented. 
4316
4317 2005-10-04  Johan Dahlin  <johan@gnome.org>
4318
4319         * check/gst/gstiterator.c: (GST_START_TEST):
4320         * gst/gstbin.c: (gst_bin_iterate_elements),
4321         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4322         * gst/gstelement.c: (gst_element_iterate_pads):
4323         * gst/gstformat.c: (gst_format_iterate_definitions):
4324         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4325         (gst_iterator_new_list), (gst_iterator_filter):
4326         * gst/gstiterator.h:
4327         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4328         Add a GType to GstIterator, update callsites and tests.
4329
4330 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4331
4332         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4333           give events a chance to be handled by event probes when the pad
4334           is not linked
4335
4336 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4337
4338         * gst/gstevent.c: (gst_event_type_get_name),
4339         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4340         * gst/gstevent.h:
4341           add string representations for event types
4342
4343 2005-10-06  Wim Taymans  <wim@fluendo.com>
4344
4345         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4346         Don't use NULL pointers.
4347
4348 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4349
4350         * gst/gst_private.h:
4351         * gst/gstbus.c:
4352         * gst/gstelement.c:
4353         * gst/gstinfo.c:
4354         * gst/gstpluginfeature.c:
4355           widen the debug category in output to fit the biggest one we have
4356           add a bus category and use it
4357           play with the colors
4358           fix up some categories
4359
4360 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4361
4362         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4363           add push activation of sink ghost pads.
4364           Andye, please verify
4365
4366 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4367
4368         * gst/gstutils.c: (gst_element_link_pads):
4369           fix a bug in the case where neither element has a pad
4370         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4371           add a test for that case
4372
4373 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4374
4375         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4376           emit have-data before checking for peers.  This allows
4377           for probe handlers to connect elements.  This helps autopluggers.
4378         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4379         (gst_pad_suite):
4380           add six checks, linked/unlinked with no/true/false probe
4381
4382 2005-10-04  Wim Taymans  <wim@fluendo.com>
4383
4384         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4385         (gst_fake_sink_event), (gst_fake_sink_preroll),
4386         (gst_fake_sink_render), (gst_fake_sink_change_state):
4387         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4388         (gst_fake_src_get_property), (gst_fake_src_create),
4389         (gst_fake_src_stop):
4390         * gst/elements/gstidentity.c: (gst_identity_stop):
4391         Protect last_message with lock.
4392
4393 2005-10-04  Edward Hervey  <edward@fluendo.com>
4394
4395         * gst/gstformat.h: 
4396         Added precision in the comments for GST_FORMAT_DEFAULT
4397
4398 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4399
4400         * tools/gst-launch.c: (main):
4401           Don't try to run erroneous pipelines.
4402
4403 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4404
4405         * gst/gstbus.c: We don't need this header.
4406
4407 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4408
4409         * configure.ac:
4410           back to development
4411
4412 === release 0.9.3 ===
4413
4414 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4415
4416         * README:
4417         * configure.ac:
4418           Releasing 0.9.3, "Unregistered"
4419
4420 2005-10-03  Andy Wingo  <wingo@pobox.com>
4421
4422         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4423         whereby calling a pad's activatepush() function can start a thread
4424         that starts to push or pull before the pad gets the FLUSHING flag
4425         unset. Hack around it by holding the stream lock until the flag is
4426         set. Need to replace this with a proper solution. Together with
4427         the ghost pad fixes, this fixes mp3 playing/tagreading.
4428
4429         * docs/design/part-gstghostpad.txt: Add a note about activation of
4430         proxy pads outside of ghost pads.
4431
4432         * gst/gstghostpad.c: Implement the ghost pad activation design.
4433
4434 2005-10-02  Andy Wingo  <wingo@pobox.com>
4435
4436         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4437         It is volatile, after all.
4438
4439         * docs/design/part-gstghostpad.txt: Flesh out activation with
4440         ghost pads.
4441
4442         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4443         GST_DEBUG_FUNCPTR.
4444
4445 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4446
4447         * configure.ac:
4448           Fix (unused) AM_CONDITIONAL tests.
4449
4450 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4451
4452         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4453
4454         * gst/gstutils.c: (gst_pad_query_convert):
4455           Add assertion that makes sure src_val is >=0, just like
4456           gst_query_new_convert() has. (#315895)
4457
4458 2005-09-30  Edward Hervey  <edward@fluendo.com>
4459
4460         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4461         Let's not iterate pads we're not interested in, it avoids getting 
4462         sky-high refcounts on sinkpad.
4463
4464 2005-09-30  Wim Taymans  <wim@fluendo.com>
4465
4466         * gst/gstelement.c: (gst_element_set_state),
4467         (gst_element_change_state):
4468         Small tweak, element in ASYNC remains ASYNC.
4469
4470 2005-09-30  Wim Taymans  <wim@fluendo.com>
4471
4472         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4473         Only error is an error.
4474
4475         * gst/gstbin.c: (gst_bin_change_state):
4476         Better debugging.
4477
4478         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4479         Also call pad_block in pad alloc.
4480
4481         * gst/gstutils.c: (gst_flow_get_name):
4482         Better debugging.
4483
4484 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4485
4486         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4487         (gst_base_src_get_range):
4488           Fix documentation typos. Add some more debug info.
4489
4490 2005-09-29  David Schleef  <ds@schleef.org>
4491
4492         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4493           more end-user friendly.
4494         * tools/gst-inspect.c: (main): Check if command-line argument is
4495           a file and attempt to load that file as a plugin.
4496
4497 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4498
4499         * check/gst/gstbin.c:
4500         * check/states/sinks.c:
4501           fix tests for the new warning
4502         * check/gst/gstpipeline.c:
4503           add a test for pipeline and bus interaction
4504         * gst/gstelement.c:
4505           elements should be NULL if they get disposed; add a warning if not
4506
4507 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4508
4509         * gst/gstobject.c:
4510           for 2.6 refcounting, make debug log more correct by printing
4511           the actual refcounts at the time of swap (Wim)
4512
4513 2005-09-29  Andy Wingo  <wingo@pobox.com>
4514
4515         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4516         removes signal watches previously added via
4517         gst_bus_add_signal_watch.
4518         (gst_bus_add_signal_watch): Don't return the source id, just store
4519         it on the bus if there wasn't an id already.
4520
4521         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4522         add_signal_watch and remove_signal_watch.
4523
4524 2005-09-29  Edward Hervey  <edward@fluendo.com>
4525
4526         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4527         Better if we actually iterate the list :)
4528
4529 2005-09-29  Wim Taymans  <wim@fluendo.com>
4530
4531         * check/gst/gstbin.c: (GST_START_TEST):
4532         Change for new bus API.
4533
4534         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4535         (send_messages), (GST_START_TEST), (gstbus_suite):
4536         Change for new bus signal API.
4537
4538         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4539         (gst_bus_source_prepare), (gst_bus_source_check),
4540         (gst_bus_create_watch), (gst_bus_add_watch_full),
4541         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4542         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4543         * gst/gstbus.h:
4544         Remove support for multiple GSources operating on different
4545         message types as it is too complex and unneeded when using
4546         signals.
4547         Added support for receiving signals from the bus.
4548
4549 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4550
4551         * docs/libs/tmpl/gstdataprotocol.sgml:
4552         * docs/manual/advanced-dataaccess.xml:
4553         * gst/elements/gstcapsfilter.c:
4554         * gst/gstutils.c:
4555           rename filter-caps to caps property
4556
4557 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4558
4559         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4560           More robust fraction string parsing.
4561
4562         * docs/pwg/appendix-porting.xml:
4563           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4564
4565 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4566
4567         * gst/gstcaps.c: (gst_caps_do_simplify):
4568           Thou shalt not free a structure and then continue using it
4569           in the next loop iteration.
4570
4571         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4572         (gst_caps_suite):
4573           Add test case for caps simplification.
4574
4575 2005-09-29  Wim Taymans  <wim@fluendo.com>
4576
4577         * check/gst/gstbin.c: (GST_START_TEST):
4578         Oops.
4579
4580 2005-09-29  Wim Taymans  <wim@fluendo.com>
4581
4582         * check/gst/gstbin.c: (GST_START_TEST):
4583         Add bus to bin.
4584
4585         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4586         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4587         (find_element), (gst_bin_sort_iterator_next),
4588         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4589         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4590         (gst_bin_change_state), (gst_bin_dispose):
4591         A bin does not have a bus, it gets the bus from the parent.
4592
4593         * gst/gstelement.c: (gst_element_requires_clock),
4594         (gst_element_provides_clock), (gst_element_is_indexable),
4595         (gst_element_is_locked_state), (gst_element_change_state),
4596         (gst_element_set_bus_func):
4597         Small cleanups.
4598
4599         * gst/gstpipeline.c: (gst_pipeline_class_init),
4600         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4601         The pipeline provides a bus.
4602
4603 2005-09-28  Johan Dahlin  <johan@gnome.org>
4604
4605         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4606         gst_structure_get_enum instead of gst_structure_get_int
4607
4608         * gst/gststructure.c (gst_structure_get_enum): Impl.
4609
4610         * gst/gststructure.h (gst_structure_get_enum): Add
4611
4612         * docs/gst/gstreamer-sections.txt: Ditto
4613
4614         * gst/gstmessage.c (gst_message_new_state_changed): Use
4615         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4616         which does introspection.
4617         Reviewed by Christian Schaller
4618
4619 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4620
4621         * gst/gstinfo.c: (gst_debug_log_default):
4622           don't do dummy g_strdup()s
4623         * libs/gst/controller/gstcontroller.c:
4624         (on_object_controlled_property_changed),
4625         (gst_controlled_property_new), (gst_controller_new_valist),
4626         (gst_controller_new_list),
4627         (gst_controller_remove_properties_valist), (gst_controller_set),
4628         (gst_controller_get), (gst_controller_sync_values),
4629         (gst_controller_get_value_array), (_gst_controller_class_init),
4630         (gst_controller_get_type):
4631         * libs/gst/controller/gstcontroller.h:
4632         * libs/gst/controller/gstinterpolation.c:
4633         (gst_controlled_property_find_timed_value_node):
4634           convert // to /**/ comments
4635
4636 2005-09-28  Wim Taymans  <wim@fluendo.com>
4637
4638         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4639         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4640         (gst_bus_sync_signal_handler):
4641         * gst/gstbus.h:
4642         Added async-message and sync-message signals to the bus.
4643         Added helper BusFunc to emit signals for all posted messages.
4644
4645         * gst/gstmessage.c: (gst_message_type_get_name),
4646         (gst_message_type_to_quark), (gst_message_get_type):
4647         * gst/gstmessage.h:
4648         Register quarks for message names.
4649
4650 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4651
4652         * docs/libs/gstreamer-libs-sections.txt:
4653         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4654         (gst_controller_new_list):
4655         * libs/gst/controller/gstcontroller.h:
4656           added another constructor for language bindings
4657
4658 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4659
4660         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4661           add another check
4662         * gst/gstbus.c:
4663           add some doc
4664         * gst/gstinfo.c: (_gst_debug_init):
4665           slightly more readable color for refcount debugging
4666
4667 2005-09-28  Wim Taymans  <wim@fluendo.com>
4668
4669         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4670         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4671         (find_element), (gst_bin_sort_iterator_next),
4672         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4673         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4674         (gst_bin_change_state), (gst_bin_dispose):
4675         Small doc fixes. get_clock -> provide_clock.
4676
4677         * gst/gstelement.c: (gst_element_class_init),
4678         (gst_element_provides_clock), (gst_element_provide_clock),
4679         (gst_element_get_clock), (gst_element_commit_state),
4680         (gst_element_lost_state):
4681         * gst/gstelement.h:
4682         Make get/set_clock() symetric. Add provide_clock vmethod since
4683         that is actually what this function does.
4684
4685         * gst/gstpipeline.c: (gst_pipeline_class_init),
4686         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4687         (gst_pipeline_get_clock):
4688         get_clock -> provide_clock.
4689
4690 2005-09-28  Andy Wingo  <wingo@pobox.com>
4691
4692         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4693         lieu of real docs...
4694
4695         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4696
4697 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4698
4699         * gst/elements/gstcapsfilter.c:
4700         * gst/elements/gstfakesink.c:
4701         * gst/elements/gstfakesrc.c:
4702         * gst/elements/gstfdsink.c:
4703         * gst/elements/gstfdsrc.c:
4704         * gst/elements/gstfilesink.c:
4705         * gst/elements/gstfilesrc.c:
4706         * gst/elements/gstidentity.c:
4707         * gst/elements/gsttee.c:
4708         * gst/elements/gsttypefindelement.c:
4709           Make element details static.
4710
4711 2005-09-28  Wim Taymans  <wim@fluendo.com>
4712
4713         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4714         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4715         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4716         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4717         (gst_bin_change_state), (gst_bin_dispose):
4718         Some documentation updates.
4719         Clean up dispose handlers.
4720
4721         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4722         * gst/gstpad.c: (gst_pad_dispose):
4723         Clean up dispose handler.
4724
4725         * gst/gstpipeline.c: (gst_pipeline_change_state):
4726         Removed spurious UNLOCK.
4727
4728 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4729
4730         * docs/gst/gstreamer-sections.txt:
4731         * gst/base/gstbasesrc.h:
4732         * gst/gstelement.h:
4733         * gst/gstevent.h:
4734         * gst/gstobject.h:
4735         * gst/gstpad.h:
4736         * gst/gstpipeline.c:
4737         * gst/gstpipeline.h:
4738         * gst/gstutils.h:
4739         * gst/gstxml.h:
4740           added two new functions to the docs
4741                 documents all undocumented GstXXXFlags
4742                 completed some incomplete docs 
4743
4744 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4745
4746         * gst/gstbin.c: (gst_bin_dispose):
4747         * gst/gstelement.c: (gst_element_dispose):
4748           remove now useless and leaky resurrection code in dispose
4749         * gst/base/gstbasesrc.c: (gst_base_src_init):
4750         * gst/gstelementfactory.c: (gst_element_factory_create):
4751         * gst/gstobject.c: (gst_object_set_parent):
4752           add some debugging
4753
4754 2005-09-27  Wim Taymans  <wim@fluendo.com>
4755
4756         * docs/design/part-TODO.txt:
4757         Update TODO.
4758
4759         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4760         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4761         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4762         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4763         (gst_bin_change_state):
4764         * gst/gstelement.h:
4765         Remove element variable, we keep element info in the iterator now.
4766
4767 2005-09-27  Andy Wingo  <wingo@pobox.com>
4768
4769         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4770         values.
4771
4772 2005-09-27  Wim Taymans  <wim@fluendo.com>
4773
4774         * check/gst/gstbin.c: (GST_START_TEST):
4775         Enable check that works now.
4776
4777         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4778         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4779         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4780         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4781         (gst_bin_change_state):
4782         * gst/gstbin.h:
4783         Redid the state change algorithm using a topological sort algo.
4784         Handles all cases correctly.
4785         Exposed iterator for state change order.
4786
4787         * gst/gstelement.h:
4788         Temp storage for state changes. Need to get rid of this soon.
4789
4790 2005-09-27  Wim Taymans  <wim@fluendo.com>
4791
4792         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4793         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4794         (link_fold_func), (gst_pad_proxy_setcaps):
4795         Leak fixes, the fold functions need to unref the passed object and
4796         _get_parent_*() returns ref to parent.
4797
4798 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4799
4800         * check/gst/gstbuffer.c: (test_make_writable):
4801           Plug leak in test case and fix 'make check-valgrind'
4802
4803 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4804
4805         * gst/gstbuffer.c: (gst_subbuffer_init):
4806           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4807           works correctly in all circumstances (we could have just copied
4808           the parent buffer's readonly flag, but conceptually it seems
4809           cleaner to mark all subbuffers as read-only). (based on patch
4810           by Alessandro Decina, #314710).
4811         
4812         * check/gst/gstbuffer.c: (create_read_only_buffer),
4813         (test_make_writable), (test_subbuffer_make_writable),
4814         (gst_test_suite):
4815           Add some tests for gst_buffer_make_writable().
4816
4817 2005-09-27  Wim Taymans  <wim@fluendo.com>
4818
4819         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4820         use gst_object_has_ancestor().
4821
4822         * gst/gstobject.c: (gst_object_has_ancestor):
4823         * gst/gstobject.h:
4824         gst_object_has_ancestor() copied from gstbin.c as it is a
4825         usefull function.
4826
4827         * tests/instantiate/create.c: (create_all_elements):
4828         * tests/lat.c: (handoff_src), (handoff_sink):
4829         * tests/sched/runxml.c: (main):
4830         * tests/seeking/seeking1.c: (main):
4831         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4832         (main):
4833         Fix compilation of some tests.
4834
4835 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4836
4837         * gst/gsterror.h:
4838           Remove comment. GST_TYPE_G_ERROR is here to stay,
4839           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4840           (#316961, #300610).
4841
4842 2005-09-26  Wim Taymans  <wim@fluendo.com>
4843
4844         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4845         Added check that shows error in state change order.
4846
4847 2005-09-26  Wim Taymans  <wim@fluendo.com>
4848
4849         * gst/gstbin.c: (gst_bin_change_state):
4850         Make state change function use 3 queues again, we were
4851         adding elements in the wrong order.
4852
4853         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4854         Some debug info,
4855
4856         * gst/gstpad.c: (gst_pad_dispose):
4857         Added some debug info first.
4858
4859 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4860
4861         * docs/design/draft-push-pull.txt:
4862         * docs/design/part-events.txt:
4863         * docs/design/part-overview.txt:
4864         * docs/design/part-scheduling.txt:
4865           Replace all _pull_region() with _pull_range()
4866           
4867 2005-09-26  Andy Wingo  <wingo@pobox.com>
4868
4869         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4870
4871         * check/gst-libs/controller.c: Update for controller api change.
4872
4873         * configure.ac: 
4874         * tests/Makefile.am:
4875         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4876         over by GLib bug 118439.
4877         
4878         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4879         routines to a function.
4880
4881         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4882
4883         * libs/gst/controller/gsthelper.c:
4884         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4885         (gst_object_sync_values): Renamed from sink_values. Ugh.
4886
4887         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4888
4889         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4890         Renamed from controller_key, as it is exported.
4891
4892         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4893
4894 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4895
4896         * gst/Makefile.am:
4897         * gst/gst.h:
4898         * gst/gstpad.h:
4899         * gst/gstpadtemplate.h:
4900         * gst/gstquery.c:
4901         * gst/gstquery.h:
4902         * gst/gstqueryutils.c:
4903         * gst/gstqueryutils.h:
4904           remove queryutils headers after moving the two used functions
4905           to gstquery.  also fixes build problem for gstsiddec
4906
4907 2005-09-26  Michael Smith <msmith@fluendo.com>
4908
4909         * tools/gst-launch.1.in:
4910         Correct documentation in manpage of debug syntax
4911
4912 2005-09-26  Wim Taymans  <wim@fluendo.com>
4913
4914         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4915         (gst_base_src_is_seekable), (gst_base_src_change_state):
4916         Some more debugging info.
4917
4918 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4919
4920         * docs/gst/gstreamer-sections.txt:
4921         * gst/base/gstbasetransform.h:
4922         * gst/gstindex.h:
4923           added more docs
4924
4925 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4926
4927         * docs/gst/.cvsignore:
4928         * docs/gst/tmpl/.cvsignore:
4929         * docs/gst/tmpl/gstpipeline.sgml:
4930         * docs/gst/tmpl/gstplugin.sgml:
4931         * gst/gstpipeline.c:
4932         * gst/gstplugin.c:
4933         * gst/gstplugin.h:
4934           inlined the last two docs files
4935           removed the tmpl directory from cvs (no more conflicts here!)
4936
4937 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4938
4939         * docs/gst/gstreamer-sections.txt:
4940         * docs/gst/tmpl/.cvsignore:
4941         * docs/gst/tmpl/gstpad.sgml:
4942         * docs/gst/tmpl/gstpadtemplate.sgml:
4943         * gst/Makefile.am:
4944         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4945         (gst_pad_finalize), (gst_pad_set_pad_template):
4946         * gst/gstpad.h:
4947         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4948         (gst_pad_template_class_init), (gst_pad_template_init),
4949         (gst_pad_template_dispose), (name_is_valid),
4950         (gst_static_pad_template_get), (gst_pad_template_new),
4951         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4952         (gst_pad_template_pad_created):
4953         * gst/gstpadtemplate.h:
4954           inlined two more docs
4955           factored gstpadtemplate out of gstpad
4956
4957 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4958
4959         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4960         (test_children_state_change_order_semi_sink):
4961           Fix test case: we can't rely on a fixed state change order when
4962           going from READY => PAUSED because the sink might commit its 
4963           new state first when the first buffer created by the source 
4964           reaches the sink before the source has finished its change state.
4965           (Test case still fails at times, see #316856, comment 5 onwards)
4966
4967 2005-09-24  Wim Taymans  <wim@fluendo.com>
4968
4969         * docs/design/part-events.txt:
4970         * docs/design/part-gstbus.txt:
4971         * docs/design/part-gstpipeline.txt:
4972         * docs/design/part-messages.txt:
4973         * docs/design/part-overview.txt:
4974         * docs/design/part-segments.txt:
4975         * gst/gstbin.c:
4976         * gst/gstbuffer.c:
4977         * gst/gstclock.c:
4978         * gst/gstelement.c:
4979         * gst/gstevent.c:
4980         * gst/gstfilter.c:
4981         * gst/gstiterator.c:
4982         Various documentation updates.
4983
4984 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4985
4986         * gst/gstclock.h:
4987           Well, that's embarassing.  Luckily we weren't using
4988           GST_CLOCK_DIFF anywhere.
4989
4990 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4991
4992         * common/gtk-doc.mak:
4993           don't fail on building XML, FC4 slave shows a bunch of doc
4994           missing bits that I don't get
4995         * gst/gstpad.c:
4996         * gst/gstpipeline.c:
4997         * gst/gststructure.c:
4998           some doc updates
4999
5000 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5001
5002         * docs/design/part-gstbin.txt:
5003         * docs/design/part-gstbus.txt:
5004         * gst/gstbus.c:
5005           Add blurb about how the bus goes into flushing mode and
5006           drops all messages when its bin goes from READY into NULL 
5007           state.
5008
5009 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5010
5011         * docs/gst/gstreamer-sections.txt:
5012         * gst/gststructure.c: (gst_structure_get_clock_time):
5013         * gst/gststructure.h:
5014           add a method to get a GstClockTime out of a structure
5015
5016 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5017
5018         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5019         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5020           Added test to check state change order in bins (can still be made
5021           to fail here under heavy disk load; bails out with 'Push on pad
5022           fakesink:sink0, but it was not activated in push mode').
5023
5024         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5025           Fix state change order when there is only a semi sink (#316856)
5026
5027         * gst/gstbus.c: (gst_bus_class_init):
5028           Use _class_peek_parent(), not _class_ref(); fix docs to say
5029           'default main context' instead of 'mainloop' where that is
5030           what's meant.
5031
5032         * gst/gstelement.c: (gst_element_commit_state),
5033         (gst_element_set_state):
5034           Fix typos in debug messages
5035
5036 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5037
5038         * docs/README:
5039         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5040         * gst/gstpluginfeature.c:
5041         * gst/gstutils.c:
5042           various doc updates
5043         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5044           change an assert into an error until it gets fixed properly
5045
5046 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5047
5048         * docs/gst/gstreamer-sections.txt:
5049         * docs/gst/tmpl/.cvsignore:
5050         * docs/gst/tmpl/gstelement.sgml:
5051         * docs/gst/tmpl/gstinfo.sgml:
5052         * docs/gst/tmpl/gstobject.sgml:
5053         * gst/gstelement.c:
5054         * gst/gstelement.h:
5055         * gst/gstinfo.c:
5056         * gst/gstinfo.h:
5057         * gst/gstobject.c: (gst_object_class_init):
5058         * gst/gstobject.h:
5059           inlined 3 more biiiig doc files and added some missing docs on the fly
5060
5061 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5062
5063         * check/gst/.cvsignore:
5064         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5065         * gst/gstregistryxml.c: (load_plugin),
5066         (gst_registry_xml_save_plugin):
5067           put back source in registry.  add checks for find_plugin.
5068         * testsuite/states/bin.c: (assert_state), (empty_bin),
5069         (test_adding_one_element), (main):
5070         * testsuite/states/locked.c: (main):
5071           some compile/run fixes
5072
5073 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5074
5075         * check/gst/gstvalue.c: (GST_START_TEST):
5076           fix leaks in the test itself
5077
5078 2005-09-22  Wim Taymans  <wim@fluendo.com>
5079
5080         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5081         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5082         (gst_base_sink_query):
5083         Prepare for more accurate position reporting and query
5084         handling.
5085
5086         * gst/gstelement.c: (gst_element_send_event),
5087         (gst_element_set_state):
5088         Add some comment.
5089
5090 2005-09-22  Wim Taymans  <wim@fluendo.com>
5091
5092         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5093         (gst_query_parse_segment):
5094         * gst/gstquery.h:
5095         More documentation.
5096         Add segment query for future use.
5097
5098 2005-09-22  Wim Taymans  <wim@fluendo.com>
5099
5100         * gst/gstbin.c: (gst_bin_add_func):
5101         Some more debug info.
5102
5103         * gst/gstelement.c: (gst_element_send_event):
5104         Simplify send_event
5105
5106         * gst/gstelement.h:
5107         Don't know how flags got broken.
5108
5109         * gst/gstquery.h:
5110         Added new query.
5111
5112 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5113
5114         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5115           Add simplistic test suite for GST_TYPE_DATE serialisation and
5116           deserialisation.
5117
5118 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5119
5120         * docs/gst/gstreamer-sections.txt:
5121         * gst/gststructure.c: (gst_structure_set_valist),
5122         (gst_structure_get_date):
5123         * gst/gststructure.h:
5124         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5125         (gst_date_copy), (gst_value_compare_date),
5126         (gst_value_serialize_date), (gst_value_deserialize_date),
5127         (gst_value_transform_date_string),
5128         (gst_value_transform_string_date), (_gst_value_initialize):
5129         * gst/gstvalue.h:
5130           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5131           bunch of utility functions along with a hack that checks that
5132           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5133           is required. Part of the grand scheme in #170777.
5134
5135 2005-09-22  Andy Wingo  <wingo@pobox.com>
5136
5137         * gst/gstconfig.h.in: Psych out gtk-doc.
5138
5139         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5140
5141         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5142
5143         * tools/gst-inspect.c (print_element_list): Plug some
5144         inconsequential leaks.
5145
5146         * gst/gstregistry.c (gst_registry_get_default): Doc.
5147
5148         * check/gst/gstplugin.c: 
5149         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5150         * gst/gstelementfactory.c (gst_element_factory_create): 
5151         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5152         refcount changes.
5153
5154         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5155         (gst_plugin_feature_load): Doc, don't eat refs.
5156
5157         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5158         (gst_plugin_list_free): Doc.
5159         (gst_plugin_load_file): Doc updates.
5160
5161         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5162         accessors returning refcounted objects, return a ref.
5163
5164         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5165         accessor for caps. IDEMPOTENCE. Oh yes.
5166
5167 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5168
5169         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5170
5171         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5172         (_gst_debug_register_funcptr):
5173           Add mutex to serialise access to the hash table with
5174           the function pointer => function name string mapping;
5175           make that hash table static scope (#316809).
5176
5177         * gst/registries/.cvsignore:
5178           Remove left-over file.
5179
5180 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5181
5182         * docs/pwg/appendix-porting.xml:
5183           And something about newsegment events and caps-on-buffers to
5184           the porting guide (feel free to improve).
5185
5186 2005-09-21  Andy Wingo  <wingo@pobox.com>
5187
5188         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5189         data and event probes on the same pad.
5190         (test_buffer_probe_once): Test that removing probes from within
5191         the probe functions works.
5192
5193 2005-09-21  Andy Wingo  <wingo@pobox.com>
5194
5195         * check/gst/gstutils.c: New file.
5196         (test_buffer_probe_n_times): A simple buffer probe test. More to
5197         come, foolios.
5198
5199         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5200         have-data::buffer, not have-data.
5201         (gst_pad_add_event_probe): Likewise for have-data::event.
5202         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5203         peer' isn't quite right yet though.
5204         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5205         (gst_pad_remove_data_probe): Change to take the guint handler_id
5206         as their arg, not the function+data, which is more glib-like.
5207
5208         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5209         the signal emission to indicate if the data is a buffer or an
5210         event.
5211         (gst_pad_get_type): Initialize buffer and event quarks.
5212         (gst_pad_class_init): have-data is now a detailed signal, yes it
5213         is.
5214
5215 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5216
5217         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5218         * gst/gstutils.c: (gst_util_set_value_from_string),
5219         (gst_util_set_object_arg):
5220           Don't put functional code in g_return_if_fail() or
5221           g_return_val_if_fail() statements, otherwise things will 
5222           break when G_DISABLE_CHECKS is defined during compilation.
5223
5224 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5225
5226         * docs/gst/tmpl/.cvsignore:
5227         * docs/gst/tmpl/gstvalue.sgml:
5228         * gst/gstvalue.c:
5229         * gst/gstvalue.h:
5230           inlied another one and added  some obvious docs
5231
5232 2005-09-21  Wim Taymans  <wim@fluendo.com>
5233
5234         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5235         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5236         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5237         (gst_fdsrc_get_property), (gst_fdsrc_create):
5238         * gst/elements/gstfdsrc.h:
5239         Properly implement fdsrc. Removed signal and timeout,
5240         better implemented somewhere else.
5241
5242 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5243
5244         * docs/gst/tmpl/.cvsignore:
5245         * docs/gst/tmpl/gstimplementsinterface.sgml:
5246         * gst/gstinterface.c:
5247           inlined more docs
5248
5249 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5250
5251         * docs/gst/gstreamer-sections.txt:
5252         * docs/gst/tmpl/.cvsignore:
5253         * docs/gst/tmpl/gstenumtypes.sgml:
5254           remove obsolete doc file
5255
5256 2005-09-21  David Schleef  <ds@schleef.org>
5257
5258         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5259         little beer, fix a little leak.
5260
5261 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5262
5263         * docs/gst/gstreamer-docs.sgml:
5264         * docs/gst/gstreamer-sections.txt:
5265         * docs/gst/tmpl/.cvsignore:
5266         * gst/Makefile.am:
5267         * gst/gst.h:
5268         * gst/gstbin.c:
5269         * gst/gstelement.h:
5270         * gst/gstindex.c: (gst_index_class_init):
5271         * gst/gstindex.h:
5272         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5273         (gst_index_factory_class_init), (gst_index_factory_init),
5274         (gst_index_factory_finalize), (gst_index_factory_new),
5275         (gst_index_factory_destroy), (gst_index_factory_find),
5276         (gst_index_factory_create), (gst_index_factory_make):
5277         * gst/gstindexfactory.h:
5278         * gst/gstpluginfeature.c:
5279         * gst/gstpluginfeature.h:
5280         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5281           more docs inlined, splitted gstindex.{c,h}
5282
5283 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5284
5285         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5286           fix a leak
5287
5288 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5289
5290         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5291           Set sync to FALSE by default.
5292
5293 2005-09-20  Wim Taymans  <wim@fluendo.com>
5294
5295         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5296         (gst_base_sink_init):
5297         Make sync property settable from subclass.
5298
5299         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5300         (gst_fake_sink_change_state):
5301         Set sync to FALSE by default.
5302
5303 2005-09-20  Wim Taymans  <wim@fluendo.com>
5304
5305         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5306         * tools/gst-launch.c: (main):
5307         The timeout handler should have lower priority than the source
5308         so we don't timeout before popping a message with 0 timeout.
5309         Dump error messages after failed state change.
5310
5311 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5312
5313         * tools/gst-inspect.c: (print_element_properties_info):
5314           Fix two typos.
5315
5316 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5317
5318         * check/gst/gstevent.c:
5319         * gst/elements/gstfakesink.c:
5320         * gst/elements/gstfakesink.h:
5321           remove the sync property from fakesink.
5322           has the side effect of setting sync TRUE
5323           for fakesink, which is a change.  Anyone who knows how
5324           to fix this nicely in a GObject-y way, feel free.
5325
5326 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5327
5328         * docs/gst/gstreamer-docs.sgml:
5329           remove probe refsection
5330
5331 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5332
5333         * check/Makefile.am:
5334           disable valgrinding the controller test again
5335         * docs/gst/gstreamer-sections.txt:
5336           update for api-changes
5337
5338 2005-09-20  Wim Taymans  <wim@fluendo.com>
5339
5340         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5341         (gst_base_sink_set_property), (gst_base_sink_get_property),
5342         (gst_base_sink_do_sync):
5343         * gst/base/gstbasesink.h:
5344         Added sync property to basesink to disable clock sync.
5345
5346 2005-09-20  Andy Wingo  <wingo@pobox.com>
5347
5348         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5349         eating the caller's refcount.
5350
5351         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5352         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5353         refcount.
5354
5355         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5356         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5357         of GLib 2.8 public, so we can know which refcount to check in
5358         tests.
5359
5360         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5361         (gst_object_init): Only set the gst refcount if we're going ahead
5362         with the refcount hack.
5363
5364 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5365
5366         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5367         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5368           more leaks plumbed, added more debug-logging
5369         * gst/gstmacros.h:
5370           whitespace fix
5371
5372 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5373
5374         * gst/gstmessage.c:
5375           remove include of gstmemchunk.h
5376
5377 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5378
5379         * gst/gstclock.c: (_gst_clock_id_free):
5380           Commit from the Political Party For More Atomic CVS Commits,
5381           so that people don't waste too much of their day fishing
5382           out obvious leaks out of massive commits.
5383           Oh, and fix a pretty damn obvious leak in the memchunk
5384           removal code.
5385
5386 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5387
5388         * check/Makefile.am:
5389         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5390           plug mem-leak, re-add to valgrindable tests
5391
5392 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5393
5394         * gst/gstplugin.h:
5395           unbreak the build for those who have chronic arthritis
5396           and typing "make check" is just too taxing on the hands
5397
5398 2005-09-20  Andy Wingo  <wingo@pobox.com>
5399
5400         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5401         really want it out, you should fix plugins at the same time.
5402
5403 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5404
5405         * configure.ac:
5406         * docs/gst/gstreamer-sections.txt:
5407         * gst/gstobject.c:
5408           added missing symbols to api docs
5409           disable ref-count hack if we have glib >= 2.8
5410
5411 2005-09-19  David Schleef  <ds@schleef.org>
5412
5413         * docs/gst/Makefile.am: Ignore a few more internal headers
5414         * docs/gst/gstreamer-docs.sgml: Remove old sections
5415         * docs/gst/gstreamer-sections.txt: Remove old sections
5416         * docs/gst/tmpl/gstobject.sgml: update
5417         * docs/gst/tmpl/gstplugin.sgml: update
5418         * docs/gst/tmpl/gstpluginfeature.sgml: update
5419         * docs/random/ds/0.9-suggested-changes: update.
5420         * gst/Makefile.am: remove memchunk and trashstack, since they're
5421           not used.
5422         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5423         * gst/gst.h: don't include some headers
5424         * gst/gstchildproxy.c: add gstmarshal.h
5425         * gst/gstclock.c: Don't use memchunks
5426         * gst/gstminiobject.c: Add some docs
5427         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5428         * gst/gstobject.h: same
5429         * gst/gstplugin.c: include gstmacros.h
5430         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5431         * gst/gstquery.c: don't use memchunks
5432         * gst/gstregistry.c: rename gst_registry_deinit()
5433         * gst/gstregistry.h: same
5434
5435 2005-09-19  David Schleef  <ds@schleef.org>
5436
5437         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5438         * docs/libs/gstreamer-libs-sections.txt:
5439         * docs/libs/tmpl/gstgetbits.sgml:
5440         * docs/libs/tmpl/gstputbits.sgml:
5441
5442 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5443
5444         * win32/gstenumtypes.c:
5445         * win32/gstenumtypes.h:
5446           Update.
5447
5448 2005-09-19  Wim Taymans  <wim@fluendo.com>
5449
5450         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5451         Automatically PAUSE and RESUME a pipeline when a flushing seek
5452         is performed.
5453
5454 2005-09-19  Andy Wingo  <wingo@pobox.com>
5455
5456         * gst/gstregistry.h: Spacing fixen.
5457
5458 2005-09-19  Wim Taymans  <wim@fluendo.com>
5459
5460         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5461         Handle state change failure more correctly.
5462
5463 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5464
5465         * check/Makefile.am:
5466         * check/pipelines/cleanup.c: (run_pipeline):
5467         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5468         (GST_START_TEST):
5469           enable cleanup again after fixing the leak
5470         * docs/README:
5471           some more info on docs
5472
5473 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5474
5475         * check/Makefile.am:
5476           re-enable tests now that leaks are plugged
5477         * check/gst/gst.c:
5478         * check/gst/gstbin.c:
5479         * check/gst/gstpipeline.c:
5480           add some more tests while fixing leaks
5481         * common/check.mak:
5482           make sure binaries are uptodate when valgrinding/gdbing
5483         * gst/gst.c:
5484         * gst/gstelementfactory.c:
5485           remove a ref too many, and add a FIXME for when we get
5486           round to disposing of classes
5487         * gst/gstplugin.c:
5488           fix the refcounting when loading a plugin from a file and
5489           the code pretends that the pointer is the same even though
5490           of course it can change
5491         * gst/gstpluginfeature.c:
5492           unref plugins marked cached (a bit confusing as a name)
5493           as the docs state should be done
5494           various doc additions to explain refcounting
5495         * gst/gstregistry.c:
5496         * gst/gstregistryxml.c:
5497           debugging
5498
5499 2005-09-19  Wim Taymans  <wim@fluendo.com>
5500
5501         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5502         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5503         (send_messages), (GST_START_TEST), (gstbus_suite):
5504         * check/gst/gstpipeline.c: (GST_START_TEST):
5505         * check/pipelines/cleanup.c: (run_pipeline):
5506         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5507         (GST_START_TEST):
5508         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5509         (gst_bus_source_check), (gst_bus_source_dispatch),
5510         (gst_bus_create_watch), (gst_bus_add_watch_full),
5511         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5512         * gst/gstbus.h:
5513         * tools/gst-launch.c: (event_loop):
5514         * tools/gst-md5sum.c: (event_loop):
5515         GstBusHandler -> GstBusFunc, return value has the same meaning as
5516         any other GSource (FALSE == remove source).
5517         _add_watch() and _add_watch_full() now take a MessageType mask to
5518         only handle specific types of messages.
5519         _poll() returns the GstMessage instead of the message type to avoid
5520         race conditions.
5521         _have_pending() takes a MessageType mask now too.
5522         Added testsuite for multiple bus watches.
5523         Fix testsuites and applications for new bus API.
5524
5525 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5526
5527         * check/Makefile.am:
5528           mark a bunch of the tests as to fix until we fix them
5529
5530 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5531
5532         * common/check.mak:
5533           use GST_PLUGIN settings for valgrind tests as well, so we're
5534           valgrinding the correct thing
5535         * gst/gst.c: (init_post):
5536           plug another leak
5537
5538 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5539
5540         * gst/gst.c: (init_post), (gst_deinit):
5541         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5542         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5543         * gst/gstindex.c: (gst_index_factory_class_init),
5544         (gst_index_factory_finalize):
5545         * gst/gstobject.c: (gst_object_dispose):
5546         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5547         (gst_plugin_load_file), (gst_plugin_desc_free):
5548         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5549         (gst_plugin_feature_finalize):
5550         * gst/gstregistry.c: (gst_registry_class_init),
5551         (gst_registry_init), (gst_registry_finalize),
5552         (gst_registry_get_default), (gst_registry_deinit):
5553         * gst/gstregistry.h:
5554         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5555           various cleanups and memleak plugging.  make valgrind is happy now.
5556
5557 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5558
5559         * common/check.mak:
5560           add a check-valgrind target
5561
5562 2005-09-18  David Schleef  <ds@schleef.org>
5563
5564         * tools/gst-inspect.c: Revert the GOption code.
5565
5566 2005-09-17  David Schleef  <ds@schleef.org>
5567
5568         * check/Makefile.am: Fix environment variables.
5569         * check/gst/gstplugin.c: Fix for API changes.
5570         * tools/gst-inspect.c: Fix for API changes.
5571         * tools/gst-xmlinspect.c: Fix for API changes.
5572         * gst/gstelementfactory.c:
5573         * gst/gstplugin.c:
5574         * gst/gstplugin.h:
5575         * gst/gstpluginfeature.c:
5576         * gst/gstpluginfeature.h:
5577         * gst/gstregistry.c:
5578         * gst/gstregistry.h:
5579         * gst/gstregistryxml.c:
5580         * gst/gsttypefind.c:
5581         * gst/gsttypefindfactory.c:
5582         * gst/indexers/gstfileindex.c:
5583         * gst/indexers/gstmemindex.c:
5584         * gst/schedulers/Makefile.am:
5585           Change registry to keep track of both plugins and features,
5586           removing the feature tracking from plugins themselves.
5587
5588 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5589
5590         * check/Makefile.am:
5591         * tools/gst-register.1.in:
5592           remove gst-register
5593
5594 2005-09-15  David Schleef  <ds@schleef.org>
5595
5596         * check/gst/gstplugin.c:
5597         * gst/gstelementfactory.c:
5598         * gst/gstplugin.c:
5599         * gst/gstpluginfeature.c:
5600         * gst/gstregistry.c:
5601           Getting tired of debugging.  Disabled all the unreffing of
5602           plugins and features, which fixes the segfaults, but of
5603           course leaks like crazy.  At least playbin works.
5604
5605 2005-09-15  David Schleef  <ds@schleef.org>
5606
5607         * check/gst/gstplugin.c: (register_check_elements),
5608         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5609         More testing
5610         * gst/elements/gsttypefindelement.c: Fix refcounting.
5611         * gst/gsttypefind.c:
5612         * gst/gsttypefindfactory.c:
5613         * gst/gsttypefindfactory.h:
5614
5615 2005-09-15  David Schleef  <ds@schleef.org>
5616
5617         * gst/gstindex.c: get refcounting correct.
5618         * gst/gstregistry.c: Handle the case where a feature/plugin is
5619           not found.
5620
5621 2005-09-15  David Schleef  <ds@schleef.org>
5622
5623         * check/Makefile.am:
5624         * check/gst/gstplugin.c: Add test
5625         * gst/gstplugin.c: Fix problems noticed by testsuite
5626         * gst/gstplugin.h:
5627         * gst/gstregistry.c: 
5628         * gst/gstregistry.h:
5629
5630 2005-09-15  David Schleef  <ds@schleef.org>
5631
5632         * gst/gstplugin.c: Implement semi-decent recounting and locking
5633           in plugins and plugin features.
5634         * gst/gstplugin.h:
5635         * gst/gstpluginfeature.c:
5636         * gst/gstpluginfeature.h:
5637         * gst/gstregistry.c:
5638
5639 2005-09-15  Michael Smith <msmith@fluendo.com>
5640
5641         * gst/gstregistry.c: (gst_registry_get_feature_list):
5642           Implement this. Makes oggdemux work; decodebin still broken.
5643
5644 2005-09-14  David Schleef  <ds@schleef.org>
5645
5646         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5647           #316076)
5648         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5649         * gst/check/Makefile.am:
5650         * libs/gst/controller/Makefile.am:
5651         * libs/gst/dataprotocol/Makefile.am:
5652
5653 2005-09-14  David Schleef  <ds@schleef.org>
5654
5655         * configure.ac: Remove getbits library.  Nothing uses it, and
5656           it should be in something like liboil if someone did want
5657           to use it.
5658         * libs/gst/Makefile.am:
5659         * libs/gst/getbits/Makefile.am:
5660         * libs/gst/getbits/gbtest.c:
5661         * libs/gst/getbits/getbits.c:
5662         * libs/gst/getbits/getbits.h:
5663         * libs/gst/getbits/gstgetbits_generic.c:
5664         * libs/gst/getbits/gstgetbits_i386.s:
5665         * libs/gst/getbits/gstgetbits_inl.h:
5666
5667 2005-09-14  David Schleef  <ds@schleef.org>
5668
5669         * gst/Makefile.am: Dist glib-compat.h
5670
5671 2005-09-14  David Schleef  <ds@schleef.org>
5672
5673         * configure.ac: Remove gst/registries, since it's no longer used.
5674         * gst/registries/Makefile.am:
5675         * gst/registries/gstlibxmlregistry.c:
5676         * gst/registries/gstlibxmlregistry.h:
5677         * gst/registries/gstxmlregistry.c:
5678         * gst/registries/gstxmlregistry.h:
5679         * gst/registries/registrytest.c:
5680
5681 2005-09-14  David Schleef  <ds@schleef.org>
5682
5683         * gst/glib-compat.h:
5684         * gst/gstregistryxml.c:
5685           Convergence is near.  Seriously.
5686
5687 2005-09-14  David Schleef  <ds@schleef.org>
5688
5689         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5690         * gst/glib-compat.h:
5691           Attempt #4 to appease the buildbots.
5692
5693 2005-09-14  David Schleef  <ds@schleef.org>
5694
5695         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5696           Attempt #3.
5697
5698 2005-09-14  David Schleef  <ds@schleef.org>
5699
5700         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5701         Attempt #2.
5702
5703 2005-09-14  David Schleef  <ds@schleef.org>
5704
5705         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5706           the new functions.
5707
5708 2005-09-14  David Schleef  <ds@schleef.org>
5709
5710         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5711         * gst/glib-compat.h: Add some functions that are in newer versions
5712           of glib than we care to require.
5713         * gst/gstregistryxml.c: Use them.
5714
5715 2005-09-14  David Schleef  <ds@schleef.org>
5716
5717         * po/POTFILES.in: remove gst-register.c
5718
5719 2005-09-14  David Schleef  <ds@schleef.org>
5720
5721         * docs/gst/gstreamer-docs.sgml:
5722         * docs/gst/gstreamer-sections.txt:
5723         * docs/gst/gstreamer.types:
5724         * docs/gst/tmpl/gstelement.sgml:
5725         * docs/gst/tmpl/gstplugin.sgml:
5726         * docs/gst/tmpl/gstpluginfeature.sgml:
5727           Documentation updates for registry changes.
5728
5729 2005-09-14  David Schleef  <ds@schleef.org>
5730
5731         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5732           because we don't require glib-2.8.
5733
5734 2005-09-14  David Schleef  <ds@schleef.org>
5735
5736         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5737           registries directory.
5738
5739 2005-09-14  David Schleef  <ds@schleef.org>
5740
5741         * check/Makefile.am:
5742         * check/generic/states.c:
5743         * gst/Makefile.am:
5744         * gst/gst.c:
5745         * gst/gst.h:
5746         * gst/gst_private.h:
5747         * gst/gstelementfactory.c:
5748         * gst/gstindex.c:
5749         * gst/gstinfo.c:
5750         * gst/gstplugin.c:
5751         * gst/gstplugin.h:
5752         * gst/gstpluginfeature.c:
5753         * gst/gstpluginfeature.h:
5754         * gst/gstregistry.c:
5755         * gst/gstregistry.h:
5756         * gst/gstregistrypool.c: remove
5757         * gst/gstregistrypool.h: remove
5758         * gst/gsttypefind.c:
5759         * gst/gsttypefindfactory.c:
5760         * gst/gsturi.c:
5761         * tools/Makefile.am:
5762         * tools/gst-compprep.c:
5763         * tools/gst-inspect.c:
5764         * tools/gst-register.c: remove
5765         * tools/gst-xmlinspect.c:
5766           Registry rewrite.  Changes registry from being a file created
5767           by a tool into a simple cache file created automatically by 
5768           libgstreamer.  Removed gst-register (because it's no longer
5769           needed).  Remove registry pools, because we only have one
5770           registry implementation (XML).  Fix up other subsystems as
5771           necessary.
5772
5773 2005-09-13  Michael Smith <msmith@fluendo.com>
5774
5775         * gst/gstconfig.h.in:
5776           Don't Use windows linking attributes for MinGW. Fixes #316157
5777
5778 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5779
5780         * gst/gstutils.c: (set_state_async_thread_func),
5781         (gst_element_set_state_async):
5782           Apparently people think it's better if this function doesn't
5783           try to set the state to whatever state was asked for on the first
5784           call to this function for any object.  Seriously.
5785
5786 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5787
5788         * check/gst/gstpipeline.c: (GST_START_TEST):
5789         * docs/gst/gstreamer-sections.txt:
5790         * gst/gstutils.c: (set_state_async_thread_func),
5791         (gst_element_set_state_async):
5792         * gst/gstutils.h:
5793           add a "gst_element_set_state_async" method that
5794           sets the state and starts a thread to make sure the state
5795           change completes as best as it can
5796
5797 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5798
5799         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5800           codify design+behaviour in testsuite after discussion
5801
5802 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5803
5804         * docs/gst/tmpl/gstelement.sgml:
5805         * docs/manual/appendix-quotes.xml:
5806           add a quote
5807         * gst/gstelement.c: (gst_element_set_state):
5808           add some debug
5809
5810 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5811
5812         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5813         (gst_base_transform_prepare_output_buf),
5814         (gst_base_transform_handle_buffer):
5815         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5816         (gst_capsfilter_prepare_buf):
5817           Remove the requirement for sub-classes to call the parent
5818           implementation of prepare_output_buffer with a wrapper function.
5819           
5820         * gst/gsttaglist.h:
5821         * gst/gsttagsetter.h:
5822           Fix #define wrapper
5823
5824 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5825
5826         * docs/gst/gstreamer-sections.txt:
5827           more doc cleanups
5828
5829 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5830
5831         * docs/gst/gstreamer-sections.txt:
5832         * docs/gst/tmpl/gstelement.sgml:
5833         * docs/gst/tmpl/gstplugin.sgml:
5834         * gst/gstminiobject.c:
5835         * gst/gstvalue.h:
5836           docs now stop throwing warnings
5837
5838 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5839
5840         * docs/gst/gstreamer-sections.txt:
5841         * docs/gst/gstreamer.types:
5842         * docs/gst/tmpl/gstpad.sgml:
5843         * docs/gst/tmpl/gsttypes.sgml:
5844         * gst/base/gstadapter.h:
5845         * gst/base/gstbasesink.h:
5846         * gst/base/gstbasesrc.h:
5847         * gst/gstbin.h:
5848         * gst/gstbuffer.h:
5849         * gst/gstbus.h:
5850         * gst/gstcaps.h:
5851         * gst/gstclock.h:
5852         * gst/gstelement.h:
5853         * gst/gstevent.h:
5854         * gst/gstmessage.h:
5855         * gst/gstpad.h:
5856         * gst/gststructure.c:
5857         * gst/registries/gstlibxmlregistry.h:
5858           various documentation fixes
5859
5860 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5861
5862         * docs/gst/gstreamer-sections.txt:
5863         * docs/gst/tmpl/gstvalue.sgml:
5864           rearrange gstvalue section
5865         * gst/gstutils.c: (gst_element_state_get_name):
5866           NONE -> VOID
5867         * gst/gstvalue.c: (_gst_value_initialize):
5868         * gst/gstvalue.h:
5869           doc updates
5870
5871 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5872
5873         * check/gst-libs/controller.c:
5874           Header include fix.
5875         * gst/base/gstbasetransform.c:
5876         (gst_base_transform_default_prepare_buf),
5877         (gst_base_transform_handle_buffer):
5878         * gst/base/gstbasetransform.h:
5879           Some more basetransform changes and fixes to enable sub-classes
5880           that modify buffer metadata only.
5881         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5882         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5883         (gst_capsfilter_prepare_buf):
5884           If the output pad has fixed allowed caps and input buffers 
5885           don't have any, set the fixed caps on outgoing buffers.
5886
5887 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5888         * check/elements/identity.c: (GST_START_TEST):
5889           Make the error a little clearer when the test fails because
5890           identity made a copy of the buffer.
5891         * docs/gst/gstreamer-sections.txt:
5892           New symbols in gstbasetransform.h
5893         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5894         (gst_base_transform_init), (gst_base_transform_transform_size),
5895         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5896         (gst_base_transform_default_prepare_buf),
5897         (gst_base_transform_get_unit_size),
5898         (gst_base_transform_buffer_alloc),
5899         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5900         (gst_base_transform_change_state),
5901         (gst_base_transform_set_passthrough),
5902         (gst_base_transform_set_in_place),
5903         (gst_base_transform_is_in_place):
5904         * gst/base/gstbasetransform.h:
5905           Change BaseTransform to separate in_place operate from same_caps
5906           output. in_place implies that the element can perform the transform
5907           on incoming buffers in-place, even if the caps on the output are
5908           different.
5909           Sub-class elements can now implement special buffer allocation
5910           methods for outgoing buffers if they wish to.
5911           Big documentation addition.
5912         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5913         * gst/elements/gstelements.c:
5914           Changes for basetransform modifications.
5915         * gst/elements/Makefile.am:
5916         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5917           Compile fix. Extra debug output.
5918
5919 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5920
5921         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5922         (gst_pad_suite):
5923           add tests for valid pad naming
5924         * gst/check/gstcheck.c: (gst_check_log_message_func),
5925         (gst_check_log_critical_func):
5926           add ASSERT_WARNING
5927           remove printing of code, it is fragile when the code contains
5928           % and the line number is enough info
5929         * gst/check/gstcheck.h:
5930         * gst/gstpad.c: (gst_pad_template_new):
5931           fix memleaks
5932
5933 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5934
5935         * configure.ac:
5936           say what CHECK flags we use
5937         * docs/libs/gstreamer-libs.types:
5938         * libs/gst/controller/Makefile.am:
5939         * libs/gst/controller/gst-controller.c:
5940         * libs/gst/controller/gst-controller.h:
5941         * libs/gst/controller/gst-helper.c:
5942         * libs/gst/controller/gst-interpolation.c:
5943         * libs/gst/controller/gstcontroller.c:
5944         * libs/gst/controller/gsthelper.c:
5945         * libs/gst/controller/gstinterpolation.c:
5946         * tools/gst-inspect.c: (print_plugin_info):
5947           we don't use dashes in header names
5948
5949 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5950
5951         * check/Makefile.am:
5952         * check/gst/.cvsignore:
5953         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5954         (gst_pipeline_suite), (main):
5955           adding a test for pipelines and state changes
5956         * gst/gstutils.c: (get_state_func):
5957           add some debugging
5958         * gstreamer.spec.in:
5959           fix up spec file
5960
5961 2005-09-08  Michael Smith <msmith@fluendo.com>
5962
5963         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5964         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5965         (gst_file_src_is_seekable), (gst_file_src_get_size),
5966         (gst_file_src_start):
5967         * gst/elements/gstfilesrc.h:
5968           Various fixes for unseekable, unmmapable, and non-normal files, so
5969           that fallback to read() rather than mmap() works.
5970         * gst/gstevent.c: (gst_event_new_newsegment):
5971           Allow newsegment events with segment_start == segment_end, as will
5972           correctly happen if you use filesrc on a zero-size file, for
5973           example.
5974
5975 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5976
5977         * gst/gstplugin.c: (gst_plugin_load_file):
5978           Call g_module_close when we don't load the module
5979
5980         * gst/registries/gstlibxmlregistry.c:
5981         (gst_xml_registry_get_property):
5982           Port leak fix from 0.8
5983
5984 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5985
5986         * docs/gst/gstreamer-docs.sgml:
5987         * docs/gst/tmpl/.cvsignore:
5988         * docs/gst/tmpl/gsttrace.sgml:
5989         * docs/gst/tmpl/gsttrashstack.sgml:
5990         * gst/Makefile.am:
5991         * gst/gst.h:
5992         * gst/gstelement.h:
5993         * gst/gstevent.h:
5994         * gst/gstmessage.c:
5995         * gst/gstmessage.h:
5996         * gst/gsttag.c:
5997         * gst/gsttag.h:
5998         * gst/gsttaginterface.c:
5999         * gst/gsttaginterface.h:
6000         * gst/gsttaglist.c:
6001         * gst/gsttaglist.h:
6002         * gst/gsttagsetter.c:
6003         * gst/gsttagsetter.h:
6004         * gst/gsttrace.c:
6005         * gst/gsttrace.h:
6006         * gst/gsttrashstack.c:
6007           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6008           inlined docs for gsttrace, gsttrashstack
6009
6010 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6011
6012         * gst/Makefile.am:
6013         * gst/elements/gstbufferstore.h:
6014         * gst/elements/gsttypefindelement.c:
6015         * gst/elements/gsttypefindelement.h:
6016         * gst/gst.h:
6017         * gst/gsttypefind.c:
6018         * gst/gsttypefind.h:
6019         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6020         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6021         (gst_type_find_factory_dispose),
6022         (gst_type_find_factory_unload_thyself),
6023         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6024         (gst_type_find_factory_get_caps),
6025         (gst_type_find_factory_get_extensions),
6026         (gst_type_find_factory_call_function):
6027         * gst/gsttypefindfactory.h:
6028         * gst/registries/gstlibxmlregistry.c:
6029         * gst/registries/gstxmlregistry.c:
6030           splitted gsttypefind into gsttypefind, gsttypefindfactory
6031
6032 2005-09-07  Andy Wingo  <wingo@pobox.com>
6033
6034         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6035         condition whereby the pad's task function is entered before the
6036         pad_mode variable was set.
6037
6038 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6039
6040         * gst/gstpad.c: (gst_pad_alloc_buffer):
6041           Catch misbehaving pad_alloc functions that don't
6042           set up caps and do it for them.
6043
6044 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6045
6046         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6047           test for pipe!=NULL
6048         * docs/gst/tmpl/.cvsignore:
6049         * docs/gst/tmpl/gstmemchunk.sgml:
6050         * docs/gst/tmpl/gstparse.sgml:
6051         * docs/gst/tmpl/gsttaglist.sgml:
6052         * docs/gst/tmpl/gsttagsetter.sgml:
6053         * docs/gst/tmpl/gsttypefind.sgml:
6054         * docs/gst/tmpl/gsttypefindfactory.sgml:
6055         * gst/gstmemchunk.c:
6056         * gst/gstparse.c:
6057         * gst/gsttag.c:
6058         * gst/gsttaginterface.c:
6059         * gst/gsttypefind.c:
6060         * gst/gsttypefind.h:
6061           inlined more docs
6062
6063 === release 0.9.2 ===
6064
6065 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6066
6067         * NEWS:
6068         * RELEASE:
6069         * configure.ac:
6070           releasing 0.9.2, "South"
6071
6072 2005-09-05  Andy Wingo  <wingo@pobox.com>
6073
6074         * gst/registries/gstxmlregistry.h:
6075         * gst/registries/gstxmlregistry.c: Um... resurrect...
6076         
6077         * gst/registries/gstxmlregistry.h:
6078         * gst/registries/gstxmlregistry.c: and update to newer API.
6079         Incidentally they should be a bit faster now that they don't have
6080         to parse the caps.
6081         
6082 2005-09-05  Andy Wingo  <wingo@pobox.com>
6083
6084         * gst/registries/gstxmlregistry.h:
6085         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6086         replaced by the libxml registry a while back
6087
6088 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6089
6090         * docs/gst/tmpl/gstplugin.sgml:
6091         * gst/elements/gstelements.c:
6092         * gst/gst.c:
6093         * gst/gstplugin.c: (gst_plugin_register_func),
6094         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6095         (gst_plugin_get_source):
6096         * gst/gstplugin.h:
6097         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6098         (gst_xml_registry_save_plugin):
6099         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6100         (gst_xml_registry_save_plugin):
6101         * tools/gst-inspect.c: (print_plugin_info):
6102           add a "source" plugin description field, to represent the source
6103           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6104           will set it to PACKAGE, which is automake's idea of the name of
6105           the source project.
6106
6107 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6108
6109         * Makefile.am:
6110         * autogen.sh:
6111         * configure.ac:
6112         * docs/Makefile.am:
6113         * docs/faq/Makefile.am:
6114         * docs/gst/tmpl/gstelement.sgml:
6115         * docs/gst/tmpl/gsttypes.sgml:
6116         * docs/htmlinstall.mak:
6117         * docs/manual/Makefile.am:
6118         * docs/pwg/Makefile.am:
6119           reorganize doc build a little
6120           split out docbook and gtk-doc stuff
6121           have two separate --enable's and enable them through autogen
6122           but disable by default in configure (to be similar to other
6123           projects)
6124         * gstreamer.spec.in:
6125           clean up docs install
6126         * po/af.po:
6127         * po/az.po:
6128         * po/ca.po:
6129         * po/cs.po:
6130         * po/de.po:
6131         * po/en_GB.po:
6132         * po/fr.po:
6133         * po/it.po:
6134         * po/nb.po:
6135         * po/nl.po:
6136         * po/ru.po:
6137         * po/sq.po:
6138         * po/sr.po:
6139         * po/sv.po:
6140         * po/tr.po:
6141         * po/uk.po:
6142         * po/vi.po:
6143           translation updates
6144
6145 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6146
6147         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6148           Add comment.
6149           
6150         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6151         (gst_fake_sink_change_state):
6152           Make state change function thread-safe.
6153           
6154         * gst/gstpad.c: (gst_pad_alloc_buffer):
6155           Set offset on generic buffer allocated by fallback.
6156
6157 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6158
6159         * docs/gst/gstreamer-sections.txt:
6160         * docs/gst/tmpl/gstelement.sgml:
6161         * gst/gstpad.c:
6162         * libs/gst/controller/gst-controller.c:
6163         (gst_controlled_property_set_interpolation_mode),
6164         (gst_controlled_property_new),
6165         (gst_controller_find_controlled_property):
6166          run the wingo-magic script against the docs
6167
6168 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6169
6170         * docs/gst/gstreamer-docs.sgml:
6171         * docs/gst/gstreamer-sections.txt:
6172         * docs/gst/tmpl/.cvsignore:
6173         * docs/gst/tmpl/gstelementdetails.sgml:
6174         * docs/gst/tmpl/gstelementfactory.sgml:
6175         * gst/gst.c:
6176         * gst/gstbus.c:
6177         * gst/gstelementfactory.c:
6178         * gst/gstelementfactory.h:
6179           merged elementdetails docs into elementfactory docs
6180           inlined both
6181
6182 2005-09-02  Andy Wingo  <wingo@pobox.com>
6183
6184         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6185         consider this enum an enum and not a flags.
6186
6187 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6188
6189         * docs/gst/gstreamer-docs.sgml:
6190         * docs/gst/tmpl/.cvsignore:
6191         * docs/gst/tmpl/gstghostpad.sgml:
6192         * docs/gst/tmpl/gstiterator.sgml:
6193         * docs/gst/tmpl/gstmacros.sgml:
6194         * docs/gst/tmpl/gstrealpad.sgml:
6195         * docs/gst/tmpl/gstregistry.sgml:
6196         * docs/gst/tmpl/gstregistrypool.sgml:
6197         * docs/gst/tmpl/gststructure.sgml:
6198         * docs/gst/tmpl/gstsystemclock.sgml:
6199         * docs/gst/tmpl/gsttrace.sgml:
6200         * gst/gstghostpad.c:
6201         * gst/gstmacros.h:
6202         * gst/gstmemchunk.c:
6203         * gst/gstmemchunk.h:
6204         * gst/gstqueue.c:
6205         * gst/gstregistry.c:
6206         * gst/gstregistrypool.c:
6207         * gst/gststructure.c:
6208         * gst/gstsystemclock.c:
6209           more docs inlined
6210
6211 2005-09-02  Andy Wingo  <wingo@pobox.com>
6212
6213         * gst/gstelement.h (GstState): Renamed from GstElementState,
6214         changed to be a normal enum instead of flags.
6215         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6216         munged to be GST_STATE_CHANGE_*.
6217         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6218         work with the new state representation.
6219         (GstStateChange): New enumeration of possible state transitions.
6220         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6221         (GstElementClass::change_state): Pass the GstStateChange along as
6222         an argument. Helps language bindings, so they don't have to use
6223         tricky lock-needing macros like GST_STATE_CHANGE ().
6224
6225         * scripts/update-states (file): New script. Run it on a file to
6226         update it for state naming and API changes. Updates files in
6227         place.
6228
6229         * All files updated for the new API.
6230
6231 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6232
6233         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6234         * gst/gstutils.c: (gst_util_set_value_from_string),
6235         (gst_util_set_object_arg):
6236           fix a bunch of unchecked return values
6237         * tools/gst-complete.c: (main):
6238         * gstreamer.spec.in:
6239           clean up a little
6240
6241 2005-09-01  Wim Taymans  <wim@fluendo.com>
6242
6243         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6244         (gst_base_sink_event), (gst_base_sink_do_sync),
6245         (gst_base_sink_handle_event):
6246         * gst/base/gstbasesink.h:
6247         Handle newsegments more correctly.
6248
6249         * gst/gstbus.c:
6250         Fix docs.
6251
6252         * gst/gstevent.c: (gst_event_new_newsegment):
6253         A newsegment cannot have a start_time of -1
6254
6255 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6256
6257         * win32/gstenumtypes.c:
6258         * win32/gstenumtypes.h:
6259           Update
6260
6261 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6262
6263         * libs/gst/controller/gst-controller.c:
6264         (gst_controlled_property_set_interpolation_mode),
6265         (gst_controlled_property_new):
6266          fixed boolean again
6267
6268 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6269
6270         * docs/faq/gst-uninstalled:
6271           add -good
6272         * gst/gstevent.c:
6273         * gst/gstevent.h:
6274           remove wrong docs
6275         * gst/gstutils.c: (gst_element_link_filtered):
6276         * gst/gstutils.h:
6277           add gst_element_link_filtered
6278
6279 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6280
6281         * docs/gst/gstreamer-docs.sgml:
6282         * docs/gst/gstreamer-sections.txt:
6283         * docs/gst/tmpl/.cvsignore:
6284         * docs/gst/tmpl/gsterror.sgml:
6285         * docs/gst/tmpl/gstfilter.sgml:
6286         * docs/gst/tmpl/gsturihandler.sgml:
6287         * docs/gst/tmpl/gsturitype.sgml:
6288         * docs/gst/tmpl/gstutils.sgml:
6289         * docs/gst/tmpl/gstxml.sgml:
6290         * gst/gsterror.c:
6291         * gst/gsterror.h:
6292         * gst/gstfilter.c:
6293         * gst/gsturi.c:
6294         * gst/gsturitype.c:
6295         * gst/gstutils.c:
6296         * gst/gstxml.c:
6297           inlined more docs, fixed double id-ref
6298
6299 2005-08-31  Wim Taymans  <wim@fluendo.com>
6300
6301         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6302         (gst_base_transform_handle_buffer):
6303         Passthrough elements don't need the caps as they don't care.
6304
6305 2005-08-31  Wim Taymans  <wim@fluendo.com>
6306
6307         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6308         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6309         Don't leak refcounts on buffers.
6310
6311 2005-08-31  Wim Taymans  <wim@fluendo.com>
6312
6313         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6314         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6315         (gst_base_transform_chain), (gst_base_transform_change_state):
6316         * gst/base/gstbasetransform.h:
6317         Handle the case where we are not negotiated more gracefully.
6318
6319 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6320
6321         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6322         (gst_file_src_map_region):
6323           Set READONLY flag on mmap'ed buffers, otherwise
6324           gst_buffer_make_writable() won't work properly (#314708).
6325
6326 2005-08-31  Wim Taymans  <wim@fluendo.com>
6327
6328         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6329         passthrough elements can even do inplace on non writable
6330         buffers (as they don't touch them).
6331
6332 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6333
6334         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6335         (gst_test_mono_source_set_property),
6336         (gst_test_mono_source_class_init), (GST_START_TEST),
6337         (gst_controller_suite):
6338           more tests (hehe I have the most)
6339         * gst/gstbus.c:
6340           describe popping messages whenusing mulltiple sources
6341         * libs/gst/controller/gst-controller.c:
6342         (gst_controlled_property_set_interpolation_mode),
6343         (gst_controlled_property_new):
6344         * libs/gst/controller/gst-controller.h:
6345         * libs/gst/controller/gst-interpolation.c:
6346           implement boolean properties
6347
6348 2005-08-31  Wim Taymans  <wim@fluendo.com>
6349
6350         * gst/gstminiobject.c: (gst_mini_object_ref):
6351         Cannot assert that the refcount has to be positive
6352         since a disposed object can be resurrected.
6353
6354 2005-08-31  Wim Taymans  <wim@fluendo.com>
6355
6356         * gst/gstpad.c: (gst_pad_init):
6357         Revert change, need to first fix badly behaving 
6358         apps.
6359
6360 2005-08-30  Wim Taymans  <wim@fluendo.com>
6361
6362         * check/elements/fakesrc.c: (setup_fakesrc):
6363         * check/elements/identity.c: (setup_identity):
6364         Activate pads before using them.
6365
6366 2005-08-30  Wim Taymans  <wim@fluendo.com>
6367
6368         * gst/base/gstadapter.c: (gst_adapter_flush):
6369         Flushing out 0 bytes is ok for this function.
6370
6371         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6372         no newsegment gives a warning and sets the start/stop to 
6373         invalid.
6374
6375         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6376         (gst_base_transform_set_passthrough):
6377         Some debug info.
6378
6379         * gst/gstminiobject.c: (gst_mini_object_ref):
6380         Check refcount here too.
6381
6382         * gst/gstpad.c: (gst_pad_init):
6383         Pads are initially flushing and refusing data.
6384
6385         * gst/gstutils.c: (gst_element_link_pads_filtered):
6386         When adding a capsfilter element make sure it has the
6387         same state as the parent bin.
6388
6389 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6390
6391         * docs/gst/tmpl/.cvsignore:
6392         * docs/gst/tmpl/gstformat.sgml:
6393         * docs/gst/tmpl/gstversion.sgml:
6394         * gst/gstbus.h:
6395         * gst/gstformat.c:
6396         * gst/gstformat.h:
6397         * gst/gstversion.h.in:
6398           more docs and two more inlined
6399
6400 2005-08-30  Wim Taymans  <wim@fluendo.com>
6401
6402         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6403         Don't sync to clock.
6404
6405 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6406
6407         * docs/gst/gstreamer-sections.txt:
6408           ultral33t func10ns deserve to appear in the docs actually
6409         * docs/gst/tmpl/.cvsignore:
6410         * docs/gst/tmpl/gstcompat.sgml:
6411         * docs/gst/tmpl/gstconfig.sgml:
6412         * gst/check/gstcheck.c:
6413         * gst/gstcompat.h:
6414         * gst/gstconfig.h.in:
6415           inlined more docs
6416
6417 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6418
6419         * docs/gst/tmpl/.cvsignore:
6420         * docs/gst/tmpl/gstquery.sgml:
6421         * docs/gst/tmpl/gstutils.sgml:
6422         * gst/gstquery.c:
6423         * gst/gstquery.h:
6424           inlined and extended docs
6425
6426 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6427
6428         * check/gst-libs/controller.c: (GST_START_TEST),
6429         (gst_controller_suite):
6430           more tests
6431         * docs/gst/tmpl/gstutils.sgml:
6432         * docs/libs/gstreamer-libs-sections.txt:
6433         * docs/libs/tmpl/gstdataprotocol.sgml:
6434           include path fixes
6435         * examples/controller/audio-example.c: (main):
6436           controller example works now
6437         * gst/gstclock.h:
6438           doc fixes
6439         * tools/gst-inspect.c: (print_element_properties_info):
6440           show param spec flags
6441
6442 2005-08-29  Andy Wingo  <wingo@pobox.com>
6443
6444         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6445
6446 2005-08-28  Andy Wingo  <wingo@pobox.com>
6447
6448         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6449         as having two arguments instead of just one. Allows superclasses
6450         to access information on subclasses -- see the terrible for() loop
6451         in gtype.c:g_type_create_instance for the reason why. All callers
6452         changed.
6453
6454 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6455
6456         * docs/design/part-messages.txt:
6457           update info
6458         * docs/gst/tmpl/.cvsignore:
6459         * docs/gst/tmpl/gstcaps.sgml:
6460         * docs/gst/tmpl/gstclock.sgml:
6461         * gst/gstbus.c:
6462         * gst/gstcaps.c:
6463         * gst/gstcaps.h:
6464         * gst/gstclock.c:
6465         * gst/gstclock.h:
6466         * gst/gstmessage.c:
6467           added descriptions for bus and message
6468           inline caps and clock docs
6469
6470 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6471
6472         * gst/gstmessage.c:
6473         * gst/gstmessage.h:
6474           doc fixes
6475
6476 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6477
6478         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6479           fix div-by-zero
6480
6481 2005-08-26  Andy Wingo  <wingo@pobox.com>
6482
6483         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6484         element_set_state's return val.
6485         (test_2_elements): Add test that's been disabled for months.
6486
6487         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6488         can-activate-pull properties.
6489
6490         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6491         can-activate-pull properties. Implement is_seekable so fakesrc can
6492         operate in pull mode.
6493
6494         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6495         properties.
6496         (gst_base_sink_activate, gst_base_sink_activate_pull)
6497         (gst_base_sink_activate_push): Make activation mode choosing work.
6498         Cleanups.
6499         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6500         is right. Make pull mode work. Post an eos before pausing in pull
6501         mode.
6502         (gst_base_sink_change_state): Pay attention to the core's
6503         change_state() return val.
6504         
6505         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6506         has-getrange properties. Cleanups.
6507         
6508         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6509         has_getrange and replace with can_activate_pull and
6510         can_activate_push.
6511
6512         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6513         locking comments. Remove has_loop, has_chain and replace with
6514         can_activate_pull and can_activate_push.
6515
6516 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6517
6518         * configure.ac:
6519         * examples/Makefile.am:
6520         * examples/metadata/Makefile.am:
6521         * examples/metadata/read-metadata.c: (message_loop),
6522         (have_pad_handler), (make_pipeline), (print_tag), (main):
6523           Add metadata reading example that loops over a list of filenames,
6524           dumping any tags found.
6525
6526         * gst/gstbus.c: (gst_bus_dispose):
6527         * gst/gstelement.c: (gst_element_dispose):
6528           Release a few potentially-held references in dispose.
6529
6530 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6531
6532         * docs/gst/tmpl/gstminiobject.sgml:
6533           do *not* add tmpl/*.sgml files to CVS!
6534
6535 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6536
6537         * libs/gst/bytestream/.cvsignore:
6538         * libs/gst/bytestream/Makefile.am:
6539         * libs/gst/bytestream/adapter.c:
6540         * libs/gst/bytestream/adapter.h:
6541         * libs/gst/bytestream/bytestream.c:
6542         * libs/gst/bytestream/bytestream.h:
6543         * libs/gst/bytestream/filepad.c:
6544         * libs/gst/bytestream/filepad.h:
6545           removing obsolete files
6546
6547 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6548
6549         * docs/gst/gstreamer-docs.sgml:
6550         * docs/libs/gstreamer-libs-docs.sgml:
6551           disabed additional index entries again, as this makes docs-gen just
6552           slow and they aren't useful yet
6553         * docs/libs/gstreamer-libs-sections.txt:
6554           little -section.txt cleanup for libs
6555
6556 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6557
6558         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6559         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6560           fix up some debugging
6561         (gst_base_transform_get_unit_size),
6562         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6563         (gst_base_transform_handle_buffer):
6564         * gst/base/gstbasetransform.h:
6565           handle and store timed NEWSEGMENT events so that subclasses that
6566           calculate time by counting samples have a segment_start time they
6567           need to add to their timestamps - see audioresample
6568
6569 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6570
6571         * gst/gstbin.h:
6572           removed ';' from the end of macro defs
6573         * docs/gst/gstreamer-docs.sgml:
6574         * docs/gst/gstreamer-sections.txt:
6575         * docs/gst/tmpl/.cvsignore:
6576         * gst/gstbus.h:
6577         * gst/gstelement.c: (gst_element_class_init),
6578         (gst_element_set_state), (activate_pads),
6579         (gst_element_save_thyself):
6580         * gst/gstevent.c: (gst_event_new_newsegment):
6581         * gst/gstevent.h:
6582         * gst/gstiterator.c:
6583         * gst/gstiterator.h:
6584         * gst/gstpad.c:
6585         * gst/gstprobe.h:
6586         * gst/gstutils.c: (gst_pad_query_convert):
6587         * gst/gstutils.h:
6588           fixed parameter name mismatches between source, header and docs
6589           added some more docs, resolved the last batch of unused elements in
6590           docs (now someone needs to doc them)
6591
6592 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6593
6594         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6595         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6596           don't walk through the plugins backwards.  Where is all this
6597           reversed logic coming from ?
6598
6599 2005-08-25  Wim Taymans  <wim@fluendo.com>
6600
6601         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6602         (gst_base_transform_transform_size),
6603         (gst_base_transform_configure_caps),
6604         (gst_base_transform_get_unit_size),
6605         (gst_base_transform_buffer_alloc),
6606         (gst_base_transform_change_state):
6607         * gst/base/gstbasetransform.h:
6608         Cache caps unit_size.
6609         Make sure we cannot negotiate up and downstream at the
6610         same time.
6611
6612 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6613
6614         * gst/gst.c: (init_pre), (init_post):
6615           register the installed plugin path after the env var
6616         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6617         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6618           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6619           directories, so the tests can prefer uninstalled over installed
6620
6621 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6622
6623         * gst/base/gstbasetransform.h:
6624           comment
6625         * gst/gstpad.c:
6626           add to docs
6627
6628 2005-08-25  Wim Taymans  <wim@fluendo.com>
6629
6630         * gst/gstbin.c: (bin_bus_handler):
6631         Be a bit more conservative about the posted message.
6632         
6633         * gst/gstbus.c: (gst_bus_post):
6634         Some cleanups, warn wrong return values.
6635
6636 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6637
6638         * check/gst/gstbin.c: (GST_START_TEST):
6639         * gst/gstbin.c: (bin_bus_handler):
6640         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6641         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6642         (gst_message_new_warning), (gst_message_new_tag),
6643         (gst_message_new_state_changed), (gst_message_new_segment_start),
6644         (gst_message_new_segment_done), (gst_message_new_custom):
6645         * gst/gstmessage.h:
6646         * tools/gst-launch.c: (event_loop):
6647         * tools/gst-md5sum.c: (event_loop):
6648           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6649
6650 2005-08-25  Wim Taymans  <wim@fluendo.com>
6651
6652         * check/generic/states.c: (GST_START_TEST):
6653         Cleanup can be done at the end.
6654
6655         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6656         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6657         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6658         Oh boy.. Thanks for finding this, Thomas. 
6659
6660 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6661
6662         * docs/gst/gstreamer.types:
6663           added missing types
6664
6665 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6666
6667         * docs/gst/gstreamer-docs.sgml:
6668         * docs/gst/gstreamer-sections.txt:
6669         * docs/gst/tmpl/.cvsignore:
6670         * gst/gstbin.c:
6671         * gst/gstiterator.c:
6672         * gst/gstutils.c:
6673         * gst/registries/gstxmlregistry.h:
6674           added missing classes and symbols (123 more to go)
6675           removed removed symbols from section file
6676           fixed many doc-comments
6677
6678 2005-08-24  Wim Taymans  <wim@fluendo.com>
6679
6680         * check/generic/states.c: (GST_START_TEST):
6681         Make sure all tasks are stopped.
6682
6683         * check/gst/gstbin.c: (GST_START_TEST):
6684         Unref after usage for proper valgrinding.
6685
6686         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6687         Really wait for the task to stop before destroying the
6688         mutex.
6689
6690         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6691         (gst_queue_src_activate_push):
6692         Small cleanups. Don't stop the task when we did not start
6693         it.
6694
6695         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6696         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6697         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6698         (gst_task_join):
6699         * gst/gsttask.h:
6700         Protect the stream lock with the object lock.
6701         Disallow setting the stream lock when running.
6702         Add cleanup_all to wait for the threadpool to finish.
6703         Remove code to autoallocate a mutex if none was provided.
6704         Add _join() to wait for a task to stop.
6705         Protect the thread pool with a global lock.
6706
6707 2005-08-24  Wim Taymans  <wim@fluendo.com>
6708
6709         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6710         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6711         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6712         * gst/base/gstbasesink.h:
6713         Handle newsegment events correctly.
6714         Drop buffers out of the segment range.
6715
6716 2005-08-22  Andy Wingo  <wingo@pobox.com>
6717
6718         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6719         macro, implements an interface and gstimplementsinterface for a
6720         new type.
6721
6722 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6723
6724         * check/Makefile.am:
6725         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6726           add a test that does a bunch of state changes on elements
6727           needs some fixing for valgrind
6728         * check/states/sinks.c: (gst_object_suite):
6729           whitespace
6730         * gst/gstcaps.h:
6731           add prototype for gst_caps_is_equal_fixed
6732         * gst/gstplugin.c:
6733         * gst/gstregistrypool.c:
6734           doc fixes
6735
6736 2005-08-24  Andy Wingo  <wingo@pobox.com>
6737
6738         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6739         convert a negative value. Doesn't make much sense. Mostly this is
6740         here to force callers to ensure -1 maps to -1.
6741
6742 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6743
6744         * docs/pwg/advanced-types.xml:
6745           Well done to Michael for catching my deliberate introduction
6746           of this spelling mistake. 
6747         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6748         * gst/gstelement.h:
6749           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6750           unlink pads before removing the element from the bin.
6751
6752 2005-08-24  Andy Wingo  <wingo@pobox.com>
6753
6754         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6755         the same thing as GST_DEBUG=*:4.
6756         (parse_debug_level, parse_debug_category): New helper parsers.
6757
6758 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6759
6760         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6761         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6762         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6763         (gst_base_transform_buffer_alloc),
6764         (gst_base_transform_handle_buffer):
6765           use gboolean return values and pointers to size so we can use the
6766           full GST_BUFFER_SIZE range (guint) for buffer sizes
6767           use GstPadDirection for transform_caps
6768         * gst/base/gstbasetransform.h:
6769           rename get_size to get_unit_size since that's what it is
6770         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6771           use GstPadDirection for transform_caps
6772         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6773         * gst/gstutils.h:
6774           cleanup and debugging
6775
6776 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6777
6778         * gst/gstelement.c: (gst_element_class_init),
6779         (gst_element_set_state), (activate_pads),
6780         (gst_element_save_thyself):
6781         * tools/gst-compprep.c: (main):
6782         * tools/gst-inspect.c: (print_element_properties_info):
6783         * tools/gst-xmlinspect.c: (print_element_properties):
6784           Fixed long standing mem-leak
6785
6786 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6787
6788         * check/gst/gstbin.c: (GST_START_TEST):
6789         * gst/gstbin.c: (bin_bus_handler):
6790         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6791         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6792         (gst_message_new_warning), (gst_message_new_tag),
6793         (gst_message_new_state_changed), (gst_message_new_segment_start),
6794         (gst_message_new_segment_done), (gst_message_new_custom):
6795         * gst/gstmessage.h:
6796         * tools/gst-launch.c: (event_loop):
6797         * tools/gst-md5sum.c: (event_loop):
6798           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6799           that applications can sensibly post custom messages with references
6800           to their own objects.
6801
6802 2005-08-24  Andy Wingo  <wingo@pobox.com>
6803
6804         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6805         already.
6806
6807 2005-08-24  Wim Taymans  <wim@fluendo.com>
6808
6809         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6810         (gst_base_transform_transform_caps),
6811         (gst_base_transform_transform_size),
6812         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6813         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6814         (gst_base_transform_handle_buffer):
6815         * gst/base/gstbasetransform.h:
6816         Many fixes and new features added by Thomas. Can now also do
6817         transforms with variable sizes and a custom fixate_caps function.
6818
6819 2005-08-24  Wim Taymans  <wim@fluendo.com>
6820
6821         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6822         Some debugging.
6823
6824         * gst/gstclock.h:
6825         Cast to ClockTime before formatting to time.
6826
6827         * gst/gstutils.h:
6828         Cleanups.
6829
6830 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6831
6832         * check/gst-libs/controller.c: (GST_START_TEST),
6833         (gst_controller_suite):
6834         * docs/gst/tmpl/gstcaps.sgml:
6835         * docs/gst/tmpl/gstghostpad.sgml:
6836         * docs/gst/tmpl/gstquery.sgml:
6837         * docs/gst/tmpl/gstutils.sgml:
6838         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6839         (gst_object_sink_values), (gst_object_get_value_arrays),
6840         (gst_object_get_value_array):
6841           gracefully handle helper method calls to objects that are not beeing
6842           controlled, added test case for that          
6843
6844 2005-08-23  Wim Taymans  <wim@fluendo.com>
6845
6846         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6847         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6848         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6849         (gst_event_parse_qos), (gst_event_new_seek),
6850         (gst_event_parse_seek):
6851         * gst/gstevent.h:
6852         Some more debugging output and doc cleanups.
6853
6854         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6855         Fix possible deadlock.
6856
6857 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6858
6859         * docs/gst/gstreamer-docs.sgml:
6860         * docs/gst/gstreamer-sections.txt:
6861         * docs/gst/gstreamer.types:
6862         * docs/gst/tmpl/.cvsignore:
6863         * gst/gstbin.h:
6864         * gst/gstbus.c:
6865         * gst/gstelement.c:
6866         * gst/gstevent.h:
6867           added 100 symbols from gstreamer-unused.txt to the right sections
6868           fixed more broken comments
6869           added GstBus to docs
6870
6871 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6872
6873         * docs/gst/gstreamer-sections.txt:
6874         * docs/gst/tmpl/.cvsignore:
6875         * docs/gst/tmpl/gstbin.sgml:
6876         * docs/gst/tmpl/gstbuffer.sgml:
6877         * gst/base/gstbasesrc.c:
6878         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6879         * gst/gstbuffer.c:
6880         * gst/gstbuffer.h:
6881         * tools/gst-launch.1.in:
6882           inlined more doc comments, added missing comments and fixed comments
6883           fixed typos
6884
6885 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6886
6887         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6888           some debugging
6889         * gst/gstcaps.h:
6890           whitespace fixes
6891         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6892           more debugging
6893         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6894         * gst/gststructure.h:
6895           add a fixate function for booleans; add a FIXME that these func
6896           names should probably be gst_structure_fixate_*
6897
6898 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6899
6900         * docs/gst/gstreamer-docs.sgml:
6901         * docs/gst/gstreamer-sections.txt:
6902         * gst/Makefile.am:
6903         * gst/gstbin.c: (gst_bin_get_type),
6904         (gst_bin_child_proxy_get_child_by_index),
6905         (gst_bin_child_proxy_get_children_count),
6906         (gst_bin_child_proxy_init):
6907         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6908         (gst_child_proxy_get_child_by_index),
6909         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6910         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6911         (gst_child_proxy_get), (gst_child_proxy_set_property),
6912         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6913         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6914         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6915         * gst/gstchildproxy.h:
6916         * gst/parse/grammar.y:
6917         * tools/gst-inspect.c: (print_interfaces),
6918         (print_element_properties_info), (print_element_info):
6919           ported gstchildproxy over from 0.8
6920           ported gst-inspect fixes and enhancements over from 0.8
6921
6922 2005-08-22  Wim Taymans  <wim@fluendo.com>
6923
6924         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6925         (gst_base_transform_handle_buffer):
6926         Also call the transform function if we have ANY caps.
6927
6928         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6929         Fix debug info.
6930
6931 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6932
6933         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6934           Don't pretend to handle seek events if the source is not seekable
6935
6936 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6937
6938         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6939           Remove extra parameter to debug output
6940
6941         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6942         (gst_base_src_do_seek), (gst_base_src_activate_push):
6943           Fix seek event handling.
6944
6945         * gst/gstpipeline.c: (gst_pipeline_change_state):
6946         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6947         (gst_queue_src_activate_push):
6948           Don't start the src pad task on FLUSH_STOP if the pad
6949           isn't linked.
6950           Debug changes.
6951
6952 2005-08-22  Wim Taymans  <wim@fluendo.com>
6953
6954         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6955         Added check for gst_static_caps_get() refcounting.
6956
6957 2005-08-22  Wim Taymans  <wim@fluendo.com>
6958
6959         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6960         Make _static_caps_get() refcounting sane.
6961         
6962         * gst/gstelement.c: (gst_element_set_state):
6963         Add g_return_val_if_fail() to protect against segfaults.
6964
6965 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6966
6967         * docs/gst/tmpl/gstevent.sgml:
6968         * gst/gstevent.c:
6969         * gst/gstevent.h:
6970           inlined remaining docs, added missing doc comments
6971
6972 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6973
6974         * check/gst/gstbin.c: (GST_START_TEST):
6975           since we don't know when preroll is done, use refcount range
6976           check for the sink
6977         * gst/check/gstcheck.h:
6978           add macro for checking refcount range
6979
6980 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6981
6982         * check/Makefile.am:
6983           clean up environment for when registry gets built versus
6984           when actual tests are run; valgrind seems to not report
6985           leaks if GST_PLUGIN_PATH is set to some specific values
6986         * check/gst/gstbin.c: (GST_START_TEST):
6987           add more refcounting checks; maybe this exposes a
6988           preroll lock bug ?
6989         * common/check.mak:
6990         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6991         * gst/check/gstcheck.h:
6992         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6993         (gst_bin_change_state):
6994         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6995           add/fix debugging/whitespace
6996
6997 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6998
6999         * check/gst/gstevent.c: (event_probe), (test_event),
7000         (GST_START_TEST):
7001          Er, don't call gst_bin_watch_for_state_change you idiot.
7002
7003 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7004
7005         * check/Makefile.am:
7006           Use CHECK_CFLAGS and CHECK_LIBS
7007         * check/gst/gstevent.c: (event_probe), (test_event),
7008         (GST_START_TEST):
7009           Don't leak events.
7010         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7011         (gst_base_src_start), (gst_base_src_stop),
7012         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7013         (gst_base_src_change_state):
7014           Sprinkle gst_base_src_stop liberally around error paths to fix
7015           problems reusing a source after failed state changes.
7016         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7017         (helper_find_suggest), (gst_type_find_helper):
7018           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7019         * gst/gstevent.h:
7020         * docs/gst/tmpl/gstevent.sgml:
7021           Migrate part of the docs from the SGML file. Wait for ensonic to
7022           tell me how I did it wrong ;)
7023         * tools/gst-typefind.c: (main):
7024           Extra robustness to state changes between files.
7025
7026 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7027
7028         * check/Makefile.am:
7029           don't valgrind the controller test - it's leaking - Stefan, HELP
7030         * gst/check/gstcheck.c: (gst_check_message_error),
7031         (gst_check_chain_func), (gst_check_setup_element),
7032         (gst_check_teardown_element), (gst_check_setup_src_pad),
7033         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7034         (gst_check_teardown_sink_pad):
7035         * gst/check/gstcheck.h:
7036           add a bunch of methods to set up elements, and src and sink pads
7037         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7038         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7039         (GST_START_TEST):
7040           use them
7041         * gst/gstmessage.c:
7042         * gst/gsttag.h:
7043           whitespace/doc fixes
7044
7045 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7046
7047         * gst/gstelement.h:
7048           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7049           be handled by the application and not always printed as well
7050
7051 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7052
7053         * check/Makefile.am:
7054           set GST_TOOLS_DIR
7055         * gst/check/gstcheck.c: (gst_check_message_error):
7056         * gst/check/gstcheck.h:
7057           add a fail_unless_equals_int
7058           add fail_unless for error messages
7059
7060 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7061
7062         * check/Makefile.am:
7063         * check/gst.supp:
7064         * common/Makefile.am:
7065         * common/check.mak:
7066         * common/gst.supp:
7067           factor out some of the common stuff so we can use it
7068
7069 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7070
7071         * check/Makefile.am:
7072         * check/gst/gstiterator.c: (GST_START_TEST):
7073         * check/gst/gstsystemclock.c: (GST_START_TEST),
7074         (gst_systemclock_suite):
7075         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7076         * gst/gstclock.c:
7077           valgrind more tests
7078
7079 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7080
7081         * check/elements/.cvsignore:
7082         * check/elements/gstfakesrc.c:
7083           rename to name of element
7084         * check/elements/identity.c: (chain_func), (event_func),
7085         (setup_identity), (cleanup_identity), (GST_START_TEST),
7086         (identity_suite), (main):
7087           add a test for identity
7088         * check/Makefile.am:
7089         * pkgconfig/Makefile.am:
7090         * pkgconfig/gstreamer-check.pc.in:
7091         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7092         * gst/check:
7093         * gst/Makefile.am:
7094         * configure.ac:
7095           move the check stuff to a library that gets installed
7096         * check/gst-libs/controller.c: (GST_START_TEST):
7097         * check/gst-libs/gdp.c:
7098         * check/gst/gst.c: (GST_START_TEST):
7099         * check/gst/gstbin.c:
7100         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7101         * check/gst/gstbus.c:
7102         * check/gst/gstcaps.c: (GST_START_TEST):
7103         * check/gst/gstelement.c:
7104         * check/gst/gstghostpad.c:
7105         * check/gst/gstiterator.c:
7106         * check/gst/gstmessage.c:
7107         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7108         * check/gst/gstobject.c:
7109         * check/gst/gstpad.c: (GST_START_TEST):
7110         * check/gst/gststructure.c: (GST_START_TEST):
7111         * check/gst/gstsystemclock.c: (GST_START_TEST),
7112         (gst_systemclock_suite):
7113         * check/gst/gsttag.c: (gst_tag_suite):
7114         * check/gst/gstvalue.c:
7115         * check/pipelines/cleanup.c:
7116         * check/pipelines/simple_launch_lines.c:
7117         * check/states/sinks.c:
7118           change include statement
7119
7120         * docs/gst/gstreamer-sections.txt:
7121         * docs/gst/tmpl/gstpad.sgml:
7122           document more pad stuff
7123         * gst/gstminiobject.c: (gst_mini_object_ref),
7124         (gst_mini_object_unref):
7125           debug refcounting
7126
7127 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7128
7129         * docs/gst/tmpl/gst.sgml:
7130         * gst/gst.c:
7131           eliminate another tmpl file, fix spelling in the long-description
7132
7133 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7134
7135         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7136         (test_event), (timediff), (gstevents_suite):
7137           Should fix build on 64-bit arch's
7138
7139 2005-08-18  Andy Wingo  <wingo@pobox.com>
7140
7141         Make sure that when a pipeline goes to PLAYING, that data has
7142         actually hit the sink.
7143
7144         * check/states/sinks.c (test_sink): A sink that doesn't get any
7145         data shouldn't return SUCCESS for going to either PLAYING or
7146         PAUSED. Test also the return values on the way back down.
7147
7148         * gst/gstelement.c (gst_element_set_state): When changing the
7149         state of an element currently changing state asynchronously, go to
7150         lost-state after commiting the pending state. Makes future calls
7151         to get_state continue to return ASYNC.
7152
7153         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7154         ASYNC when going to PLAYING if we still don't have preroll, as can
7155         happen with live sources.
7156
7157 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7158
7159         * docs/pwg/advanced-types.xml:
7160           Hack long paragraph into 2 chunks as a workaround for buggy
7161           jadetex version in sid and breezy that loops infinitely and
7162           eats all RAM.
7163
7164 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7165
7166         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7167         (test_event), (timediff), (gstevents_suite):
7168           Provide more error margin in clock measurements to allow for 
7169           g_get_current_time inaccuracies.
7170
7171 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7172
7173         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7174         (test_event), (timediff), (gstevents_suite):
7175            Fix error message output so I might be able to tell why the
7176            test works here but fails on the build farm.
7177
7178 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7179
7180         * check/Makefile.am:
7181         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7182         (test_event), (timediff), (gstevents_suite), (main):
7183           I wrote a test!
7184
7185         * docs/design/part-seeking.txt:
7186           Spelling correction
7187
7188         * docs/gst/tmpl/gstevent.sgml:
7189         * docs/gst/tmpl/gstfakesrc.sgml:
7190           Docs updates.
7191
7192         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7193           Treat a buffer-without-newsegment the same as a receiving 
7194           a newsegment not in time format, and disable syncing to the clock
7195           with a warning.
7196
7197         * gst/gstbus.c: (gst_bus_set_sync_handler):
7198           Assert if anyone tries to replace the existing sync_handler for bus, 
7199           as only the owner should be setting it.
7200
7201         * gst/gstevent.h:
7202           Have a fixed set of custom event enums with events identified by
7203           their structure name (as in 0.8), rather than a free-for-all
7204           allowing collisions between enum values from different plugins.
7205
7206         * gst/gstpad.c: (gst_pad_class_init):
7207           Docs change.
7208           
7209         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7210           Handle out-of-band downstream events from the sending thread.
7211
7212 2005-08-17  Andy Wingo  <wingo@pobox.com>
7213
7214         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7215         play-timeout==0 to mean no timeout at all. In that case, don't
7216         bother with a get_state or a warning, just return directly, even
7217         if it's ASYNC.
7218
7219         * gst/base/gstbasetransform.c: Debug changes.
7220
7221         * gst/gstutils.h:
7222         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7223         ensure bins post state change messages. A bit of a hack but I can't
7224         think of a way to avoid it.
7225
7226         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7227
7228 2005-08-16  Andy Wingo  <wingo@pobox.com>
7229
7230         * gst/base/gstadapter.h:
7231         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7232         peek() but you own the data. Not terribly efficient atm.
7233
7234 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7235
7236         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7237         (gst_element_found_tags):
7238         * gst/gstutils.h:
7239           Add two utility functions for tag handling.
7240
7241 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7242
7243         * docs/manual/advanced-dataaccess.xml:
7244         * docs/manual/basics-helloworld.xml:
7245           Fix docs to use _bin_add() before _link(), which fixes the examples
7246           with recent core versions (reported by Madhan Raj M
7247           <raj_madan@rediffmail.com>, #313199).
7248
7249 2005-08-16  Wim Taymans  <wim@fluendo.com>
7250
7251         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7252         Added subtract checks.
7253
7254         * docs/design/part-events.txt:
7255         Some more docs about newsegment
7256
7257         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7258         Fix FIXME
7259
7260         * gst/gstcaps.c: (gst_caps_to_string):
7261         Add comments, cleanups.
7262         
7263         * gst/gstelement.c: (gst_element_save_thyself):
7264         cleanups
7265         
7266         * gst/gstvalue.c: (gst_value_collect_int_range),
7267         (gst_string_unwrap), (gst_value_union_int_int_range),
7268         (gst_value_union_int_range_int_range),
7269         (gst_value_intersect_int_int_range),
7270         (gst_value_intersect_int_range_int_range),
7271         (gst_value_intersect_double_double_range),
7272         (gst_value_intersect_double_range_double_range),
7273         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7274         (gst_value_subtract_int_range_int),
7275         (gst_value_subtract_double_range_double),
7276         (gst_value_subtract_double_range_double_range),
7277         (gst_value_subtract_from_list), (gst_value_subtract_list),
7278         (gst_value_can_compare), (gst_value_compare_fraction):
7279         Cleanups, add comments, remove unneeded asserts.
7280
7281 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7282
7283         * tools/gst-launch.c: (event_loop):
7284           don't convert NULL structures to strings
7285
7286 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7287
7288         * docs/gst/gstreamer-sections.txt:
7289           made some defines private
7290         * docs/gst/tmpl/gstconfig.sgml:
7291         * docs/gst/tmpl/gstqueue.sgml:
7292         * docs/gst/tmpl/gsttaglist.sgml:
7293         * docs/gst/tmpl/gsttypes.sgml:
7294         * docs/gst/tmpl/gstutils.sgml:
7295         * docs/pwg/appendix-porting.xml:
7296         * gst/base/gstbasesink.h:
7297         * gst/base/gstbasesrc.c:
7298         * gst/base/gstbasesrc.h:
7299         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7300         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7301         * gst/gstelement.c: (gst_element_class_init):
7302         * gst/gstpad.c: (gst_pad_class_init):
7303         * gst/gstqueue.c: (gst_queue_class_init):
7304         * gst/gstxml.c: (gst_xml_class_init):
7305           documented all undocumented signal inline
7306         * libs/gst/controller/gst-controller.h:
7307           added padding
7308
7309 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7310
7311         * docs/pwg/appendix-porting.xml:
7312           Document _set_link_function -> _set_setcaps_function.
7313
7314 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7315
7316         * check/Makefile.am:
7317           add a .check target for running the check
7318         * check/gst-libs/controller.c: (GST_START_TEST):
7319           cosmetic fixups
7320         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7321           complete checks for gstbuffer; would be nice if I could get the
7322           gcov stuff to work so I can see if I actually completed gstbuffer.c
7323         * check/gstcheck.h:
7324           add ASSERT_BUFFER_REFCOUNT
7325
7326 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7327
7328         * docs/gst/gstreamer-sections.txt:
7329         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7330         * gst/gsttag.h:
7331           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7332           spew out a warning if a tag that is already registered
7333           is re-registered, unless it is re-registered with a 
7334           different type (#308438).
7335
7336 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7337
7338         * docs/pwg/appendix-porting.xml:
7339         * docs/pwg/building-state.xml:
7340           Add some paragraphs about state changes in 0.9 to the PWG
7341           and the porting guide, in particular about the new meaning
7342           of GST_STATE_PAUSED and how to write state change functions
7343           with concurrent access by multiple threads in mind.
7344
7345 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7346
7347         * docs/gst/gstreamer-docs.sgml:
7348         * docs/libs/gstreamer-libs-docs.sgml:
7349           added deprecation and since indexes
7350         * libs/gst/controller/gst-controller.c:
7351         * libs/gst/controller/gst-helper.c:
7352           added since tags
7353
7354
7355 2005-08-11  Wim Taymans  <wim@fluendo.com>
7356
7357         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7358         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7359         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7360         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7361         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7362         (gst_ghost_pad_set_target):
7363         Actually implement (re)setting the target on a ghostpad
7364         as described in the docs.
7365
7366 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7367
7368         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7369           Check whether GST_DEBUG_NO_COLOR environment variable is
7370           set and disable coloured debug output if that is the case.
7371
7372 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7373
7374         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7375         (gst_type_find_helper):
7376           The memory returned by gst_type_find_peek() needs to
7377           stay valid until the end of a typefind function, and
7378           typefind functions may keep results from different 
7379           offsets around, so we can't just unref the buffer from
7380           the previous _peek(), but have to save all buffers 
7381           returned by _peek() until typefinding is done and only
7382           free them then.
7383
7384 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7385
7386         * docs/gst/gstreamer-sections.txt:
7387         * gst/gstutils.h:
7388           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7389
7390 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7391
7392         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7393           Fix a pretty good memleak.
7394
7395 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7396
7397         * gst/gstiterator.h:
7398           Fix wrong include and 'make distcheck'.
7399
7400 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7401
7402         * gst/gstbin.c: (bin_bus_handler):
7403           Use gst_element_post_message() instead.
7404
7405 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7406
7407         * gst/base/gstadapter.h:
7408         * gst/base/gstbasesink.h:
7409         * gst/base/gstbasesrc.h:
7410         * gst/base/gstbasetransform.h:
7411         * gst/base/gstcollectpads.h:
7412         * gst/base/gstpushsrc.h:
7413         * gst/gstiterator.h:
7414           Add padding to our base elements' class and instance structs and
7415           to GstIterator (you will need to rebuild all plugins and apps!)
7416
7417 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7418
7419         * gst/gstbin.c: (bin_bus_handler):
7420           Make default message forwarding from child->bus to bin->bus
7421           threadsafe and make it not emit warnings if the parent has no bus.
7422
7423 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7424
7425         * gst/gstelement.c: (activate_pads):
7426           On paused->ready, set pad->caps to NULL, as is the documented
7427           behaviour in this state change. Fixes playback of series of
7428           media files when visualization is enabled in Totem.
7429
7430 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7431
7432         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7433           Allow NULL as filter-caps (which means "any").
7434
7435 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7436
7437         * docs/libs/gstreamer-libs-sections.txt:
7438         * libs/gst/controller/gst-controller.c:
7439         * libs/gst/controller/gst-controller.h:
7440         * libs/gst/controller/gst-helper.c:
7441           adding more entries to the docs and fix small doc-bugs
7442
7443 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7444
7445         * docs/gst/gstreamer-docs.sgml:
7446         * docs/gst/gstreamer-sections.txt:
7447         * docs/gst/gstreamer.types:
7448         * docs/gst/tmpl/gstbasesink.sgml:
7449         * docs/gst/tmpl/gstbasesrc.sgml:
7450         * docs/gst/tmpl/gstbasetransform.sgml:
7451         * docs/gst/tmpl/gstfakesrc.sgml:
7452         * gst/base/gstcollectpads.c:
7453         * gst/base/gstcollectpads.h:
7454         * libs/gst/controller/gst-controller.c:
7455         * libs/gst/controller/gst-controller.h:
7456         * libs/gst/controller/gst-helper.c:
7457         * libs/gst/controller/gst-interpolation.c:
7458         * libs/gst/controller/lib.c:
7459           added long/short desc for controller docs
7460           added collectpads base class docs
7461           added correct includes to base-class docs
7462
7463 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7464
7465         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7466         (gst_test_mono_source_set_property),
7467         (gst_test_mono_source_class_init), (GST_START_TEST),
7468         (gst_controller_suite):
7469         * docs/gst/gstreamer-docs.sgml:
7470         * docs/gst/gstreamer-sections.txt:
7471         * docs/gst/gstreamer.types:
7472         * docs/libs/gstreamer-libs-docs.sgml:
7473         * docs/libs/gstreamer-libs-sections.txt:
7474         * gst/base/gstadapter.c:
7475         * libs/gst/controller/gst-controller.c:
7476         (gst_controlled_property_new), (gst_controlled_property_free),
7477         (gst_controller_new_valist),
7478         (gst_controller_remove_properties_valist),
7479         (gst_controller_sink_values), (_gst_controller_finalize):
7480         * libs/gst/controller/gst-controller.h:
7481         * libs/gst/controller/gst-helper.c:
7482         (gst_object_control_properties), (gst_object_uncontrol_properties),
7483         (gst_object_get_controller), (gst_object_set_controller),
7484         (gst_object_sink_values), (gst_object_get_value_arrays),
7485         (gst_object_get_value_array):
7486           more tests (and fixes) for the controller
7487           more docs for the controller
7488           integrated companies docs for the adapter 
7489
7490 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7491
7492         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7493         (GST_START_TEST), (fakesrc_suite):
7494           add tests for sizetype
7495
7496 2005-08-04  Andy Wingo  <wingo@pobox.com>
7497
7498         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7499         fixes buffer_alloc proxying among other things.
7500
7501         * gst/base/gstbasetransform.c:
7502         * gst/base/gstbasetransform.h:
7503         Revert patch to gstbasetransform from 7-28 removing
7504         delay_configure.
7505
7506         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7507         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7508         Semantics changed, should return not the size of the output buffer
7509         but the byte size of a buffer with a given caps.
7510
7511         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7512         debug object.
7513         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7514         out) are not the pad caps until setcaps finishes.
7515         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7516         not-in-place case as well. Deal with changing from in-place to
7517         not-in-place within calling pad_alloc_buffer. Still a bit
7518         concerned about the overhead here...
7519
7520 2005-08-03  Andy Wingo  <wingo@pobox.com>
7521
7522         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7523         fixating is an error.
7524
7525 2005-08-04  Edward Hervey  <edward@fluendo.com>
7526
7527         * gst/base/gstadapter.h: 
7528         Added gst_adapter_get_type() to the header
7529
7530 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7531
7532         * check/Makefile.am:
7533         * check/gst-libs/controller.c:
7534         * libs/gst/controller/gst-controller.c:
7535         (gst_controller_new_valist):
7536           added check test suite for the controller
7537         * gst/base/gstpushsrc.c:
7538           fixed a doc typo
7539
7540 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7541
7542         * docs/gst/Makefile.am:
7543         * docs/gst/gstreamer-docs.sgml:
7544         * docs/gst/gstreamer-sections.txt:
7545         * docs/gst/gstreamer.types:
7546         * docs/gst/tmpl/gstfakesrc.sgml:
7547         * gst/base/README:
7548         * gst/base/gstbasesink.c:
7549         * gst/base/gstbasesink.h:
7550         * gst/base/gstbasesrc.c:
7551         * gst/base/gstbasesrc.h:
7552         * gst/base/gstbasetransform.c:
7553         * gst/base/gstpushsrc.c:
7554         * gst/base/gstpushsrc.h:
7555           add short/long description docs to base classes
7556           add pushsrc to the docs
7557           remove consolidated doc fragments
7558
7559 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7560
7561         * configure.ac:
7562         * docs/libs/Makefile.am:
7563         * docs/libs/gstreamer-libs-docs.sgml:
7564         * docs/libs/gstreamer-libs-sections.txt:
7565         * docs/libs/gstreamer-libs.types:
7566         * examples/Makefile.am:
7567         * examples/controller/.cvsignore:
7568         * examples/controller/Makefile.am:
7569         * examples/controller/audio-example.c: (main):
7570         * libs/gst/Makefile.am:
7571         * libs/gst/controller/.cvsignore:
7572         * libs/gst/controller/Makefile.am:
7573         * libs/gst/controller/gst-controller.c:
7574         (on_object_controlled_property_changed), (gst_timed_value_compare),
7575         (gst_timed_value_find),
7576         (gst_controlled_property_set_interpolation_mode),
7577         (gst_controlled_property_new), (gst_controlled_property_free),
7578         (gst_controller_find_controlled_property),
7579         (gst_controller_new_valist), (gst_controller_new),
7580         (gst_controller_remove_properties_valist),
7581         (gst_controller_remove_properties), (gst_controller_set),
7582         (gst_controller_set_from_list), (gst_controller_unset),
7583         (gst_controller_get), (gst_controller_get_all),
7584         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7585         (gst_controller_get_value_array),
7586         (gst_controller_set_interpolation_mode),
7587         (_gst_controller_finalize), (_gst_controller_init),
7588         (_gst_controller_class_init), (gst_controller_get_type):
7589         * libs/gst/controller/gst-controller.h:
7590         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7591         (g_object_uncontrol_properties), (g_object_get_controller),
7592         (g_object_set_controller), (g_object_sink_values),
7593         (g_object_get_value_arrays), (g_object_get_value_array):
7594         * libs/gst/controller/gst-interpolation.c:
7595         (gst_controlled_property_find_timed_value_node),
7596         (interpolate_none_get), (interpolate_trigger_get),
7597         (interpolate_trigger_get_value_array):
7598         * libs/gst/controller/lib.c: (gst_controller_init):
7599         * pkgconfig/Makefile.am:
7600         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7601         * pkgconfig/gstreamer-control.pc.in:
7602         * testsuite/Makefile.am:
7603         * testsuite/controller/.cvsignore:
7604         * testsuite/controller/Makefile.am:
7605         * testsuite/controller/interpolator.c: (main):
7606           added controller code
7607           removed dparam pc files
7608
7609 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7610         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7611         (gst_collectpads_stop):
7612           Broadcast the condition when shutting down, to make sure we wake all
7613           threads up. Shut down pads on finalize, for safety.
7614
7615 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7616         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7617         (gst_base_transform_handle_buffer),
7618         (gst_base_transform_change_state):
7619           Handle PAUSED->READY->PAUSED transition after negotiation
7620           occurred already.
7621         * gst/gstmessage.c: (gst_message_init):
7622           Extra piece of debug for new messages.
7623
7624 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7625
7626         * configure.ac:
7627         * docs/gst/tmpl/gstbasesrc.sgml:
7628         * docs/gst/tmpl/gstelement.sgml:
7629         * docs/gst/tmpl/gstevent.sgml:
7630         * docs/gst/tmpl/gstfakesrc.sgml:
7631         * docs/gst/tmpl/gstformat.sgml:
7632         * docs/gst/tmpl/gstghostpad.sgml:
7633         * docs/gst/tmpl/gstpad.sgml:
7634         * docs/gst/tmpl/gstquery.sgml:
7635         * docs/gst/tmpl/gststructure.sgml:
7636         * docs/gst/tmpl/gsttaglist.sgml:
7637         * docs/gst/tmpl/gstvalue.sgml:
7638         * docs/libs/gstreamer-libs-docs.sgml:
7639         * docs/libs/gstreamer-libs-sections.txt:
7640         * docs/libs/gstreamer-libs.types:
7641         * libs/gst/Makefile.am:
7642         * libs/gst/control/.cvsignore:
7643         * libs/gst/control/Makefile.am:
7644         * libs/gst/control/control.c:
7645         * libs/gst/control/control.h:
7646         * libs/gst/control/dparam.c:
7647         * libs/gst/control/dparam.h:
7648         * libs/gst/control/dparam_smooth.c:
7649         * libs/gst/control/dparam_smooth.h:
7650         * libs/gst/control/dparamcommon.h:
7651         * libs/gst/control/dparammanager.c:
7652         * libs/gst/control/dparammanager.h:
7653         * libs/gst/control/dplinearinterp.c:
7654         * libs/gst/control/dplinearinterp.h:
7655         * libs/gst/control/unitconvert.c:
7656         * libs/gst/control/unitconvert.h:
7657         * testsuite/Makefile.am:
7658         * testsuite/dynparams/.cvsignore:
7659         * testsuite/dynparams/Makefile.am:
7660         * testsuite/dynparams/dparamstest.c:
7661         * tools/Makefile.am:
7662         * tools/gst-inspect.c: (print_element_info), (main):
7663         * tools/gst-xmlinspect.c: (print_element_info), (main):
7664           deactivate and remove dparams (libgstcontrol)
7665
7666 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7667
7668         * gst/elements/gsttypefindelement.c:
7669         (gst_type_find_element_have_type), (gst_type_find_element_init),
7670         (stop_typefinding), (gst_type_find_element_handle_event),
7671         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7672         * gst/elements/gsttypefindelement.h:
7673           Set caps on all outgoing buffers, not just the first one.
7674
7675 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7676
7677         * gst/elements/gsttypefindelement.c:
7678         (gst_type_find_element_have_type),
7679         (gst_type_find_element_check_set_buffer_caps),
7680         (gst_type_find_element_init), (stop_typefinding),
7681         (gst_type_find_element_handle_event),
7682         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7683         * gst/elements/gsttypefindelement.h:
7684           Set caps on first outgoing buffer when we've found the type.
7685
7686 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7687
7688         * docs/gst/gstreamer-docs.sgml:
7689         * docs/gst/gstreamer-sections.txt:
7690         * docs/gst/tmpl/gstscheduler.sgml:
7691         * docs/gst/tmpl/gstschedulerfactory.sgml:
7692           Remove some old cruft from docs.
7693
7694 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7695
7696         * gst/gstpad.h:
7697           Fix inline docs for GstPadLinkReturn.
7698           
7699         * gst/gststructure.c: (gst_structure_has_name):
7700         * gst/gststructure.h:
7701         * docs/gst/gstreamer-sections.txt:
7702           New API: gst_structure_has_name().
7703
7704 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7705
7706         * configure.ac:
7707           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7708           and _LARGEFILE_SOURCE in config.h as required. Do not 
7709           export those flags in our .pc files any longer (#142209).
7710
7711           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7712
7713         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7714         (gst_file_sink_do_seek), (gst_file_sink_event),
7715         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7716           Redo seek/tell calls with large file support in mind; add some
7717           debugging messages; add log message that tells us when large
7718           file support is unavailable or not enabled for some reason.
7719
7720         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7721           Add log message that tells us when large file support 
7722           is unavailable or not enabled for some reason.
7723
7724 2005-07-29  Wim Taymans  <wim@fluendo.com>
7725
7726         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7727         Added test for removing an element with ghostpad from a bin.
7728         Fixed test as current implementation does the right thing.
7729
7730         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7731         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7732         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7733         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7734         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7735         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7736         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7737         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7738         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7739         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7740         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7741         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7742         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7743         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7744         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7745         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7746         * gst/gstghostpad.h:
7747         Clean up ghostpads, remove properties for internal stuff.
7748         Make threadsafe.
7749         Fix refcounting.
7750         Prepare for switching targets, not all use cases work yet.
7751
7752 2005-07-29  Wim Taymans  <wim@fluendo.com>
7753
7754         * docs/design/part-gstghostpad.txt:
7755         Small update.
7756
7757         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7758         (gst_bin_remove_func):
7759         Unlinking pads while holding the bin LOCK is not a good
7760         idea.
7761
7762         * gst/gstpad.c: (gst_pad_class_init),
7763         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7764         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7765         No prob setting template after creating the pad.
7766
7767 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7768
7769         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7770         (gst_bus_peek), (gst_bus_source_dispatch),
7771         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7772         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7773           gst_bus_poll may be called from other threads. Handle
7774           this nicely by not making poll_data disappear off the
7775           stack once gst_bus_poll returns.
7776           gst_bus_peek now increments the refcount on the returned
7777           message.
7778
7779 2005-07-29  Wim Taymans  <wim@fluendo.com>
7780
7781         * docs/design/part-gstghostpad.txt:
7782         Overview of current GhostPad datastructures and use
7783         cases for changing the target.
7784
7785 2005-07-28  Wim Taymans  <wim@fluendo.com>
7786
7787         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7788         Added checks for hierarchy consistency whan adding linked
7789         elements to bins.
7790
7791         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7792         Added check to test element scheduling without bin/pipeline.
7793
7794         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7795         First add elements to bin, then link.
7796         
7797         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7798         (gst_bin_remove_func):
7799         Unlink pads from elements added/removed from bin to maintain
7800         hierarchy consistency.
7801
7802 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7803
7804         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7805         (gst_base_transform_handle_buffer):
7806         * gst/base/gstbasetransform.h:
7807           Remove broken delay_configure (fixes renegotiation of software
7808           scaling pipelines); remove some leftover printf()s.
7809
7810 2005-07-28  Wim Taymans  <wim@fluendo.com>
7811
7812         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7813         Added some more tests for wrong hierarchy
7814
7815         * docs/design/part-overview.txt:
7816         Some updates.
7817
7818         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7819         Cleanups.
7820
7821         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7822         (gst_element_dispose):
7823         Some more cleanups.
7824
7825         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7826         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7827         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7828         (gst_pad_set_caps), (gst_pad_send_event):
7829         Check for correct hierarchy when linking pads. Moving to
7830         strict requirement for ghostpads when linking elements in
7831         different bins.
7832
7833         * gst/gstpad.h:
7834         Clean ups. Added WRONG_HIERARCHY return value.
7835
7836 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7837
7838         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7839           Better debug if no transform is possible.
7840
7841 2005-07-27  Wim Taymans  <wim@fluendo.com>
7842
7843         * docs/random/wtay/network-transp:
7844         Some old doc I had.
7845
7846 2005-07-27  Wim Taymans  <wim@fluendo.com>
7847
7848         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7849         (gst_dp_event_from_packet):
7850         Fix serialization of seek events.
7851
7852 2005-07-27  Wim Taymans  <wim@fluendo.com>
7853
7854         * check/gst-libs/gdp.c: (GST_START_TEST):
7855         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7856         Fix compilation and fix event serialization.
7857
7858 2005-07-27  Wim Taymans  <wim@fluendo.com>
7859
7860         * CHANGES-0.9:
7861         * docs/design/part-TODO.txt:
7862         * docs/design/part-events.txt:
7863         Some docs updates
7864
7865         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7866         (gst_base_sink_event), (gst_base_sink_do_sync),
7867         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7868         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7869         (gst_base_src_do_seek), (gst_base_src_event_handler),
7870         (gst_base_src_loop):
7871         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7872         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7873         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7874         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7875         (gst_base_transform_set_passthrough),
7876         (gst_base_transform_is_passthrough):
7877         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7878         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7879         Event updates.
7880
7881         * gst/gstbuffer.h:
7882         Use faster casts.
7883
7884         * gst/gstelement.c: (gst_element_seek):
7885         * gst/gstelement.h:
7886         Update gst_element_seek.
7887
7888         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7889         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7890         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7891         (gst_event_new_eos), (gst_event_new_newsegment),
7892         (gst_event_parse_newsegment), (gst_event_new_tag),
7893         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7894         (gst_event_parse_qos), (gst_event_new_seek),
7895         (gst_event_parse_seek), (gst_event_new_navigation):
7896         * gst/gstevent.h:
7897         Make GstEvent use GstStructure. Add parsing code, make sure the
7898         API is sufficiently generic.
7899         Mark possible directions of events and serialization.
7900
7901         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7902         (_gst_message_copy), (gst_message_new_segment_start),
7903         (gst_message_new_segment_done), (gst_message_new_custom),
7904         (gst_message_parse_segment_start),
7905         (gst_message_parse_segment_done):
7906         Small cleanups.
7907
7908         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7909         (gst_pad_set_caps), (gst_pad_send_event):
7910         Update for new events. 
7911         Catch events sent in wrong directions.
7912
7913         * gst/gstqueue.c: (gst_queue_link_src),
7914         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7915         (gst_queue_handle_src_query):
7916         Event updates.
7917
7918         * gst/gsttag.c:
7919         * gst/gsttag.h:
7920         Remove event code from this file.
7921
7922         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7923         (gst_dp_event_from_packet):
7924         Event updates.
7925
7926 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7927
7928         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7929         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7930         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7931           Make debugging actually useful.
7932
7933 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7934
7935         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7936         (gst_pad_fixate_caps):
7937           Implement default fixation once again, so that gst_pad_fixate()
7938           actually does anything at all. This probably needs to be some
7939           sort of a last resort, and use profile-based fixation first, but
7940           since that doesn't exist yet, this is the best we have. Fixes
7941           visualization in Totem.
7942
7943 2005-07-22  Wim Taymans  <wim@fluendo.com>
7944
7945         * docs/design/part-events.txt:
7946         Small update.
7947
7948         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7949         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7950         (gst_base_sink_activate_pull):
7951         Some more comments.
7952
7953         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7954         (gst_fake_src_create):
7955         Fix handoff marshall.
7956
7957         * gst/elements/gstidentity.c: (gst_identity_class_init),
7958         (gst_identity_transform_ip):
7959         We're a real inplace element.
7960
7961         * gst/gstbus.c: (gst_bus_post):
7962         Added some comments.
7963
7964         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7965         * tests/muxing/case1.c: (main):
7966         * tests/sched/dynamic-pipeline.c: (main):
7967         * tests/sched/interrupt1.c: (main):
7968         * tests/sched/interrupt2.c: (main):
7969         * tests/sched/interrupt3.c: (main):
7970         * tests/sched/runxml.c: (main):
7971         * tests/sched/sched-stress.c: (main):
7972         * tests/seeking/seeking1.c: (event_received), (main):
7973         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7974         (main):
7975         * tests/threadstate/threadstate3.c: (main):
7976         * tests/threadstate/threadstate4.c: (main):
7977         * tests/threadstate/threadstate5.c: (main):
7978         Fix the tests.
7979
7980 2005-07-21  Wim Taymans  <wim@fluendo.com>
7981
7982         * docs/design/part-seeking.txt:
7983         Some small additions.
7984
7985         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7986         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7987         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7988         * gst/base/gstbasesink.h:
7989         discont values are gint64, handle the math correctly.
7990
7991         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7992         Make the basesrc report error if the source pad is not linked.
7993
7994         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7995         (gst_queue_loop), (gst_queue_handle_src_query),
7996         (gst_queue_src_activate_push):
7997         Make queue collect data even if the srcpad is not linked.
7998         Start pushing out data as soon as it is linked.
7999
8000         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8001         * gst/gstutils.h:
8002         Added gst_flow_get_name() to ease error reporting.
8003
8004 2005-07-20  Wim Taymans  <wim@fluendo.com>
8005
8006         * gst/gstmessage.c: (gst_message_new_segment_start),
8007         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8008         (gst_message_parse_segment_done):
8009         * gst/gstmessage.h:
8010         Added a bunch of messages for advanced seeking.
8011
8012         * gst/parse/grammar.y:
8013         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8014         (gst_dpman_state_changed):
8015         Fix some new-pad -> pad-added signals
8016
8017 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8018
8019         * docs/manual/appendix-porting.xml:
8020         * docs/pwg/appendix-porting.xml:
8021           Document new-pad/state-change signal renames and the FixedList
8022           type rename.
8023
8024 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8025
8026         * docs/manual/advanced-autoplugging.xml:
8027         * docs/manual/basics-helloworld.xml:
8028         * docs/manual/basics-pads.xml:
8029         * docs/random/ds/0.9-suggested-changes:
8030         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8031         * gst/gstelement.h:
8032         * gst/gstevent.h:
8033         * gst/gstformat.h:
8034         * gst/gstquery.h:
8035         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8036         (gst_structure_parse_array), (gst_structure_parse_value):
8037         * gst/gstvalue.c: (gst_type_is_fixed),
8038         (gst_value_list_prepend_value), (gst_value_list_append_value),
8039         (gst_value_list_get_size), (gst_value_list_get_value),
8040         (gst_value_transform_array_string), (gst_value_serialize_array),
8041         (gst_value_deserialize_array), (gst_value_intersect_array),
8042         (gst_value_is_fixed), (_gst_value_initialize):
8043         * gst/gstvalue.h:
8044           GstElement::new-pad -> pad-added, GstElement::state-change ->
8045           state-changed, GstValueFixedList -> GstValueArray, add format and
8046           flags as their own arguments in gst_element_seek() (should improve
8047           "bindeability"), remove function generators since they don't work
8048           under a whole bunch of compilers (they were deprecated already
8049           anyway).
8050
8051 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8052
8053         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8054         (_gst_debug_register_funcptr):
8055         * gst/gstinfo.h:
8056           Fix illegal cast on some platforms (#309253).
8057
8058 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8059
8060         * gst/gstmessage.c: (gst_message_new_custom):
8061         * gst/gstmessage.h:
8062           Add _new_custom, make _new_application a macro to _new_custom.
8063
8064 2005-07-20  Wim Taymans  <wim@fluendo.com>
8065
8066         * gst/base/gstbasesrc.c: (gst_base_src_init),
8067         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8068         * gst/base/gstbasesrc.h:
8069         Add a gboolean to decide when to push out a discont.
8070
8071         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8072         (gst_queue_loop), (gst_queue_handle_src_query),
8073         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8074         (gst_queue_set_property), (gst_queue_get_property):
8075         Some cleanups.
8076
8077         * tests/threadstate/threadstate1.c: (main):
8078         Make a thread test compile and run... very silly..
8079
8080
8081 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8082
8083         * docs/manual/appendix-porting.xml:
8084           Mention removal of libgstgconf-0.9.la and existence of gconf
8085           elements.
8086
8087 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8088
8089         * docs/pwg/advanced-clock.xml:
8090         * docs/pwg/appendix-porting.xml:
8091         * docs/pwg/intro-preface.xml:
8092         * docs/pwg/other-base.xml:
8093         * docs/pwg/other-manager.xml:
8094         * docs/pwg/other-nton.xml:
8095         * docs/pwg/other-ntoone.xml:
8096         * docs/pwg/other-oneton.xml:
8097         * docs/pwg/pwg.xml:
8098           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8099           demuxer), remove n-to-n (was never written), fix some code examples
8100           and links and update the porting section to include all this.
8101
8102 2005-07-19  Wim Taymans  <wim@fluendo.com>
8103
8104         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8105         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8106         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8107         (gst_queue_src_activate_push), (gst_queue_change_state),
8108         (gst_queue_get_property):
8109         * gst/gstqueue.h:
8110         Propagate GstFlowReturn more intelligently upstream and output
8111         an ERROR/EOS when streaming stopped due to fatal error.
8112
8113 2005-07-19  Wim Taymans  <wim@fluendo.com>
8114
8115         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8116         Don't block forever for the state change to complete, the
8117         pipeline already did with a sensible timeout.
8118
8119 2005-07-19  Wim Taymans  <wim@fluendo.com>
8120
8121         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8122         Make sure we never call the create function is we
8123         got deactivated.
8124
8125 2005-07-19  Andy Wingo  <wingo@pobox.com>
8126
8127         * gst/parse/parse.l: Attempt to solve bug #172815.
8128
8129 2005-07-19  Wim Taymans  <wim@fluendo.com>
8130
8131         * docs/design/part-clocks.txt:
8132         * docs/design/part-events.txt:
8133         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8134         Small docs updates.
8135         Only update the seeking values when we are not
8136         busy streaming.
8137
8138 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8139
8140         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8141           Oops, ignore the result of gst_pad_push_event here.
8142
8143 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8144
8145         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8146         (gst_base_src_activate_push):
8147           Send discont event from the loop function, as pads
8148           aren't activated yet in the activate_push handler.
8149
8150         * gst/gstbin.c: (bin_bus_handler):
8151           Don't leak element name.
8152
8153 2005-07-18  Andy Wingo  <wingo@pobox.com>
8154
8155         * configure.ac: Use AS_LIBTOOL_TAGS.
8156
8157 2005-07-18  Wim Taymans  <wim@fluendo.com>
8158
8159         * docs/gst/gstreamer.types:
8160         Remove deleted types.
8161
8162 2005-07-18  Wim Taymans  <wim@fluendo.com>
8163
8164         * check/elements/gstfakesrc.c: (GST_START_TEST):
8165         * configure.ac:
8166         * gst/Makefile.am:
8167         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8168         (init_popt_callback):
8169         * gst/gst.h:
8170         * gst/gst_private.h:
8171         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8172         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8173         * gst/gstbin.h:
8174         * gst/gstbus.h:
8175         * gst/gstconfig.h.in:
8176         * gst/gstelement.c: (gst_element_class_init),
8177         (gst_element_set_base_time), (gst_element_get_base_time),
8178         (iterator_fold_with_resync), (gst_element_change_state),
8179         (gst_element_dispose), (gst_element_get_bus):
8180         * gst/gstelement.h:
8181         * gst/gstelementfactory.h:
8182         * gst/gsterror.c: (_gst_core_errors_init):
8183         * gst/gsterror.h:
8184         * gst/gstevent.h:
8185         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8186         * gst/gstindex.c:
8187         * gst/gstinfo.c: (_gst_debug_init):
8188         * gst/gstmessage.c: (_gst_message_copy):
8189         * gst/gstmessage.h:
8190         * gst/gstminiobject.h:
8191         * gst/gstobject.c:
8192         * gst/gstobject.h:
8193         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8194         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8195         * gst/gstpad.h:
8196         * gst/gstparse.h:
8197         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8198         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8199         (gst_pipeline_get_last_stream_time):
8200         * gst/gstpipeline.h:
8201         * gst/gstpluginfeature.h:
8202         * gst/gstquery.h:
8203         * gst/gstscheduler.c:
8204         * gst/gstscheduler.h:
8205         * gst/gststructure.h:
8206         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8207         (gst_task_finalize), (gst_task_func), (gst_task_create),
8208         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8209         (gst_task_stop), (gst_task_pause):
8210         * gst/gsttask.h:
8211         * gst/gsttypefind.h:
8212         * gst/gsttypes.h:
8213         * gst/registries/gstlibxmlregistry.c: (load_feature),
8214         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8215         * gst/registries/gstxmlregistry.c:
8216         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8217         * gst/schedulers/threadscheduler.c:
8218         * libs/gst/control/dparammanager.h:
8219         * tools/gst-inspect.c: (print_element_list),
8220         (print_plugin_features), (print_element_features):
8221         * tools/gst-xmlinspect.c: (print_element_list),
8222         (print_plugin_info), (main):
8223         Removed plugable schedulers.
8224         Removed Scheduler/Manager from elements.
8225         Removed gsttypes.h, rearranged includes.
8226         Removed dependency pad<->element, element<>pipeline, and
8227         various others,  fix includes.
8228         implement gst_pad_get_parent() with gst_object_get_parent()
8229         Make GstTask sefcontained.
8230         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8231         timeout.
8232         Fix endless loop in iterator_fold_with_resync.
8233
8234
8235 2005-07-18  Wim Taymans  <wim@fluendo.com>
8236
8237         * gst/Makefile.am:
8238         * gst/gstarch.h:
8239         Remove old file.
8240
8241 2005-07-18  Wim Taymans  <wim@fluendo.com>
8242
8243         * gst/Makefile.am:
8244         No more cothreads.h
8245
8246 2005-07-18  Wim Taymans  <wim@fluendo.com>
8247
8248         * gst/cothreads.c:
8249         * gst/cothreads.h:
8250         Let's remove these.
8251
8252 2005-07-18  Wim Taymans  <wim@fluendo.com>
8253
8254         * docs/design/part-dynamic.txt:
8255         * docs/design/part-events.txt:
8256         * docs/design/part-seeking.txt:
8257         Some more docs in the works.
8258
8259         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8260         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8261         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8262         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8263         (gst_base_transform_handle_buffer),
8264         (gst_base_transform_sink_activate_push),
8265         (gst_base_transform_src_activate_pull),
8266         (gst_base_transform_set_passthrough),
8267         (gst_base_transform_is_passthrough):
8268         Refcounting fixes.
8269
8270         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8271         Cleanups.
8272
8273         * gst/gstevent.c: (gst_event_finalize):
8274         Set SRC to NULL.
8275
8276         * gst/gstutils.c: (gst_element_unlink),
8277         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8278         (gst_pad_proxy_setcaps):
8279         * gst/gstutils.h:
8280         Add _get_parent_element() to get a pads parent as an element.
8281
8282 2005-07-18  Wim Taymans  <wim@fluendo.com>
8283
8284         * check/gst/gstbin.c: (GST_START_TEST):
8285         Remove bogus test.
8286
8287 2005-07-18  Wim Taymans  <wim@fluendo.com>
8288
8289         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8290         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8291         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8292         (gst_base_sink_event), (gst_base_sink_do_sync),
8293         (gst_base_sink_chain), (gst_base_sink_loop),
8294         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8295         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8296         Refcounting fixes.
8297         Fix logic for returning ASYNC when not prerolled.
8298
8299 2005-07-18  Wim Taymans  <wim@fluendo.com>
8300
8301         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8302         Fix nasty refcount bug.
8303
8304 2005-07-16 Philippe Khalaf <burger@speedy.org>
8305
8306         * gst/elements/gstfdsrc.c:
8307         * gst/elements/gstfdsrc.h:
8308         * gst/elements/gstelements.c:
8309         * gst/elements/Makefile.am:
8310         Ported fdsrc to 0.9.
8311
8312 2005-07-16  Wim Taymans  <wim@fluendo.com>
8313
8314         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8315         (gst_base_sink_do_sync):
8316         Fix compile error.
8317
8318 2005-07-16  Wim Taymans  <wim@fluendo.com>
8319
8320         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8321         (gst_base_sink_event), (gst_base_sink_get_times),
8322         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8323         * gst/base/gstbasesink.h:
8324         Store and use discont values when syncing buffers as described
8325         in design docs.
8326         
8327         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8328         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8329         (gst_base_src_activate_push):
8330         Push discont event when starting.
8331
8332         * gst/elements/gstidentity.c: (gst_identity_transform):
8333         Small cleanups.
8334
8335         * gst/gstbin.c: (gst_bin_change_state):
8336         Small cleanups in base_time  distribution.
8337
8338         * gst/gstelement.c: (gst_element_set_base_time),
8339         (gst_element_get_base_time), (gst_element_change_state):
8340         * gst/gstelement.h:
8341         Added methods for the base_time of the element.
8342         Some MT fixes.
8343
8344         * gst/gstpipeline.c: (gst_pipeline_send_event),
8345         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8346         (gst_pipeline_get_last_stream_time):
8347         * gst/gstpipeline.h:
8348         MT fixes.
8349         Handle seeking as described in design doc, remove stream_time
8350         hack.
8351         Cleanups clock and stream_time selection code. Added accessors
8352         for the stream_time.
8353         
8354
8355 2005-07-16  Andy Wingo  <wingo@pobox.com>
8356
8357         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8358         (#305291).
8359
8360 2005-07-16  Wim Taymans  <wim@fluendo.com>
8361
8362         * check/gst/gstbin.c: (GST_START_TEST):
8363         Make elements silent as the deep_notify refs the
8364         parent, which might make the test fail.
8365
8366         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8367         Don't hold the lock for too long.
8368
8369 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8370
8371         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8372           Don't unref the caps we passed to gst_caps_make_writable() after
8373           passing them. gst_caps_make_writable() will do that for us.
8374
8375 2005-07-15  Andy Wingo  <wingo@pobox.com>
8376
8377         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8378         (#157311).
8379
8380         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8381         own marshalling function for the handoff signal. Properly type the
8382         buffer as a buffer. Fixes some warnings. Should do a more general
8383         solution.
8384         (gst_identity_class_init): Plug into the right marshaller.
8385
8386 2005-07-15  Wim Taymans  <wim@fluendo.com>
8387
8388         * docs/design/part-TODO.txt:
8389         * docs/design/part-clocks.txt:
8390         * docs/design/part-element-sink.txt:
8391         * docs/design/part-events.txt:
8392         * docs/design/part-gstpipeline.txt:
8393         Updated docs, mostly DISCONT related.
8394
8395 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8396
8397         * docs/pwg/building-pads.xml:
8398           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8399
8400 2005-07-15  Andy Wingo  <wingo@pobox.com>
8401
8402         * tools/gst-typefind.c: Update, add copyright block.
8403
8404         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8405         Normalize and truncate caps before fixation.
8406
8407         * gst/gstcaps.h:
8408         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8409         discards all but the first structure from its argument.
8410
8411 2005-07-15  Wim Taymans  <wim@fluendo.com>
8412
8413         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8414         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8415         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8416         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8417         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8418         (gst_base_transform_chain), (gst_base_transform_change_state),
8419         (gst_base_transform_set_passthrough),
8420         (gst_base_transform_is_passthrough):
8421         * gst/base/gstbasetransform.h:
8422         Make passthrough work using the bufferpools.
8423         Changed API a bit, subclasses have to write into a buffer
8424         provided by the base class.
8425         More debug info in nego functions.
8426         
8427         * gst/elements/gstidentity.c: (gst_identity_init),
8428         (gst_identity_transform):
8429         Port to new base class.
8430
8431 2005-07-15  Wim Taymans  <wim@fluendo.com>
8432
8433         * gst/gstmessage.c: (gst_message_new_state_changed):
8434         * tools/gst-launch.c: (event_loop), (main):
8435         Totally dump messages in -launch with the -m option.
8436         Fix message name for State messages,
8437
8438 2005-07-14  Wim Taymans  <wim@fluendo.com>
8439
8440         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8441         Post error messages on errors.
8442
8443 2005-07-14  Wim Taymans  <wim@fluendo.com>
8444
8445         * gst/gstcaps.c: (gst_caps_do_simplify):
8446         Remove debug info.
8447
8448         * gst/gsterror.h:
8449         Define error for stream stopped.
8450
8451         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8452         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8453         Do proper return values.
8454
8455         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8456         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8457         (gst_pad_get_range):
8458         Better return values.
8459
8460         * gst/gstpad.h:
8461         Reorganise return values, add macro to check for fatal errors.
8462
8463         * gst/gstqueue.c: (gst_queue_chain):
8464         Return proper GstFlowReturn values,
8465
8466 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8467
8468         * docs/gst/gstreamer-sections.txt:
8469         * docs/gst/gstreamer.types:
8470         * docs/gst/tmpl/gst.sgml:
8471         * docs/gst/tmpl/gstbasesink.sgml:
8472         * docs/gst/tmpl/gstbasesrc.sgml:
8473         * docs/gst/tmpl/gstbasetransform.sgml:
8474         * docs/gst/tmpl/gstbin.sgml:
8475         * docs/gst/tmpl/gstbuffer.sgml:
8476         * docs/gst/tmpl/gstcaps.sgml:
8477         * docs/gst/tmpl/gstclock.sgml:
8478         * docs/gst/tmpl/gstcompat.sgml:
8479         * docs/gst/tmpl/gstconfig.sgml:
8480         * docs/gst/tmpl/gstelement.sgml:
8481         * docs/gst/tmpl/gstelementdetails.sgml:
8482         * docs/gst/tmpl/gstelementfactory.sgml:
8483         * docs/gst/tmpl/gstenumtypes.sgml:
8484         * docs/gst/tmpl/gsterror.sgml:
8485         * docs/gst/tmpl/gstevent.sgml:
8486         * docs/gst/tmpl/gstfakesink.sgml:
8487         * docs/gst/tmpl/gstfakesrc.sgml:
8488         * docs/gst/tmpl/gstfilesink.sgml:
8489         * docs/gst/tmpl/gstfilesrc.sgml:
8490         * docs/gst/tmpl/gstfilter.sgml:
8491         * docs/gst/tmpl/gstformat.sgml:
8492         * docs/gst/tmpl/gstghostpad.sgml:
8493         * docs/gst/tmpl/gstimplementsinterface.sgml:
8494         * docs/gst/tmpl/gstindex.sgml:
8495         * docs/gst/tmpl/gstindexfactory.sgml:
8496         * docs/gst/tmpl/gstinfo.sgml:
8497         * docs/gst/tmpl/gstiterator.sgml:
8498         * docs/gst/tmpl/gstmacros.sgml:
8499         * docs/gst/tmpl/gstmemchunk.sgml:
8500         * docs/gst/tmpl/gstminiobject.sgml:
8501         * docs/gst/tmpl/gstobject.sgml:
8502         * docs/gst/tmpl/gstpad.sgml:
8503         * docs/gst/tmpl/gstpadtemplate.sgml:
8504         * docs/gst/tmpl/gstparse.sgml:
8505         * docs/gst/tmpl/gstpipeline.sgml:
8506         * docs/gst/tmpl/gstplugin.sgml:
8507         * docs/gst/tmpl/gstpluginfeature.sgml:
8508         * docs/gst/tmpl/gstquery.sgml:
8509         * docs/gst/tmpl/gstqueue.sgml:
8510         * docs/gst/tmpl/gstregistry.sgml:
8511         * docs/gst/tmpl/gstregistrypool.sgml:
8512         * docs/gst/tmpl/gstscheduler.sgml:
8513         * docs/gst/tmpl/gstschedulerfactory.sgml:
8514         * docs/gst/tmpl/gststructure.sgml:
8515         * docs/gst/tmpl/gstsystemclock.sgml:
8516         * docs/gst/tmpl/gsttaglist.sgml:
8517         * docs/gst/tmpl/gsttagsetter.sgml:
8518         * docs/gst/tmpl/gsttrace.sgml:
8519         * docs/gst/tmpl/gsttrashstack.sgml:
8520         * docs/gst/tmpl/gsttypefind.sgml:
8521         * docs/gst/tmpl/gsttypefindfactory.sgml:
8522         * docs/gst/tmpl/gsttypes.sgml:
8523         * docs/gst/tmpl/gsturihandler.sgml:
8524         * docs/gst/tmpl/gsturitype.sgml:
8525         * docs/gst/tmpl/gstutils.sgml:
8526         * docs/gst/tmpl/gstvalue.sgml:
8527         * docs/gst/tmpl/gstversion.sgml:
8528         * docs/gst/tmpl/gstxml.sgml:
8529         * docs/libs/tmpl/gstcontrol.sgml:
8530         * docs/libs/tmpl/gstdataprotocol.sgml:
8531         * docs/libs/tmpl/gstdparam.sgml:
8532         * docs/libs/tmpl/gstdplinint.sgml:
8533         * docs/libs/tmpl/gstdpman.sgml:
8534         * docs/libs/tmpl/gstdpsmooth.sgml:
8535         * docs/libs/tmpl/gstgetbits.sgml:
8536         * docs/libs/tmpl/gstunitconvert.sgml:
8537         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8538         (gst_push_src_base_init), (gst_push_src_class_init),
8539         (gst_push_src_init), (gst_push_src_create):
8540         * gst/base/gstpushsrc.h:
8541         * gst/elements/gstelements.c:
8542         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8543         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8544         (gst_fake_sink_init), (gst_fake_sink_set_property),
8545         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8546         (gst_fake_sink_event), (gst_fake_sink_preroll),
8547         (gst_fake_sink_render), (gst_fake_sink_change_state):
8548         * gst/elements/gstfakesink.h:
8549         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8550         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8551         (gst_fake_src_base_init), (gst_fake_src_class_init),
8552         (gst_fake_src_init), (gst_fake_src_event_handler),
8553         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8554         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8555         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8556         (gst_fake_src_create_buffer), (gst_fake_src_create),
8557         (gst_fake_src_start), (gst_fake_src_stop):
8558         * gst/elements/gstfakesrc.h:
8559         * gst/elements/gstfilesink.c: (_do_init),
8560         (gst_file_sink_base_init), (gst_file_sink_class_init),
8561         (gst_file_sink_init), (gst_file_sink_dispose),
8562         (gst_file_sink_set_location), (gst_file_sink_set_property),
8563         (gst_file_sink_get_property), (gst_file_sink_open_file),
8564         (gst_file_sink_close_file), (gst_file_sink_query),
8565         (gst_file_sink_event), (gst_file_sink_render),
8566         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8567         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8568         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8569         * gst/elements/gstfilesink.h:
8570         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8571         (gst_file_src_class_init), (gst_file_src_init),
8572         (gst_file_src_finalize), (gst_file_src_set_location),
8573         (gst_file_src_set_property), (gst_file_src_get_property),
8574         (gst_file_src_map_region), (gst_file_src_map_small_region),
8575         (gst_file_src_create_mmap), (gst_file_src_create_read),
8576         (gst_file_src_create), (gst_file_src_is_seekable),
8577         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8578         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8579         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8580         (gst_file_src_uri_handler_init):
8581         * gst/elements/gstfilesrc.h:
8582           more autistic cleanliness in functions/names/defines
8583
8584 2005-07-13  Andy Wingo  <wingo@pobox.com>
8585
8586         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8587         source couldn't negotiate.
8588
8589         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8590         connections again.
8591
8592         * gst/gstutils.h:
8593         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8594         function. I am channeling Hades. Put your boots on suckers!!!
8595
8596 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8597
8598         * testsuite/caps/Makefile.am:
8599         * testsuite/caps/value_compare.c:
8600         * testsuite/caps/value_intersect.c:
8601         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8602           move two testsuite apps over to the check dir
8603
8604 2005-07-12  Wim Taymans  <wim@fluendo.com>
8605
8606         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8607         Added more debug info in the negotiate process.
8608
8609         * gst/gstmessage.h:
8610         Prepare for segment playback.
8611
8612         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8613         Better debugging.
8614
8615         * gst/gstutils.c:
8616         Some more docs.
8617
8618         * tools/gst-launch.c: (main):
8619         NULL pipeline on errors.
8620
8621 2005-07-12  Andy Wingo  <wingo@pobox.com>
8622
8623         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8624         not it comes from a malloc region. Make sure our copy gets freed.
8625
8626 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8627
8628         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8629         * check/gst/gstmessage.c: (GST_START_TEST):
8630         * check/gst/gststructure.c: (GST_START_TEST),
8631         (gst_structure_suite), (main):
8632           more testing
8633         * gst/gstelement.c: (gst_element_message_full):
8634           clean up GError and debug string now that they get copied
8635         * gst/gstmessage.c: (gst_message_new_error),
8636         (gst_message_new_warning), (gst_message_parse_error),
8637         (gst_message_parse_warning):
8638           use GST_TYPE_G_ERROR for structure_new, and take copies of
8639           arguments, so that we don't mess up refcounting
8640
8641 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8642
8643         * check/Makefile.am:
8644           add per-test valgrind targets
8645         * check/gst-libs/gdp.c: (GST_START_TEST),
8646         (gst_data_protocol_suite), (main):
8647           clean up
8648
8649 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8650
8651         * check/Makefile.am:
8652           instate more valgrindable tests
8653         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8654         (GST_START_TEST), (fakesrc_suite):
8655         * check/gst/gstpad.c: (GST_START_TEST):
8656         * check/gst/gststructure.c: (GST_START_TEST):
8657           fix test leaks
8658         * docs/gst/tmpl/gstminiobject.sgml:
8659         * gst/gstpad.c: (gst_pad_finalize):
8660           fix the static mutex leak
8661
8662 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8663
8664         * check/Makefile.am:
8665           add two more tests for valgrinding
8666         * check/gst/gstvalue.c: (GST_START_TEST):
8667           test refcount of deserialized buffer, found a leak
8668         * docs/gst/gstreamer-docs.sgml:
8669         * docs/gst/gstreamer-sections.txt:
8670         * docs/gst/gstreamer.types:
8671         * docs/gst/tmpl/gstminiobject.sgml:
8672           add miniobject to docs
8673         * gst/gstminiobject.c:
8674           add some docs
8675         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8676         (gst_string_unwrap):
8677           fix a hard-to-find invalid write for one of the tests
8678           fix a leak for deserialized buffers
8679
8680 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8681
8682         * docs/pwg/advanced-events.xml:
8683         * docs/pwg/advanced-request.xml:
8684         * docs/pwg/advanced-scheduling.xml:
8685         * docs/pwg/appendix-porting.xml:
8686         * docs/pwg/building-boiler.xml:
8687         * docs/pwg/intro-preface.xml:
8688         * docs/pwg/other-ntoone.xml:
8689           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8690           of example code and explanation for pad activation, loop() and
8691           getrange() functions and a bit more. Remove old comments pointing
8692           to loop-functions.
8693         * examples/pwg/Makefile.am:
8694           Add loop/getrange examples.
8695
8696 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8697
8698         * configure.ac:
8699           check for valgrind binary + some fixes
8700         * check/gst.supp:
8701           valgrind suppressions for the tests
8702         * check/Makefile.am:
8703           add a valgrind: target that valgrinds the unit tests
8704         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8705         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8706         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8707         * check/gst/gstghostpad.c:
8708           added some cleanup
8709         * check/gst/gstdata.c:
8710           removed
8711         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8712         (thread_unref), (gst_mini_object_suite), (main):
8713           added
8714         * gst/gst.c: (gst_deinit):
8715         * gst/gst.h:
8716           add a method to clean up.
8717         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8718         (gst_system_clock_obtain):
8719           allow for disposing the system clock.
8720         * tools/gst-launch.c: (main):
8721           deinit
8722
8723 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8724
8725         * docs/gst/tmpl/gstbasesrc.sgml:
8726         * docs/gst/tmpl/gstfakesrc.sgml:
8727         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8728         (gst_base_src_init), (gst_base_src_set_property),
8729         (gst_base_src_get_property), (gst_base_src_get_range),
8730         (gst_base_src_start):
8731         * gst/base/gstbasesrc.h:
8732           add num-buffers property
8733         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8734         (gst_fakesrc_init), (gst_fakesrc_set_property),
8735         (gst_fakesrc_get_property), (gst_fakesrc_create),
8736         (gst_fakesrc_start):
8737           remove num-buffers property
8738
8739 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8740
8741         * docs/gst/gstreamer-sections.txt:
8742         * docs/gst/tmpl/gstbasesink.sgml:
8743         * docs/gst/tmpl/gstbasesrc.sgml:
8744         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8745         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8746         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8747         (gst_base_sink_set_property), (gst_base_sink_get_property),
8748         (gst_base_sink_handle_object), (gst_base_sink_event),
8749         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8750         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8751         (gst_base_sink_loop), (gst_base_sink_deactivate),
8752         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8753         (gst_base_sink_change_state):
8754         * gst/base/gstbasesink.h:
8755         * gst/base/gstbasesrc.h:
8756         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8757         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8758         (gst_filesink_init):
8759           more macro splitting
8760
8761 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8762
8763         * gst/gstelement.c: (gst_element_get_bus):
8764           add debug
8765         * tools/gst-launch.c: (check_intr), (event_loop):
8766           fix bus leaks
8767
8768 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8769
8770         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8771           fix a caps leak
8772
8773 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8774
8775         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8776         (gst_base_src_finalize):
8777           add finalize method and clean up properly
8778         * gst/gstpipeline.c: (gst_pipeline_dispose):
8779           add debug
8780
8781 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8782
8783         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8784         (gst_bin_suite):
8785           add more things to check
8786         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8787         * gst/gstelement.c:
8788           more debug
8789
8790 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8791
8792         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8793         (GST_START_TEST), (fakesrc_suite):
8794         * check/gst-libs/gdp.c: (GST_START_TEST):
8795         * check/gst/gst.c: (GST_START_TEST):
8796         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8797         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8798         * check/gst/gstbus.c: (GST_START_TEST):
8799         * check/gst/gstcaps.c: (GST_START_TEST):
8800         * check/gst/gstdata.c: (GST_START_TEST):
8801         * check/gst/gstelement.c: (GST_START_TEST):
8802         * check/gst/gstghostpad.c: (GST_START_TEST):
8803         * check/gst/gstiterator.c: (GST_START_TEST):
8804         * check/gst/gstmessage.c: (GST_START_TEST):
8805         * check/gst/gstobject.c: (GST_START_TEST):
8806         * check/gst/gstpad.c: (GST_START_TEST):
8807         * check/gst/gststructure.c: (GST_START_TEST):
8808         * check/gst/gstsystemclock.c: (GST_START_TEST),
8809         (gst_systemclock_suite):
8810         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8811         * check/gst/gstvalue.c: (GST_START_TEST):
8812         * check/pipelines/cleanup.c: (GST_START_TEST):
8813         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8814         * check/states/sinks.c: (GST_START_TEST):
8815         * check/gstcheck.c: (gst_check_init):
8816         * check/gstcheck.h:
8817           add debugging category
8818           use GST_START_TEST now, so we add a debug line
8819
8820 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8821
8822         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8823           add test for state change message on a bin
8824         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8825           add another test
8826         * gst/gstbin.c: (gst_bin_init):
8827         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8828         * gst/gstelement.c: (gst_element_post_message),
8829         (gst_element_set_state):
8830         * gst/gstelementfactory.c: (gst_element_factory_create):
8831         * gst/gstmessage.c: (gst_message_new):
8832         * gst/gstscheduler.c:
8833           various debugging additions and cleanups
8834
8835 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8836
8837         * check/Makefile.am:
8838         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8839         (main):
8840           adding tests for elements
8841         * gst/gstelement.c: (gst_element_dispose):
8842
8843 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8844
8845         * gst/registries/gstlibxmlregistry.c: (load_feature):
8846           plug more leaks.  A simple gst_init() now is leakfree, yay.
8847
8848 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8849
8850         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8851         (gst_xml_registry_load):
8852           plug another memleak
8853
8854 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8855
8856         * configure.ac:
8857           use GST_SET_ERROR_CFLAGS
8858         * docs/faq/cvs.xml:
8859           change to ERROR_CFLAGS
8860
8861 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8862
8863         * configure.ac:
8864           make GST_ERROR_CFLAGS overridable and re-enable Werror
8865         * docs/faq/cvs.xml:
8866           add a note about error CFLAGS
8867         * docs/gst/tmpl/gstfakesrc.sgml:
8868         * gst/elements/gstfakesrc.c:
8869           comment out some unused code
8870         * gst/gst.c: (split_and_iterate):
8871         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8872         (load_feature):
8873           plug some memleaks
8874
8875 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8876
8877         * common/Makefile.am:
8878         * common/gtk-doc.mak:
8879         * docs/gst/Makefile.am:
8880           factor out gtk-doc.mak
8881
8882 2005-07-07  Wim Taymans  <wim@fluendo.com>
8883
8884         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8885         (gst_thread_scheduler_dispose):
8886         Unlock the STREAM_LOCK completely.
8887
8888 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8889
8890         * check/Makefile.am:
8891         * check/elements/.cvsignore:
8892         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8893         (START_TEST), (fakesrc_suite), (main):
8894         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8895         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8896         (gst_fakesrc_create), (gst_fakesrc_start):
8897         * gst/elements/gstfakesrc.h:
8898           adding a first element test
8899
8900 2005-07-07  Andy Wingo  <wingo@pobox.com>
8901
8902         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8903         debug message.
8904
8905 2005-07-07  Wim Taymans  <wim@fluendo.com>
8906
8907         * gst/gstquery.c:
8908         * gst/gstquery.h:
8909         Remove old types
8910
8911 2005-07-07  Wim Taymans  <wim@fluendo.com>
8912
8913         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8914         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8915         Allow subclasses to implement their own negotiation.
8916
8917 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8918
8919         * docs/design/part-gstbin.txt:
8920         * docs/design/part-gstpipeline.txt:
8921           Update design notes to reflect the movement of
8922           responsibility for bus handling from GstPipeline to
8923           GstBin
8924
8925 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8926
8927         * configure.ac:
8928           Remove unnecessary queue2/3/4 examples.
8929
8930 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8931
8932         * examples/Makefile.am:
8933         * examples/helloworld/helloworld.c: (event_loop), (main):
8934         * examples/queue/queue.c: (event_loop), (main):
8935         * examples/queue2/queue2.c: (main):
8936           Update a couple of the examples to work again.
8937
8938         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8939         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8940          Spelling corrections and extra debug.
8941         
8942         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8943         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8944         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8945         * gst/gstbin.h:
8946         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8947         (gst_pipeline_change_state):
8948         * gst/gstpipeline.h:
8949           Move the bus handler for children to the GstBin, and create a
8950           separate bus for receiving messages from children to the one the
8951           bus sends 'upwards' on.
8952
8953 2005-07-06  Wim Taymans  <wim@fluendo.com>
8954
8955         * gst/base/README:
8956         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8957         (gst_base_sink_handle_object), (gst_base_sink_loop),
8958         (gst_base_sink_change_state):
8959         * gst/base/gstbasesink.h:
8960         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8961         (gst_base_src_init), (gst_base_src_setcaps),
8962         (gst_base_src_getcaps), (gst_base_src_loop),
8963         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8964         (gst_base_src_start), (gst_base_src_change_state):
8965         * gst/base/gstbasesrc.h:
8966         Make basesrc negotiate.
8967         Handle the case where preroll fails in basesink.
8968         Update README.
8969
8970 2005-07-06  Wim Taymans  <wim@fluendo.com>
8971
8972         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8973         Implement the fixate function.
8974         Clean up acceptcaps.
8975
8976 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8977
8978         * docs/pwg/building-filterfactory.xml:
8979         * docs/pwg/pwg.xml:
8980           Remove never-written filter-factory chapter; I'll add the various
8981           base classes to part 4 ("other element types") later on.
8982
8983 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8984
8985         * docs/pwg/advanced-negotiation.xml:
8986         * docs/pwg/building-boiler.xml:
8987         * docs/pwg/building-pads.xml:
8988         * docs/pwg/pwg.xml:
8989         * examples/pwg/Makefile.am:
8990           Add a chapter on caps negotiation, simplify the original code
8991           samples a bit w.r.t. caps negotiation, add link to the advanced
8992           section. Add a bunch of examples showing different use cases of
8993           different types of caps negotiation. Upstream renegotiation isn't
8994           fully documented yet since nobody knows how that works.
8995
8996 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8997
8998         * check/gst/gstpad.c:
8999         * check/gstcheck.c:
9000         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9001           if pad has no parent, return NULL as list of internal links
9002
9003 2005-07-05  Andy Wingo  <wingo@pobox.com>
9004
9005         * gst/elements/gstfilesrc.c:
9006         * gst/elements/gstfakesrc.c: 
9007         * gst/base/gstpushsrc.c:
9008         * gst/base/gstbasesrc.h: 
9009         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9010         
9011 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9012
9013         * Makefile.am:
9014           better report generation target (lcov needs a patch)
9015
9016 2005-07-05  Andy Wingo  <wingo@pobox.com>
9017
9018         * gst/elements, testsuite: Null if we got it...
9019
9020 2005-07-05  Wim Taymans  <wim@fluendo.com>
9021
9022         * configure.ac:
9023         * libs/gst/dataprotocol/Makefile.am:
9024         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9025         * libs/gst/dataprotocol/dataprotocol.h:
9026         * pkgconfig/Makefile.am:
9027         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9028         * pkgconfig/gstreamer-dataprotocol.pc.in:
9029         Ported dataprotol to 0.9. 
9030         Added pkgconfig files.
9031
9032 2005-07-05  Andy Wingo  <wingo@pobox.com>
9033
9034         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9035         Default to returning TRUE for the case when tranform_caps returns
9036         a fixed caps, like for identity or volume.
9037
9038         * check/gst/gstbus.c (pound_bus_with_messages): 
9039         * check/gst/gstmessage.c (START_TEST): 
9040         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9041         message API change.
9042
9043         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9044         logic weaks here: always run transform_caps, trying passthrough
9045         operation only if the original caps intersects with the transform.
9046
9047         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9048         source and sink caps.
9049
9050         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9051         Intersect the peer caps with the pad template before going into
9052         transform_caps.
9053         (gst_base_transform_transform_caps): More debugging.
9054
9055         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9056         src argument.
9057
9058 2005-07-04  Edward Hervey  <edward@fluendo.com>
9059
9060         * gst/gstutils.c:
9061         * gst/gstutils.h:
9062         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9063         in bindings.
9064
9065 2005-07-04  Andy Wingo  <wingo@pobox.com>
9066
9067         * check/gst/gstpad.c: Only set explicit caps on pads.
9068
9069 2005-07-01  Andy Wingo  <wingo@pobox.com>
9070
9071         * tests/network-clock.scm: Commentary update.
9072
9073         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9074         Didn't really make sense, not implementable with basetransform,
9075         etc.
9076         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9077         attempt at implementing the sync property, needs an unlock method.
9078
9079         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9080         New func, by default returns the same caps (the identity
9081         transformation).
9082         (gst_base_transform_getcaps): Uses transform_caps to return
9083         something sensible.
9084         (gst_base_transform_setcaps): Complicated logic to get caps on
9085         both pads, even if they are different, and to call set_caps once
9086         for every time both pads get their caps set.
9087         (gst_base_transform_handle_buffer): Give the ref to the transform
9088         function. Allows in-place modification of the buffer.
9089
9090         * gst/base/gstbasetransform.h (transform_caps): New class method.
9091         Given caps on one side, what can I do on the other.
9092         (set_caps): Take two caps, one for each side of the element.
9093
9094         * gst/gstpad.h:
9095         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9096         caps in place. This is safe because we can check the mutability of
9097         the caps, and a good idea because fixate functions are just called
9098         as a matter of last resort. (Not actually implemented.)
9099         (gst_pad_set_caps): If the caps we're setting is actually the same
9100         as the existing pad caps, just update the pointer without calling
9101         setcaps. Assert that caps is either NULL or fixed, as per the
9102         docs.
9103
9104         * gst/gstghostpad.c: Update for fixate changes.
9105
9106 2005-07-02  Andy Wingo  <wingo@pobox.com>
9107
9108         * gst/gstcaps.c:
9109         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9110         two refcounts makes it immutable, which is enough. Doc more.
9111
9112 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9113
9114         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9115           Put the mini_object into GValue as a mini_object,
9116           not a gpointer, since that's how we declared
9117           the signal.
9118
9119 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9120
9121         * examples/pwg/Makefile.am:
9122           Fix buildbot again.
9123
9124 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9125
9126         * docs/pwg/building-testapp.xml:
9127           Add extra check.
9128         * examples/pwg/Makefile.am:
9129           Fix buildbot.
9130
9131 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9132
9133         * configure.ac:
9134         * examples/Makefile.am:
9135         * examples/pwg/Makefile.am:
9136         * examples/pwg/extract.pl:
9137           Enable building the PWG examples.
9138         * docs/pwg/advanced-interfaces.xml:
9139           Add URI interface stub.
9140         * docs/pwg/advanced-types.xml:
9141         * docs/pwg/other-autoplugger.xml:
9142         * docs/pwg/appendix-porting.xml:
9143         * docs/pwg/pwg.xml:
9144           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9145         * docs/pwg/building-boiler.xml:
9146         * docs/pwg/building-chainfn.xml:
9147         * docs/pwg/building-pads.xml:
9148         * docs/pwg/building-props.xml:
9149         * docs/pwg/building-state.xml:
9150         * docs/pwg/building-testapp.xml:
9151           Update the building-*.xml parts for 0.9 changes. All examples
9152           code blocks compile in examples/pwg/*.
9153
9154 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9155
9156         * docs/manual/advanced-autoplugging.xml:
9157         * docs/manual/appendix-checklist.xml:
9158         * docs/manual/appendix-integration.xml:
9159         * docs/manual/highlevel-components.xml:
9160           Fix playbin/decodebin examples, update docs a bit, mention bus
9161           instead of signals in various places, mention kmplayer and
9162           kaffeine since they have a working GStreamer backend in the KDE
9163           section.
9164
9165 2005-06-30  Wim Taymans  <wim@fluendo.com>
9166
9167         * CHANGES-0.9:
9168         * docs/design/draft-ghostpads.txt:
9169         * docs/design/draft-push-pull.txt:
9170         * docs/design/draft-query.txt:
9171         * docs/design/part-TODO.txt:
9172         * docs/design/part-query.txt:
9173         Added CHANGES-0.9 doc, updated status of other docs.
9174         
9175         * gst/gstquery.h:
9176         Remove "hmm" macro
9177
9178 2005-06-30  Wim Taymans  <wim@fluendo.com>
9179
9180         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9181         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9182         (gst_base_sink_change_state):
9183         * gst/base/gstbasesink.h:
9184         Some tweaks, only EOS and a buffer complete a preroll.
9185
9186 2005-06-30  Andy Wingo  <wingo@pobox.com>
9187
9188         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9189         activate_push down to the internal pad as well.
9190
9191 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9192
9193         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9194
9195         * gst/gsttaginterface.c:
9196           Some documentation fixes (#307394 and #307397).
9197
9198 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9199
9200         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9201
9202         * gst/gstvalue.c: (gst_value_intersect_list):
9203           Fix memleak (#309125).
9204
9205 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9206
9207         * docs/manual/advanced-dataaccess.xml:
9208           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9209         * docs/manual/basics-pads.xml:
9210           Add reference for filtered caps to above chapter.
9211
9212 2005-06-30  Wim Taymans  <wim@fluendo.com>
9213
9214         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9215         (gst_bin_change_state):
9216         Probes are gone.
9217         Lame attempt at making the state change function a bit
9218         more readable.
9219
9220 2005-06-30  Wim Taymans  <wim@fluendo.com>
9221
9222         * docs/design/part-clocks.txt:
9223         * docs/design/part-element-sink.txt:
9224         * docs/design/part-events.txt:
9225         * docs/design/part-preroll.txt:
9226         * docs/design/part-states.txt:
9227         Some more tweeks and additions to the docs.
9228
9229 2005-06-30  Wim Taymans  <wim@fluendo.com>
9230
9231         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9232         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9233         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9234         (gst_pad_check_pull_range), (gst_pad_get_range),
9235         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9236         * gst/gstpad.h:
9237         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9238         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9239         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9240         (gst_pad_remove_buffer_probe):
9241         Removed atomic operations, use existing LOCK.
9242         Move exception handling out of main code path.
9243
9244 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9245
9246         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9247         (silly_return_true_function), (gst_pad_class_init),
9248         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9249         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9250         (gst_pad_send_event):
9251           Fix accumulator, add default value by using _emitv() instead
9252           of _emit() for signal emission.
9253
9254 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9255
9256         * docs/manual/advanced-dataaccess.xml:
9257         * examples/manual/Makefile.am:
9258           Add probe example.
9259         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9260           Make work (??).
9261
9262 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9263
9264         * gst/elements/gstfilesink.c: (gst_filesink_render):
9265           Simplify code so that we don't have to handle short
9266           writes and return GST_FLOW_ERROR if an error occured.
9267
9268 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9269
9270         * docs/gst/gstreamer-docs.sgml:
9271           Remove probes more.
9272
9273 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9274
9275         * docs/gst/gstreamer-sections.txt:
9276         * docs/gst/tmpl/gstpad.sgml:
9277         * docs/gst/tmpl/gstprobe.sgml:
9278         * gst/Makefile.am:
9279         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9280         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9281         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9282         (gst_pad_push_event), (gst_pad_send_event):
9283         * gst/gstpad.h:
9284         * gst/gstutils.c: (gst_pad_add_data_probe),
9285         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9286         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9287         (gst_pad_remove_buffer_probe):
9288         * gst/gstutils.h:
9289           Remove old probes, add new g-signal-based probes and some utility
9290           functions.
9291
9292 2005-06-29  Edward Hervey  <edward@fluendo.com>
9293
9294         * gst/gstelementfactory.c:
9295         * gst/gstutils.h:
9296         * gst/gstutils.c:
9297         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9298         the definition to the header file.
9299
9300 2005-06-29  Andy Wingo  <wingo@pobox.com>
9301
9302         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9303         plugins from the source directory.
9304
9305 2005-06-29  Wim Taymans  <wim@fluendo.com>
9306
9307         * docs/gst/tmpl/gstbuffer.sgml:
9308         * docs/gst/tmpl/gstclock.sgml:
9309         Some fixings for blantently wrong text.
9310
9311 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9312
9313         * check/Makefile.am:
9314         * gst/gst.c: (add_path_func), (init_pre):
9315         * gst/gstregistry.c: (gst_registry_add_path):
9316           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9317           only scan the GST_PLUGIN_PATH locations, and not add
9318           system locations
9319
9320 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9321
9322         * docs/gst/gstreamer-sections.txt:
9323         * docs/gst/tmpl/gstbasesrc.sgml:
9324         * gst/gstelement.c:
9325         * gst/gstelement.h:
9326         * gst/gstevent.c:
9327         * gst/gstutils.c:
9328           doc fixes
9329
9330 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9331
9332         * docs/manual/advanced-autoplugging.xml:
9333           Fix autoplugging example.
9334
9335 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9336
9337         * docs/manual/advanced-autoplugging.xml:
9338         * docs/manual/mime-world.fig:
9339           Try to get autoplugging working, fix type detection. Fix text
9340           in hello-world image.
9341
9342 2005-06-29  Wim Taymans  <wim@fluendo.com>
9343
9344         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9345         (gst_base_sink_change_state):
9346         Small debug line.
9347
9348         * gst/gstclock.h:
9349         map SIGNAL and BROADCAST to the right function.
9350
9351         * gst/gstobject.h:
9352         Remove redundant braces.
9353
9354         * gst/gstpad.c: (gst_pad_set_caps):
9355         Don't call setcaps function when reseting caps to NULL.
9356
9357         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9358         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9359         (gst_system_clock_id_unschedule):
9360         Use BROADCAST as this is what we do.
9361
9362 2005-06-29  Wim Taymans  <wim@fluendo.com>
9363
9364         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9365         We are actually prerolling before commiting the state
9366         change. 
9367
9368 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9369
9370         * docs/manual/advanced-clocks.xml:
9371         * docs/manual/advanced-interfaces.xml:
9372         * docs/manual/advanced-metadata.xml:
9373         * docs/manual/advanced-position.xml:
9374         * docs/manual/advanced-schedulers.xml:
9375         * docs/manual/advanced-threads.xml:
9376         * docs/manual/appendix-porting.xml:
9377         * docs/manual/basics-bins.xml:
9378         * docs/manual/basics-bus.xml:
9379         * docs/manual/basics-elements.xml:
9380         * docs/manual/basics-helloworld.xml:
9381         * docs/manual/basics-pads.xml:
9382         * docs/manual/highlevel-components.xml:
9383         * docs/manual/manual.xml:
9384         * docs/manual/thread.fig:
9385           Update (until threads/scheduling) Application Development Manual;
9386           remove GstThread, add GstBus, add simple porting checklist, add
9387           documentation for tag writing, clocks, make all examples until this
9388           part compile and run.
9389         * examples/manual/Makefile.am:
9390           Update from changes to Application Development Manual; add bus
9391           example, remove thread example.
9392
9393 2005-06-28  Wim Taymans  <wim@fluendo.com>
9394
9395         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9396         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9397         (gst_bus_source_dispatch):
9398         Add debugging messages.
9399         Make internal methods static.
9400         Handle the case where the bus is flushed in the handler.
9401         
9402         * gst/gstelement.c: (gst_element_get_bus):
9403         Fix refcount in _get_bus();
9404
9405         * gst/gstpipeline.c: (gst_pipeline_change_state),
9406         (gst_pipeline_get_clock_func):
9407         Clock refcounting fixes.
9408         Handle the case where preroll timed out more gracefully.
9409         
9410         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9411         Clean up the internal thread in dispose. This is needed
9412         for subclasses that actually get disposed.
9413         
9414         * gst/schedulers/threadscheduler.c:
9415         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9416         (gst_thread_scheduler_dispose):
9417         Free thread pool in dispose.
9418
9419 2005-06-28  Andy Wingo  <wingo@pobox.com>
9420
9421         * tests/network-clock-utils.scm (debug, print-event): New utils.
9422
9423         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9424         (*packet-loss*): Unified loss probability.
9425         (network-time): Report out-of-band events.
9426
9427         * tests/plot-data: Add support for out-of-band events. Hack it
9428         into this script instead of passing it down the pipe; should fix
9429         this later.
9430
9431 2005-06-28  Wim Taymans  <wim@fluendo.com>
9432
9433         * docs/gst/gstreamer.types:
9434         * docs/gst/tmpl/gstbasesrc.sgml:
9435         * docs/gst/tmpl/gstpad.sgml:
9436         Docs fixes.
9437
9438 2005-06-28  Wim Taymans  <wim@fluendo.com>
9439
9440         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9441         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9442         (gst_proxy_pad_do_fixatecaps):
9443         Correctly proxy the check_pull_range function.
9444
9445 2005-06-28  Andy Wingo  <wingo@pobox.com>
9446
9447         * tests/network-clock.scm: Removed need for slib.
9448         
9449 2005-06-28  Wim Taymans  <wim@fluendo.com>
9450
9451         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9452         (gst_basesink_preroll_queue_flush):
9453         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9454         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9455         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9456         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9457         (gst_proxy_pad_set_property):
9458         * gst/gstpad.c:
9459         * gst/gstpad.h:
9460         * gst/gstqueue.c: (gst_queue_init):
9461         The deprecated pad loop function is removed now.
9462
9463 2005-06-28  Andy Wingo  <wingo@pobox.com>
9464
9465         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9466         New parameters, simulate network packet loss.
9467
9468         * tests/network-clock-utils.scm: Initialize the RNG.
9469
9470 2005-06-28  Wim Taymans  <wim@fluendo.com>
9471
9472         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9473         (gst_basesink_event), (gst_basesink_deactivate):
9474         Flushing the preroll queue always needs to unlock the waiters.
9475
9476 2005-06-28  Edward Hervey  <edward@fluendo.com>
9477
9478         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9479         Wheen a seek was successful on a pipeline, set the stream_time to the
9480         seek offset in order to have a synchronized stream_time.
9481
9482 2005-06-28  Wim Taymans  <wim@fluendo.com>
9483
9484         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9485         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9486         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9487         (gst_proxy_pad_do_fixatecaps):
9488         Call wrapper function instead of just calling the function
9489         pointers. This takes care of any locking and whatmore.
9490
9491 2005-06-28  Wim Taymans  <wim@fluendo.com>
9492
9493         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9494         (gst_pad_pull_range):
9495         * gst/gstpad.h:
9496         CONNECTED -> LINKED.
9497
9498 2005-06-28  Andy Wingo  <wingo@pobox.com>
9499
9500         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9501         source-munging commit!!!
9502
9503         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9504         (gst_object_sink): Take gpointer arguments, not GstObject --
9505         avoids casts. Like GLib.
9506
9507         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9508         activate.
9509
9510 2005-06-27  Andy Wingo  <wingo@pobox.com>
9511
9512         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9513         remaining buffer.
9514
9515         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9516         returns a sorted copy of the trace list.
9517         (gst_alloc_trace_print_live): New API, only prints traces with
9518         live objects. Sort the list.
9519         (gst_alloc_trace_print_all): Sort the list.
9520         (gst_alloc_trace_print): Align columns.
9521
9522         * gst/elements/gstttypefindelement.c:
9523         * gst/elements/gsttee.c:
9524         * gst/base/gstbasesrc.c:
9525         * gst/base/gstbasesink.c:
9526         * gst/base/gstbasetransform.c:
9527         * gst/gstqueue.c: Adapt for pad activation changes.
9528
9529         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9530         sched.
9531         (gst_pipeline_dispose): Drop ref on sched.
9532
9533         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9534         (gst_pad_activate_default): Push mode by default.
9535         (pre_activate_switch, post_activate_switch): New stubs, things to
9536         do before and after switching activation modes on pads.
9537         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9538         the pad's activate function to choose which mode to activate.
9539         Shortcut on deactivation and call the right function directly.
9540         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9541         mode.
9542         (gst_pad_activate_push): New API, same for push mode.
9543         (gst_pad_set_activate_function) 
9544         (gst_pad_set_activatepull_function) 
9545         (gst_pad_set_activatepush_function): Setters for new API.
9546
9547         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9548         Trace all miniobjects.
9549         (gst_mini_object_make_writable): Unref the arg if we copy, like
9550         gst_caps_make_writable.
9551
9552         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9553
9554         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9555         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9556         Adapt for new pad API.
9557
9558         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9559
9560         * gst/gstelement.h:
9561         * gst/gstelement.c (gst_element_iterate_src_pads) 
9562         (gst_element_iterate_sink_pads): New API functions.
9563         
9564         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9565         should fold into gstiterator.c in some form.
9566         (gst_element_pads_activate): Simplified via use of fold and
9567         delegation of decisions to gstpad->activate.
9568
9569         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9570         help in debugging.
9571
9572         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9573         class once in init, like gstmessage. Didn't run into this issue
9574         but it seems correct. Don't initialize a trace, gstminiobject does
9575         that.
9576
9577         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9578         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9579         to the bus.
9580         (assert_live_count): New util function, uses alloc traces to check
9581         cleanup.
9582
9583         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9584         To be modified when unlink drops the internal pad.
9585
9586 2005-06-27  Wim Taymans  <wim@fluendo.com>
9587
9588         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9589         (gst_bin_change_state):
9590         Cleanup the get_state() function a little, make sure it
9591         iterates the same set of elements.
9592         Added stub iterate_state_order().
9593
9594 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9595
9596         * docs/gst/gstreamer-docs.sgml:
9597         * docs/gst/gstreamer-sections.txt:
9598         * docs/gst/gstreamer.types:
9599         * docs/gst/tmpl/gstbasesink.sgml:
9600         * docs/gst/tmpl/gstbasesrc.sgml:
9601         * docs/gst/tmpl/gstbasetransform.sgml:
9602         * docs/gst/tmpl/gstelement.sgml:
9603         * docs/gst/tmpl/gstiterator.sgml:
9604         * gst/base/gstbasesrc.c:
9605         * gst/base/gstbasesrc.h:
9606         * gst/base/gstbasetransform.h:
9607         * gst/gstelement.c:
9608         * gst/gstiterator.h:
9609           adding basetransform and iterator docs
9610
9611 2005-06-27  Andy Wingo  <wingo@pobox.com>
9612
9613         * docs/design/part-activation.txt: Notes on how activation should
9614         work -- not quite implemented yet.
9615
9616 2005-06-25  Wim Taymans  <wim@fluendo.com>
9617
9618         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9619         At least get the chain function correct, needs more
9620         fixing.
9621
9622 2005-06-25  Wim Taymans  <wim@fluendo.com>
9623
9624         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9625         (gst_basesink_handle_object), (gst_basesink_event),
9626         (gst_basesink_do_sync), (gst_basesink_handle_event),
9627         (gst_basesink_change_state):
9628         * gst/gsttask.h:
9629         Right, two problems here: ghostpads don't take locks and
9630         glib _rec_mutex_lock_full() with depth==0 still locks.
9631         Catch illegal locking and g_warn them.
9632
9633 2005-06-25  Wim Taymans  <wim@fluendo.com>
9634
9635         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9636         Have to check for completion now...
9637
9638 2005-06-25  Wim Taymans  <wim@fluendo.com>
9639
9640         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9641         (gst_basesink_handle_object), (gst_basesink_event),
9642         (gst_basesink_do_sync), (gst_basesink_handle_event),
9643         (gst_basesink_change_state):
9644         * gst/gstpad.h:
9645         Unlock STREAM_LOCK whatever the recursion was.
9646
9647 2005-06-25  Wim Taymans  <wim@fluendo.com>
9648
9649         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9650         (gst_basesink_preroll_queue_empty),
9651         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9652         (gst_basesink_event), (gst_basesink_do_sync),
9653         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9654         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9655         (gst_basesink_change_state):
9656         Reworked the base sink, handle event and buffer serialisation
9657         correctly and removed possible deadlock.
9658         Handle EOS correctly.
9659
9660 2005-06-25  Wim Taymans  <wim@fluendo.com>
9661
9662         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9663         (gst_pipeline_change_state):
9664         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9665         Allow elements to post EOS in the state change function.
9666         Fix up -launch, make it exit the poll loop when the
9667         pipeline actually changed state.
9668         Fix up warning parsing in -launch.
9669
9670 2005-06-25  Wim Taymans  <wim@fluendo.com>
9671
9672         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9673         (gst_tee_sink_activate):
9674         Core takes STREAM_LOCK for us now.
9675
9676 2005-06-25  Wim Taymans  <wim@fluendo.com>
9677
9678         * gst/gstelement.c: (gst_element_get_state_func),
9679         (gst_element_set_state):
9680         * gst/gstelement.h:
9681         * gst/gstmessage.c: (gst_message_parse_error),
9682         (gst_message_parse_warning):
9683         Keep track of current target state while performing a state
9684         change so that subclasses can do something interesting.
9685         Fix parsing of warning/error messages when GError is NULL.
9686
9687 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9688
9689         * docs/gst/Makefile.am:
9690         * docs/gst/gstreamer-docs.sgml:
9691         * docs/gst/gstreamer-sections.txt:
9692         * docs/gst/gstreamer.types:
9693         * docs/gst/tmpl/gstbasesink.sgml:
9694         * docs/gst/tmpl/gstbasesrc.sgml:
9695         * docs/gst/tmpl/gstbin.sgml:
9696         * docs/gst/tmpl/gstcompat.sgml:
9697         * docs/gst/tmpl/gstfakesink.sgml:
9698         * docs/gst/tmpl/gstfakesrc.sgml:
9699         * docs/gst/tmpl/gstfilesink.sgml:
9700         * docs/gst/tmpl/gstfilesrc.sgml:
9701         * docs/gst/tmpl/gstindex.sgml:
9702         * docs/manual/appendix-quotes.xml:
9703         * gst/base/gstbasesrc.h:
9704         * gst/elements/gstfakesrc.h:
9705         * gst/gstmessage.h:
9706           start pulling in base classes and elements in our docs
9707
9708 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9709
9710         * docs/gst/Makefile.am:
9711         * docs/libs/Makefile.am:
9712           fixed make distcheck with gtk-doc 1.3
9713
9714 2005-06-23  Wim Taymans  <wim@fluendo.com>
9715
9716         * gst/gstelement.c: (gst_element_get_state_func),
9717         (gst_element_set_state), (gst_element_change_state):
9718         When the state did not change, also report NO_PREROLL
9719         when it matters.
9720
9721 2005-06-23  Wim Taymans  <wim@fluendo.com>
9722
9723         * gst/gstpad.c: (gst_pad_event_default):
9724         * gst/gstqueue.c: (gst_queue_loop):
9725         No unsafe task pausing please.
9726
9727 2005-06-23  Wim Taymans  <wim@fluendo.com>
9728
9729         * gst/schedulers/threadscheduler.c:
9730         (gst_thread_scheduler_task_start),
9731         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9732         Ref the task before pushing it on the threadpool. This
9733         makes sure that we have a ref when the threadfunction is
9734         actually called.
9735
9736 2005-06-23  Andy Wingo  <wingo@pobox.com>
9737
9738         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9739         offset is greater than the file's size.
9740
9741         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9742         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9743         * gst/gstobject.c (gst_object_class_init): Make the class lock
9744         recursive. Wim won't let me drop deep_notify. Decodebin works
9745         again, whoopdy doo.
9746
9747         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9748         internal pad, and hacks accordingly. Doesn't do it on the target
9749         pad because we change its caps. Probably catches all cases of
9750         interest tho.
9751         (gst_ghost_pad_set_property): Connect to notify::caps as
9752         appropritate.
9753
9754         * tests/network-clock.scm (plot-simulation): Pipe data to the
9755         elite python skript.
9756
9757         * tests/network-clock-utils.scm (define-parameter): New macro,
9758         defines a parameter that can be set via the command line.
9759         (set-parameter!, parse-parameter-arguments): Command line args
9760         parser.
9761
9762         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9763         stdin.
9764
9765 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9766
9767         * gst/elements/gsttypefindelement.c:
9768         (gst_type_find_element_handle_event):
9769           Don't restart typefinding on a discont.
9770         * gst/gstelement.c: (gst_element_set_state):
9771           Debug spelling fix.
9772         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9773           Allow changing mode of an active pad.
9774           Debug output fixes.
9775         * gst/registries/gstlibxmlregistry.c: (load_feature):
9776           Don't cast a static pad template to a normal pad template.
9777
9778 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9779
9780         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9781         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9782           remove gst_strtoll completely, since it didn't actually do
9783           anything more than what g_ascii_strtoull already does.
9784           check for range errors when deserializing
9785           do a cast for the unsigned cases; but further fixing needs
9786           a decision on what the interpretation of "(int)" and
9787           deserialization should be for values that fall outside the
9788           type's boundaries (ie, refuse, or interpret as casting)
9789
9790 2005-06-23  Wim Taymans  <wim@fluendo.com>
9791
9792         * check/Makefile.am:
9793         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9794         * docs/design/part-live-source.txt:
9795         * docs/design/part-states.txt:
9796         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9797         (gst_basesrc_set_live), (gst_basesrc_is_live),
9798         (gst_basesrc_get_range), (gst_basesrc_activate),
9799         (gst_basesrc_change_state):
9800         * gst/base/gstbasesrc.h:
9801         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9802         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9803         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9804         * gst/gstelement.c: (gst_element_get_state_func),
9805         (gst_element_set_state):
9806         * gst/gstelement.h:
9807         * gst/gsttypes.h:
9808         * tools/gst-launch.c: (event_loop), (main):
9809         Added support for live sources and other elements that
9810         cannot do preroll.
9811         Updated design docs, added live-source design doc.
9812         Implemented live source functionality in basesrc
9813         Fix error condition in _bin_get_state()
9814         Implement live source handling in -launch.
9815         Added check for live sources.
9816         Fixed case in GstBin where elements were changed state
9817         multiple times.
9818
9819
9820 2005-06-23  Andy Wingo  <wingo@pobox.com>
9821
9822         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9823         borken refcounting.
9824
9825         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9826         gst_caps_replace takes care of this for us.
9827
9828         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9829         gst_pad_set_caps on the target, not just its setcaps() function.
9830
9831         * tests/network-clock.scm: 
9832         * tests/network-clock-utils.scm: A network clock simulator.
9833         Something of an algorithmic testbed before doing something in C.
9834
9835 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9836
9837         * check/Makefile.am:
9838         * check/gst/capslist.h:
9839           copy over from 0.8, and add two with bitmasks specified with
9840           (int) 0xFF...
9841         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9842           add test to parse everything from capslist.h
9843         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9844         (main):
9845           add test for structure deserialization
9846         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9847           add tests for deserialization of strings to int types
9848         * gst/gststructure.c: (gst_structure_nth_field_name):
9849         * gst/gststructure.h:
9850           add a way to get the name of a field referenced by index
9851         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9852           instead of checking if the resulting long long lies between
9853           min and max, we check if the long long would fit into
9854           a number of bytes for the final type.
9855           This fixes cases where a string represents 2^32 - 1, which
9856           when cast to int would be the (valid) -1, but is bigger than
9857           G_MAXINT
9858
9859 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9860
9861         * gst/parse/grammar.y:
9862           add a log line for type deserialization
9863
9864 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9865
9866         * check/gst/gstvalue.c: (START_TEST):
9867         * gst/gstvalue.c: (gst_value_deserialize):
9868           return long long, not int, so gint64 deserialization actually
9869           works.  Is there any flag that makes the compiler check this ?
9870           Fixes #308559
9871
9872 2005-06-22  Wim Taymans  <wim@fluendo.com>
9873
9874         * gst/gstbuffer.h:
9875         Added convenience macros for setting buffers in GValue.
9876
9877 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9878
9879         * check/gst/.cvsignore:
9880         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9881           add a test deserializing int64, and comment part out because
9882           it fails, yay !
9883
9884 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9885
9886         * check/Makefile.am:
9887         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9888         * testsuite/Makefile.am:
9889         * testsuite/caps/Makefile.am:
9890         * testsuite/caps/value_serialize.c:
9891         * testsuite/test_gst_init.c:
9892           move a value_serialize test over
9893
9894 2005-06-20  Wim Taymans  <wim@fluendo.com>
9895
9896         * gst/gstpad.c:
9897         Small doc updates.
9898         
9899         * gst/gstvalue.c: (gst_value_compare_buffer),
9900         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9901         (gst_value_compare_flags), (gst_value_serialize_flags),
9902         (gst_value_deserialize_flags), (_gst_value_initialize):
9903         Fix serialisation of buffers, they are not boxed types anymore
9904
9905 2005-06-20  Wim Taymans  <wim@fluendo.com>
9906
9907         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9908         Testcase to show error in buffer-on-caps serialisation.
9909
9910 2005-06-20  Andy Wingo  <wingo@pobox.com>
9911
9912         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9913         will be adding to later.
9914
9915         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9916         if its socks fill with rocks.
9917         (gst_system_clock_obtain): Set the name on object construction.
9918         Avoid double-checked locking.
9919
9920 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9921
9922         * gst/gsturi.c: (gst_element_make_from_uri):
9923           Fix potential endless loop.
9924
9925 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9926
9927         * check/Makefile.am:
9928           add gsttag
9929         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9930         (main):
9931           move over from testsuite dir and clean up
9932         * configure.ac:
9933         * gst/gsttag.c:
9934         * testsuite/Makefile.am:
9935         * testsuite/tags/.cvsignore:
9936         * testsuite/tags/Makefile.am:
9937         * testsuite/tags/merge.c:
9938           remove testsuite/tags
9939
9940 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9941
9942         * docs/gst/gstreamer-sections.txt:
9943         * docs/gst/tmpl/gstenumtypes.sgml:
9944         * win32/gstenumtypes.c:
9945           clean up documentation build a little
9946
9947 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9948
9949         * check/gstcheck.h:
9950           add macros for checking refcounts on objects and caps
9951         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9952           add some more unit tests
9953         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9954         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9955           fix leaked refcounts (I hope :)) so unittest works
9956         * gst/gstpad.h:
9957           whitespace removal
9958
9959 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9960
9961         * configure.ac: back to HEAD
9962
9963 === release 0.9.1 ===
9964
9965 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9966
9967         * NEWS:
9968         * RELEASE:
9969           updated
9970
9971 2005-06-17  Andy Wingo  <wingo@pobox.com>
9972
9973         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9974         assert; it's always possible that the pad gets deactivated in
9975         between the checks in gstpad.c and the implementation. Rely on
9976         finish_preroll() to return a FLUSHING or similar instead of on the
9977         assert.
9978         
9979         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9980         clock and post an EOS message if we come out of finish_preroll in
9981         the playing state.
9982
9983 2005-06-16  David Schleef  <ds@schleef.org>
9984
9985         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9986         (gst_capsfilter_set_property): Allow NULL as possible value
9987         for filter_caps property, indicating GST_CAPS_ANY.
9988
9989 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9990
9991         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9992           fix debug output
9993         * gst/schedulers/Makefile.am:
9994           use libgst prefix
9995         * gstreamer.spec.in:
9996           fix spec for it
9997
9998 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9999
10000         * gstreamer.spec.in:
10001           clean up
10002
10003 2005-06-08  Andy Wingo  <wingo@pobox.com>
10004
10005         * gst/gstutils.c: RPAD fixes all around.
10006         (gst_element_link_pads): Refcounting fixes.
10007
10008         * tools/gst-inspect.c:
10009         * tools/gst-xmlinspect.c:
10010         * parse/grammar.y:
10011         * gst/base/gsttypefindhelper.c:
10012         * gst/base/gstbasesink.c:
10013         * gst/gstqueue.c: RPAD fixes.
10014
10015         * gst/gstghostpad.h:
10016         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10017         pads. The tricky thing is they provide both source and sink
10018         interfaces, since they proxy the internal pad for the external
10019         pad, and vice versa. Implement with lower-level ProxyPad objects,
10020         with the interior proxy pad as a child of the exterior ghost pad.
10021         Should write a doc on this.
10022         
10023         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10024         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10025         gst_object API.
10026         
10027         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10028         pads are real pads. No ghost pads in this file. Not documenting
10029         the myriad s/RPAD/PAD/ and REALIZE fixes.
10030         (gst_pad_class_init): Add properties for "direction" and
10031         "template". Both are construct-only, so they can't change during
10032         the life of the pad. Fixes properly deriving from GstPad.
10033         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10034         derived objects, just set properties when creating the objects via
10035         g_object_new.
10036         (gst_pad_get_parent): Implement as a function, return NULL if the
10037         parent is not an element.
10038         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10039         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10040         
10041         * gst/gstobject.c (gst_object_class_init): Make name a construct
10042         property. Don't set it in the object init.
10043
10044         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10045         with UNKNOWN direction.
10046         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10047         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10048         (gst_element_remove_pad): Remove ghost-pad special cases.
10049         (gst_element_pads_activate): Remove rpad cruft.
10050
10051         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10052         catch the pad's-parent-not-an-element case.
10053
10054         * gst/gst.h: Include gstghostpad.h.
10055
10056         * gst/gst.c (init_post): No more real, ghost pads.
10057
10058         * gst/Makefile.am: Add gstghostpad.[ch].
10059
10060         * check/Makefile.am:
10061         * check/gst/gstbin.c:
10062         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10063         into a bin creates ghost pads, and that the refcounts are right.
10064         Partly moved from gstbin.c.
10065
10066 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10067
10068         * check/gst-libs/.cvsignore:
10069         * check/gst/.cvsignore:
10070         * check/pipelines/.cvsignore:
10071           ignore more
10072         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10073         (START_TEST), (cleanup_suite), (main):
10074           add some tests related to cleanup after running pipelines
10075
10076 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10077
10078         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10079           add a testsuite for GstBuffer
10080
10081 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10082
10083         * gst/gstminiobject.h:
10084           add defines for accessing the refcount
10085
10086 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10087
10088         * Makefile.am: added support for html unit test coverage reports
10089
10090 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10091
10092         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10093           Free existing caps if the capsfilter changes. Add a FIXME about
10094           setting those caps on the pads.
10095
10096         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10097           Before adding a ghost pad to a parent bin, check that there isn't
10098           already one for the element on the bin. Prevents infinite recursion
10099           when using decodebin in parse pipelines. Andy says he'll rewrite the
10100           way this works anyway, so ignore the hack.
10101
10102 2005-06-02  Andy Wingo  <wingo@pobox.com>
10103
10104         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10105         file size, pass it on to the type find helper.
10106
10107         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10108         segment_start and segment_end properly according to the seek
10109         method. Segment_end is still a bit flaky because offset can be
10110         negative for CUR and END cases, but it takes -1 as an "unset"
10111         value.
10112
10113 2005-06-02  Wim Taymans  <wim@fluendo.com>
10114
10115         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10116         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10117         (gst_basesink_activate):
10118         * gst/base/gstbasesink.h:
10119         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10120         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10121         (gst_pad_query), (gst_pad_start_task):
10122         * gst/gstpad.h:
10123         * gst/gstqueue.c: (gst_queue_bufferalloc),
10124         (gst_queue_handle_sink_event), (gst_queue_chain):
10125         Bufferalloc: return GstFlowReturn to more accuratly report
10126         why allocation failed.
10127
10128 2005-06-02  Wim Taymans  <wim@fluendo.com>
10129
10130         * gst/gstpipeline.c: (gst_pipeline_send_event):
10131         Take snapshot of state without blocking.
10132
10133 2005-06-02  Wim Taymans  <wim@fluendo.com>
10134
10135         * docs/design/part-TODO.txt:
10136         * docs/design/part-caps.txt:
10137         * docs/design/part-clocks.txt:
10138         * docs/design/part-negotiation.txt:
10139         * docs/design/part-preroll.txt:
10140         Small doc updates 
10141
10142 2005-05-30  Wim Taymans  <wim@fluendo.com>
10143
10144         * gst/elements/gstidentity.c: (gst_identity_event),
10145         (gst_identity_transform), (gst_identity_get_property):
10146         Protect last_message property as it is accessed from
10147         multiple threads.
10148
10149 2005-05-30  Wim Taymans  <wim@fluendo.com>
10150
10151         * gst/gstelement.c: (gst_element_init),
10152         (gst_element_pads_activate), (gst_element_change_state):
10153         Slicker pad activation code.
10154
10155 2005-05-30  Wim Taymans  <wim@fluendo.com>
10156
10157         * gst/Makefile.am:
10158         * gst/gstelement.h:
10159         * gst/gstelementfactory.h:
10160         * gst/gsttypes.h:
10161         Move elementfactory methods to separate .h file.
10162
10163 2005-05-30  Wim Taymans  <wim@fluendo.com>
10164
10165         * docs/design/part-overview.txt:
10166         * gst/gstsystemclock.h:
10167         Small typo fixes, doc updates.
10168
10169 2005-05-30  Wim Taymans  <wim@fluendo.com>
10170
10171         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10172         (init_popt_callback):
10173         Remove cpu-opt flag.
10174
10175 2005-05-30  Wim Taymans  <wim@fluendo.com>
10176
10177         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10178         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10179         * gst/gstbuffer.h:
10180         Avoid typechecking in places where not needed.
10181         Added accessor for malloc_data.
10182
10183 2005-05-30  Wim Taymans  <wim@fluendo.com>
10184
10185         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10186         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10187         (gst_pad_configure_sink), (gst_pad_configure_src),
10188         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10189         (gst_pad_start_task):
10190         Propagate errors from _set_caps() in configure_src/sink
10191         functions instead of returning TRUE.
10192         FLUSH events can travel up and downstream
10193
10194
10195 2005-05-30  Wim Taymans  <wim@fluendo.com>
10196
10197         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10198         (gst_basesink_activate):
10199         Handle EOS in preroll.
10200
10201 2005-05-30  Wim Taymans  <wim@fluendo.com>
10202
10203         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10204         (gst_queue_loop), (gst_queue_handle_src_event):
10205         Remove old pieces of code
10206         Flushing the queue in an upstream event is a very bad idea.
10207
10208 2005-05-26  Andy Wingo  <wingo@pobox.com>
10209
10210         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10211         gst_value_set_mini_object so as to add a ref on the object (which
10212         will be removed when the value is unset).
10213
10214         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10215         arg type in ::handoff.
10216
10217         * gst/gstelement.c (gst_element_change_state): Also deactivate
10218         pads in READY->NULL, just in case the element didn't make it to
10219         PAUSED. Wingo tested, Wim approved.
10220
10221 2005-05-26  Wim Taymans  <wim@fluendo.com>
10222
10223         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10224         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10225         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10226         A flushing pad cannot be used to alloc_buffer from.
10227
10228 2005-05-26  Wim Taymans  <wim@fluendo.com>
10229
10230         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10231         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10232         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10233         (gst_bus_create_watch), (gst_bus_add_watch_full):
10234         * gst/gstbus.h:
10235         Implement a real GSource and use g_main_context_wakeup() to
10236         signal new messages instead of the socketpair.
10237
10238 2005-05-25  Wim Taymans  <wim@fluendo.com>
10239
10240         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10241         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10242         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10243         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10244         (gst_pad_send_event), (gst_pad_start_task):
10245         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10246         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10247         (gst_queue_sink_activate), (gst_queue_src_activate),
10248         (gst_queue_change_state):
10249         * gst/gstqueue.h:
10250         Fix state changes for non sinks. We now change sinks, then elements
10251         with unconnected srcpads, then the rest.
10252         More efficient queue unlocking in flush and state changes.
10253         Set the pad activate mode even if it does not have an activate
10254         function.
10255
10256 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10257
10258         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10259           Don't go in pull mode for non-seekable sources.
10260         * gst/elements/gsttypefindelement.h:
10261         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10262         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10263         (free_entry), (stop_typefinding),
10264         (gst_type_find_element_handle_event), (find_peek),
10265         (gst_type_find_element_chain), (do_pull_typefind),
10266         (gst_type_find_element_change_state):
10267           Allow typefinding (w/o seeking) in push-mode, simplified version
10268           of what was in 0.8.
10269         * gst/gstutils.c: (gst_buffer_join):
10270         * gst/gstutils.h:
10271           gst_buffer_join() from 0.8.
10272
10273 2005-05-25  Wim Taymans  <wim@fluendo.com>
10274
10275         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10276         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10277         (gst_pad_send_event), (gst_pad_start_task):
10278         Disable attempt at mode switching until it is figured out.
10279
10280 2005-05-25  Wim Taymans  <wim@fluendo.com>
10281
10282         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10283         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10284         (gst_basesink_finish_preroll), (gst_basesink_chain),
10285         (gst_basesink_loop), (gst_basesink_activate),
10286         (gst_basesink_change_state):
10287         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10288         (gst_basesrc_get_range), (gst_basesrc_loop),
10289         (gst_basesrc_activate):
10290         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10291         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10292         (gst_real_pad_init), (gst_real_pad_set_property),
10293         (gst_real_pad_get_property), (gst_pad_set_active),
10294         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10295         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10296         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10297         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10298         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10299         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10300         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10301         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10302         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10303         (gst_pad_stop_task):
10304         * gst/gstpad.h:
10305         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10306         (gst_queue_loop), (gst_queue_src_activate):
10307         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10308         (gst_task_get_state):
10309         * gst/gsttask.h:
10310         * gst/schedulers/threadscheduler.c:
10311         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10312         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10313         in task function.
10314         Remove ACTIVE pad flag, use FLUSHING everywhere
10315         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10316         functions.
10317         Add locks around IS_FLUSHING when reading.
10318         Take STREAM lock in chain(), get_range() functions so plugins
10319         don't need to take it anymore.
10320         
10321
10322
10323 2005-05-25  Wim Taymans  <wim@fluendo.com>
10324
10325         * tools/gst-launch.c: (event_loop):
10326         Unref message after using its contents instead of
10327         before.
10328
10329 2005-05-24  Wim Taymans  <wim@fluendo.com>
10330
10331         * docs/design/draft-ghostpads.txt:
10332         * docs/design/draft-push-pull.txt:
10333         * docs/design/draft-query.txt:
10334         * docs/design/part-overview.txt:
10335         Docs updates, added general overview doc.
10336
10337 2005-05-21  David Schleef  <ds@schleef.org>
10338
10339         * docs/gst/tmpl/old/GstBin.sgml:
10340         * docs/gst/tmpl/old/GstBuffer.sgml:
10341         * docs/gst/tmpl/old/GstCaps.sgml:
10342         * docs/gst/tmpl/old/GstClock.sgml:
10343         * docs/gst/tmpl/old/GstCompat.sgml:
10344         * docs/gst/tmpl/old/GstData.sgml:
10345         * docs/gst/tmpl/old/GstElement.sgml:
10346         * docs/gst/tmpl/old/GstEvent.sgml:
10347         * docs/gst/tmpl/old/GstIndex.sgml:
10348         * docs/gst/tmpl/old/GstStructure.sgml:
10349         * docs/gst/tmpl/old/GstTag.sgml:
10350         * docs/gst/tmpl/old/cothreads.sgml:
10351         * docs/gst/tmpl/old/cothreads_compat.sgml:
10352         * docs/gst/tmpl/old/gettext.sgml:
10353         * docs/gst/tmpl/old/gobject2gtk.sgml:
10354         * docs/gst/tmpl/old/grammar.tab.sgml:
10355         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10356         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10357         * docs/gst/tmpl/old/gst_private.sgml:
10358         * docs/gst/tmpl/old/gstaggregator.sgml:
10359         * docs/gst/tmpl/old/gstarch.sgml:
10360         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10361         * docs/gst/tmpl/old/gstbufferstore.sgml:
10362         * docs/gst/tmpl/old/gstdata_private.sgml:
10363         * docs/gst/tmpl/old/gstdisksink.sgml:
10364         * docs/gst/tmpl/old/gstdisksrc.sgml:
10365         * docs/gst/tmpl/old/gstelementfactory.sgml:
10366         * docs/gst/tmpl/old/gstextratypes.sgml:
10367         * docs/gst/tmpl/old/gstfakesink.sgml:
10368         * docs/gst/tmpl/old/gstfakesrc.sgml:
10369         * docs/gst/tmpl/old/gstfdsink.sgml:
10370         * docs/gst/tmpl/old/gstfdsrc.sgml:
10371         * docs/gst/tmpl/old/gstfilesink.sgml:
10372         * docs/gst/tmpl/old/gstfilesrc.sgml:
10373         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10374         * docs/gst/tmpl/old/gstidentity.sgml:
10375         * docs/gst/tmpl/old/gstindexfactory.sgml:
10376         * docs/gst/tmpl/old/gstmarshal.sgml:
10377         * docs/gst/tmpl/old/gstmd5sink.sgml:
10378         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10379         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10380         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10381         * docs/gst/tmpl/old/gstpipefilter.sgml:
10382         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10383         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10384         * docs/gst/tmpl/old/gstshaper.sgml:
10385         * docs/gst/tmpl/old/gstspider.sgml:
10386         * docs/gst/tmpl/old/gstspideridentity.sgml:
10387         * docs/gst/tmpl/old/gststatistics.sgml:
10388         * docs/gst/tmpl/old/gsttee.sgml:
10389         * docs/gst/tmpl/old/gsttimecache.sgml:
10390         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10391         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10392         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10393         * docs/gst/tmpl/old/types.sgml:
10394           I didn't intend to add these or check them in.
10395
10396 2005-05-19  David Schleef  <ds@schleef.org>
10397
10398         * configure.ac: Use -no-common everywhere.  In a sane world, it
10399           would be the default in libtool, because without it, you can't
10400           build DLLs on Windows.
10401         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10402         * docs/gst/gstreamer-sections.txt:
10403         * docs/gst/tmpl/gstcpu.sgml:
10404         * docs/gst/tmpl/gstdata.sgml:
10405         * docs/gst/tmpl/gstthread.sgml:
10406
10407 2005-05-19  David Schleef  <ds@schleef.org>
10408
10409         * gst/gstminiobject.c: (gst_value_set_mini_object),
10410         (gst_value_take_mini_object), (gst_value_get_mini_object):
10411         * gst/gstminiobject.h: Add GValue set/get functions.
10412
10413 2005-05-19  Wim Taymans  <wim@fluendo.com>
10414
10415         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10416         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10417         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10418         * gst/gstbuffer.h:
10419         * gst/gstbus.c: (gst_bus_post):
10420         * gst/gstelement.c: (gst_element_get_random_pad):
10421         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10422         Make subbufer unref the parent in finalize.
10423         some more debugging info.
10424
10425
10426 2005-05-19  Wim Taymans  <wim@fluendo.com>
10427
10428         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10429         (gst_basesink_init), (gst_basesink_finalize),
10430         (gst_basesink_activate), (gst_basesink_change_state):
10431         Don't free preroll queue too early.
10432
10433 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10434
10435         * gst/Makefile.am:
10436         * gst/ROADMAP:
10437           Hi, I'm outdated. Please shoot me.
10438
10439 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10440
10441         * gst/gstpipeline.c: (gst_pipeline_send_event):
10442           Do not access variables after they have been deleted.
10443
10444 2005-05-19  Wim Taymans  <wim@fluendo.com>
10445
10446         * tools/gst-inspect.c: (print_plugin_features):
10447         A plugin feature does unfortunatly not use the
10448         object name yet...
10449
10450 2005-05-18  Wim Taymans  <wim@fluendo.com>
10451
10452         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10453         Port _span() functions to new subbuffers.
10454
10455 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10456
10457         * gst/gstbin.c: (gst_bin_add_func):
10458           Fix clock settery in bins when adding kids after the clock has
10459           been selected.
10460
10461 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10462
10463         * gst/elements/gstidentity.c: (gst_identity_class_init):
10464           Workaround until signals support GstMiniObject.
10465
10466 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10467
10468         * gst/gstbuffer.c:
10469         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10470
10471 2005-05-18  Wim Taymans  <wim@fluendo.com>
10472
10473         * gst/base/Makefile.am:
10474         * gst/base/gstadapter.c: (gst_adapter_base_init),
10475         (gst_adapter_class_init), (gst_adapter_init),
10476         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10477         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10478         (gst_adapter_flush), (gst_adapter_available),
10479         (gst_adapter_available_fast):
10480         * gst/base/gstadapter.h:
10481         Ported and added adapter to the base classes.
10482
10483 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10484
10485         * gst/gst.c:
10486         * gst/gstmessage.c:
10487           Make sure the class is reffed/unreffed once before threads can be
10488           used.  Fixes #304551.
10489
10490 2005-05-17  Wim Taymans  <wim@fluendo.com>
10491
10492         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10493         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10494         * gst/gstminiobject.c: (gst_mini_object_get_type),
10495         (gst_mini_object_free):
10496         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10497         (gst_pad_push), (gst_pad_push_event):
10498         * gst/gstqueue.c: (gst_queue_change_state):
10499         Don't queue buffers in basesink when we are flushing.
10500         Unref buffer when flushing in basesink.
10501         Flush queue when going to READY
10502         Unref buffer when _push() returns an error.
10503         Don't free MiniObject instance when refcount is incremented
10504         in _finalize() so that we can recover objects.
10505
10506 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10507
10508         * docs/manual/advanced-schedulers.xml:
10509         * docs/manual/appendix-checklist.xml:
10510         * docs/pwg/advanced-clock.xml:
10511         * docs/pwg/advanced-interfaces.xml:
10512         * docs/pwg/advanced-request.xml:
10513         * docs/pwg/advanced-types.xml:
10514         * docs/pwg/intro-preface.xml:
10515         * examples/plugins/example.c: (gst_example_get_type),
10516         (gst_example_class_init), (gst_example_chain),
10517         (gst_example_set_property), (gst_example_get_property),
10518         (gst_example_change_state), (plugin_init):
10519         * examples/plugins/example.h:
10520           small doc fixes
10521
10522 2005-05-17  Wim Taymans  <wim@fluendo.com>
10523
10524         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10525         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10526         * gst/gstqueue.c: (gst_queue_change_state):
10527         Clear queue when going to READY.
10528         Remove IN_SETCAPS flag too.
10529
10530 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10531
10532         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10533           Remove implicit cast from gboolean to GstElementStateReturn;
10534           make sure we still return failure in paused => ready case if
10535           the parent class fails to change state and our own stop 
10536           vfunc succeeds.
10537
10538 2005-05-17  Wim Taymans  <wim@fluendo.com>
10539
10540         * tools/gst-launch.c: (event_loop):
10541         Message was unreffed too soon.
10542
10543 2005-05-16  Andy Wingo  <wingo@pobox.com>
10544
10545         * gst/gstbin.c (sink_iterator_filter): Err... um...
10546
10547         * check/gst/gstbin.c (test_ghost_pads): New test for the
10548         ghosting-if-elements-not-in-same-bin behavior.
10549
10550 2005-05-16  David Schleef  <ds@schleef.org>
10551
10552         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10553         accessing refcount directly.
10554
10555 2005-05-15  David Schleef  <ds@schleef.org>
10556
10557         * check/Makefile.am: remove GstData checks
10558         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10559         * gst/Makefile.am: add miniobject, remove data
10560         * gst/gst.h: add miniobject, remove data
10561         * gst/gstdata.c: remove
10562         * gst/gstdata.h: remove
10563         * gst/gstdata_private.h: remove
10564         * gst/gsttypes.h: remove GstEvent and GstMessage
10565         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10566         * gst/gstmarshal.list: change BOXED -> OBJECT
10567
10568         Implement GstMiniObject.
10569         * gst/gstminiobject.c:
10570         * gst/gstminiobject.h:
10571
10572         Modify to be subclasses of GstMiniObject.
10573         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10574         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10575         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10576         (gst_subbuffer_get_type), (gst_subbuffer_init),
10577         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10578         (gst_buffer_span):
10579         * gst/gstbuffer.h:
10580         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10581         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10582         (_gst_event_copy), (gst_event_new):
10583         * gst/gstevent.h:
10584         * gst/gstmessage.c: (_gst_message_initialize),
10585         (gst_message_get_type), (gst_message_class_init),
10586         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10587         (gst_message_new), (gst_message_new_error),
10588         (gst_message_new_warning), (gst_message_new_tag),
10589         (gst_message_new_state_changed), (gst_message_new_application):
10590         * gst/gstmessage.h:
10591         * gst/gstprobe.c: (gst_probe_perform),
10592         (gst_probe_dispatcher_dispatch):
10593         * gst/gstprobe.h:
10594         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10595         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10596         (_gst_query_copy), (gst_query_new):
10597
10598         Update elements for GstData -> GstMiniObject changes
10599         * gst/gstquery.h:
10600         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10601         (gst_queue_chain), (gst_queue_loop):
10602         * gst/elements/gstbufferstore.c:
10603         (gst_buffer_store_add_buffer_func),
10604         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10605         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10606         (gst_fakesink_render):
10607         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10608         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10609         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10610         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10611         (gst_filesrc_create_read):
10612         * gst/elements/gstidentity.c: (gst_identity_class_init):
10613         * gst/elements/gsttypefindelement.c:
10614         (gst_type_find_element_src_event), (free_entry_buffers),
10615         (gst_type_find_element_handle_event):
10616         * libs/gst/dataprotocol/dataprotocol.c:
10617         (gst_dp_header_from_buffer):
10618         * libs/gst/dataprotocol/dataprotocol.h:
10619         * libs/gst/dataprotocol/dp-private.h:
10620
10621 2005-05-15  David Schleef  <ds@schleef.org>
10622
10623         * gst/elements/gstelements.c: Don't include headers that were
10624         just removed.
10625
10626 2005-05-15  David Schleef  <ds@schleef.org>
10627
10628         * gst/elements/Makefile.am: Remove some elements that don't
10629         need to be in the core (or even exist at all).
10630         * gst/elements/gstaggregator.c:
10631         * gst/elements/gstaggregator.h:
10632         * gst/elements/gstmd5sink.c:
10633         * gst/elements/gstmd5sink.h:
10634         * gst/elements/gstmultifilesrc.c:
10635         * gst/elements/gstmultifilesrc.h:
10636         * gst/elements/gstpipefilter.c:
10637         * gst/elements/gstpipefilter.h:
10638         * gst/elements/gstshaper.c:
10639         * gst/elements/gstshaper.h:
10640         * gst/elements/gststatistics.c:
10641         * gst/elements/gststatistics.h:
10642         * po/POTFILES.in: Remove above files.
10643
10644 2005-05-14  Andy Wingo  <wingo@pobox.com>
10645
10646         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10647         so as to get the refs right.
10648         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10649         unreffing objects that don't pass the filter.
10650
10651         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10652         gst_element_set_bus.
10653         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10654         normal cases, this will destroy the bus.
10655
10656         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10657         object.
10658
10659         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10660         has no sinks.
10661
10662 2005-05-13  Andy Wingo  <wingo@pobox.com>
10663
10664         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10665         gst_pad_link, call pad_link_maybe_ghosting,
10666         (pad_link_maybe_ghosting): Links pads, making sure that the
10667         elements being linked are in the same bin.
10668         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10669         Helpers for pad_link_maybe_ghosting.
10670
10671 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10672
10673         * configure.ac:
10674           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10675
10676 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10677
10678         * docs/design/part-element-source.txt:
10679           Mention GstPushSrc
10680
10681 2005-05-12  Wim Taymans  <wim@fluendo.com>
10682
10683         * gst/base/gstbasesink.c: (gst_basesink_init),
10684         (gst_basesink_activate):
10685         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10686         (gst_basesrc_is_seekable):
10687         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10688         (bin_element_is_sink), (gst_bin_change_state):
10689         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10690         * gst/gstelement.h:
10691         Identify sinks by their flag to avoid overly complicated
10692         checks (fow now).
10693         Do state changes even for elements not reachable from the
10694         sinks.
10695         BaseSink is a sink now :)
10696         Some more debugging info in the basesrc.
10697
10698
10699 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10700
10701         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10702           Implement _query on a bin, similar to _send_event.
10703
10704 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10705
10706         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10707           Discont event offset format should be GST_FORMAT_BYTES,
10708           not GST_FORMAT_TIME.
10709
10710 2005-05-12  Wim Taymans  <wim@fluendo.com>
10711
10712         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10713         Same fix as Ronald's but without the signal. 
10714
10715 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10716
10717         * gst/gstutils.c: (gst_element_query_position):
10718           No, an element is not a pad.
10719
10720 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10721
10722         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10723         (gst_bin_get_state):
10724           If a child is removed from a bin while we remove the child from
10725           the bin and while we're retrieving its state, signal this to the
10726           get_state function so we abort the wait (instead of waiting for
10727           a timeout) and can immediately re-iterate over all other elements.
10728
10729 2005-05-12  Wim Taymans  <wim@fluendo.com>
10730
10731         * gst/base/Makefile.am:
10732         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10733         (gst_basesrc_start):
10734         * gst/base/gstbasesrc.h:
10735         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10736         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10737         (gst_pushsrc_init), (gst_pushsrc_create):
10738         * gst/base/gstpushsrc.h:
10739         Added is_seekable to BaseSrc
10740         Added simple PushSrc.
10741
10742 2005-05-11  Wim Taymans  <wim@fluendo.com>
10743
10744         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10745         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10746         (gst_element_link_pads), (gst_element_query_position),
10747         (gst_element_query_convert), (intersect_caps_func),
10748         (gst_pad_query_position), (gst_pad_query_convert):
10749         Fix refcounting in utils function.
10750         No point in trying to activate a pad when it's added, it could
10751         be added from the state change function and then we deadlock, the
10752         element has to decide what to do.
10753
10754 2005-05-10  Andy Wingo  <wingo@pobox.com>
10755
10756         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10757         *all* the arguments.
10758
10759         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10760         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10761         lock (according to the docs -- if this is wrong change the docs).
10762
10763         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10764         flush messages in the NULL state.
10765
10766         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10767         message immediately and return.
10768         (gst_bus_set_flushing): New function. If a bus is flushing, it
10769         flushes out any queued messages and immediately unrefs new
10770         messages. This is so when an element goes to NULL, all of the
10771         unhandled messages coming from it can be freed, and their
10772         references to the element dropped. In other words: message source
10773         ref considered harmful :P
10774
10775         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10776         we're finished with it.
10777
10778         * gst/gstmessage.c (gst_message_new_state_changed): 
10779
10780 2005-05-10  Wim Taymans  <wim@fluendo.com>
10781
10782         * gst/gstvalue.c: (gst_value_compare_flags),
10783         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10784         (_gst_value_initialize):
10785         Added flags serialize/deserialize/compare code.
10786
10787 2005-05-09  Andy Wingo  <wingo@pobox.com>
10788
10789         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10790         Intersect the peer's caps with our caps.
10791
10792 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10793
10794         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10795         * gst/elements/gsttypefindelement.c: (find_peek):
10796           Handle negative offsets better. Fixes decodebin.
10797
10798 2005-05-09  Wim Taymans  <wim@fluendo.com>
10799
10800         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10801         (gst_base_transform_event):
10802         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10803         Implement accept_caps.
10804         Fix silly lock/unlock mismatch in base class.
10805
10806 2005-05-09  Wim Taymans  <wim@fluendo.com>
10807
10808         * docs/design/draft-push-pull.txt:
10809         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10810         * gst/elements/gstfilesink.c: (gst_filesink_init),
10811         (gst_filesink_query):
10812         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10813         (gst_type_find_handle_src_query), (find_element_get_length):
10814         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10815         * gst/gstelement.h:
10816         * gst/gstmessage.c:
10817         * gst/gstmessage.h:
10818         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10819         (gst_real_pad_get_caps_unlocked),
10820         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10821         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10822         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10823         (gst_real_pad_dispose), (gst_real_pad_finalize),
10824         (gst_pad_load_and_link), (gst_pad_save_thyself),
10825         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10826         (gst_pad_check_pull_range), (gst_pad_pull_range),
10827         (gst_pad_template_get_type), (gst_pad_template_class_init),
10828         (gst_pad_template_init), (gst_pad_template_dispose),
10829         (name_is_valid), (gst_static_pad_template_get),
10830         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10831         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10832         (gst_pad_get_element_private), (gst_pad_start_task),
10833         (gst_pad_pause_task), (gst_pad_stop_task),
10834         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10835         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10836         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10837         (gst_ghost_pad_new):
10838         * gst/gstpad.h:
10839         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10840         (gst_query_new_position), (gst_query_set_position),
10841         (gst_query_parse_position), (gst_query_new_convert),
10842         (gst_query_set_convert), (gst_query_parse_convert):
10843         * gst/gstquery.h:
10844         * gst/gstqueryutils.c:
10845         * gst/gstqueryutils.h:
10846         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10847         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10848         (gst_queue_handle_src_query):
10849         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10850         (gst_element_query_position), (gst_element_query_convert),
10851         (intersect_caps_func), (gst_pad_query_position),
10852         (gst_pad_query_convert):
10853         * gst/gstutils.h:
10854         * tools/gst-inspect.c: (print_pad_info):
10855         * tools/gst-xmlinspect.c: (print_element_info):
10856         Remove old query functions. Ported old code.
10857         Added position/convert helper functions to gstutils.
10858         Reordered gstpad.c code, grouping relevant things.
10859         Remove gst_message_new(), always need to speficy a specific
10860         message.
10861
10862
10863 2005-05-09  Andy Wingo  <wingo@pobox.com>
10864
10865         * gst/gstiterator.h: Add some includes.
10866
10867         * gst/gstqueryutils.h: Include more headers.
10868
10869         * gst/gstpad.h:
10870         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10871         some uses of gst_pad_query.
10872
10873         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10874         NULL out parameters.
10875         (gst_query_new_position): New proc, allocates a new position
10876         query.
10877
10878         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10879         gstqueryutils.c to the build.
10880
10881         * gst/gststructure.c (gst_structure_set_valist): Implement with
10882         the generic G_VALUE_COLLECT.
10883         
10884 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10885
10886         * gst/Makefile.am: (gst_headers):
10887         Added gstqueryutils.h to the list of headers to install, that was
10888         a 'nachty' move wingo :)
10889
10890 2005-05-06  Andy Wingo  <wingo@pobox.com>
10891
10892         * gst/gstquery.h
10893         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10894         GstData, init a memchunk.
10895         (standard_definitions): Add a few query types, deprecate a few.
10896         (gst_query_get_type): New proc.
10897         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10898         implementation.
10899         (gst_query_new_application, gst_query_get_structure): New public
10900         procs.
10901
10902         * docs/design/draft-query.txt: Removed LINKS from the query types,
10903         because all the rest can be dispatched to other pads -- seemed
10904         ugly to have a query that couldn't be dispatched. internal_links
10905         is fine as a pad method.
10906
10907         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10908         in gstpad.c, but maintain binary compatibility for the moment.
10909         Will fix before 0.9 is out.
10910
10911         * gst/gstqueryutils.c: 
10912         * gst/gstqueryutils.h: New files, implement 3 methods for each
10913         query type: parse_query, parse_response, and set. Probably need an
10914         allocator as well.
10915
10916         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10917
10918         * gst/elements/gstfilesink.c (gst_filesink_query2):
10919         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10920         query_types, and formats methods.
10921
10922         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10923         (gst_pad_set_query2_function): New functions.
10924         (gst_real_pad_init): Set query2_default as the default query2
10925         function. Basically just dispatches to internally linked pads.
10926
10927         Needs review!
10928         
10929         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10930         without using the atomic operations. Only one thread can possibly
10931         be accessing the data at this point. Changed so as to avoid
10932         gst_atomic operations.
10933
10934 2005-05-06  Wim Taymans  <wim@fluendo.com>
10935
10936         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10937         Also set caps if we use the fallback buffer alloc.
10938
10939 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10940
10941         * docs/gst/Makefile.am:
10942         * docs/gst/gstreamer-docs.sgml:
10943         * docs/gst/gstreamer-sections.txt:
10944         * docs/gst/tmpl/gstatomic.sgml:
10945         * docs/gst/tmpl/gstmemchunk.sgml:
10946         * testsuite/elements/struct_i386.h:
10947         * win32/GStreamer.vcproj:
10948         * win32/Makefile:
10949           Purge GstAtomic stuff from docs and win32 makefiles as well
10950
10951 2005-05-06  Wim Taymans  <wim@fluendo.com>
10952
10953         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10954         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10955         * gst/gstpad.c: (gst_pad_peer_get_caps):
10956         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10957         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10958         (gst_queue_src_activate), (gst_queue_change_state):
10959         * gst/gstqueue.h:
10960         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10961         (intersect_caps_func):
10962         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10963         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10964         Some fixes for the peer_get_caps() change.
10965
10966 2005-05-06  Wim Taymans  <wim@fluendo.com>
10967
10968         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10969         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10970         (gst_basesink_activate):
10971         Actually do something with error codes returned from the push
10972         functions.
10973
10974 2005-05-06  Wim Taymans  <wim@fluendo.com>
10975
10976         * docs/design/part-element-sink.txt:
10977         * docs/design/part-element-source.txt:
10978         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10979         (gst_basesink_event), (gst_basesink_activate):
10980         * gst/base/gstbasesink.h:
10981         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10982         (gst_basesrc_activate):
10983         * gst/base/gstbasesrc.h:
10984         * gst/gstelement.c: (gst_element_pads_activate):
10985         Some more documentation.
10986         Fixed scheduling decision in _pads_activate().
10987
10988 2005-05-05  Andy Wingo  <wingo@pobox.com>
10989
10990         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10991         the test suite.
10992
10993 2005-05-05  Wim Taymans  <wim@fluendo.com>
10994
10995         * gst/base/Makefile.am:
10996         * gst/base/gstbasesink.h:
10997         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10998         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10999         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11000         (gst_collectpads_class_init), (gst_collectpads_init),
11001         (gst_collectpads_finalize), (gst_collectpads_new),
11002         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11003         (find_pad), (gst_collectpads_remove_pad),
11004         (gst_collectpads_is_active), (gst_collectpads_collect),
11005         (gst_collectpads_collect_range), (gst_collectpads_start),
11006         (gst_collectpads_stop), (gst_collectpads_peek),
11007         (gst_collectpads_pop), (gst_collectpads_available),
11008         (gst_collectpads_read), (gst_collectpads_flush),
11009         (gst_collectpads_chain):
11010         * gst/base/gstcollectpads.h:
11011         * gst/elements/Makefile.am:
11012         * gst/elements/gstelements.c:
11013         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11014         (gst_fakesink_get_times), (gst_fakesink_event),
11015         (gst_fakesink_preroll), (gst_fakesink_render):
11016         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11017         (gst_filesink_init), (gst_filesink_set_location),
11018         (gst_filesink_open_file), (gst_filesink_close_file),
11019         (gst_filesink_pad_query), (gst_filesink_event),
11020         (gst_filesink_render), (gst_filesink_change_state):
11021         * gst/elements/gstfilesink.h:
11022         Added object to help in making collect pad based elements.
11023         Ported filesink.
11024         Make event function in sink baseclass return gboolean.
11025
11026 2005-05-05  Wim Taymans  <wim@fluendo.com>
11027
11028         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11029         (gst_bin_get_by_name):
11030         * gst/gstbuffer.h:
11031         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11032         (gst_clock_finalize):
11033         * gst/gstdata.c: (gst_data_replace):
11034         * gst/gstdata.h:
11035         * gst/gstelement.c: (gst_element_request_pad),
11036         (gst_element_pads_activate):
11037         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11038         (gst_object_unref):
11039         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11040         (gst_pad_set_checkgetrange_function),
11041         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11042         (gst_pad_check_pull_range), (gst_pad_pull_range),
11043         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11044         (gst_pad_pause_task), (gst_pad_stop_task):
11045         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11046         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11047         Fix name lookup in GstBin.
11048         Added _data_replace() function and _buffer_replace()
11049         Use finalize method to clean up clock.
11050         Fix refcounting on request pads.
11051         Fix pad schedule mode error.
11052         Some more object refcounting debug info,
11053
11054
11055 2005-05-04  Andy Wingo <wingo@pobox.com>
11056
11057         * check/Makefile.am:
11058         * docs/gst/tmpl/gstatomic.sgml:
11059         * docs/gst/tmpl/gstplugin.sgml:
11060         * gst/base/gstbasesink.c: (gst_basesink_activate):
11061         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11062         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11063         (gst_basesrc_query), (gst_basesrc_set_property),
11064         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11065         (gst_basesrc_activate):
11066         * gst/base/gstbasesrc.h:
11067         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11068         (gst_base_transform_src_activate):
11069         * gst/elements/gstelements.c:
11070         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11071         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11072         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11073         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11074         (gst_type_find_element_checkgetrange),
11075         (gst_type_find_element_activate):
11076         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11077         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11078         (gst_caps_load_thyself):
11079         * gst/gstelement.c: (gst_element_pads_activate),
11080         (gst_element_save_thyself), (gst_element_restore_thyself):
11081         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11082         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11083         * gst/gstpad.h:
11084         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11085         (gst_xml_parse_file), (gst_xml_parse_memory),
11086         (gst_xml_get_element), (gst_xml_make_element):
11087         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11088         (_file_index_id_save_xml), (gst_file_index_commit):
11089         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11090         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11091         (load_paths):
11092         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11093         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11094         * tools/gst-complete.c: (main):
11095         * tools/gst-compprep.c: (main):
11096         * tools/gst-inspect.c: (print_element_properties_info):
11097         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11098         * tools/gst-xmlinspect.c: (print_element_properties):
11099         GCC 4 fixen.
11100         
11101 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11102
11103         * gst/gstplugin.c: (gst_plugin_check_module),
11104         (gst_plugin_check_file), (gst_plugin_load_file):
11105             apply patch from #172526 to make register work on MacOSX
11106
11107 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11108
11109         * docs/gst/tmpl/gstconfig.sgml:
11110         * gst/gstconfig.h.in:
11111           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11112         * testsuite/debug/printf_extension.c: (main):
11113           Do not use GST_PTR_FORMAT on pointers to types with
11114           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11115         * testsuite/elements/property.h:
11116           use correct printf format
11117
11118 2005-05-02  Wim Taymans  <wim@fluendo.com>
11119
11120         * docs/design/draft-push-pull.txt:
11121         * docs/design/draft-query.txt:
11122         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11123         (gst_basesrc_start):
11124         Added draft for new query API.
11125         Added draft for better selecting scheduling methods.
11126         Make basesrc ignore length if the subclass does not support
11127         it.
11128
11129 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11130
11131         * gst/Makefile.am:
11132           possible fixes for automake-1.5 - _LIBADD is reserved
11133
11134 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11135
11136         * docs/faq/Makefile.am:
11137         * docs/manual/Makefile.am:
11138         * docs/manuals.mak:
11139         * docs/pwg/Makefile.am:
11140         * gst/Makefile.am:
11141           possible fixes for automake-1.5
11142
11143 2005-04-28  Wim Taymans  <wim@fluendo.com>
11144
11145         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11146         (gst_basesink_pad_getcaps), (gst_basesink_init),
11147         (gst_basesink_do_sync):
11148         * gst/gstclock.c: (gst_clock_entry_new):
11149         * gst/gstevent.c: (gst_event_discont_get_value):
11150         * gst/gstpipeline.c: (pipeline_bus_handler),
11151         (gst_pipeline_change_state):
11152         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11153         Better debugging of clocking info.
11154         Allow NULL values when getting discont values.
11155
11156 2005-04-27  Wim Taymans  <wim@fluendo.com>
11157
11158         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11159         * check/gst/gstpad.c: (gst_pad_suite):
11160         Increase timeout for checks.
11161
11162 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11163
11164         * check/Makefile.am:
11165           fix the broken rule for cleanup.  Apparently this rule is
11166           only needed on FC2, so maybe this warrants further autotool
11167           inspection.
11168
11169 2005-04-26  Wim Taymans  <wim@fluendo.com>
11170
11171         * gst/gsttrashstack.h:
11172         Ooohh. a nasty one! After having a failed pop() from the stack,
11173         it's possible that the stack is empty. In that case, don't
11174         follow the NULL pointer.
11175
11176 2005-04-25  Wim Taymans  <wim@fluendo.com>
11177
11178         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11179         (gst_pad_set_checkgetrange_function),
11180         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11181         (gst_pad_check_pull_range), (gst_pad_pull_range),
11182         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11183         (gst_pad_pause_task), (gst_pad_stop_task):
11184         * gst/gstplugin.c: (gst_plugin_load):
11185         * gst/gstplugin.h:
11186         Remove gst_library_load as it does more harm than good with
11187         the new g_module flags.
11188         Revert bogus caps template check in pad linking, pad caps
11189         are important when linking not the template, which is more
11190         general than the current caps.
11191
11192 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11193
11194         * gst/autoplug/.cvsignore:
11195         * gst/autoplug/Makefile.am:
11196         * gst/autoplug/gstsearchfuncs.c:
11197         * gst/autoplug/gstsearchfuncs.h:
11198         * gst/autoplug/gstspider.c:
11199         * gst/autoplug/gstspider.h:
11200         * gst/autoplug/gstspideridentity.c:
11201         * gst/autoplug/gstspideridentity.h:
11202         * gst/autoplug/spidertest.c:
11203           Die, spider, die.
11204
11205 2005-04-25  Wim Taymans  <wim@fluendo.com>
11206
11207         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11208         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11209         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11210         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11211         * gst/gstpad.h:
11212         Added stubs for unimplemented functions. 
11213
11214 2005-04-24  David Schleef  <ds@schleef.org>
11215
11216         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11217         please fix.
11218
11219 2005-04-24  David Schleef  <ds@schleef.org>
11220
11221         Convert everything from GstAtomicInt to g_atomic_int_*, and
11222         remove gstatomic.
11223         * gst/Makefile.am:
11224         * gst/gstatomic.c:
11225         * gst/gstatomic.h:
11226         * gst/gstatomic_impl.h:
11227         * gst/gstbuffer.c:
11228         * gst/gstcaps.c:
11229         * gst/gstcaps.h:
11230         * gst/gstclock.c:
11231         * gst/gstclock.h:
11232         * gst/gstdata.c:
11233         * gst/gstdata.h:
11234         * gst/gstdata_private.h:
11235         * gst/gstevent.c:
11236         * gst/gstinfo.c:
11237         * gst/gstinfo.h:
11238         * gst/gstmessage.c:
11239         * gst/gstobject.c:
11240         * gst/gstobject.h:
11241         * gst/gststructure.c:
11242         * gst/gststructure.h:
11243         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11244         * gst/gstutils.h:
11245
11246 2005-04-24  David Schleef  <ds@schleef.org>
11247
11248         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11249         make the regressions tests work.  Remove some code that is no
11250         longer true.
11251         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11252         Disable warning for pads without templates.
11253
11254 2005-04-24  David Schleef  <ds@schleef.org>
11255
11256         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11257         functions that handle filtered links.
11258         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11259         removed functions.
11260         * gst/gstutils.c: Fix/remove utility functions that handle
11261         filtered caps.
11262         * gst/gstutils.h:
11263         * gst/gstvalue.c: Add serialization/deserialization of caps
11264         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11265         requires fixing so that the filter caps notation creates
11266         a capsfilter element and sets the filter_caps property.  I
11267         think everyone probably wants to keep the shorthand notation.
11268         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11269         * docs/gst/tmpl/gstpad.sgml:
11270
11271         * gst/elements/gstelements.c: Register capsfilter element.
11272         * gst/Makefile.am: fix spacing
11273         * docs/random/ds/0.9-suggested-changes: random
11274
11275 2005-04-23  David Schleef  <ds@schleef.org>
11276
11277         * gst/elements/Makefile.am:
11278         * gst/elements/gstcapsfilter.c: New element that acts like an
11279         identity, but filters caps.  Will eventually replace filtered
11280         caps in pad linking.
11281         * gst/gstutils.c: (gst_element_create_all_pads): New function
11282         to create all the ALWAYS pads that are registered with an
11283         element class.  This functionality should eventually be
11284         merged in with GstElement initialization.
11285         * gst/gstutils.h:
11286         * testsuite/trigger/README: part of trigger test code that should
11287         have been checked in a long time ago.
11288
11289 2005-04-23  David Schleef  <ds@schleef.org>
11290
11291         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11292         needed with new versions of libtool (nobody will confirm this),
11293         and hard to carry around.
11294         * gst/autoplug/Makefile.am:
11295         * gst/base/Makefile.am:
11296         * gst/elements/Makefile.am:
11297         * gst/indexers/Makefile.am:
11298         * gst/schedulers/Makefile.am:
11299         * libs/gst/bytestream/Makefile.am:
11300         * libs/gst/control/Makefile.am:
11301         * libs/gst/dataprotocol/Makefile.am:
11302         * libs/gst/getbits/Makefile.am:
11303
11304 2005-04-21  Wim Taymans  <wim@fluendo.com>
11305
11306         * docs/design/draft-push-pull.txt:
11307         * docs/design/part-MT-refcounting.txt:
11308         * docs/design/part-TODO.txt:
11309         * docs/design/part-caps.txt:
11310         * docs/design/part-events.txt:
11311         * docs/design/part-gstbus.txt:
11312         * docs/design/part-gstpipeline.txt:
11313         * docs/design/part-messages.txt:
11314         * docs/design/part-push-pull.txt:
11315         * docs/design/part-query.txt:
11316         Some more docs.
11317
11318 2005-04-21  Wim Taymans  <wim@fluendo.com>
11319
11320         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11321         (gst_message_new), (gst_message_new_error),
11322         (gst_message_new_warning), (gst_message_new_tag),
11323         (gst_message_new_state_changed), (gst_message_new_application),
11324         (gst_message_get_structure):
11325         * gst/gstmessage.h:
11326         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11327         (gst_structure_copy_conditional):
11328         Use parent refcount in GstMessage to ensure GstStructure
11329         consistency.
11330         Cleaned up headers a bit.
11331         
11332
11333 2005-04-20  Wim Taymans  <wim@fluendo.com>
11334
11335         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11336         (gst_basesink_pad_getcaps), (gst_basesink_init),
11337         (gst_basesink_chain_unlocked):
11338         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11339         (gst_type_find_helper):
11340         * gst/elements/gsttypefindelement.c:
11341         (gst_type_find_element_have_type), (gst_type_find_element_init),
11342         (stop_typefinding), (gst_type_find_element_handle_event),
11343         (find_suggest), (gst_type_find_element_chain),
11344         (gst_type_find_element_checkgetrange),
11345         (gst_type_find_element_getrange), (do_typefind),
11346         (gst_type_find_element_activate):
11347         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11348         (gst_buffer_default_free), (gst_buffer_default_copy),
11349         (gst_buffer_set_caps):
11350         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11351         (gst_caps_replace):
11352         * gst/gstmessage.c: (gst_message_new),
11353         (gst_message_new_state_changed):
11354         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11355         (gst_pad_set_checkgetrange_function),
11356         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11357         (gst_pad_set_caps), (gst_pad_check_pull_range),
11358         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11359         * gst/gstpad.h:
11360         * gst/gsttypefind.c: (gst_type_find_register):
11361         Make gst_caps_replace() work like other _replace() functions.
11362         Use _caps_replace() where possible.
11363         Make sure _message_new() initialises its field.
11364         Add gst_static_pad_template_get_caps()
11365
11366
11367 2005-04-18  Andy Wingo  <wingo@pobox.com>
11368
11369         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11370         on the peer, not the pad. I think that was a typo. Pass an extra
11371         arg to see if random access is possible. Activate the pads as
11372         PULL_RANGE if possible.
11373
11374         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11375
11376         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11377         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11378         to PROP_....
11379
11380 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11381
11382         * docs/faq/using.xml:
11383           Add note on gstreamer-properties (#154996).
11384
11385 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11386
11387         * docs/random/bbb/optional-properties:
11388           Some analysis on optional properties.
11389
11390 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11391
11392         * docs/gst/tmpl/gstelementfactory.sgml:
11393         * gst/gstelement.h:
11394         * gst/gstelementfactory.c: (gst_element_factory_init),
11395         (gst_element_factory_cleanup), (gst_element_register),
11396         (__gst_element_factory_add_static_pad_template),
11397         (gst_element_factory_get_static_pad_templates),
11398         (gst_element_factory_can_src_caps),
11399         (gst_element_factory_can_sink_caps):
11400         * gst/registries/Makefile.am:
11401         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11402         (gst_xml_registry_class_init), (gst_xml_registry_init),
11403         (gst_xml_registry_new), (gst_xml_registry_set_property),
11404         (gst_xml_registry_get_property), (get_time), (make_dir),
11405         (gst_xml_registry_get_perms_func),
11406         (plugin_times_older_than_recurse), (plugin_times_older_than),
11407         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11408         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11409         (add_to_char_array), (read_string), (read_uint), (read_enum),
11410         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11411         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11412         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11413         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11414         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11415         (gst_xml_registry_rebuild):
11416         * gst/registries/gstlibxmlregistry.h:
11417         * tools/gst-compprep.c: (main):
11418         * tools/gst-inspect.c: (print_pad_templates_info):
11419         * tools/gst-xmlinspect.c: (print_element_info):
11420           Use libxml2 for registry parsing, use staticpadtemplates in
11421           elementfactories. Makes gst_init() +/- 10x faster.
11422
11423 2005-04-12  Wim Taymans  <wim@fluendo.com>
11424
11425         * gst/base/Makefile.am:
11426         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11427         (gst_basesink_pad_getcaps), (gst_basesink_init),
11428         (gst_basesink_event), (gst_basesink_change_state):
11429         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11430         (gst_basesrc_init), (gst_basesrc_query),
11431         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11432         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11433         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11434         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11435         (gst_basesrc_stop), (gst_basesrc_activate),
11436         (gst_basesrc_change_state):
11437         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11438         (helper_find_suggest), (gst_type_find_helper):
11439         * gst/base/gsttypefindhelper.h:
11440         * gst/elements/Makefile.am:
11441         * gst/elements/gstelements.c:
11442         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11443         (gst_fakesink_get_times), (gst_fakesink_event),
11444         (gst_fakesink_preroll), (gst_fakesink_render):
11445         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11446         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11447         (gst_fakesrc_get_property), (gst_fakesrc_create),
11448         (gst_fakesrc_start), (gst_fakesrc_stop):
11449         * gst/elements/gstfakesrc.h:
11450         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11451         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11452         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11453         (gst_filesrc_create_read), (gst_filesrc_create),
11454         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11455         (gst_filesrc_start):
11456         * gst/elements/gsttypefindelement.c:
11457         (gst_type_find_element_have_type), (gst_type_find_element_init),
11458         (start_typefinding), (stop_typefinding), (push_buffer_store),
11459         (gst_type_find_element_handle_event),
11460         (gst_type_find_element_chain),
11461         (gst_type_find_element_checkgetrange),
11462         (gst_type_find_element_getrange), (do_typefind),
11463         (gst_type_find_element_activate),
11464         (gst_type_find_element_change_state):
11465         * gst/elements/gsttypefindelement.h:
11466         * gst/gstpipeline.c: (pipeline_bus_handler):
11467         Added typefind helper.
11468         Small preroll fix in the base sink.
11469         Disable typefind code in basesrc.
11470         Crude port of typefindelement.
11471         Fakesrc cleanups.
11472
11473
11474 2005-04-11  Wim Taymans  <wim@fluendo.com>
11475
11476         * check/gst/gstbus.c: (gstbus_suite):
11477         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11478         * check/gstcheck.h:
11479           Fix up the timeout so that the test does not fail.
11480
11481 2005-04-06  Wim Taymans  <wim@fluendo.com>
11482
11483         * gst/base/README:
11484         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11485         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11486         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11487         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11488         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11489         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11490         (gst_basesrc_stop), (gst_basesrc_activate),
11491         (gst_basesrc_change_state), (basesrc_find_peek),
11492         (basesrc_find_suggest), (gst_basesrc_type_find):
11493         * gst/base/gstbasesrc.h:
11494         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11495         (gst_filesrc_class_init), (gst_filesrc_init),
11496         (gst_filesrc_finalize), (gst_filesrc_set_location),
11497         (gst_filesrc_set_property), (gst_filesrc_get_property),
11498         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11499         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11500         (gst_filesrc_create_read), (gst_filesrc_create),
11501         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11502         * gst/elements/gstfilesrc.h:
11503         * gst/gstelement.c: (gst_element_get_state_func),
11504         (gst_element_lost_state), (gst_element_pads_activate):
11505         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11506         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11507         (gst_pad_pull_range):
11508         * gst/gstpad.h:
11509         More work on the generic source base class, implement seeking,
11510         query.
11511         Make filesrc extend the base source class.
11512         Added gst_pad_set_checkgetrange_function to GstPad.
11513
11514 2005-04-06  Andy Wingo  <wingo@pobox.com>
11515
11516         * pkgconfig/gstreamer-base.pc.in:
11517         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11518
11519         * pkgconfig/Makefile.am:
11520         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11521
11522 2005-04-04  Wim Taymans  <wim@fluendo.com>
11523
11524         * gst/base/Makefile.am:
11525         * gst/base/README:
11526         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11527         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11528         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11529         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11530         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11531         (gst_basesrc_base_init), (gst_basesrc_class_init),
11532         (gst_basesrc_init), (gst_basesrc_get_formats),
11533         (gst_basesrc_get_query_types), (gst_basesrc_query),
11534         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11535         (gst_basesrc_set_property), (gst_basesrc_get_property),
11536         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11537         (gst_basesrc_loop), (gst_basesrc_activate),
11538         (gst_basesrc_change_state):
11539         * gst/base/gstbasesrc.h:
11540         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11541         (gst_fakesrc_class_init), (gst_fakesrc_init),
11542         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11543         (gst_fakesrc_get_property), (gst_fakesrc_create):
11544         * gst/elements/gstfakesrc.h:
11545         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11546         (gst_filesrc_open_file), (gst_filesrc_loop),
11547         (gst_filesrc_activate), (filesrc_find_peek),
11548         (gst_filesrc_type_find):
11549         Made base source class, make fakesrc extend it.
11550         Add comments to basesink class.
11551         Some filesrc cleanup.
11552
11553 2005-03-31  David Schleef  <ds@schleef.org>
11554
11555         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11556         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11557         expected to link against libgstreamer.
11558         * gst/base/Makefile.am: link against libgstreamer
11559         * gst/elements/Makefile.am: same
11560
11561 2005-03-31  Andy Wingo  <wingo@pobox.com>
11562
11563         * tests/instantiate/Makefile.am:
11564         * tests/instantiate/caps.c: Add test to test speed of caps copy
11565         and free.
11566
11567         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11568         GMemChunk to be fair.
11569
11570         * gst/gsttrashstack.h: Remove warning about using the fallback
11571         trash stack implementation, it's still faster than malloc.
11572
11573 2005-03-30  Andy Wingo  <wingo@pobox.com>
11574
11575         * tests/complexity.c: Add a copyright.
11576
11577 2005-03-31  Wim Taymans  <wim@fluendo.com>
11578
11579         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11580         (gst_base_transform_class_init), (gst_base_transform_init),
11581         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11582         (gst_base_transform_get_property),
11583         (gst_base_transform_sink_activate),
11584         (gst_base_transform_src_activate),
11585         (gst_base_transform_change_state):
11586         * gst/base/gstbasetransform.h:
11587         * gst/elements/gstidentity.c: (gst_identity_class_init),
11588         (gst_identity_event), (gst_identity_check_perfect),
11589         (gst_identity_transform), (gst_identity_start),
11590         (gst_identity_stop):
11591         Added start/stop methods to transform base class so subclasses 
11592         don't need to deal with state changes even.
11593
11594 2005-03-31  Wim Taymans  <wim@fluendo.com>
11595
11596         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11597         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11598         * gst/gstevent.h:
11599         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11600         (gst_pad_pull_range):
11601         Added rate to the discont event to prepare for variable speed
11602         and reverse playback.
11603
11604 2005-03-29  David Schleef  <ds@schleef.org>
11605
11606         * configure.ac:
11607         * testsuite/trigger/Makefile.am:
11608         * testsuite/trigger/trigger.c: A little example program to show
11609         how trigger-based elements can work.
11610
11611 2005-03-29  Wim Taymans  <wim@fluendo.com>
11612
11613         * gst/base/Makefile.am:
11614         * gst/base/README:
11615         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11616         (gst_basesink_base_init), (gst_basesink_class_init),
11617         (gst_basesink_pad_getcaps), (gst_basesink_init),
11618         (gst_basesink_activate), (gst_basesink_change_state):
11619         * gst/base/gstbasesink.h:
11620         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11621         (gst_base_transform_base_init), (gst_base_transform_finalize),
11622         (gst_base_transform_class_init), (gst_base_transform_init),
11623         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11624         (gst_base_transform_event), (gst_base_transform_getrange),
11625         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11626         (gst_base_transform_set_property),
11627         (gst_base_transform_get_property),
11628         (gst_base_transform_sink_activate),
11629         (gst_base_transform_src_activate),
11630         (gst_base_transform_change_state):
11631         * gst/base/gstbasetransform.h:
11632         * gst/elements/gstidentity.c: (gst_identity_finalize),
11633         (gst_identity_class_init), (gst_identity_init),
11634         (gst_identity_event), (gst_identity_check_perfect),
11635         (gst_identity_transform), (gst_identity_set_property),
11636         (gst_identity_get_property), (gst_identity_change_state):
11637         * gst/elements/gstidentity.h:
11638         * gst/gstelement.c: (gst_element_get_state_func),
11639         (gst_element_lost_state), (gst_element_pads_activate):
11640         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11641         (gst_pad_check_pull_range), (gst_pad_pull_range):
11642         * gst/gstpad.h:
11643         Simplify pad activation.
11644         Added function to check if pull_range can be performed.
11645         Error out when pulling inactive or flushing pads.
11646         Removed const from refcounted types as it does not make sense.
11647         Simplify pad templates in basesink
11648         Added base class for simple 1-to-1 transforms.
11649         Make identity subclass the base transform.
11650
11651 2005-03-29  Andy Wingo  <wingo@pobox.com>
11652
11653         * docs/libs/gstreamer-libs-overrides.txt: 
11654         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11655         really don't understand what's going on, but like whatever. I want
11656         green buildbot!
11657
11658         * docs/gst/Makefile.am:
11659         * docs/libs/Makefile.am: Dist the overrides files.
11660
11661         * check/Makefile.am (clean-local): Remove .libs directories.
11662
11663         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11664         elements to EXTRA_DIST, so po/ files are happy.
11665
11666         * po/POTFILES.in: Er, remove it here.
11667
11668         * po/POTFILES: Remove gstspider.c.
11669
11670         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11671
11672         * docs/libs/gstreamer-libs-docs.sgml: 
11673         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11674         bytestream.
11675
11676         * tests/complexity.c (main): Set the length of the preroll queue
11677         on the sinks to prevent a lockup.
11678
11679         * libs/gst/dataprotocol/Makefile.am: 
11680         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11681         the same as the one in check/gst-libs/gdp.c.
11682
11683         * po/, docs/gst/: Commit automatic changes to docs and po files.
11684
11685         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11686         the versioned libgstbase.
11687
11688         * check/Makefile.am: Depend on an unversioned gst-register, seems
11689         to make autoconf happier.
11690
11691         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11692
11693 2005-03-28  Wim Taymans  <wim@fluendo.com>
11694
11695         * configure.ac:
11696         * docs/design/part-gstelement.txt:
11697         * docs/design/part-negotiation.txt:
11698         * docs/design/part-preroll.txt:
11699         * docs/design/part-scheduling.txt:
11700         * docs/design/part-states.txt:
11701         * gst/Makefile.am:
11702         * gst/base/Makefile.am:
11703         * gst/base/README:
11704         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11705         (gst_basesink_base_init), (gst_basesink_class_init),
11706         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11707         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11708         (gst_basesink_set_pad_functions),
11709         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11710         (gst_basesink_set_property), (gst_basesink_get_property),
11711         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11712         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11713         (gst_basesink_preroll_queue_push),
11714         (gst_basesink_preroll_queue_empty),
11715         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11716         (gst_basesink_event), (gst_basesink_get_times),
11717         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11718         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11719         (gst_basesink_loop), (gst_basesink_activate),
11720         (gst_basesink_change_state):
11721         * gst/base/gstbasesink.h:
11722         * gst/elements/Makefile.am:
11723         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11724         (gst_fakesink_class_init), (gst_fakesink_init),
11725         (gst_fakesink_set_property), (gst_fakesink_get_property),
11726         (gst_fakesink_get_times), (gst_fakesink_event),
11727         (gst_fakesink_preroll), (gst_fakesink_render),
11728         (gst_fakesink_change_state):
11729         * gst/elements/gstfakesink.h:
11730         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11731         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11732         * gst/gstelement.c: (gst_element_add_pad),
11733         (gst_element_get_state_func), (gst_element_abort_state),
11734         (gst_element_commit_state), (gst_element_lost_state),
11735         (gst_element_set_state), (gst_element_pads_activate):
11736         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11737         * gst/gstpipeline.c: (gst_pipeline_send_event),
11738         (gst_pipeline_change_state):
11739         Added state change code.
11740         Added/updated docs.
11741         Added sink base class, make fakesink extend the base class.
11742         Small cleanups in GstPipeline.
11743
11744 2005-03-26  David Schleef  <ds@schleef.org>
11745
11746         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11747         is broken and should be implemented in a different library.
11748         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11749         * gst/gst.h: remove gstcpu.h
11750         * gst/gstcpu.c: remove
11751         * gst/gstcpu.h: remove
11752         * gst/Makefile.am.future: Remove this file.  It's ancient.
11753
11754 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11755
11756         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11757         (gst_bin_send_event):
11758           Add default event/set_manager handlers. The set_manager handler
11759           takes care that the manager is distributed over kids that were
11760           already in the bin before the manager was set. The event handler
11761           is a utility virtual function that sends the event over all sinks,
11762           so that gst_element_send_event (bin, event); has the expected
11763           behaviour.
11764         * gst/gstpad.c: (gst_pad_event_default):
11765           Re-install default event handling for discontinuities, so that
11766           seeking works without requiring hacks in applications or extra
11767           code in sinks.
11768         * gst/gstpipeline.c: (gst_pipeline_class_init),
11769         (gst_pipeline_send_event):
11770           Half hack, half utility: set a pipeline to PAUSED for seek events,
11771           since that is the only way we can guarantee a/v sync. Means that
11772           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11773           and it "just works".
11774
11775 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11776
11777         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11778           Lock/unlock mismatch.
11779
11780 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11781
11782         * docs/faq/gst-uninstalled:
11783           add gst-plugins-base
11784         * docs/gst/Makefile.am:
11785           don't error out until docs are fixed
11786         * docs/gst/gstreamer.types:
11787           remove thread
11788
11789 2005-03-22  Wim Taymans  <wim@fluendo.com>
11790
11791         * check/Makefile.am:
11792         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11793         * gst/gststructure.c: (gst_structure_set_valist),
11794         (gst_structure_copy_conditional):
11795         Activated more tests.
11796         Added message test.
11797         Added G_TYPE_POINTER to GstStructure.
11798         
11799
11800 2005-03-22  Wim Taymans  <wim@fluendo.com>
11801
11802         * docs/design/part-TODO.txt:
11803         * docs/design/part-events.txt:
11804         * docs/design/part-gstbin.txt:
11805         * docs/design/part-gstbus.txt:
11806         * docs/design/part-gstpipeline.txt:
11807         * docs/design/part-messages.txt:
11808         * gst/gstbus.c:
11809         * gst/gstmessage.c:
11810         Docs updates
11811
11812 2005-03-21  Wim Taymans  <wim@fluendo.com>
11813
11814         * gst/gstbus.c: (gst_bus_post):
11815         Fix copy-and-paste error.
11816
11817 2005-03-21  Wim Taymans  <wim@fluendo.com>
11818
11819         * check/Makefile.am:
11820         * gst/Makefile.am:
11821         * gst/elements/Makefile.am:
11822         * gst/elements/gstelements.c:
11823         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11824         (gst_fakesink_event), (gst_fakesink_chain):
11825         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11826         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11827         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11828         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11829         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11830         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11831         (gst_fakesrc_loop), (gst_fakesrc_activate),
11832         (gst_fakesrc_change_state):
11833         * gst/elements/gstfakesrc.h:
11834         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11835         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11836         (gst_filesrc_open_file), (gst_filesrc_loop),
11837         (gst_filesrc_activate), (gst_filesrc_change_state),
11838         (filesrc_find_peek), (filesrc_find_suggest),
11839         (gst_filesrc_type_find):
11840         * gst/elements/gstidentity.c: (gst_identity_finalize),
11841         (gst_identity_class_init), (gst_identity_init),
11842         (gst_identity_proxy_getcaps), (identity_queue_push),
11843         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11844         (gst_identity_getrange), (gst_identity_chain),
11845         (gst_identity_sink_loop), (gst_identity_src_loop),
11846         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11847         (gst_identity_set_property), (gst_identity_get_property),
11848         (gst_identity_change_state):
11849         * gst/elements/gstidentity.h:
11850         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11851         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11852         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11853         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11854         (gst_tee_sink_activate):
11855         * gst/elements/gsttee.h:
11856         * gst/gst.c: (gst_register_core_elements), (init_post):
11857         * gst/gst.h:
11858         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11859         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11860         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11861         (gst_bin_change_state):
11862         * gst/gstbin.h:
11863         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11864         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11865         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11866         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11867         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11868         (bus_watch_callback), (bus_watch_destroy),
11869         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11870         (poll_timeout), (gst_bus_poll):
11871         * gst/gstbus.h:
11872         * gst/gstcaps.h:
11873         * gst/gstdata.h:
11874         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11875         (gst_element_post_message), (gst_element_message_full),
11876         (gst_element_get_state_func), (gst_element_get_state),
11877         (gst_element_abort_state), (gst_element_commit_state),
11878         (gst_element_lost_state), (gst_element_set_state),
11879         (gst_element_pads_activate), (gst_element_change_state),
11880         (gst_element_dispose), (gst_element_set_manager_func),
11881         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11882         (gst_element_set_manager), (gst_element_get_manager),
11883         (gst_element_set_bus), (gst_element_get_bus),
11884         (gst_element_set_scheduler), (gst_element_get_scheduler):
11885         * gst/gstelement.h:
11886         * gst/gstevent.c: (gst_event_new_segment_seek),
11887         (gst_event_new_flush):
11888         * gst/gstevent.h:
11889         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11890         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11891         (gst_message_new_eos), (gst_message_new_error),
11892         (gst_message_new_warning), (gst_message_new_tag),
11893         (gst_message_new_state_changed), (gst_message_new_application),
11894         (gst_message_get_structure), (gst_message_parse_tag),
11895         (gst_message_parse_state_changed), (gst_message_parse_error),
11896         (gst_message_parse_warning):
11897         * gst/gstmessage.h:
11898         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11899         (gst_real_pad_set_property), (gst_pad_set_active),
11900         (gst_pad_is_active), (gst_pad_set_blocked_async),
11901         (gst_pad_set_blocked), (gst_pad_is_blocked),
11902         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11903         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11904         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11905         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11906         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11907         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11908         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11909         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11910         (gst_pad_set_caps), (gst_pad_configure_sink),
11911         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11912         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11913         (gst_real_pad_dispose), (gst_real_pad_finalize),
11914         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11915         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11916         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11917         * gst/gstpad.h:
11918         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11919         (pipeline_bus_handler), (gst_pipeline_change_state),
11920         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11921         * gst/gstpipeline.h:
11922         * gst/gstprobe.h:
11923         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11924         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11925         (gst_queue_link_src), (gst_queue_bufferalloc),
11926         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11927         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11928         (gst_queue_loop), (gst_queue_handle_src_event),
11929         (gst_queue_handle_src_query), (gst_queue_src_activate),
11930         (gst_queue_change_state):
11931         * gst/gstqueue.h:
11932         * gst/gstscheduler.c: (gst_scheduler_init),
11933         (gst_scheduler_dispose), (gst_scheduler_create_task),
11934         (gst_scheduler_factory_create):
11935         * gst/gstscheduler.h:
11936         * gst/gststructure.c: (gst_structure_get_type),
11937         (gst_structure_copy_conditional):
11938         * gst/gststructure.h:
11939         * gst/gsttaginterface.h:
11940         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11941         (gst_task_init), (gst_task_dispose), (gst_task_create),
11942         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11943         (gst_task_pause):
11944         * gst/gsttask.h:
11945         * gst/gstthread.c:
11946         * gst/gstthread.h:
11947         * gst/gsttypes.h:
11948         * gst/schedulers/Makefile.am:
11949         * gst/schedulers/cothreads_compat.h:
11950         * gst/schedulers/entryscheduler.c:
11951         * gst/schedulers/faircothreads.c:
11952         * gst/schedulers/faircothreads.h:
11953         * gst/schedulers/fairscheduler.c:
11954         * gst/schedulers/gstbasicscheduler.c:
11955         * gst/schedulers/gstoptimalscheduler.c:
11956         * gst/schedulers/gthread-cothreads.h:
11957         * gst/schedulers/threadscheduler.c:
11958         (gst_thread_scheduler_task_get_type),
11959         (gst_thread_scheduler_task_class_init),
11960         (gst_thread_scheduler_task_init),
11961         (gst_thread_scheduler_task_start),
11962         (gst_thread_scheduler_task_stop),
11963         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11964         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11965         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11966         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11967         (plugin_init):
11968         * libs/gst/Makefile.am:
11969         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11970         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11971         (gst_file_pad_parent_set):
11972         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11973         (gst_dp_event_from_packet):
11974         * tests/complexity.c: (main):
11975         * tests/mass_elements.c: (main):
11976         * testsuite/states/locked.c: (message_received), (main):
11977         * testsuite/states/parent.c: (main):
11978         * tools/gst-inspect.c: (print_element_flag_info),
11979         (print_implementation_info), (print_pad_info):
11980         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11981         (main):
11982         * tools/gst-md5sum.c: (event_loop), (main):
11983         * tools/gst-typefind.c: (main):
11984         * tools/gst-xmlinspect.c: (print_element_info):
11985         Next big merge.
11986         Added GstBus for mainloop integration.
11987         Added GstMessage for sending notifications on the bus.
11988         Added GstTask as an abstraction for pipeline entry points.
11989         Removed GstThread.
11990         Removed Schedulers.
11991         Simplified GstQueue for multithreaded core.
11992         Made _link threadsafe, removed old capsnego.
11993         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11994         Added pad blocking functions.
11995         Reworked scheduling functions in GstPad to prepare for
11996         scheduling updates soon.
11997         Moved events out of data stream.
11998         Simplified GstEvent types.
11999         Added return values to push/pull.
12000         Removed clocking from GstElement.
12001         Added prototypes for state change function for next merge.
12002         Removed iterate from bins and state change management.
12003         Fixed some elements, disabled others for now.
12004         Fixed -inspect and -launch.
12005         Added check for GstBus.
12006
12007 2005-03-10  Wim Taymans  <wim@fluendo.com>
12008
12009         * docs/design/part-MT-refcounting.txt:
12010         * docs/design/part-clocks.txt:
12011         * docs/design/part-gstelement.txt:
12012         * docs/design/part-gstobject.txt:
12013         * docs/design/part-standards.txt:
12014         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12015         (gst_bin_remove_func), (gst_bin_remove):
12016         * gst/gstbin.h:
12017         * gst/gstbuffer.c:
12018         * gst/gstcaps.h:
12019         * testsuite/clock/clock1.c: (main):
12020         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12021         (main):
12022         * testsuite/dlopen/loadgst.c: (do_test):
12023         * testsuite/refcounting/bin.c: (add_remove_test1),
12024         (add_remove_test2), (main):
12025         * testsuite/refcounting/element.c: (main):
12026         * testsuite/refcounting/element_pad.c: (main):
12027         * testsuite/refcounting/pad.c: (main):
12028         * tools/gst-launch.c: (sigint_handler_sighandler):
12029         * tools/gst-typefind.c: (main):
12030         Doc updates.
12031         Added doc about clock.
12032         removed gst_bin_iterate_recurse_up(), marked methods
12033         for removal.
12034         Fix more testsuites.
12035
12036 2005-03-09  Wim Taymans  <wim@fluendo.com>
12037
12038         * gst/gstpad.c: (gst_pad_get_direction),
12039         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12040         (gst_pad_collect_valist):
12041         * testsuite/bins/interface.c: (main):
12042         * testsuite/caps/audioscale.c: (test_caps):
12043         * testsuite/caps/caps.c: (test1), (test2), (test3):
12044         * testsuite/caps/deserialize.c: (main):
12045         * testsuite/caps/enumcaps.c: (main):
12046         * testsuite/caps/filtercaps.c: (main):
12047         * testsuite/caps/intersect2.c: (main):
12048         * testsuite/caps/random.c: (main):
12049         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12050         * testsuite/caps/sets.c: (check_caps):
12051         * testsuite/caps/simplify.c: (check_caps), (main):
12052         * testsuite/caps/subtract.c: (check_caps):
12053         Fix _pad_get_direction wrt ghostpads.
12054         Fix caps testsuite.
12055
12056 2005-03-09  Wim Taymans  <wim@fluendo.com>
12057
12058         * check/Makefile.am:
12059         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12060         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12061         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12062         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12063         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12064         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12065         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12066         (bin_element_is_sink), (gst_bin_iterate_sinks),
12067         (gst_bin_iterate_all_by_interface):
12068         * gst/gstbin.h:
12069         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12070         (gst_element_change_state), (gst_element_dispose),
12071         (gst_element_finalize), (gst_element_set_loop_function):
12072         * gst/gstelement.h:
12073         * gst/gstiterator.c: (find_custom_fold_func):
12074         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12075         (gst_pad_collectv), (gst_pad_collect_valist),
12076         (gst_pad_template_new):
12077         * gst/gstpipeline.c: (gst_pipeline_class_init),
12078         (gst_pipeline_dispose), (gst_pipeline_set_property),
12079         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12080         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12081         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12082         * gst/gstutils.h:
12083         * gst/schedulers/entryscheduler.c:
12084         * gst/schedulers/gstbasicscheduler.c:
12085         (gst_basic_scheduler_cothreaded_chain),
12086         (gst_basic_scheduler_chain_add_element):
12087         * testsuite/bins/interface.c: (main):
12088         Added GstBin test.
12089         Added GstSystemClock test.
12090         Implemented clock distribution code in GstBin.
12091         Implemented iterate sinks method for future use.
12092         Rearranged gstelement.h
12093         Fix GstIterator comparison bug.
12094         Moved some code to GstPipeline, mostly clocking related.
12095
12096 2005-03-09  Wim Taymans  <wim@fluendo.com>
12097
12098         * configure.ac:
12099         * gst/gst_private.h:
12100         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12101         (gst_bin_remove_func), (gst_bin_remove),
12102         (gst_bin_get_by_name_recurse_up):
12103         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12104         (gst_clock_id_compare_func), (gst_clock_id_wait),
12105         (gst_clock_id_wait_async), (gst_clock_init),
12106         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12107         * gst/gstelement.h:
12108         * gst/gstinfo.c: (_gst_debug_init):
12109         * gst/gstobject.h:
12110         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12111         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12112         * gst/gstpad.h:
12113         Bump version number, we're now 0.9.0
12114         Add future debugging category.
12115         Fix NULL _unref() in _get_by_name_recurse_up
12116         Rearrange gstpad.h.
12117         Update some docs.
12118
12119 2005-03-08  Wim Taymans  <wim@fluendo.com>
12120
12121         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12122         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12123         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12124         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12125         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12126         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12127         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12128         * gst/elements/gstidentity.c: (gst_identity_class_init):
12129         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12130         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12131         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12132         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12133         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12134         (gst_tee_link):
12135         * gst/gstelement.c: (gst_element_class_init),
12136         (gst_element_base_class_init), (gst_element_init),
12137         (gst_element_get_random_pad), (gst_element_wait_state_change),
12138         (gst_element_change_state), (gst_element_dispose),
12139         (gst_element_finalize), (gst_element_set_loop_function):
12140         * gst/gstelement.h:
12141         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12142         * gst/gstthread.c: (gst_thread_class_init),
12143         (gst_thread_release_children_locks), (gst_thread_change_state):
12144         * gst/schedulers/gstbasicscheduler.c:
12145         (gst_basic_scheduler_loopfunc_wrapper),
12146         (gst_basic_scheduler_chain_wrapper),
12147         (gst_basic_scheduler_src_wrapper),
12148         (gst_basic_scheduler_remove_element):
12149         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12150         Remove threadsafe properties. Fix elements because GObject
12151         complains when installing a property before declaring a
12152         set/get_property handler.
12153         Rearrange gstelement.h file, use STATE macros for state locks.
12154         Free mutexes in the finalize method instead of dispose.
12155
12156 2005-03-08  Wim Taymans  <wim@fluendo.com>
12157
12158         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12159         * gst/gstthread.c: (gst_thread_release_children_locks):
12160         Added parentage check.
12161         Fix build og GstThread again.
12162
12163 2005-03-08  Wim Taymans  <wim@fluendo.com>
12164
12165         * docs/design/part-MT-refcounting.txt:
12166         * docs/design/part-conventions.txt:
12167         * docs/design/part-gstobject.txt:
12168         * docs/design/part-relations.txt:
12169         * docs/design/part-standards.txt:
12170         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12171         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12172         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12173         (gst_bin_iterate_all_by_interface):
12174         * gst/gstbuffer.h:
12175         * gst/gstclock.h:
12176         * gst/gstelement.c: (gst_element_class_init),
12177         (gst_element_change_state), (gst_element_set_loop_function):
12178         * gst/gstelement.h:
12179         * gst/gstiterator.c:
12180         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12181         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12182         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12183         (gst_object_set_parent), (gst_object_unparent),
12184         (gst_object_check_uniqueness):
12185         * gst/gstobject.h:
12186         Docs updates, clean up some headers.
12187
12188 2005-03-07  Wim Taymans  <wim@fluendo.com>
12189
12190         * check/.cvsignore:
12191         * check/Makefile.am:
12192         * check/gst-libs/.cvsignore:
12193         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12194         * check/gst/.cvsignore:
12195         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12196         (START_TEST), (gstbus_suite), (main):
12197         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12198         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12199         (gst_data_suite), (main):
12200         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12201         (add_fold_func), (gstiterator_suite), (main):
12202         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12203         (thread_name_object), (thread_name_object_default),
12204         (gst_object_name_compare), (gst_object_suite), (main):
12205         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12206         (gst_pad_suite), (main):
12207         * check/gstcheck.c: (gst_check_log_message_func),
12208         (gst_check_log_critical_func), (gst_check_init):
12209         * check/gstcheck.h:
12210         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12211         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12212         Added checks.
12213
12214 2005-03-07  Wim Taymans  <wim@fluendo.com>
12215
12216         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12217         (gst_list_iterator_next), (gst_list_iterator_resync),
12218         (gst_list_iterator_free), (gst_iterator_new_list),
12219         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12220         (gst_iterator_free), (gst_iterator_push), (filter_next),
12221         (filter_resync), (filter_uninit), (filter_free),
12222         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12223         (gst_iterator_foreach), (find_custom_fold_func),
12224         (gst_iterator_find_custom):
12225         * gst/gstiterator.h:
12226         Added missing files.
12227
12228 2005-03-07  Wim Taymans  <wim@fluendo.com>
12229
12230         * Makefile.am:
12231         * configure.ac:
12232         * docs/design/part-MT-refcounting.txt:
12233         * docs/design/part-conventions.txt:
12234         * docs/design/part-gstobject.txt:
12235         * docs/design/part-relations.txt:
12236         * examples/mixer/mixer.c: (main):
12237         * examples/thread/thread.c: (eos), (main):
12238         * gst/Makefile.am:
12239         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12240         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12241         (gst_spider_plug_from_srcpad):
12242         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12243         (gst_spider_identity_change_state),
12244         (gst_spider_identity_sink_loop_type_finding):
12245         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12246         * gst/elements/gstidentity.c: (gst_identity_init):
12247         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12248         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12249         * gst/elements/gsttypefindelement.c: (free_entry):
12250         * gst/gst.c:
12251         * gst/gst.h:
12252         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12253         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12254         (gst_bin_set_index), (gst_bin_set_element_sched),
12255         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12256         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12257         (gst_bin_iterate_elements), (iterate_child_recurse),
12258         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12259         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12260         (compare_interface), (gst_bin_get_by_interface),
12261         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12262         * gst/gstbin.h:
12263         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12264         (gst_buffer_default_free), (gst_buffer_default_copy),
12265         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12266         (gst_buffer_create_sub):
12267         * gst/gstbuffer.h:
12268         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12269         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12270         (gst_caps_unref), (gst_static_caps_get),
12271         (gst_caps_remove_and_get_structure), (gst_caps_append),
12272         (gst_caps_append_structure), (gst_caps_remove_structure),
12273         (gst_caps_copy_nth), (gst_caps_set_simple),
12274         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12275         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12276         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12277         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12278         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12279         (gst_caps_structure_figure_out_union),
12280         (gst_caps_switch_structures), (gst_caps_do_simplify),
12281         (gst_caps_replace), (gst_caps_from_string),
12282         (gst_caps_copy_conditional):
12283         * gst/gstcaps.h:
12284         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12285         (_gst_clock_id_free), (gst_clock_id_unref),
12286         (gst_clock_id_compare_func), (gst_clock_id_wait),
12287         (gst_clock_id_wait_async), (gst_clock_class_init),
12288         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12289         (gst_clock_get_time), (gst_clock_set_time_adjust),
12290         (gst_clock_set_property), (gst_clock_get_property):
12291         * gst/gstclock.h:
12292         * gst/gstcompat.h:
12293         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12294         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12295         * gst/gstdata.h:
12296         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12297         (gst_element_requires_clock), (gst_element_provides_clock),
12298         (gst_element_set_clock), (gst_element_clock_wait),
12299         (gst_element_wait), (gst_element_set_time_delay),
12300         (gst_element_is_indexable), (gst_element_add_pad),
12301         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12302         (pad_compare_name), (gst_element_get_static_pad),
12303         (gst_element_request_pad), (gst_element_get_request_pad),
12304         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12305         (gst_element_class_get_pad_template_list),
12306         (gst_element_class_get_pad_template), (gst_element_error_func),
12307         (gst_element_get_random_pad), (gst_element_get_event_masks),
12308         (gst_element_send_event), (gst_element_seek),
12309         (gst_element_get_query_types), (gst_element_query),
12310         (gst_element_get_formats), (gst_element_convert),
12311         (gst_element_is_locked_state), (gst_element_set_locked_state),
12312         (gst_element_sync_state_with_parent), (gst_element_change_state),
12313         (gst_element_finalize), (gst_element_yield),
12314         (gst_element_interrupt), (gst_element_set_scheduler),
12315         (gst_element_get_scheduler), (gst_element_set_loop_function):
12316         * gst/gstelement.h:
12317         * gst/gstevent.h:
12318         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12319         (gst_format_get_by_nick), (gst_format_get_details),
12320         (gst_format_iterate_definitions):
12321         * gst/gstformat.h:
12322         * gst/gstindex.c: (gst_index_gtype_resolver):
12323         * gst/gstinfo.c:
12324         * gst/gstinfo.h:
12325         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12326         (gst_mem_chunk_free):
12327         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12328         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12329         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12330         (gst_object_dispatch_properties_changed),
12331         (gst_object_set_name_default), (gst_object_set_name),
12332         (gst_object_get_name), (gst_object_set_name_prefix),
12333         (gst_object_get_name_prefix), (gst_object_set_parent),
12334         (gst_object_get_parent), (gst_object_unparent),
12335         (gst_object_check_uniqueness), (gst_object_save_thyself),
12336         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12337         (gst_object_set_property), (gst_object_get_property),
12338         (gst_object_get_path_string):
12339         * gst/gstobject.h:
12340         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12341         (gst_real_pad_init), (gst_real_pad_get_property),
12342         (gst_pad_custom_new), (gst_pad_get_direction),
12343         (gst_pad_set_active), (gst_pad_is_active),
12344         (gst_pad_set_event_function), (gst_pad_is_linked),
12345         (gst_pad_link_free), (gst_pad_link_intersect),
12346         (gst_pad_link_fixate), (gst_pad_set_caps),
12347         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12348         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12349         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12350         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12351         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12352         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12353         (gst_pad_realize), (gst_pad_get_allowed_caps),
12354         (gst_real_pad_dispose), (gst_real_pad_finalize),
12355         (gst_pad_collectv), (gst_pad_collect_valist),
12356         (gst_pad_template_dispose), (gst_pad_template_new),
12357         (gst_pad_get_internal_links):
12358         * gst/gstpad.h:
12359         * gst/gstpipeline.c: (gst_pipeline_dispose),
12360         (gst_pipeline_change_state):
12361         * gst/gstpipeline.h:
12362         * gst/gstplugin.c:
12363         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12364         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12365         * gst/gstpluginfeature.h:
12366         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12367         * gst/gstquery.c: (_gst_query_type_initialize),
12368         (gst_query_type_register), (gst_query_type_get_by_nick),
12369         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12370         * gst/gstquery.h:
12371         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12372         * gst/gstscheduler.c: (gst_scheduler_add_element),
12373         (gst_scheduler_factory_create):
12374         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12375         (gst_structure_free), (gst_structure_set_name),
12376         (gst_structure_id_set_value), (gst_structure_set_value),
12377         (gst_structure_set_valist), (gst_structure_remove_field),
12378         (gst_structure_remove_fields),
12379         (gst_structure_remove_fields_valist),
12380         (gst_structure_remove_all_fields), (gst_structure_foreach),
12381         (gst_structure_map_in_place),
12382         (gst_caps_structure_fixate_field_nearest_int),
12383         (gst_caps_structure_fixate_field_nearest_double):
12384         * gst/gststructure.h:
12385         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12386         (gst_system_clock_init), (gst_system_clock_dispose),
12387         (gst_system_clock_async_thread),
12388         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12389         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12390         * gst/gstsystemclock.h:
12391         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12392         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12393         * gst/gsttaginterface.c:
12394         * gst/gstthread.c: (gst_thread_dispose),
12395         (gst_thread_release_children_locks), (gst_thread_change_state),
12396         (gst_thread_main_loop):
12397         * gst/gsttrashstack.h:
12398         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12399         * gst/gsttypes.h:
12400         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12401         (gst_element_request_pad), (gst_element_get_pad_from_template),
12402         (gst_element_request_compatible_pad),
12403         (gst_element_get_compatible_pad_filtered),
12404         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12405         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12406         (gst_element_link_many), (gst_element_link),
12407         (gst_element_link_pads), (gst_element_unlink_pads),
12408         (gst_element_unlink_many), (gst_element_unlink),
12409         (gst_pad_can_link_filtered), (gst_pad_can_link),
12410         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12411         (gst_object_default_error), (gst_bin_add_many),
12412         (gst_bin_remove_many), (gst_element_populate_std_props),
12413         (gst_element_class_install_std_props), (gst_buffer_merge),
12414         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12415         (link_fold_func), (gst_pad_proxy_setcaps):
12416         * gst/gstutils.h:
12417         * gst/gstvalue.c: (gst_value_deserialize_string):
12418         * gst/parse/grammar.y:
12419         * gst/schedulers/gstbasicscheduler.c:
12420         (gst_basic_scheduler_cothreaded_chain),
12421         (gst_basic_scheduler_chain_recursive_add),
12422         (gst_basic_scheduler_pad_link):
12423         * gst/schedulers/gstoptimalscheduler.c:
12424         (get_group_schedule_function),
12425         (gst_opt_scheduler_state_transition),
12426         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12427         * libs/gst/bytestream/bytestream.c:
12428         * libs/gst/dataprotocol/dataprotocol.c:
12429         (gst_dp_header_from_buffer):
12430         * po/nb.po:
12431         * po/ru.po:
12432         * tests/threadstate/threadstate2.c: (eos):
12433         * tools/gst-compprep.c: (main):
12434         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12435         (print_pad_info), (print_children_info):
12436         * tools/gst-launch.c: (idle_func), (main):
12437         * tools/gst-md5sum.c: (idle_func), (main):
12438         * tools/gst-xmlinspect.c: (print_element_info):
12439         First THREADED backport attempt, focusing on adding locks and
12440         making sure the API is threadsafe. Needs more work. More docs
12441         follow this week.
12442
12443 2005-02-24  Andy Wingo  <wingo@pobox.com>
12444
12445         * tests/bench-complexity.scm:
12446         * tests/complexity.gnuplot: New files, good for running complexity
12447         benchmarks.
12448
12449         * tests/Makefile.am:
12450         * tests/complexity.c: New test, sets up N elements, at each level
12451         teeing into M streams per element. Eeeenteresting.
12452
12453         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12454         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12455         running bench-mass_elements.scm.
12456
12457         * tests/bench-mass_elements.scm: New script, runs mass_elements
12458         for various numbers of identities, outputting the results to a
12459         file. Requires guile 1.6. Just for testing.
12460
12461 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12462
12463         * gst/schedulers/fairscheduler.c:
12464           compile with debug disabled
12465
12466 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12467
12468         * configure.ac:
12469           hunting season on 0.9 is now OPEN