docs/gst/gstreamer.types: fix includes, though they are a little dinky
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * docs/gst/gstreamer.types:
4           fix includes, though they are a little dinky
5
6 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7
8         * check/Makefile.am:
9           look in the right place for elements, a lot more chance of
10           success
11         * gst/Makefile.am:
12           remove indexers and elements subdirs
13         * plugins/Makefile.am:
14           make indexers conditional
15
16 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17
18         * Makefile.am:
19         * configure.ac:
20         * plugins/elements/Makefile.am:
21         * plugins/elements/gstcapsfilter.c:
22         * plugins/elements/gstfilesink.c:
23         * plugins/elements/gstfilesrc.c:
24         * plugins/elements/gstidentity.c:
25         * plugins/indexers/Makefile.am:
26           do CVS surgery and related build fixery to move elements
27           and indexers in a new gstreamer/plugins directory, out of the
28           gst/ directory
29
30 2005-11-29  Andy Wingo  <wingo@pobox.com>
31
32         * check/Makefile.am:
33         * pkgconfig/gstreamer-net-uninstalled.pc.in:
34         * pkgconfig/gstreamer-net.pc.in:
35         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
36         #322257.
37
38 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
39
40         * tools/Makefile.am:
41         * tools/gst-complete.1.in:
42         * tools/gst-complete.c:
43         * tools/gst-compprep.1.in:
44         * tools/gst-compprep.c:
45           removing -compprep and -complete
46
47 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
48
49         * gst/gstevent.c: (gst_event_new_new_segment),
50         (gst_event_parse_new_segment):
51         * gst/gstevent.h:
52           fix #320529 - clean up new_segment API and structure.
53           Let's hope everyone was using the methods, and not the structure.
54
55 2005-11-29  Edward Hervey  <edward@fluendo.com>
56
57         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
58         (gst_base_sink_event), (gst_base_sink_do_sync),
59         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
60         Properly handle non GST_FORMAT_TIME segment
61         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
62         Properly handle non GST_FORMAT_TIME segment
63         * gst/gstsegment.c:
64         This function is valid if the accumulator is 0 and the format
65         is different from the requested format.
66         
67 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
68
69         * docs/gst/gstreamer-sections.txt:
70         Add gst_query_new_seeking and gst_query_parse_seeking to the
71         docs.
72
73 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
74
75         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
76           Treat a pad alloc with new caps the same as if we were not
77           negotiated, in order to allow a changing upstream output
78           to produce a new format of data.
79
80 2005-11-29  Edward Hervey  <edward@fluendo.com>
81
82         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
83         (gst_base_transform_event), (gst_base_transform_eventfunc):
84         The event virtual method is now properly implemented, with a default
85         handler
86         Sub classes should call the parent_class event method. They should
87         return FALSE if they had a problem handling the given event, or don't
88         want GstBaseTransform to send that even downstream
89         * gst/elements/gstidentity.c: (gst_identity_class_init),
90         (gst_identity_init), (gst_identity_event),
91         (gst_identity_transform_ip), (gst_identity_set_property),
92         (gst_identity_get_property):
93         * gst/elements/gstidentity.h:
94         Added the single-segment boolean property.
95         If set to TRUE, it will output a single segment of data, starting from
96         0, will eat up all incoming newsegment, and modify the timestamp of the
97         buffers accordingly
98
99 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
100
101         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
102           Don't ref NULL target pad (#322751). Improve docs.
103
104 2005-11-29  Michael Smith  <msmith@fluendo.com>
105
106         * gst/gstregistryxml.c: (load_plugin):
107           Don't crash if we failed to load a feature from a plugin. 
108
109 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
110
111         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
112         (GST_START_TEST):
113           use more check API and less GLib API
114
115 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
116
117         * Makefile.am:
118           don't run checks if we don't have check
119         * common/check.mak:
120           remove the registry when running make torture
121         * docs/gst/gstreamer-sections.txt:
122           remove second multiply
123         * gst/gstqueue.c: (gst_queue_loop):
124           fix a compile warning when disabling debug
125
126 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
127
128         * gst/gstinfo.h:
129         Hey! Let's print the pad name if the pointer != NULL instead
130         of when it == NULL :-)
131
132 2005-11-28  Wim Taymans  <wim@fluendo.com>
133
134         * check/gst/gstutils.c: (GST_START_TEST):
135         Updated check, add some scaling accuracy checking code.
136
137         * gst/gstutils.c: (gst_util_div128_64),
138         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
139         (gst_util_uint64_scale_int):
140         Fix 6 times faster division code. Optimize for common 
141         1/1 and less common X/1 cases.
142
143 2005-11-28  Wim Taymans  <wim@fluendo.com>
144
145         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
146         More checks.
147
148         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
149         (do_linear_regression), (gst_clock_add_observation):
150         Cleanups.
151         Release lock when the clock cannot be slaved.
152         Catch the case where the regression returned an invalid denominator.
153
154         * gst/gstutils.c: (gst_util_div128_64_iterate),
155         (gst_util_div128_64), (gst_util_uint64_scale_int64),
156         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
157         Add protentially more performant non-iterative 128/64 divide function
158         that unfortunatly does not work yet.
159         Shortcut the trivial 0/X = 0 case.
160         Remove the warnings on overflow.
161
162 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
163
164         * gst/gstplugin.c: (gst_plugin_register_func):
165           everything causing a plugin not to load should be at least a WARNING
166
167 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
168
169         * docs/random/ensonic/dparams.txt:
170           some TODOs for the next dev cycle
171         * libs/gst/controller/gstcontroller.c:
172         (gst_controlled_property_set_interpolation_mode),
173         (gst_controlled_property_new):
174         * libs/gst/controller/gstcontroller.h:
175           use base type to assign acccessor functions
176
177 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
178
179         * check/Makefile.am:
180         Oops, that should have been top_srcdir
181
182 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
183
184         * check/Makefile.am:
185         * check/elements/fdsrc.c: (GST_START_TEST):
186         Use a cmdline define to specify the location of a file to use for
187         testing, to avoid breaking distcheck.
188
189 2005-11-28  Andy Wingo  <wingo@pobox.com>
190
191         * gst/gstpad.c (fixate_value): Use array functions for arrays.
192
193 2005-11-28  Edward Hervey  <edward@fluendo.com>
194
195         * tools/gst-launch.c: (main):
196         Clarify the output strings, makes it easier to translate.
197         Fixes #322626
198
199 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
200
201         * gst/Makefile.am:
202           don't try and build net if we don't even have <sys/socket.h>
203
204 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
205
206         * check/Makefile.am:
207         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
208         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
209           Add tests for fdsrc seekability
210
211         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
212         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
213         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
214         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
215         * gst/elements/gstfdsrc.h:
216           fdsrc should not be a 'live' source.
217           Implement seeking on seekable fd's.
218
219         * gst/gstquery.c: (gst_query_new_seeking),
220         (gst_query_parse_seeking):
221         * gst/gstquery.h:
222           Implement SEEKING query functions: 
223             *_new_seeking and *_parse_seeking
224
225 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
226
227         * gst/gstelement.c: (gst_element_dispose):
228           don't loop forever
229
230         * gst/gstiterator.c:
231         * gst/gststructure.c:
232           doc fixes
233
234         * libs/gst/controller/gstcontroller.c:
235         (gst_controlled_property_set_interpolation_mode):
236         * libs/gst/controller/gstcontroller.h:
237         * libs/gst/controller/gstinterpolation.c:
238         (interpolate_none_get_enum_value_array):
239           support controlling enums
240
241 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
242
243         * gst/gstvalue.c:
244           Improve documentation for gst_value_union().
245
246         * gst/gstvalue.h:
247           Change return value for union, intersect and subtract functions
248           from gint to gboolean.
249
250 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
251
252         * gst/gstvalue.c: (gst_value_serialize_any_list),
253         (gst_value_transform_any_list_string),
254         (gst_value_deserialize_list), (gst_value_deserialize_array),
255         (gst_value_set_int_range), (gst_value_deserialize_int_range),
256         (gst_value_set_double_range), (gst_value_deserialize_double_range),
257         (gst_value_set_fraction_range_full),
258         (gst_value_deserialize_fraction_range),
259         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
260         (gst_value_deserialize_boolean),
261         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
262         (gst_value_serialize_float), (gst_value_deserialize_float),
263         (gst_string_wrap), (gst_value_deserialize_string),
264         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
265         (gst_value_union_int_range_int_range),
266         (gst_value_intersect_int_range_int_range),
267         (gst_value_intersect_double_range_double_range),
268         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
269         (gst_value_subtract_int_range_int_range),
270         (gst_value_subtract_double_double_range),
271         (gst_value_subtract_double_range_double_range),
272         (gst_value_deserialize_fraction):
273         * gst/gstvalue.h:
274           Use gint, gdouble and gchar in our API instead of int, double and
275           char (and make usage in gstvalue.c more consistent).
276
277 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
278
279         * check/Makefile.am:
280         * libs/gst/controller/Makefile.am:
281         * libs/gst/dataprotocol/Makefile.am:
282           fix up Makefile.am and remove GST_ENABLE_NEW
283
284 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
285
286         * configure.ac:
287         * gst/Makefile.am:
288         * gst/base/Makefile.am:
289         * gst/check/Makefile.am:
290         * gst/elements/Makefile.am:
291         * gst/net/Makefile.am:
292           update LDFLAGS use some more
293
294 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
295
296         * common/m4/gst-doc.m4:
297           Fixes #312589
298
299 2005-11-26  Edward Hervey  <edward@fluendo.com>
300
301         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
302         This shouldn't issue a g_warning since it returns NULL if it
303         couldn't find the plugin, and all functions using this behave
304         properly on a NULL return. Switching to a GST_WARNING.
305
306 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
307
308         * gst/gstbin.c: (gst_bin_handle_message_func):
309         Don't leak clock messages.
310
311 2005-11-25  Wim Taymans  <wim@fluendo.com>
312
313         * gst/gstutils.c: (gst_util_uint64_scale_int64),
314         (gst_util_uint64_scale_int):
315         Optimisations, remove unneeded vars.
316
317 2005-11-25  Wim Taymans  <wim@fluendo.com>
318
319         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
320         Added more checks for the high precision uint64 cases.
321
322         * gst/gstutils.c: (gst_util_uint64_scale_int64),
323         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
324         Implement high precission (guint64 * guint64) / guint64.
325
326 2005-11-24  Wim Taymans  <wim@fluendo.com>
327
328         * gst/base/gstbasesrc.c: (gst_base_src_query):
329         Fix wrong percentage query.
330
331         * gst/gstutils.c: (gst_util_uint64_scale),
332         (gst_util_uint64_scale_int):
333         Add some more common cases that can be handled 
334         efficiently to _scale.
335
336 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
337
338         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
339         (gst_mini_object_suite):
340           don't use check calls from threads; check probably isn't
341           threadsafe and using a lock to make it threadsafe would
342           defeat the purpose of this check
343         * gst/check/gstcheck.c:
344         * gst/check/gstcheck.h:
345           use GST_DEBUG some more
346
347 2005-11-24  Wim Taymans  <wim@fluendo.com>
348
349         * gst/gstutils.c: (gst_util_uint64_scale),
350         (gst_util_uint64_scale_int):
351         Chain trivial case to _scale_int.
352
353 2005-11-24  Wim Taymans  <wim@fluendo.com>
354
355         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
356         Added test for scaling.
357
358         * gst/gstclock.h:
359         Small doc fix.
360
361         * gst/gstutils.c: (gst_util_uint64_scale_int):
362         Implemented high precision scaling code.
363
364 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
365
366         * gst/gstinfo.h:
367           do not crash on pad==NULL
368
369 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
370
371         Patch by: Stefan Kost
372
373         * common/gtk-doc.mak:
374         * docs/gst/Makefile.am:
375         * docs/libs/Makefile.am:
376           Fix distcheck issues for the libraries docs build
377           Closes #319599.
378
379 2005-11-24  Michael Smith <msmith@fluendo.com>
380
381         * docs/manual/basics-helloworld.xml:
382           Fix bug #315027: memory leak in example code in docs.
383
384 2005-11-24  Michael Smith <msmith@fluendo.com>
385
386         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
387           Unlock the PREROLL_LOCK in a failure case.
388
389 2005-11-24  Wim Taymans  <wim@fluendo.com>
390
391         * docs/gst/gstreamer-sections.txt:
392         * gst/base/gstadapter.h:
393         * gst/base/gstbasesink.h:
394         * gst/base/gstbasesrc.h:
395         * gst/base/gstbasetransform.h:
396         * gst/base/gstpushsrc.h:
397         * gst/elements/gstfakesink.h:
398         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
399         * gst/elements/gstfakesrc.h:
400         * gst/elements/gstfilesink.h:
401         * gst/elements/gstfilesrc.h:
402         * gst/gst.c:
403         * gst/gstbin.c:
404         * gst/gstbuffer.c: (_gst_buffer_copy):
405         * gst/gstbus.h:
406         * gst/gstcaps.c:
407         * gst/gstchildproxy.c:
408         * gst/gstclock.c:
409         * gst/gstelement.c:
410         * gst/gstelementfactory.c:
411         * gst/gstelementfactory.h:
412         * gst/gstevent.c:
413         * gst/gstghostpad.h:
414         * gst/gstindex.h:
415         * gst/gstinterface.h:
416         * gst/gstminiobject.c:
417         * gst/gstminiobject.h:
418         * gst/gstpad.c:
419         * gst/gstpad.h:
420         * gst/gstpadtemplate.h:
421         * gst/gstpipeline.h:
422         * gst/gstpluginfeature.h:
423         * gst/gstquery.h:
424         * gst/gstqueue.h:
425         * gst/gsttaglist.c:
426         * gst/gsttaglist.h:
427         * gst/gsttagsetter.c:
428         * gst/gsttagsetter.h:
429         * gst/gsttrace.c:
430         * gst/gsttrace.h:
431         * gst/gsttypefind.h:
432         * gst/gsturi.h:
433         * gst/gstvalue.c:
434         * gst/net/gstnetclientclock.c:
435         * gst/net/gstnetclientclock.h:
436         * gst/net/gstnettimepacket.c:
437         * gst/net/gstnettimeprovider.c:
438         * gst/net/gstnettimeprovider.h:
439         Doc fixes.
440
441 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
442
443         * configure.ac: back to HEAD
444
445 === release 0.9.6 ===
446
447 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
448
449         * configure.ac:
450           releasing 0.9.6, "Always On Time"
451
452 2005-11-23  Wim Taymans  <wim@fluendo.com>
453
454         * docs/gst/gstreamer-sections.txt:
455         * gst/glib-compat.c:
456         * gst/gsttagsetter.c:
457         * gst/gstvalue.c:
458         * gst/net/gstnetclientclock.c:
459         * gst/net/gstnettimepacket.h:
460         Doc updates.
461
462 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
463
464         * docs/faq/using.xml:
465         * docs/libs/tmpl/gstcontrol.sgml:
466         * docs/manual/advanced-dparams.xml:
467         * docs/manual/appendix-checklist.xml:
468         * docs/manual/basics-elements.xml:
469         * docs/pwg/other-source.xml:
470         * docs/random/moving-plugins:
471         * gst/gstpad.c:
472         * tools/gst-launch.1.in:
473           remove mentions of sinesrc
474
475 2005-11-23  Michael Smith <msmith@fluendo.com>
476
477         * docs/gst/gstreamer-sections.txt:
478           Update for new API and API changes.
479         * gst/gstobject.h:
480           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
481         * gst/gstvalue.c:
482           Documentation typo fix.
483         * gst/net/gstnettimepacket.c:
484           Documentation fixes for arguments.
485
486 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
487
488         * gst/gststructure.c: (gst_structure_get_fraction),
489         (gst_structure_parse_value),
490         (gst_structure_fixate_field_nearest_fraction):
491         * gst/gststructure.h:
492         * gst/gstutils.c: (gst_util_uint64_scale_int):
493         * gst/gstutils.h:
494         * scripts/update-funcnames:
495         API Changes. 
496         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
497         Make gst_structure_fixate_field_nearest_fraction take a numerator
498         and denominator argument instead of a GValue
499         add gst_structure_get_fraction helper function.
500
501 2005-11-23  Wim Taymans  <wim@fluendo.com>
502
503         * docs/design/part-TODO.txt:
504         Update TODO.
505
506         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
507         * gst/net/gstnetclientclock.h:
508         Use parent fields for timeout and window_size.
509
510 2005-11-23  Andy Wingo  <wingo@pobox.com>
511
512         * check/net/gstnetclientclock.c (test_functioning): Adjust to
513         rate_num/rate_denom change.
514
515         * gst/net/gstnetclientclock.c
516         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
517         OBJECT_LOCK. Don't call add_observation with the lock.
518
519         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
520         fraction.
521         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
522         rate fraction.
523         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
524         deal with rate as a fraction whose numerator and denominator are
525         GstClockTime values.
526         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
527         master; the other fields are protected by the SLAVE_LOCK.
528         (do_linear_regression): Note that this must be called with the
529         SLAVE_LOCK.
530         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
531         OBJECT_LOCK. Call set_calibration instead of touching the
532         variables directly.
533         (gst_clock_set_property, gst_clock_get_property): Protect
534         master/slave parameters with the SLAVE_LOCK.
535
536         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
537         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
538         note that all of the instance variables that add_observation and
539         the set_master functions use are protected by that lock and not
540         the OBJECT_LOCK.
541         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
542
543         * gst/gstclock.c (gst_clock_add_observation): No longer requires
544         the caller to take the object lock.
545
546 2005-11-23  Wim Taymans  <wim@fluendo.com>
547
548         * gst/gsterror.c: (_gst_core_errors_init):
549         * gst/gsterror.h:
550         Add error for clock stuff.
551
552         * gst/gstpipeline.c: (gst_pipeline_change_state),
553         (gst_pipeline_set_clock):
554         Post clock error when clock cannot be used in a pipeline.
555
556 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
557
558         * docs/gst/gstreamer-sections.txt:
559           make two symbols from gstinfo private for the docs
560         * gst/base/gstcollectpads.h:
561         * gst/gstutils.c:
562           fix doc typos, update docs
563
564 2005-11-22  Wim Taymans  <wim@fluendo.com>
565
566         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
567         (gst_base_sink_wait), (gst_base_sink_do_sync),
568         (gst_base_sink_handle_event):
569         * gst/base/gstbasesink.h:
570         No need to store the clock, the parent element class already
571         has it.
572
573         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
574         Updates for clock_set returning a gboolean
575
576         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
577         (gst_clock_id_wait_async), (gst_clock_class_init),
578         (gst_clock_init), (gst_clock_finalize),
579         (gst_clock_get_internal_time), (gst_clock_get_time),
580         (gst_clock_slave_callback), (gst_clock_set_master),
581         (gst_clock_get_master), (do_linear_regression),
582         (gst_clock_add_observation), (gst_clock_set_property),
583         (gst_clock_get_property):
584         * gst/gstclock.h:
585         Implement master/slave. When setting a clock as a slave, a
586         periodic timeout is scheduled to sample master and slave times.
587         Then the slave clock is recalibrated to match offset and rate
588         of the master clock.
589         Update logging a bit.
590         Add flag so that a clock can state that is cannot be slaved to
591         another clock.
592
593         * gst/gstelement.c: (gst_element_set_clock):
594         * gst/gstelement.h:
595         The set clock returns a gboolean for when an element cannot
596         deal with the selected clock in the pipeline. 
597
598         * gst/gstpipeline.c: (gst_pipeline_change_state),
599         (gst_pipeline_set_clock):
600         * gst/gstpipeline.h:
601         Handle the case where the selected clock cannot be set on
602         the pipeline.
603
604         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
605         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
606         (gst_net_client_clock_set_property),
607         (gst_net_client_clock_get_property),
608         (gst_net_client_clock_observe_times):
609         * gst/net/gstnetclientclock.h:
610         Use regression code in GstClock parent, remove duplicated
611         functionality.
612
613 2005-11-22  Michael Smith <msmith@fluendo.com>
614
615         * gst/gstutils.c: (gst_util_clock_time_scale):
616         * gst/gstutils.h:
617         * docs/gst/gstreamer-sections.txt:
618           Rename method to have extra underscore.
619
620 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
621
622         * gst/elements/Makefile.am:
623         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
624         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
625         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
626         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
627         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
628         * gst/elements/gstfakesrc.h:
629         * gst/gstqueue.c: (queue_leaky_get_type):
630           correctly fix GEnumValues so that nick is the short lowercase
631           dashed tag
632         * tools/gst-inspect.c: (print_element_properties_info):
633           also show the nick, since it's useful to use from parse_launch
634           syntax
635           Fixes #322139
636
637 2005-11-22  Michael Smith <msmith@fluendo.com>
638
639         * gst/gstutils.c: (gst_util_clocktime_scale):
640         * gst/gstutils.h:
641         * docs/gst/gstreamer-sections.txt:
642           Add util method for scaling a clocktime by a fraction. Useful 
643           implementation is left as an exercise for the reader.
644
645 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
646
647         * gst/gstvalue.c: (gst_value_collect_fraction_range):
648         If needed, allocate storage in the destination value during
649         collection.
650
651 2005-11-22  Edward Hervey  <edward@fluendo.com>
652
653         * docs/gst/gstreamer-sections.txt:
654         * gst/Makefile.am:
655         * gst/gst.h:
656         * gst/gsturitype.c:
657         * gst/gsturitype.h:
658         * gst/gstutils.c: (gst_util_set_object_arg):
659         * tools/gst-compprep.c: (main):
660         * tools/gst-inspect.c: (print_element_properties_info):
661         Removed GstURI, closes bug #321061
662
663 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
664
665         * check/gst/gststructure.c: (GST_START_TEST):
666         * gst/gststructure.c: (gst_structure_parse_value):
667           Oops, broke automatic string type parsing.
668           Add a test to catch it in future.
669
670 2005-11-22  Andy Wingo  <wingo@pobox.com>
671
672         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
673         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
674         Actually rename the function implementations. Grr.
675
676 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
677
678         * check/gst/capslist.h:
679           Comment test cases
680         * check/gst/gststructure.c: (GST_START_TEST),
681         (gst_structure_suite):
682           Test automatic value type detection in gst_structure_from_string.
683         * gst/gststructure.c: (gst_structure_parse_value):
684           Add fraction as a type we try and guess automatically in
685           caps/structure strings.
686
687 2005-11-22  Andy Wingo  <wingo@pobox.com>
688
689         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
690
691         * gst/gsttagsetter.h:
692         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
693         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
694         (gst_tag_setter_add_tag_valist)
695         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
696         _add_values, _add_valist, and _add_valist_values. Since this is an
697         interface the function suffixes should be more explicit so
698         language binding don't end up with element.add_valist ->
699         gst_tag_setter_add_valist, for example. Fixes #322069.
700
701 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
702
703         * check/gst/gstcaps.c: (GST_START_TEST):
704           Extend caps string tests to check that a caps to string
705           conversion is reversible and produces the same caps.
706
707         * gst/gststructure.c: (gst_structure_value_get_generic_type):
708           Output "fraction" as the generic type fraction range, so caps
709           serialisation and deserialisation works.
710         * check/gst/capslist.h:
711         * gst/gstvalue.c: (gst_value_deserialize_fraction):
712           Support 'MIN' and 'MAX' for deserialising fractions.
713
714 2005-11-22  Andy Wingo  <wingo@pobox.com>
715
716         * gst/gstevent.h (gst_event_new_new_segment)
717         (gst_event_parse_new_segment, gst_event_new_buffer_size)
718         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
719         Renamed from *_newsegment, *_buffersize, *_notarget.
720
721         * scripts/update-funcnames: New script, performs the changes
722         listed above.
723
724 2005-11-22  Wim Taymans  <wim@fluendo.com>
725
726         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
727         Make sure the GstFlowReturn is returned.
728
729         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
730         (gst_bus_add_signal_watch):
731         * gst/gstbus.h:
732         add gst_bus_add_signal_watch_full.
733
734         * gst/gstplugin.c: (gst_plugin_load_file):
735         Small style cleanup.
736
737 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
738
739         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
740           Block the fakesrc srcpad when we send an event, to avoid
741           contention on the stream_lock causing random test failures.
742
743 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
744
745         * check/gst/gstvalue.c: (GST_START_TEST):
746         * gst/gstvalue.c: (gst_value_fraction_subtract):
747           Fix subtraction.
748
749 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
750
751         * gst/gst.h:
752           include "gstchildproxy.h"
753         * gst/gstchildproxy.h:
754         * libs/gst/controller/gstcontroller.h:
755           use G_GNUC_NULL_TERMINATED
756
757 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
758
759         * check/gst/capslist.h:
760         * check/gst/gstcaps.c: (GST_START_TEST):
761         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
762         * gst/gststructure.c: (gst_structure_parse_range),
763         (gst_structure_fixate_field_nearest_fraction):
764         * gst/gststructure.h:
765         * gst/gstvalue.c: (gst_value_init_fraction_range),
766         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
767         (gst_value_collect_fraction_range),
768         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
769         (gst_value_set_fraction_range_full),
770         (gst_value_get_fraction_range_min),
771         (gst_value_get_fraction_range_max),
772         (gst_value_serialize_fraction_range),
773         (gst_value_transform_fraction_range_string),
774         (gst_value_compare_fraction_range),
775         (gst_value_deserialize_fraction_range),
776         (gst_value_intersect_fraction_fraction_range),
777         (gst_value_intersect_fraction_range_fraction_range),
778         (gst_value_subtract_fraction_fraction_range),
779         (gst_value_subtract_fraction_range_fraction),
780         (gst_value_subtract_fraction_range_fraction_range),
781         (gst_value_collect_fraction), (gst_value_fraction_multiply),
782         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
783         (gst_value_transform_string_fraction), (_gst_value_initialize):
784         * gst/gstvalue.h:
785           Implement fraction ranges and extend GstFraction to support
786           arithmetic subtraction, as well as deserialization from integer
787           strings such as "100"
788           Add a testsuite as for int and double range set operations
789
790 2005-11-21  Andy Wingo  <wingo@pobox.com>
791
792         * gst/gsttaglist.h: 
793         * gst/gstcaps.h: 
794         * gst/gststructure.h: Add glib-compat.h.
795
796 2005-11-21  Wim Taymans  <wim@fluendo.com>
797
798         * gst/gstbin.c: (gst_bin_change_state_func):
799         Fix for #321595
800
801 2005-11-21  Wim Taymans  <wim@fluendo.com>
802
803         * gst/gstsegment.h:
804         And add a nice define too.
805
806 2005-11-21  Wim Taymans  <wim@fluendo.com>
807
808         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
809         (gst_segment_new), (gst_segment_free), (gst_segment_init),
810         (gst_segment_set_duration), (gst_segment_set_last_stop),
811         (gst_segment_set_seek), (gst_segment_set_newsegment),
812         (gst_segment_to_stream_time), (gst_segment_to_running_time),
813         (gst_segment_clip):
814         * gst/gstsegment.h:
815         Make binding friendly.
816
817 2005-11-21  Andy Wingo  <wingo@pobox.com>
818
819         * gst/gsttagsetter.h: 
820         * gst/gsttaglist.h: 
821         * gst/gststructure.h: 
822         * gst/gstcaps.h: 
823         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
824         #319940.
825
826         * gst/gsterror.c (_gst_core_errors_init):
827         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
828         category.
829
830         * gst/Makefile.am (gst_headers): Add glib-compat.h.
831         (noinst_HEADERS): noinst the -private.
832
833 2005-11-21  Michael Smith <msmith@fluendo.com>
834
835         * gst/gstplugin.h:
836         * gst/gstregistry.h:
837           Remove unimplemented declarations for which we can see no sensible
838           use.
839
840 2005-11-21  Andy Wingo  <wingo@pobox.com>
841
842         * gst/gst.h: Include glib-compat.h.
843
844         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
845
846         * gst/glib-compat.c: Include the public and the private header.
847
848         * gst/glib-compat-private.h: Copied here from glib-compat.h.
849
850         * gst/gstvalue.c: 
851         * gst/gstpad.c: 
852         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
853
854         * check/gst/gstevent.c (create_custom_events): Check that
855         FLUSH_STOP is serialized.
856
857         * check/elements/identity.c (event_func): 
858         * check/elements/fakesrc.c (event_func): No stream lock, the core
859         takes it.
860
861         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
862         stream lock taking, yay.
863
864         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
865         ensure that core takes the stream lock.
866
867         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
868         lock name change.
869
870         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
871         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
872         it already. For the flush start we do take it though so we get the
873         right preroll state change messages.
874
875         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
876         the stream lock here, the core does it for us.
877
878         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
879         GST_STREAM_GET_LOCK.
880         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
881         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
882         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
883         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
884         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
885         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
886
887         * gst/gstpad.c: Update for stream lock name change.
888
889         * gst/base/gstbasesink.c: Update for preroll lock name change.
890
891 2005-11-21  Wim Taymans  <wim@fluendo.com>
892
893         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
894         (gst_clock_get_master):
895         * gst/gstclock.h:
896         * gst/gstsystemclock.c: (gst_system_clock_init):
897         Convert Clock flags to object flags.
898         Added methods to manage master/slave clocks.
899
900 2005-11-21  Wim Taymans  <wim@fluendo.com>
901
902         * check/gst/gstsegment.c: (GST_START_TEST):
903         * docs/design/part-TODO.txt:
904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
905         (gst_base_sink_event), (gst_base_sink_do_sync),
906         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
907         (gst_base_sink_query), (gst_base_sink_change_state):
908         * gst/base/gstbasesink.h:
909         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
910         (gst_base_src_default_newsegment),
911         (gst_base_src_configure_segment), (gst_base_src_do_seek),
912         (gst_base_src_get_range), (gst_base_src_loop),
913         (gst_base_src_change_state):
914         * gst/base/gstbasesrc.h:
915         * gst/base/gstbasetransform.c:
916         (gst_base_transform_prepare_output_buf),
917         (gst_base_transform_event), (gst_base_transform_change_state):
918         * gst/base/gstbasetransform.h:
919         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
920         (gst_collect_pads_event):
921         * gst/base/gstcollectpads.h:
922         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
923         (gst_fake_src_create):
924         * gst/elements/gstfakesrc.h:
925         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
926         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
927         (gst_segment_set_last_stop), (gst_segment_set_seek),
928         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
929         (gst_segment_to_running_time), (gst_segment_clip):
930         * gst/gstsegment.h:
931         More segment updates, replace code in plugins with segment
932         helper functions.
933
934 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
935
936         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
937         Don't ignore sscanf results
938
939 2005-11-21  Andy Wingo  <wingo@pobox.com>
940
941         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
942
943         * *.h:
944         * *.c: Ran scripts/update-macros. Oh yes.
945
946         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
947         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
948         GST_GET_LOCK, etc.
949
950         * scripts/update-macros: New script. Run it on your files to
951         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
952         well.
953
954 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
955
956         * docs/gst/Makefile.am:
957         * docs/gst/gstreamer-docs.sgml:
958         * docs/gst/gstreamer-sections.txt:
959         * docs/gst/gstreamer.types:
960         * gst/gstinfo.h:
961           more docs fixes, add new api to the docs
962
963 2005-11-21  Andy Wingo  <wingo@pobox.com>
964
965         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
966         state_broadcast call.
967
968         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
969
970 2005-11-21  Julien MOUTTE  <julien@moutte.net>
971
972         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
973         function calls for arrays.
974
975 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
976
977         * docs/random/ensonic/media-device-daemon.txt:
978           wild idea, can this be done?
979         * docs/gst/gstreamer-sections.txt:
980         * gst/gsterror.h:
981         * gst/gstfilter.c:
982         * gst/gstfilter.h:
983         * gst/gstplugin.h:
984         * gst/gstpluginfeature.c:
985         * gst/gsttrace.c:
986         * gst/gstvalue.c:
987         * gst/gstvalue.h:
988           doc fixes and additions
989
990 2005-11-21  Andy Wingo  <wingo@pobox.com>
991
992         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
993         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
994         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
995         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
996         private to the basesrc implementation.
997
998         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
999         behalf of event function if necessary. It should no longer be
1000         necessary to take the stream lock in pad's event functions. Fixes
1001         #320299.
1002
1003 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1004         * docs/gst/gstreamer-sections.txt:
1005         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1006         (gst_structure_fixate_field_nearest_double),
1007         (gst_structure_fixate_field_boolean):
1008         * gst/gststructure.h:
1009         * win32/common/libgstreamer.def:
1010         * win32/gstreamer.def:
1011
1012         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1013         (#322027)
1014
1015 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1016
1017         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1018         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1019         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1020         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1021         (gst_fdsrc_uri_handler_init):
1022         * gst/elements/gstfdsrc.h:
1023           Port fd:// URI handler from 0.8 to fdsrc
1024
1025 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1026
1027         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1028         (gst_value_serialize_fourcc):
1029         * gst/gstvalue.h:
1030           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1031           consistent with our other format defines (#320324).
1032
1033 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1034
1035         * gst/gstvalue.c: (gst_value_is_fixed):
1036           Revert previous commit. Value lists are by definition
1037           not fixed, as they are a list of possible values.
1038
1039 2005-11-21  Andy Wingo  <wingo@pobox.com>
1040
1041         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1042         during the stable series if we need it. Fixes #319178.
1043
1044         * gst/gstevent.c (gst_event_new_filler): Removed.
1045
1046         * check/gst/gstevent.c: Update comment about filler events.
1047
1048 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1049
1050         * gst/gstvalue.c: (gst_value_is_fixed):
1051           Should handle both value arrays and value lists.
1052
1053 2005-11-21  Andy Wingo  <wingo@pobox.com>
1054
1055         patch by: Alessandro Dessina <alessandro nnva org>
1056
1057         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1058         functions to access arrays. Fixes #321962.
1059
1060 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1061
1062         * docs/gst/gstreamer.types:
1063           gst_collectpads_get_type => gst_collect_pads_get_type.
1064           
1065         * gst/base/gstbasetransform.c:
1066           Remove unused SIGNAL_HANDOFF enum.
1067
1068 2005-11-21  Andy Wingo  <wingo@pobox.com>
1069
1070         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1071         the event type (upstream, downstream, serialized). Renamed
1072         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1073         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1074         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1075
1076         * gst/gstevent.c: Update for new CUSTOM event names.
1077
1078         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1079
1080         * gst/gstevent.h:
1081         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1082         bug #319392.
1083
1084 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1085
1086         * docs/gst/gstreamer-sections.txt:
1087         * win32/common/libgstbase.def:
1088         * win32/libgstbase.def:
1089         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1090         (gst_collect_pads_class_init), (gst_collect_pads_init),
1091         (gst_collect_pads_finalize), (gst_collect_pads_new),
1092         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1093         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1094         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1095         (gst_collect_pads_start), (gst_collect_pads_stop),
1096         (gst_collect_pads_peek), (gst_collect_pads_pop),
1097         (gst_collect_pads_available), (gst_collect_pads_read),
1098         (gst_collect_pads_flush), (gst_collect_pads_event),
1099         (gst_collect_pads_chain):
1100         * gst/base/gstcollectpads.h:
1101           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1102           unimplemented functions as unimplemented. Add padding to
1103           GstCollectData. (#320766, #320423)
1104
1105 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1106
1107         * gst/gstmessage.c:
1108           Improve docs for DURATION message (usage of duration parameter)
1109           (#320113)
1110
1111 2005-11-20  Wim Taymans  <wim@fluendo.com>
1112
1113         * check/Makefile.am:
1114         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1115         (main):
1116         * gst/Makefile.am:
1117         * gst/gst.h:
1118         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1119         (gst_segment_set_seek), (gst_segment_set_newsegment),
1120         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1121         (gst_segment_clip):
1122         * gst/gstsegment.h:
1123         Added segment helper structure and methods. Not fully implemented
1124         yet.
1125         Added segment check.
1126
1127 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1128
1129         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1130           Add a deserialisation test for fractions
1131         * examples/metadata/read-metadata.c: (message_loop),
1132         (make_pipeline), (main):
1133           Fix up metadata reading sample.
1134         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1135           Debug format fix
1136         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1137           Don't try and fixate empty caps
1138         * gst/gst_private.h:
1139           Wrap in G_BEGIN_DECLS/G_END_DECLS
1140         * gst/gstvalue.c: (gst_value_collect_fraction),
1141         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1142         (gst_value_transform_string_fraction),
1143         (gst_value_compare_fraction):
1144           Add some extra guards to ensure that we don't end up 
1145           with an invalid denominator of 0 in a gstfraction and
1146           that fractions always get reduced.
1147
1148 2005-11-20  Wim Taymans  <wim@fluendo.com>
1149
1150         * docs/gst/gstreamer-sections.txt:
1151         * gst/gstbuffer.h:
1152         * gst/gstelement.c:
1153         * gst/gstformat.c:
1154         * gst/gstformat.h:
1155         * gst/gstindex.h:
1156         * gst/gstquery.c:
1157         * gst/gstquery.h:
1158         * gst/gstvalue.c:
1159         Doc fixes.
1160
1161 2005-11-20  Wim Taymans  <wim@fluendo.com>
1162
1163         * docs/design/part-TODO.txt:
1164         * gst/gstcaps.h:
1165         Make a proper enum of the flag.
1166
1167 2005-11-19  Wim Taymans  <wim@fluendo.com>
1168
1169         * docs/design/part-TODO.txt:
1170         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1171         (gst_format_to_quark), (gst_format_register):
1172         * gst/gstformat.h:
1173         * gst/gstquery.c: (_gst_query_initialize),
1174         (gst_query_type_get_name), (gst_query_type_to_quark),
1175         (gst_query_type_register):
1176         * gst/gstquery.h:
1177         Add type to quark and type to string conversions.
1178
1179 2005-11-19  Andy Wingo  <wingo@pobox.com>
1180
1181         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1182         #320097.
1183
1184 2005-11-19  Wim Taymans  <wim@fluendo.com>
1185
1186         * docs/design/part-TODO.txt:
1187         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1188         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1189         (gst_bin_handle_message_func):
1190         * gst/gstbin.h:
1191         Make message handling overridable.
1192
1193 2005-11-19  Andy Wingo  <wingo@pobox.com>
1194
1195         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1196
1197         * gst/gstclock.h:
1198         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1199         be a GstClockTime.
1200         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1201         is a GstClockTime. Fixes #321710.
1202
1203         * gst/gstclock.h (GstClock): Remove offset property. Add
1204         internal_calibration and external_calibration. Fix padding. Pad
1205         also by GstClockTime so we don't run into problems.
1206
1207         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1208         (gst_clock_get_rate_offset): Remove.
1209         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1210
1211         * gst/gstutils.h:
1212         * gst/gstutils.c (g_static_rec_cond_wait)
1213         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1214
1215         * gst/gstbin.c: Remove terrible continue_state prototype.
1216
1217         * gst/gstelement.h (gst_element_continue_state): Make public.
1218
1219         * gst/gstelement.h:
1220         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1221         by continue_state. Fixes #319389.
1222
1223         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1224         Really fixes #168438. However I don't see anywhere where the
1225         filter function is called... stupid GStreamer...
1226         
1227         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1228         don't have a dispose function, so it won't get called when the
1229         object is unreffed, but oh well!
1230
1231         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1232         allows a destroy function to be set so user_data can be freed.
1233         Fixes #168438.
1234         (gst_index_set_filter): Call gst_index_set_filter_full.
1235
1236         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1237
1238         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1239         string should produce an error, given the lack of a way to
1240         represent NULL strings. Fixes #165650.
1241         
1242         * gst/gstvalue.h: 
1243         * gst/gstvalue.c (gst_value_array_append_value) 
1244         (gst_value_array_prepend_value, gst_value_array_get_size) 
1245         (gst_value_array_get_value): New API, copied from
1246         gst_value_list_*, only operates on arrays.
1247         (gst_value_list_append_value, gst_value_list_prepend_value) 
1248         (gst_value_list_concat, gst_value_list_get_size) 
1249         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1250
1251         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1252         init_list, because it works on both.
1253         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1254         (gst_value_copy_list_or_array): Renamed from copy_list.
1255         (gst_value_free_list_or_array): Renamed from free_list.
1256         (gst_value_collect_list_or_array): Renamed from collect_list.
1257         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1258         (gst_value_list_or_array_peek_pointer): Renamed from
1259         list_peek_pointer.
1260         (_gst_value_array_value_table, _gst_value_list_value_table):
1261         Update value table functions.
1262         (gst_value_compare_list_or_array): Renamed from compare_list.
1263
1264         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1265         some constness.
1266
1267         * gst/gsttaglist.c:
1268         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1269         GstTagList*. Fixes #143472.
1270
1271         * gst/gststructure.h: Clarify what the foreach/map functions can
1272         or can't do to their arguments.
1273
1274 2005-11-18  Wim Taymans  <wim@fluendo.com>
1275
1276         * gst/gstclock.c: (gst_clock_set_calibration),
1277         (gst_clock_get_calibration):
1278         Doc and API fixes.
1279         Calibration can be set with internal time equal to current
1280         internal time too.
1281
1282 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1283
1284         * gst/gsterror.c:
1285         * gst/gsterror.h:
1286           document
1287
1288 2005-11-18  Andy Wingo  <wingo@pobox.com>
1289
1290         * configure.ac: 
1291         * pkgconfig/gstreamer-net.pc.in:
1292         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1293         * pkgconfig/Makefile.am: Add net pkgconfig files.
1294
1295 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1296
1297         * gst/gstcaps.c:
1298         * gst/gstghostpad.c:
1299         * gst/gsttrace.c:
1300         * gst/gstvalue.c:
1301         * gst/gstvalue.h:
1302           docs fixes
1303
1304 2005-11-18  Andy Wingo  <wingo@pobox.com>
1305
1306         * gst/net/gstnetclientclock.c: Turn off debugging.
1307
1308         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1309         times connverge somewhat. Can't make a real test.
1310
1311         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1312         integer arithmetic. Return the minimum of the domain, which can be
1313         set as "internal" for gst_clock_set_calibration.
1314         (gst_net_client_clock_observe_times): Call _set_calibration.
1315         (gst_net_client_clock_new): Call _set_calibration instead of
1316         rate_offset.
1317
1318         * check/net/gstnetclientclock.c (test_functioning): Use the right
1319         adjustment api.
1320
1321         * gst/gstclock.h:
1322         * gst/gstclock.c (gst_clock_get_calibration) 
1323         (gst_clock_set_calibration): New functions, obsolete the ones I
1324         added yesterday. Doh. Precision issues mean we have to extrapolate
1325         from a point in the more recent past than 1970.
1326         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1327         obsolete.
1328         (gst_clock_adjust_unlocked): Use the right calibration data.
1329
1330 2005-11-18  Edward Hervey  <edward@fluendo.com>
1331
1332         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1333         Also reset the ->current_* values in READY->PAUSED
1334
1335 2005-11-18  Andy Wingo  <wingo@pobox.com>
1336
1337         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1338         Whoops, check the right fd. Also add some debugging.
1339         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1340         (do_linear_regression): Add a crapload of debugging. Subtract off
1341         the minimum values from the input series to discard unneeded bits.
1342         Use only int arithmetic. There is still double arithmetic when
1343         calculating the intercept that needs fixing. Return boolean to
1344         indicate success; FALSE would mean the domain or range is too
1345         great. Still needs fixes.
1346
1347 2005-11-18  Wim Taymans  <wim@fluendo.com>
1348
1349         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1350         For the current position in stream time, we need to subtract
1351         accumulated time.
1352         
1353         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1354         Release lock before calling the callback function of async
1355         entries.
1356
1357 2005-11-18  Andy Wingo  <wingo@pobox.com>
1358
1359         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1360         Port goes all the way to MAXUINT16.
1361
1362         * gst/net/gstnettimeprovider.c: Make the port range the same as
1363         for the kernel: 0 assigns, otherwise ports are less than
1364         MAXUINT16.
1365
1366         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1367         port change.
1368
1369         * check/net/gstnetclientclock.c (test_functioning): Add the start
1370         of another test. 
1371
1372 2005-11-18  Wim Taymans  <wim@fluendo.com>
1373
1374         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1375         (gst_bin_remove_func), (bin_bus_handler):
1376         * gst/gstbin.h:
1377         Removing a clock provider from a bin, triggers a clock lost message
1378         so that a new clock will be selected.
1379         Adding a clock to a bin triggers a clock provider message.
1380         Make sure we reselect a clock when we received a clock lost message.
1381         Keep a reference to the element that provided the clock.
1382
1383 2005-11-18  Andy Wingo  <wingo@pobox.com>
1384
1385         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1386         the clock initially so it produces values around the base time.
1387         (gst_net_client_clock_class_init): Typo fix.
1388         (gst_net_client_clock_thread): Add note on when the socket gets
1389         closed.
1390
1391 2005-11-17  Wim Taymans  <wim@fluendo.com>
1392
1393         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1394         Free remote and local time arrays.
1395
1396 2005-11-17  Wim Taymans  <wim@fluendo.com>
1397
1398         * gst/net/gstnetclientclock.c: (do_linear_regression),
1399         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1400         Fix compilation, uninitialized vars and a forgotten continue.
1401
1402 2005-11-17  Andy Wingo  <wingo@pobox.com>
1403
1404         * check/Makefile.am (check_PROGRAMS): 
1405         * check/net/gstnetclientclock.c: Add a most minimal test for the
1406         net client clock. More to come later.
1407
1408         * gst/net/gstnet.h: 
1409         * gst/net/Makefile.am: Add netclientclock.
1410
1411         * gst/net/gstnetclientclock.h:
1412         * gst/net/gstnetclientclock.c: New files, implement an untested
1413         GstClock that takes its time from a network time provider.
1414         Implements the algorithm in network-clock.scm.
1415
1416         * tests/network-clock.scm (*window-size*): Rename from
1417         *queue-length*.
1418         * tests/network-clock.scm (network-time): 
1419         * tests/network-clock-utils.scm (q-push): Update callers.
1420
1421 2005-11-17  Wim Taymans  <wim@fluendo.com>
1422
1423         * gst/gstbin.c: (gst_bin_provide_clock_func),
1424         (gst_bin_sort_iterator_new):
1425         And unref the child too..
1426
1427 2005-11-17  Wim Taymans  <wim@fluendo.com>
1428
1429         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1430         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1431         Refactor the sort iterator so it can be used while holding the
1432         LOCK too.
1433         Make clock selection select a clock closest to the source.
1434
1435 2005-11-17  Michael Smith <msmith@fluendo.com>
1436
1437         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1438         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1439         * gst/gstclock.h:
1440           Anonymous structs are a gcc (and some other compilers) extension, so
1441           don't use them. Since this is only for ABI-compatibility, and our
1442           API/ABI freeze is over in a few days, this whole thing will only
1443           last a few days, so don't bother trying to think up a meaningful
1444           name for the struct.
1445
1446 2005-11-17  Andy Wingo  <wingo@pobox.com>
1447
1448         * gst/gstclock.h (GstClock): Add rate and offset properties,
1449         preserving ABI stability. Add rate/offset accessors. Will file bug
1450         for the freeze break.
1451
1452         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1453         and offset, trying to keep precision and avoiding
1454         underflow/overflow.
1455         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1456         functions. Make gst_clock_set_time_adjust obsolete.
1457         (gst_clock_set_time_adjust): Note that this function is obsolete.
1458         Will file bug soon.
1459
1460         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1461         greppable by using GST_PADDING-1+1.
1462
1463 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1464
1465         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1466
1467         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1468           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1469
1470         * gst/gstpadtemplate.h:
1471         * gst/gstpluginfeature.h:
1472           Don't use c++ style comments in headers (#321638).
1473
1474 2005-11-16  Andy Wingo  <wingo@pobox.com>
1475
1476         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1477         buffer.
1478
1479         * check/net/gstnettimeprovider.c: Check to see that the time
1480         provider actually provides times. Works, yo!
1481
1482 2005-11-16  Wim Taymans  <wim@fluendo.com>
1483
1484         * check/Makefile.am:
1485         Enable more tests.
1486
1487         * check/elements/fakesrc.c: (GST_START_TEST):
1488         Set element to NULL before disposing it.
1489
1490 2005-11-16  Andy Wingo  <wingo@pobox.com>
1491
1492         * gst/net/Makefile.am:
1493         * gst/net/gstnet.h:
1494         * gst/net/gstnettimeprovider.c: 
1495         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1496         provider, include it from gstnet.h, and add it to the build.
1497
1498         * gst/net/gstnettimepacket.h: 
1499         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1500         sending and receiving.
1501
1502 2005-11-16  Wim Taymans  <wim@fluendo.com>
1503
1504         * check/Makefile.am:
1505         Enable valgrind check.
1506
1507         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1508         (gst_fake_src_alloc_buffer):
1509         Fix memleak.
1510
1511 2005-11-16  Wim Taymans  <wim@fluendo.com>
1512
1513         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1514         Call parent finalize too.
1515
1516 2005-11-16  Wim Taymans  <wim@fluendo.com>
1517
1518         * check/Makefile.am:
1519         Enable valgrind check that should work fine now.
1520
1521         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1522         * gst/gstqueue.c: (gst_queue_init):
1523         Fix memleaks in pad allocation.
1524
1525 2005-11-16  Andy Wingo  <wingo@pobox.com>
1526
1527         * gst/net/Makefile.am:
1528         * gst/net/gstnet.h: New part of core to hold network elements and
1529         objects. Put in core because it exposes API that applications want
1530         to use. The library is named libgstnet-tempname right now because
1531         of the existing libgstnet in gst-plugins-base. Solution is
1532         probably to rename the one in plugins-base; will file a bug for
1533         the freeze break.
1534
1535         * gst/net/gstnettimeprovider.c: 
1536         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1537         get_time call over the network.
1538
1539         * configure.ac: 
1540         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1541
1542         * check/Makefile.am:
1543         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1544         get additions shortly.
1545
1546 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1547
1548         * gst/gstpad.c: (gst_pad_new_from_static_template):
1549         * gst/gstpad.h:
1550           add gst_pad_new_from_static_template functions
1551         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1552         (gst_check_setup_sink_pad):
1553         * gst/elements/gsttee.c: (gst_tee_init):
1554           and use them
1555
1556 2005-11-16  Wim Taymans  <wim@fluendo.com>
1557
1558         * gst/gstpad.c: (gst_pad_pause_task):
1559         Removed warning, it's not really an error either.
1560
1561 2005-11-16  Wim Taymans  <wim@fluendo.com>
1562
1563         * gst/base/gstbasetransform.c:
1564         (gst_base_transform_prepare_output_buf),
1565         (gst_base_transform_event):
1566         Check if the caps are NULL, this can happen if the element
1567         is shutting down and the pad caps are set to NULL.
1568
1569 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1570
1571         * gst/elements/gsttee.c: (gst_tee_init):
1572           fix pad template leak in tee
1573
1574 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1575
1576         * gst/glib-compat.c: (g_value_dup_gst_object):
1577         * gst/glib-compat.h:
1578         * gst/gstpad.c: (gst_pad_set_property):
1579           use gst_object_ref when setting the pad template; this will
1580           trigger the pad template leaks on GLib 2.6 and the slaves
1581
1582 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1583
1584         * gst/glib-compat.c: (gst_flags_get_first_value):
1585         * gst/glib-compat.h:
1586         * gst/gstregistryxml.c:
1587           remove functions copied from GLib 2.6
1588
1589 2005-11-16  Michael Smith <msmith@fluendo.com>
1590
1591         * gst/Makefile.am:
1592           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1593           do, but only breaks with newer valgrind versions. We're not a
1594           valgrind tool, we have no link-time dependencies on libcoregrind.
1595
1596 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1597
1598         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1599           some debug changes
1600         * gst/gstmessage.h:
1601           typo fixes
1602
1603 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1604
1605         * gst/base/gstbasesrc.c: (gst_base_src_init):
1606         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1607         * gst/gstqueue.c: (gst_queue_init):
1608         * gst/gstregistryxml.c: (load_feature):
1609           Revert all these unrefs, they don't even pass make check !
1610
1611 2005-11-15  Johan Dahlin  <johan@gnome.org>
1612
1613         * gst/base/gstbasesrc.c: (gst_base_src_init):
1614         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1615         * gst/gstqueue.c: (gst_queue_init): 
1616         Free pad templates, fixes a couple of leaks.
1617
1618 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1619
1620         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1621
1622         * gst/gstpad.c: (gst_pad_get_property):
1623           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1624           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1625           (#321452)
1626
1627 2005-11-15  Wim Taymans  <wim@fluendo.com>
1628
1629         * gst/gstevent.c:
1630         Small doc update.
1631
1632 2005-11-15  Andy Wingo  <wingo@pobox.com>
1633
1634         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1635
1636         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1637         using GST_CLOCK_TIME_NONE to disable base time management.
1638         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1639         time if it was NONE before.
1640         (gst_pipeline_change_state): Only munge the base time if
1641         stream_time != GST_CLOCK_TIME_NONE.
1642
1643         * check/gst/gstpipeline.c (test_base_time): Punt around the
1644         problem of the probe not being called, because that's not the
1645         issue I'm looking at. Add a check that setting stream_time to NONE
1646         disables base time management.
1647         
1648 2005-11-15  Wim Taymans  <wim@fluendo.com>
1649
1650         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1651         segment_stop == -1 at startup.
1652
1653         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1654         (gst_base_transform_change_state):
1655         Init segment values at start.
1656
1657 2005-11-15  Wim Taymans  <wim@fluendo.com>
1658
1659         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1660         0 segment values are 0 in any format.
1661
1662         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1663         * gst/base/gstbasetransform.h:
1664         Parse newsegment correctly in basetransform
1665
1666         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1667         Sync to clock using updated segment values.
1668
1669 2005-11-15  Andy Wingo  <wingo@pobox.com>
1670
1671         * check/gst/gstpipeline.c (test_base_time): Add check that the
1672         base time and stream time are reset correctly.
1673
1674 2005-11-15  Wim Taymans  <wim@fluendo.com>
1675
1676         * docs/design/part-TODO.txt:
1677         Some more TODO items.
1678
1679 2005-11-15  Andy Wingo  <wingo@pobox.com>
1680
1681         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1682         error if the user selected "no clock" as the clocking method.
1683
1684         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1685         timestamps with live capture.
1686
1687         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1688         is 0 but we are a live source, timestamp the buffers using the
1689         element's clock.
1690
1691 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1692
1693         * docs/gst/gstreamer-sections.txt:
1694         * gst/gsterror.c:
1695         * gst/gstghostpad.c:
1696         * gst/gstobject.h:
1697         * gst/gstxml.c:
1698           more section docs
1699
1700 2005-11-14  Wim Taymans  <wim@fluendo.com>
1701
1702         * common/gst.supp:
1703           add suppressions from Wim's Debian machine
1704
1705 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1706
1707         * common/gst.supp:
1708           add suppressions from Andy's AMD64 Ubuntu machine
1709
1710 2005-11-14  Andy Wingo  <wingo@pobox.com>
1711
1712         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1713         STATE_LOCK not necessary. Fixes #311489.
1714
1715         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1716         #305291.
1717
1718         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1719         this function is not implemented.
1720
1721 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1722
1723         * gst/base/gstbasetransform.c:
1724         (gst_base_transform_prepare_output_buf):
1725         Ref the source pad caps while we need them.
1726         Fixes (#321386)
1727
1728 2005-11-11  Wim Taymans  <wim@fluendo.com>
1729
1730         * docs/gst/gstreamer-sections.txt:
1731         Added some docs for GstCollectData.
1732
1733         * gst/base/gstadapter.c:
1734         Some small code example fix.
1735
1736         * gst/base/gstcollectpads.c:
1737         * gst/base/gstcollectpads.h:
1738         Document some more.
1739
1740 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1741
1742         * configure.ac: back to HEAD
1743
1744 === release 0.9.5 ===
1745
1746 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1747
1748         * configure.ac:
1749           releasing 0.9.5, "Bike Lunch Day"
1750
1751 2005-11-11  Wim Taymans  <wim@fluendo.com>
1752
1753         * gst/gstbuffer.c: (_gst_buffer_copy):
1754         Copy more flags.
1755
1756         * gst/gstcaps.c: (gst_caps_is_equal):
1757         Fix some docs.
1758         Make _is_equal fast in the trivial cases.
1759
1760         * gst/gstminiobject.c:
1761         * gst/gstminiobject.h:
1762         More docs. Spifify .h file.
1763
1764         * gst/gstutils.c:
1765         Small doc update.
1766
1767 2005-11-11  Wim Taymans  <wim@fluendo.com>
1768
1769         * gst/base/gstbasetransform.c:
1770         (gst_base_transform_prepare_output_buf),
1771         (gst_base_transform_handle_buffer):
1772         Small cleanups.
1773         If we're processing a buffer and need to allocate an output
1774         buffer, we cannot accept a format change. If we did get a 
1775         format change, we have to alloc a buffer ourselves of the 
1776         right size.
1777
1778 2005-11-11  Wim Taymans  <wim@fluendo.com>
1779
1780         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1781         While checking the flag for reentrancy in the gstcaps function
1782         is nice to detect recursive invocations, it also makes it 
1783         impossible to call getcaps from multiple threads, which must be
1784         possible. So, checking for recursive calls has to go.
1785
1786 2005-11-11  Michael Smith <msmith@fluendo.com>
1787
1788         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1789           Don't sync on buffers that fall partially outside our current
1790           segment. Prevents an assertion failure/abort playing some files.
1791
1792 2005-11-10  Andy Wingo  <wingo@pobox.com>
1793
1794         * check/gst/gstbin.c (test_message_state_changed_children): Style
1795         fix..
1796
1797         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1798         gst_bus_poll with the signal watch. Ensures that poll and a signal
1799         watch see the same messages.
1800
1801         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1802         a poll and a watch at the same time get the same messages.
1803
1804 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1805
1806         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1807         * gst/gstcaps.c: (gst_caps_intersect):
1808           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1809           and it's not needed.
1810
1811 2005-11-10  Wim Taymans  <wim@fluendo.com>
1812
1813         * docs/design/part-TODO.txt:
1814         Updated todo.
1815
1816 2005-11-10  Wim Taymans  <wim@fluendo.com>
1817
1818         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1819         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1820         (gst_base_src_do_sync), (gst_base_src_get_range):
1821         Implement clock sync in base class.
1822
1823 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1824
1825         patch by: Tim-Philipp Müller <tim at centricular dot net>
1826
1827         * gst/gststructure.c: (gst_structure_parse_field),
1828         (gst_structure_from_string):
1829           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1830           so that gst_parse_launch() can deal with spaces in filtered link
1831           caps (fixes #164479)
1832         * check/gst/capslist.h:
1833         * check/gst/gststructure.c: (GST_START_TEST):
1834           add unit tests for this change
1835
1836 2005-11-10  Wim Taymans  <wim@fluendo.com>
1837
1838         * docs/gst/gstreamer-sections.txt:
1839         * gst/gstelement.c:
1840         * gst/gstelement.h:
1841         Fix docs, move some STATE macros to private.
1842
1843 2005-11-10  Wim Taymans  <wim@fluendo.com>
1844
1845         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1846         Added check for bug #317341
1847
1848         * gst/gstbuffer.c:
1849         * gst/gstbuffer.h:
1850         Some more spiffifying.
1851
1852         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1853         Call peer linkfunction if we are a source pad. Totally fixes
1854         #317341
1855
1856         * gst/gstpad.c:
1857         Update docs, source pads should call the peer linkfunction
1858         so they can atomically perform the pad link.
1859
1860 2005-11-09  Wim Taymans  <wim@fluendo.com>
1861
1862         * gst/gstbuffer.c:
1863         * gst/gstbuffer.h:
1864         Uber-spiffy-spiffify some more.
1865
1866 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1867
1868         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1869         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1870         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1871         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1872         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1873         * gst/gstpad.c: (gst_pad_init):
1874           Use GST_DEBUG_FUNCPTR() more extensively.
1875
1876 2005-11-09  Wim Taymans  <wim@fluendo.com>
1877
1878         * gst/gstobject.c: (gst_object_class_init):
1879         * gst/gstobject.h:
1880         Documentation fixes.
1881
1882 2005-11-09  Edward Hervey  <edward@fluendo.com>
1883
1884         * gst/gsttypefindfactory.c:
1885         Fix docs.
1886         
1887 2005-11-09  Edward Hervey  <edward@fluendo.com>
1888
1889         * gst/base/gsttypefindhelper.c:
1890         * gst/gsttypefind.c:
1891         * gst/gsttypefind.h:
1892         Fix docs.
1893
1894 2005-11-09  Wim Taymans  <wim@fluendo.com>
1895
1896         * gst/gstiterator.c:
1897         Fix revision data.
1898
1899         * gst/gsttask.c:
1900         * gst/gsttask.h:
1901         Fix docs.
1902
1903 2005-11-09  Wim Taymans  <wim@fluendo.com>
1904
1905         * gst/gstevent.h:
1906         * gst/gsturi.h:
1907         Fix docs.
1908
1909 2005-11-09  Wim Taymans  <wim@fluendo.com>
1910
1911         * docs/gst/gstreamer-sections.txt:
1912         Moved the message async delivery private lock and cond
1913         to the private section.
1914
1915         * gst/gstmessage.c:
1916         * gst/gstmessage.h:
1917         Fixed docs.
1918
1919 2005-11-09  Edward Hervey  <edward@fluendo.com>
1920
1921         * docs/gst/gstreamer-sections.txt:
1922         * gst/gsturi.c:
1923         * gst/gsturi.h:
1924         Document GstURIHandler
1925
1926 2005-11-09  Wim Taymans  <wim@fluendo.com>
1927
1928         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1929         (gst_iterator_find_custom):
1930         * gst/gstiterator.h:
1931         Fix iterator docs.
1932
1933 2005-11-09  Wim Taymans  <wim@fluendo.com>
1934
1935         * gst/gstbin.h:
1936         Document another field.
1937
1938         * gst/gststructure.c:
1939         * gst/gststructure.h:
1940         Document.
1941
1942 2005-11-09  Wim Taymans  <wim@fluendo.com>
1943
1944         * gst/gstbin.h:
1945         Documented structs.
1946
1947 2005-11-09  Wim Taymans  <wim@fluendo.com>
1948
1949         * docs/gst/gstreamer-sections.txt:
1950         Added some new macros.
1951
1952         * gst/gstclock.c:
1953         * gst/gstclock.h:
1954         * gst/gstobject.h:
1955         Docs updates.
1956
1957 2005-11-09  Wim Taymans  <wim@fluendo.com>
1958
1959         * docs/design/part-TODO.txt:
1960         Some more items for the TODO
1961
1962         * gst/gstcaps.c:
1963         * gst/gstcaps.h:
1964         Document GstCaps.
1965
1966 2005-11-09  Andy Wingo  <wingo@pobox.com>
1967
1968         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1969         to work on something else now tho...
1970
1971         * gst/base/gstadapter.c: More adapter docs.
1972
1973         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1974         (gst_file_sink_stop): New functions, replace the state change
1975         handler.
1976         (gst_file_sink_class_init): Hook up the start and stop functions.
1977         (gst_file_sink_base_init): Don't set the state change handler any
1978         more. It was a bit ugly too, being set from here...
1979         (gst_file_sink_get_property, gst_file_sink_set_property):
1980         Cleanups...
1981         (gst_file_sink_set_location): More robust check that doesn't call
1982         GST_STATE. Ugggggg.
1983
1984 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1985
1986         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1987           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1988
1989 2005-11-08  Wim Taymans  <wim@fluendo.com>
1990
1991         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1992         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1993         (gst_base_sink_chain), (gst_base_sink_change_state):
1994         * gst/base/gstbasesink.h:
1995         * gst/base/gstbasesrc.h:
1996         * gst/gstelement.h:
1997         * gst/gstevent.h:
1998         Avoid excessive typechecking in macros.
1999
2000         * gst/gstminiobject.c: (gst_mini_object_get_type),
2001         (gst_mini_object_init), (gst_mini_object_new),
2002         (gst_mini_object_free):
2003         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2004         (gst_object_finalize):
2005         Remove cruft code, optimize alloc_trace.
2006
2007 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2008
2009         * docs/faq/gst-uninstalled:
2010           fix up PS1 for systems that try to reset it
2011
2012 2005-11-07  Wim Taymans  <wim@fluendo.com>
2013
2014         * gst/base/gstbasesrc.c: (gst_base_src_init),
2015         (gst_base_src_get_range):
2016         Set the segment_end to -1 initially. Fixed typefind.
2017
2018 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2019
2020         * gst/base/gstadapter.c:
2021           Debug category should be 'adapter', not 'GstAdapter'.
2022           
2023         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2024         (gst_collectpads_class_init), (gst_collectpads_init),
2025         (gst_collectpads_peek), (gst_collectpads_pop),
2026         (gst_collectpads_event), (gst_collectpads_chain):
2027           Add debug category and some debugging output. Use boilerplate
2028           macros. Remove some extraneous words from docs.
2029
2030 2005-11-05  Andy Wingo  <wingo@pobox.com>
2031
2032         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2033         macro.
2034
2035 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2036
2037         * docs/gst/gstreamer-sections.txt:
2038         * gst/gstcaps.h:
2039         * gst/gstinfo.c:
2040         * gst/gstminiobject.h:
2041         * gst/gstobject.h:
2042         * gst/gstutils.h:
2043           more docs added
2044
2045 2005-11-04  Wim Taymans  <wim@fluendo.com>
2046
2047         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2048         Small update to stop at the configured segment_end
2049         position.
2050
2051 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2052
2053         * gst/gstregistry.c:
2054         * gst/gstregistry.h:
2055           added missing docs
2056
2057 2005-11-04  Edward Hervey  <edward@fluendo.com>
2058
2059         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2060         Check if we are doing a segment seek and have arrived at the
2061         end of that segment.
2062
2063 2005-11-04  Wim Taymans  <wim@fluendo.com>
2064
2065         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2066         Don't leak a mutex unlock in case of an error.
2067
2068         * gst/gstbus.h:
2069         Doc fixes.
2070
2071 2005-11-04  Wim Taymans  <wim@fluendo.com>
2072
2073         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2074         (gst_bus_post):
2075         Get the context to wake up only once.
2076
2077 2005-11-03  Wim Taymans  <wim@fluendo.com>
2078
2079         * check/states/sinks.c: (GST_START_TEST):
2080         Uncomment fixed check.
2081
2082         * docs/design/part-TODO.txt:
2083         Updated TODO.
2084
2085         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2086         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2087         (gst_base_sink_get_position):
2088         If we are going to PLAYING, post the right pending state
2089         when we post the intermediate paused message.
2090
2091         * gst/gstelement.c: (gst_element_continue_state),
2092         (gst_element_set_state_func), (gst_element_change_state):
2093         Don't post state changes that were between the same state
2094         and were not ASYNC.
2095
2096 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2097
2098         * docs/gst/gstreamer-sections.txt:
2099         * gst/gstcaps.h:
2100         * gst/gstinfo.c:
2101         * gst/gstminiobject.h:
2102         * gst/gstobject.h:
2103         * gst/gstutils.h:
2104           more docs and doc style fixes
2105
2106 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2107
2108         * docs/gst/gstreamer-sections.txt:
2109         * gst/gstelement.c:
2110         * gst/gstminiobject.c:
2111         doc fixes
2112
2113 2005-11-03  Andy Wingo  <wingo@pobox.com>
2114
2115         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2116         state-changed messages actually have the right order and the right
2117         values.
2118
2119 2005-11-03  Wim Taymans  <wim@fluendo.com>
2120
2121         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2122         Added some more checks. Specifically the case where NO_PREROLL
2123         elements are in the pipeline.
2124
2125         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2126         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2127         (gst_base_sink_get_position):
2128         Post READY->PAUSED state change messages too.
2129         Fix bug where VOID was posted as pending state...
2130
2131         * gst/gstbin.c: (gst_bin_recalc_state):
2132         use _element_continue_state() to continue the state change.
2133
2134         * gst/gstelement.c: (gst_element_continue_state),
2135         (gst_element_commit_state), (gst_element_set_state_func),
2136         (gst_element_change_state), (gst_element_change_state_func):
2137         Lots of state change cleanups, assign the STATE_RETURN in
2138         a new continue_state() function that also propagates the
2139         last return value from a state change to the app.
2140         Update some debug statements with proper category.
2141
2142 2005-11-03  Wim Taymans  <wim@fluendo.com>
2143
2144         * docs/design/part-events.txt:
2145         * docs/design/part-gstpipeline.txt:
2146         * docs/design/part-messages.txt:
2147         * docs/design/part-overview.txt:
2148         * docs/design/part-seeking.txt:
2149         * docs/design/part-states.txt:
2150         * docs/design/part-trickmodes.txt:
2151         * docs/manual/advanced-position.xml:
2152         Small docs updates.
2153
2154         * gst/gstobject.h:
2155         People think !! is ugly, this looks better.
2156
2157         * gst/gstpad.c: (gst_pad_set_blocked_async):
2158         Remove !! since it's fixed elsewhere now.
2159
2160 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2161
2162         * gst/gstminiobject.h:
2163         * gst/gstobject.h:
2164           Add !! to _FLAG_IS_SET macros to make the result boolean.
2165
2166 2005-11-03  Edward Hervey  <edward@fluendo.com>
2167
2168         * gst/gstpad.c: (gst_pad_set_blocked_async):
2169         comparing a flag and a gboolean rarely returns coherent results...
2170         Added two characters (!!) to make that work correctly.
2171         
2172 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2173
2174         * gst/gstbus.c: (gst_bus_class_init):
2175           Fix some typos.
2176           
2177         * gst/gstqueue.c: (gst_queue_loop):
2178           Don't assume a miniobject that isn't a buffer is an
2179           event (it could be that there is a refcounting
2180           problem somewhere and the pointer is stale and
2181           refers to an already destroyed miniobject).
2182
2183 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2184
2185         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2186
2187 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2188
2189         * docs/manual/advanced-position.xml:
2190           Update seek example and explanations to current 0.9 API.
2191
2192         * gst/elements/gsttypefindelement.c:
2193         (gst_type_find_element_activate):
2194           Remove FIXME comment now that the found caps
2195           are unreffed.
2196
2197 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2198
2199         * gst/gstregistryxml.c: (load_feature):
2200           Add another GST_STR_NULL instance
2201
2202 2005-11-02  Edward Hervey  <edward@fluendo.com>
2203
2204         * gst/gstpad.c: (handle_pad_block):
2205         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2206         
2207 2005-11-02  Wim Taymans  <wim@fluendo.com>
2208
2209         * gst/gstbin.c:
2210         Fix typo in docs.
2211
2212         * gst/gstelement.c: (gst_element_commit_state):
2213         Remove unused value.
2214
2215         * gst/gstiterator.c:
2216         Mention that the returned element is reffed in the docs.
2217
2218 2005-11-02  Wim Taymans  <wim@fluendo.com>
2219
2220         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2221         (gst_pad_push), (gst_pad_push_event):
2222         Unlock blocked pads when they are flushed.
2223
2224 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2225
2226         * docs/README:
2227         * docs/gst/gstreamer-sections.txt:
2228         * gst/gstbin.c:
2229           doc updates
2230         * gst/gstregistry.c: (gst_registry_scan_path_level):
2231           fix for a nasty little missed situation where an installed plug-in
2232           which was in the cache did not get overridden by an uninstalled one
2233           which was earlier in the plugin path because the newly created plugin
2234           for the uninstalled one (not in the registry) didn't get its
2235           ->registered set to TRUE
2236
2237 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2238
2239         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2240         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2241         (gst_collectpads_is_active), (gst_collectpads_collect),
2242         (gst_collectpads_collect_range), (gst_collectpads_start),
2243         (gst_collectpads_stop), (gst_collectpads_peek),
2244         (gst_collectpads_pop), (gst_collectpads_available),
2245         (gst_collectpads_read), (gst_collectpads_flush):
2246           Guard public API with assertions.
2247         
2248         * gst/gstpad.c:
2249           Fix docs for gst_pad_set_link_function().
2250
2251 2005-11-02  Johan Dahlin  <johan@gnome.org>
2252
2253         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2254         Unref found_caps after we used it.
2255
2256 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2257
2258         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2259           Don't try to ref NULL.
2260
2261 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2262
2263         * win32/common/config.h.in:
2264           provide a GST_FUNCTION that just gives a string for now
2265
2266 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2267
2268         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2269         (gst_object_flags_get_type), (register_gst_bin_flags),
2270         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2271         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2272         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2273         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2274         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2275         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2276         (gst_clock_flags_get_type), (register_gst_state),
2277         (gst_state_get_type), (register_gst_state_change_return),
2278         (gst_state_change_return_get_type), (register_gst_state_change),
2279         (gst_state_change_get_type), (register_gst_element_flags),
2280         (gst_element_flags_get_type), (register_gst_core_error),
2281         (gst_core_error_get_type), (register_gst_library_error),
2282         (gst_library_error_get_type), (register_gst_resource_error),
2283         (gst_resource_error_get_type), (register_gst_stream_error),
2284         (gst_stream_error_get_type), (register_gst_event_type),
2285         (gst_event_type_get_type), (register_gst_seek_type),
2286         (gst_seek_type_get_type), (register_gst_seek_flags),
2287         (gst_seek_flags_get_type), (register_gst_format),
2288         (gst_format_get_type), (register_gst_index_certainty),
2289         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2290         (gst_index_entry_type_get_type),
2291         (register_gst_index_lookup_method),
2292         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2293         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2294         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2295         (gst_index_flags_get_type), (register_gst_debug_level),
2296         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2297         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2298         (gst_iterator_result_get_type), (register_gst_iterator_item),
2299         (gst_iterator_item_get_type), (register_gst_message_type),
2300         (gst_message_type_get_type), (register_gst_mini_object_flags),
2301         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2302         (gst_pad_link_return_get_type), (register_gst_flow_return),
2303         (gst_flow_return_get_type), (register_gst_activate_mode),
2304         (gst_activate_mode_get_type), (register_gst_pad_direction),
2305         (gst_pad_direction_get_type), (register_gst_pad_flags),
2306         (gst_pad_flags_get_type), (register_gst_pad_presence),
2307         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2308         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2309         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2310         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2311         (gst_plugin_flags_get_type), (register_gst_rank),
2312         (gst_rank_get_type), (register_gst_query_type),
2313         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2314         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2315         (gst_tag_flag_get_type), (register_gst_task_state),
2316         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2317         (gst_alloc_trace_flags_get_type),
2318         (register_gst_type_find_probability),
2319         (gst_type_find_probability_get_type), (register_gst_uri_type),
2320         (gst_uri_type_get_type), (register_gst_parse_error),
2321         (gst_parse_error_get_type):
2322         * win32/common/gstversion.h:
2323           update win32 copies
2324
2325 2005-11-01  Luca Ognibene  <luogni@tin.it>
2326
2327         * gst/gst.c:
2328           fix docs. popt is dead, long live GOption.
2329
2330 2005-10-31  Wim Taymans  <wim@fluendo.com>
2331
2332         * gst/gstbuffer.h:
2333         Small doc fix.
2334
2335 2005-10-31  Andy Wingo  <wingo@pobox.com>
2336
2337         * Boo!
2338
2339         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2340
2341         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2342         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2343         the possibility of deadlocks here if code calling notify() or
2344         set() has a lock that can be taken in another notify handler (ABBA
2345         with class lock and e.g. python GIL state lock).
2346
2347 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2348
2349         * gst/gstbus.c: Doc updates.
2350
2351 2005-10-28  Wim Taymans  <wim@fluendo.com>
2352
2353         * docs/design/part-TODO.txt:
2354         * gst/gstiterator.c:
2355         * gst/gstsystemclock.c:
2356         * gst/gstsystemclock.h:
2357         Doc updates.
2358
2359 2005-10-28  Edward Hervey  <edward@fluendo.com>
2360
2361         * docs/gst/gstreamer-docs.sgml:
2362         * docs/gst/gstreamer-sections.txt:
2363         the GstURIType documentation page is private, it only defines GstURIType
2364         which should be defined in the GstURIHandler page
2365         
2366 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2367
2368         * gst/gstbin.c: (gst_bin_class_init):
2369         * gst/gstbin.h:
2370         * gst/gstutils.c:
2371         Documentation updates.
2372
2373 2005-10-28  Wim Taymans  <wim@fluendo.com>
2374
2375         * docs/gst/gstreamer-sections.txt:
2376         * gst/gstclock.c:
2377         * gst/gstclock.h:
2378         Documented the clocks.
2379
2380 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2381
2382         * docs/gst/gstreamer-sections.txt:
2383           move some macros to private sections
2384         * gst/gstminiobject.c:
2385         * gst/gstminiobject.h:
2386           add descriptions provided by ds and some more
2387         * gst/gstpad.h:
2388           mark macro as to be removed
2389
2390 2005-10-28  Wim Taymans  <wim@fluendo.com>
2391
2392         * docs/design/part-TODO.txt:
2393         Add an item to TODO.
2394
2395         * gst/gstiterator.c: (gst_iterator_fold),
2396         (gst_iterator_find_custom):
2397         * gst/gstiterator.h:
2398         Add iterator docs.
2399
2400 2005-10-28  Wim Taymans  <wim@fluendo.com>
2401
2402         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2403         (gst_base_transform_init):
2404         Don't leak class.
2405
2406         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2407         An EOS event marks the queue as completely filled.
2408
2409 2005-10-27  Wim Taymans  <wim@fluendo.com>
2410
2411         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2412         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2413         Some more debugging.
2414
2415         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2416         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2417         (gst_base_transform_event), (gst_base_transform_getrange),
2418         (gst_base_transform_chain):
2419         * gst/base/gstbasetransform.h:
2420         Fix debugging,
2421         Protect transform and concurrent buffer alloc with a new lock.
2422         Try not to break ABI/API.
2423
2424 2005-10-27  Wim Taymans  <wim@fluendo.com>
2425
2426         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2427         (gst_base_src_init), (gst_base_src_query),
2428         (gst_base_src_default_newsegment),
2429         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2430         (gst_base_src_send_event), (gst_base_src_event_handler),
2431         (gst_base_src_pad_get_range), (gst_base_src_loop),
2432         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2433         (gst_base_src_start), (gst_base_src_deactivate),
2434         (gst_base_src_activate_push), (gst_base_src_change_state):
2435         Move some stuff around and cleanup things.
2436
2437 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2438
2439         * gst/base/gstbasesrc.c: (gst_base_src_query):
2440           Add missing break statements.
2441
2442 2005-10-27  Wim Taymans  <wim@fluendo.com>
2443
2444         * check/gst/gstbin.c: (GST_START_TEST):
2445         An extra refcount is taken in basesrc.
2446
2447         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2448         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2449         (gst_base_src_loop):
2450         Small cleanups, check for flushing after being unlocked from the 
2451         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2452         Don't send out EOS when going to READY.
2453
2454 2005-10-27  Wim Taymans  <wim@fluendo.com>
2455
2456         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2457         (gst_base_sink_get_position):
2458         Some more debug.
2459
2460         * gst/gstbin.c: (message_check), (bin_replace_message),
2461         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2462         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2463         (bin_query_duration_init), (bin_query_duration_fold),
2464         (bin_query_duration_done), (bin_query_generic_fold),
2465         (gst_bin_query):
2466         * tools/gst-launch.c: (main):
2467         Remove old option.
2468
2469 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2470
2471         * examples/controller/audio-example.c: (main):
2472         * examples/queue/queue.c: (event_loop):
2473         * gst/base/gstbasetransform.h:
2474         * gst/gstelement.c: (gst_element_send_event):
2475         * gst/gstevent.h:
2476         * gst/gstpad.c: (gst_pad_send_event):
2477           fixing examples
2478           fixing docs typos
2479           changing log priority in error situations
2480
2481 2005-10-25  Wim Taymans  <wim@fluendo.com>
2482
2483         * gst/gstbin.c: (message_check), (bin_replace_message),
2484         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2485         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2486         (bin_query_duration_init), (bin_query_duration_fold),
2487         (bin_query_duration_done), (bin_query_generic_fold),
2488         (gst_bin_query):
2489         Some doc and debug updates.
2490         Cache previously requested query DURATION for speed. invalidate
2491         cached duration if element posts a DURATION message.
2492
2493 2005-10-25  Wim Taymans  <wim@fluendo.com>
2494
2495         * docs/design/part-TODO.txt:
2496         Update TODO.
2497
2498         * gst/gstbin.c: (message_check), (bin_replace_message),
2499         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2500         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2501         (bin_query_duration_init), (bin_query_duration_fold),
2502         (bin_query_duration_done), (bin_query_generic_fold),
2503         (gst_bin_query):
2504         Handle SEGMENT_START/DONE messages correctly.
2505         More evolved query algorithm that handles duration queries
2506         correctly.
2507
2508         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2509         (gst_element_get_state_func), (gst_element_abort_state),
2510         (gst_element_commit_state), (gst_element_lost_state):
2511         Some more debugging.
2512
2513         * gst/gstmessage.h:
2514         Added doc.
2515
2516 2005-10-25  Wim Taymans  <wim@fluendo.com>
2517
2518         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2519         Don't use invalid stream_time.
2520
2521         * gst/gstevent.c: (gst_event_new_newsegment):
2522         stream_time in newsegment cannot be undefined.
2523
2524 2005-10-24  Wim Taymans  <wim@fluendo.com>
2525
2526         * gst/gstbus.c:
2527         Doc fix.
2528
2529         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2530         (gst_queue_loop):
2531         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2532
2533 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2534
2535         * docs/libs/tmpl/gstdparam.sgml:
2536         * docs/libs/tmpl/gstdplinint.sgml:
2537         * docs/libs/tmpl/gstdpman.sgml:
2538         * docs/libs/tmpl/gstdpsmooth.sgml:
2539         * docs/libs/tmpl/gstunitconvert.sgml:
2540           these are obsolete
2541
2542 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2543
2544         * configure.ac:
2545           back to HEAD
2546
2547 === release 0.9.4 ===
2548
2549 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2550
2551         * configure.ac:
2552           releasing 0.9.4, "Tyrannosaurus Rex"
2553
2554 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2555
2556         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2557         (gst_file_sink_get_current_offset):
2558           Use fseeko() and ftello() if available. When falling back on
2559           lseek() to get the current offset, fflush() first to make sure
2560           everything is up-to-date and we get the right offset.
2561
2562 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2563
2564         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2565         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2566         * gst/gsterror.c: (_gst_stream_errors_init):
2567         * gst/gsterror.h:
2568         * gst/gstqueue.c: (gst_queue_loop):
2569         * po/POTFILES.in:
2570           remove prematurely added error category and clean up the instances
2571
2572 2005-10-21  Wim Taymans  <wim@fluendo.com>
2573
2574         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2575         (gst_base_sink_get_position), (gst_base_sink_query),
2576         (gst_base_sink_change_state):
2577         Simply set the right flag when going to playing, that's all
2578         we need to do instead of calling a function inside the object
2579         lock (that could take the lock as well and deadlock)
2580
2581 2005-10-21  Wim Taymans  <wim@fluendo.com>
2582
2583         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2584         (gst_base_src_loop):
2585         Don't warn, the peer element knows what to do best when
2586         the seek failed, it might try something else.
2587
2588 2005-10-21  Wim Taymans  <wim@fluendo.com>
2589
2590         * gst/base/gstbasesrc.c: (gst_base_src_init),
2591         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2592         Fix seeking.
2593
2594 2005-10-21  Wim Taymans  <wim@fluendo.com>
2595
2596         * docs/design/part-segments.txt:
2597         More docs.
2598
2599         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2600         Correctly set caps, even on the subbufer.
2601
2602 2005-10-21  Wim Taymans  <wim@fluendo.com>
2603
2604         * docs/gst/gstreamer-docs.sgml:
2605         * docs/gst/gstreamer-sections.txt:
2606         * gst/gstelement.h:
2607         * gst/gstevent.c:
2608         * gst/gstevent.h:
2609         * gst/gstmessage.h:
2610         * gst/gstpad.h:
2611         * gst/gstparse.h:
2612         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2613         * gst/gsttask.h:
2614         * gst/gstutils.c:
2615         * gst/gstutils.h:
2616         And 2% more doc coverage.
2617
2618 2005-10-21  Andy Wingo  <wingo@pobox.com>
2619
2620         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2621         position reporting.
2622
2623 2005-10-20  Wim Taymans  <wim@fluendo.com>
2624
2625         * gst/gsterror.c: (gst_error_get_message):
2626         * gst/gstparse.h:
2627         * gst/gstquery.h:
2628         * gst/gststructure.c:
2629         * gst/gsttrace.c:
2630         * gst/gstutils.c:
2631         More docs.
2632
2633 2005-10-20  Wim Taymans  <wim@fluendo.com>
2634
2635         * gst/gstbuffer.h:
2636         * gst/gstpad.c:
2637         * gst/gstparse.c:
2638         Another 1% more coverage.
2639
2640 2005-10-20  Wim Taymans  <wim@fluendo.com>
2641
2642         * docs/gst/gstreamer-sections.txt:
2643         * gst/gstelement.c: (gst_element_get_state_func),
2644         (gst_element_abort_state), (gst_element_commit_state),
2645         (gst_element_lost_state):
2646         * gst/gstevent.h:
2647         * gst/gstquery.c: (gst_query_set_position),
2648         (gst_query_parse_position), (gst_query_set_duration),
2649         (gst_query_parse_duration), (gst_query_new_convert):
2650         * gst/gstutils.c:
2651         Yay! 1% more docs coverage.
2652
2653 2005-10-20  Wim Taymans  <wim@fluendo.com>
2654
2655         * gst/gstpad.h:
2656         * gst/gstquery.c: (gst_query_set_position),
2657         (gst_query_parse_position), (gst_query_set_duration),
2658         (gst_query_parse_duration), (gst_query_new_convert):
2659         * gst/gstquery.h:
2660         * gst/gstutils.c: (gst_element_query_convert):
2661         * gst/gstutils.h:
2662         Docs and consistency fixes.
2663
2664 2005-10-20  Wim Taymans  <wim@fluendo.com>
2665
2666         * gst/gsttask.c:
2667         * gst/gsttask.h:
2668         More docs.
2669
2670 2005-10-20  Wim Taymans  <wim@fluendo.com>
2671
2672         * gst/gstbin.c: (message_check), (bin_replace_message),
2673         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2674         (update_degree), (gst_bin_sort_iterator_next),
2675         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2676         Reworked the message handling a bit, cache the messages instead of
2677         only the senders. alows us to do more in the future.
2678
2679 2005-10-20  Wim Taymans  <wim@fluendo.com>
2680
2681         * docs/design/part-TODO.txt:
2682         Update TODO
2683
2684         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2685         (gst_base_sink_query):
2686         Don't use clock time to report position when in EOS.
2687
2688 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2689
2690         * tools/gst-inspect.c: (print_interfaces),
2691         (print_element_properties_info), (print_element_info):
2692           Fix interface output with gst-inspect -a; don't print
2693           newlines after double/float properties.
2694
2695 2005-10-20  Wim Taymans  <wim@fluendo.com>
2696
2697         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2698         (gst_base_sink_query):
2699         Speed up current position calculation.
2700
2701         * gst/base/gstbasesrc.c: (gst_base_src_query),
2702         (gst_base_src_default_newsegment):
2703         Correctly set stream position in newsegment.
2704
2705         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2706         (update_degree), (gst_bin_sort_iterator_next),
2707         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2708         * gst/gstmessage.c: (gst_message_new_custom):
2709         Clean up debugging info
2710
2711         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2712         (gst_queue_loop), (gst_queue_handle_src_query):
2713         Pause task faster.
2714
2715 2005-10-19  Wim Taymans  <wim@fluendo.com>
2716
2717         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2718         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2719         Fix query handling again.
2720
2721 2005-10-19  Wim Taymans  <wim@fluendo.com>
2722
2723         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2724         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2725         * gst/base/gstbasesrc.c: (gst_base_src_query):
2726         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2727         * gst/elements/gsttypefindelement.c:
2728         (gst_type_find_handle_src_query), (find_element_get_length),
2729         (gst_type_find_element_activate):
2730         API change fix.
2731
2732         * gst/gstquery.c: (gst_query_new_position),
2733         (gst_query_set_position), (gst_query_parse_position),
2734         (gst_query_new_duration), (gst_query_set_duration),
2735         (gst_query_parse_duration), (gst_query_set_segment),
2736         (gst_query_parse_segment):
2737         * gst/gstquery.h:
2738         Bundling query position/duration is not a good idea since duration
2739         does not change much and we don't want to recalculate it for every
2740         position query, so they are separated again..
2741         Base value in segment query is not needed.
2742
2743         * gst/gstqueue.c: (gst_queue_handle_src_query):
2744         * gst/gstutils.c: (gst_element_query_position),
2745         (gst_element_query_duration), (gst_pad_query_position),
2746         (gst_pad_query_duration):
2747         * gst/gstutils.h:
2748         Updates for query API change.
2749         Added some docs here and there.
2750
2751 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2752
2753         * check/gst/gstbin.c: (GST_START_TEST):
2754         * check/gst/gstghostpad.c: (GST_START_TEST):
2755         * check/pipelines/cleanup.c: (GST_START_TEST):
2756           wait on thread to die so we can check refcount correctly
2757
2758 2005-10-18  Wim Taymans  <wim@fluendo.com>
2759
2760         * check/pipelines/stress.c: (GST_START_TEST):
2761         Make check a little more time consuming.
2762
2763 2005-10-18  Wim Taymans  <wim@fluendo.com>
2764
2765         * check/Makefile.am:
2766         * check/pipelines/stress.c: (GST_START_TEST),
2767         (simple_launch_lines_suite), (main):
2768         Small state change torture test.
2769
2770         * docs/design/part-states.txt:
2771         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2772         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2773         (gst_base_sink_change_state):
2774         Never take state lock from streaming thread, clean up ugly
2775         hacks. Unfortunatly core does not yet support nice ways to
2776         async commit state.
2777         
2778         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2779         (bin_bus_handler):
2780         Start state recalc if a STATE_DIRTY message is posted, but only
2781         on the toplevel bin.
2782
2783         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2784         (gst_element_get_state_func), (gst_element_abort_state),
2785         (gst_element_commit_state), (gst_element_lost_state),
2786         (gst_element_set_state_func), (gst_element_change_state):
2787         * gst/gstelement.h:
2788         State variables are now protected with the LOCK, the state
2789         lock is only used to serialize _set_state().
2790
2791 2005-10-18  Wim Taymans  <wim@fluendo.com>
2792
2793         * check/gst/gstbin.c: (GST_START_TEST):
2794         * check/gst/gstmessage.c: (GST_START_TEST):
2795         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2796         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2797         (bin_bus_handler):
2798         * gst/gstelement.c: (gst_element_abort_state),
2799         (gst_element_commit_state), (gst_element_lost_state):
2800         * gst/gstmessage.c: (gst_message_new_state_changed),
2801         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2802         (gst_message_new_segment_done), (gst_message_new_duration),
2803         (gst_message_parse_state_changed),
2804         (gst_message_parse_segment_start),
2805         (gst_message_parse_segment_done), (gst_message_parse_duration):
2806         * gst/gstmessage.h:
2807         * tools/gst-launch.c: (event_loop):
2808         Seriously, this is better than a previous commit as we only need
2809         to notify the fact that an element changed state in a streaming
2810         thread, marking the state of the parents dirty, hence the 
2811         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2812         message.
2813
2814 2005-10-18  Wim Taymans  <wim@fluendo.com>
2815
2816         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2817         (gst_bin_recalc_func):
2818         * gst/gstelement.c: (gst_element_set_clock),
2819         (gst_element_abort_state), (gst_element_lost_state):
2820         Cleanups, prepare for state change fixes.
2821
2822 2005-10-18  Wim Taymans  <wim@fluendo.com>
2823
2824         * gst/gstbin.h:
2825         * gst/gstelement.c: (gst_element_class_init),
2826         (gst_element_set_state), (gst_element_set_state_func):
2827         * gst/gstelement.h:
2828         Pending ABI changes.
2829         GThreadPool in GstBinClass to monitor async state changes.
2830         state_cookie in GstElement to detect concurrent gst/set state.
2831         set_state is now virtual too in case a very complicated element
2832         has to be constructed.
2833
2834 2005-10-18  Wim Taymans  <wim@fluendo.com>
2835
2836         * check/gst/gstbin.c: (GST_START_TEST):
2837         * check/gst/gstmessage.c: (GST_START_TEST):
2838         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2839         * gst/gstbin.c: (bin_bus_handler):
2840         * gst/gstelement.c: (gst_element_commit_state),
2841         (gst_element_lost_state):
2842         * gst/gstmessage.c: (gst_message_new_state_changed),
2843         (gst_message_new_segment_start), (gst_message_new_segment_done),
2844         (gst_message_new_duration), (gst_message_parse_state_changed),
2845         (gst_message_parse_segment_start),
2846         (gst_message_parse_segment_done), (gst_message_parse_duration):
2847         * gst/gstmessage.h:
2848         * tools/gst-launch.c: (event_loop):
2849         Make messages future proof.
2850         state-change gets a flag if it was a message comming from the
2851         streaming thread.
2852         segment-start/stop can also be specified in other formats.
2853         A message to notify an app that a pipeline changed playback 
2854         duration.
2855         Also fix a GstMessage leak in -launch
2856
2857 2005-10-18  Andy Wingo  <wingo@pobox.com>
2858
2859         * gst/gstelement.c (gst_element_dispose): More helpful message.
2860
2861 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2862
2863         reviewed by: <delete if not using a buddy>
2864
2865         * common/gtk-doc.mak:
2866
2867 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2868
2869         * gst/gstregistry.c: (gst_registry_scan_path_level):
2870           unref a plug-in we get that was already initialized
2871
2872 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2873
2874         * docs/gst/gstreamer-sections.txt:
2875         * docs/libs/gstreamer-libs-sections.txt:
2876         * gst/gstelement.h:
2877           add new api entries
2878           hide internal macro
2879
2880 2005-10-17  Andy Wingo  <wingo@pobox.com>
2881
2882         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2883         cleanup.
2884
2885         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2886
2887         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2888
2889         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2890         (gst_element_get_state_func): Better debug message.
2891         (gst_element_commit_state): s/INFO/DEBUG/.
2892         (gst_element_lost_state, gst_element_change_state): 
2893
2894         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2895         (gst_message_new_custom): s/INFO/LOG/.
2896
2897 2005-10-17  Michael Smith <msmith@fluendo.com>
2898
2899         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2900           Check if end time is valid using end time, not start time.
2901
2902 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2903
2904         * check/gst-libs/controller.c: (GST_START_TEST),
2905         (gst_controller_suite):
2906         * libs/gst/controller/gstcontroller.c:
2907         (gst_controlled_property_set_interpolation_mode):
2908         * libs/gst/controller/gstcontroller.h:
2909         * libs/gst/controller/gstinterpolation.c:
2910         * testsuite/controller/.cvsignore:
2911         * testsuite/controller/Makefile.am:
2912         * testsuite/controller/interpolator.c:
2913           merge controller testsuites
2914           fix broken tests
2915           remove mem-chunk from docs
2916
2917 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2918
2919         * gst/gstmemchunk.c:
2920         * gst/gstmemchunk.h:
2921         * gst/gsttrashstack.c:
2922         * gst/gsttrashstack.h:
2923           out.  get out.  you're fired.  to the Attic !
2924
2925 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2926
2927         * gst/gstcaps.c: (gst_caps_intersect):
2928           fix signedness issues in a (hopefully) correct way
2929         * gst/gstelement.c: (gst_element_pads_activate):
2930           some debugging
2931         * gst/gstobject.c: (gst_object_set_parent):
2932           some debugging
2933
2934 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2935
2936         * gst/gstvalue.h: Fix prototypes.
2937
2938 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2939
2940         * docs/gst/gstreamer-sections.txt:
2941         * gst/gst.c: (gst_version_string):
2942         * gst/gst.h:
2943         * gst/gstversion.h.in:
2944         * win32/common/libgstreamer.def:
2945           add gst_version_string ()
2946
2947 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2948
2949         * configure.ac:
2950           clean up further
2951         * gst/gst.c: (init_post):
2952         * win32/common/config.h.in:
2953           it's PLUGINDIR now
2954         * gst/gstcaps.c: (gst_caps_intersect):
2955           use gint64, the range could be bigger than a guint
2956
2957 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2958
2959         * gst/gstclock.h:
2960           document potential problem in 2038
2961
2962 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2963
2964         * gst/gstcaps.c: (gst_caps_intersect):
2965           Fix guint j diving under 0
2966
2967 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2968
2969         * configure.ac:
2970         * win32/common/config.h:
2971         * win32/common/config.h.in:
2972           check for process.h, declares getpid() on Windows
2973         * gst/gstinfo.c:
2974           include process.h if we have it
2975         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2976         * gst/gstmemchunk.h:
2977           fix signedness issues
2978         * win32/common/libgstreamer.def:
2979           fix get_type's
2980
2981 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2982
2983         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2984         fix. Because of unsigned ints, caps intersection was going nuts and
2985         trying to access structures with G_MAXUINT index. That fixes
2986         videotestsrc ! ffmpegcolorspace ! fakesink
2987         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2988         consistency.
2989
2990 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2991
2992         * configure.ac:
2993           use the gettext macro
2994         * gst/elements/gstelements.c:
2995         * gst/gst.c:
2996         * gst/indexers/gstindexers.c:
2997           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2998         * win32/common/config.h:
2999           updated config.h
3000         * win32/common/config.h.in:
3001           add the template to generate config.h
3002         * win32/common/gstenumtypes.c:
3003         * win32/common/gstversion.h:
3004           updated copies
3005
3006 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3007
3008         * gst/gst.c: (gst_version):
3009         * gst/gstversion.h.in:
3010           add the nano
3011
3012 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3013
3014         * gst/gstevent.h:
3015           Oops, add missing closing bracket.
3016
3017 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3018
3019         * configure.ac:
3020           use common m4's for argument checking
3021
3022 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3023
3024         * docs/gst/gstreamer-sections.txt:
3025         * gst/gstevent.h:
3026           Add GST_EVENT_TYPE_NAME() macro.
3027
3028 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3029
3030         * gst/gstinfo.c:
3031         * gst/gstpluginfeature.c:
3032         * gst/gsttask.c:
3033           privatize more symbols
3034
3035 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3036
3037         * configure.ac:
3038           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3039           everything that uses GStreamer API should have the includes
3040
3041 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3042
3043         * docs/gst/gstreamer-sections.txt:
3044         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3045         * gst/gstvalue.h:
3046           give each value a _get_type, removes the DATA exports
3047
3048 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3049
3050         * gst/gst.c:
3051         * gst/gst.h:
3052           remove _gst_registry_auto_load, not used anymore
3053         * gst/gstbin.c: (gst_bin_get_type):
3054         * gst/gstbin.h:
3055         * gst/gstelement.c: (gst_element_get_type):
3056         * gst/gstelement.h:
3057         * gst/gstobject.c: (gst_object_get_type):
3058         * gst/gstobject.h:
3059         * gst/gstpad.c: (gst_pad_get_type):
3060         * gst/gstpad.h:
3061           make _get_type functions similar, fixes data export from library
3062
3063 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3064
3065         * configure.ac:
3066           correctly make conditionals
3067         * gst/elements/Makefile.am:
3068         * gst/elements/gstelements.c:
3069           fix typo causing fdsrc not to build
3070
3071 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3072
3073         * testsuite/Makefile.am:
3074         * testsuite/bytestream/.cvsignore:
3075         * testsuite/bytestream/Makefile.am:
3076         * testsuite/bytestream/filepadsink.c:
3077         * testsuite/bytestream/gstbstest.c:
3078         * testsuite/bytestream/test1.c:
3079         * testsuite/bytestream/testfile1:
3080         * testsuite/caps/normalisation.c:
3081         * testsuite/caps/random.c: (main):
3082         * testsuite/cleanup/.cvsignore:
3083         * testsuite/cleanup/Makefile.am:
3084         * testsuite/cleanup/cleanup1.c:
3085         * testsuite/cleanup/cleanup2.c:
3086         * testsuite/cleanup/cleanup3.c:
3087         * testsuite/cleanup/cleanup4.c:
3088         * testsuite/cleanup/cleanup5.c:
3089         * testsuite/controller/interpolator.c:
3090         * testsuite/debug/printf_extension.c: (main):
3091         * testsuite/elements/tee.c:
3092         * testsuite/negotiation/.cvsignore:
3093         * testsuite/negotiation/Makefile.am:
3094         * testsuite/negotiation/pad_link.c:
3095         * testsuite/pad/Makefile.am:
3096         * testsuite/pad/chainnopull.c:
3097         * testsuite/pad/getnopush.c:
3098         * testsuite/pad/link.c:
3099         * testsuite/refcounting/sched.c: (create_pipeline):
3100         * testsuite/registry/Makefile.am:
3101         * testsuite/registry/gst-print-formats.c:
3102         * testsuite/schedulers/.cvsignore:
3103         * testsuite/schedulers/142183-2.c:
3104         * testsuite/schedulers/142183.c:
3105         * testsuite/schedulers/143777-2.c:
3106         * testsuite/schedulers/143777.c:
3107         * testsuite/schedulers/147713.c:
3108         * testsuite/schedulers/147819.c:
3109         * testsuite/schedulers/147894-2.c:
3110         * testsuite/schedulers/147894.c:
3111         * testsuite/schedulers/Makefile.am:
3112         * testsuite/schedulers/group_link.c:
3113         * testsuite/schedulers/queue_link.c:
3114         * testsuite/schedulers/relink.c:
3115         * testsuite/schedulers/unlink.c:
3116         * testsuite/schedulers/unref.c:
3117         * testsuite/schedulers/useless_iteration.c:
3118         * testsuite/states/bin.c:
3119           clean out/remove some stuff from the testsuite directories
3120
3121 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3122
3123         * configure.ac:
3124           check for some headers
3125         * gst/elements/Makefile.am:
3126         * gst/elements/gstelements.c:
3127           don't compile fdsrc without sys/socket.h
3128         * gst/indexers/Makefile.am:
3129         * gst/indexers/gstindexers.c: (plugin_init):
3130           don't compile fileindex without mmap
3131
3132 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3133
3134         * configure.ac:
3135           reorganize
3136           clean up
3137           document more
3138           remove cruft
3139         * check/Makefile.am:
3140         * docs/gst/Makefile.am:
3141         * examples/helloworld/Makefile.am:
3142         * gst/Makefile.am:
3143         * gst/base/Makefile.am:
3144         * gst/check/Makefile.am:
3145         * gst/elements/Makefile.am:
3146         * gst/indexers/Makefile.am:
3147         * gst/parse/Makefile.am:
3148         * libs/gst/controller/Makefile.am:
3149         * libs/gst/dataprotocol/Makefile.am:
3150         * examples/helloworld/helloworld.c: (event_loop):
3151           compile fixes, though it's not being compiled currently
3152
3153 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3154
3155         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3156           Add some simple tests for the new taglist date API.
3157
3158 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3159
3160         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3161         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3162           Beautify 'last-message' output: print 'none' for buffer timestamps
3163           and durations if none is set; improve alignment with next messages.
3164
3165 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3166
3167         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3168         * gst/gstpluginfeature.h:
3169         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3170         * gst/gstregistry.h:
3171         * docs/gst/gstreamer-sections.txt:
3172           Add new API to check plugin feature version requirements.
3173
3174         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3175           Some basic tests for the above.         
3176
3177 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3178
3179         * gst/gststructure.c: (gst_structure_to_string):
3180           guard against NULL printf - happens when for example
3181           a message structure with GstClock gets serialized
3182
3183 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3184
3185         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3186           Fix presumable copy'n'pasto.
3187
3188 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3189
3190         * gst/elements/gstfakesrc.h:
3191         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3192         * gst/elements/gsttypefindelement.c:
3193           fix some signedness
3194         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3195           I wonder if this could actually write +2GB files before
3196
3197 2005-10-13  Andy Wingo  <wingo@pobox.com>
3198
3199         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3200         Fix Timmeke Waymans bug.
3201         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3202         string of the proper length to gst_caps_from_string. There's a
3203         potential for, before this fix, that this could cause someone
3204         connecting over the network to cause a segfault if the payload is
3205         not NUL-terminated.
3206
3207 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3208
3209         * docs/design/draft-push-pull.txt:
3210         * docs/design/part-overview.txt:
3211         * docs/random/TODO-pre-0.9:
3212         * docs/random/old/ChangeLog.gstreamer:
3213         * gst/base/gstpushsrc.c:
3214         * gst/gstclock.c:
3215           fixed typos
3216
3217 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3218
3219         * gst/glib-compat.c: (gst_flags_get_first_value):
3220         * gst/glib-compat.h:
3221         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3222         (gst_value_compare_double), (gst_value_serialize_flags):
3223           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3224           infinite loop
3225
3226 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3227
3228         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3229         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3230           fix up debugging
3231         * tools/gst-launch.c: (event_loop):
3232           print out clock nicely
3233
3234 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3235
3236         * docs/gst/gstreamer-sections.txt:
3237         * gst/gsttaglist.h:
3238         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3239         (gst_tag_list_get_date_index):
3240           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3241           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3242
3243 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3244
3245         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3246         (gst_collectpads_chain):
3247         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3248         in CollectData.
3249
3250 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3251
3252         * docs/gst/gstreamer-sections.txt:
3253         * gst/gst.c:
3254         * gst/gsterror.h:
3255         * tools/gst-inspect.c: (main):
3256         * tools/gst-launch.c: (main):
3257         * tools/gst-run.c: (main):
3258         * tools/gst-xmlinspect.c: (main):
3259           fix GOption context leaks
3260           doc fixes
3261
3262 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3263
3264         * gst/gstbus.c:
3265           use HAVE_UNISTD_H
3266         * win32/common/config.h:
3267           update config
3268         * win32/vs6/grammar.dsp:
3269         * win32/vs6/libgstelements.dsp:
3270         * win32/vs6/libgstreamer.dsp:
3271           update vs6 files
3272
3273 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3274
3275         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3276         * gst/base/gstbasesrc.c: (gst_base_src_query):
3277           fix more guint64<->gdouble conversions
3278
3279 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3280
3281         * Makefile.am:
3282           add win32-update target
3283         * win32/common/gstconfig.h:
3284         * win32/common/gstenumtypes.c:
3285         * win32/common/gstenumtypes.h:
3286         * win32/common/gstversion.h:
3287           add files that visual studio can't generate
3288
3289 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3290
3291         * Makefile.am:
3292           add a win32-update target
3293         * configure.ac:
3294
3295 2005-10-12  Wim Taymans  <wim@fluendo.com>
3296
3297         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3298         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3299         * gst/gstelement.c: (gst_element_commit_state),
3300         (gst_element_set_state):
3301         Protect flags with proper lock.
3302         unref provided cached clock in dispose.
3303
3304 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3305
3306         * gst/gst.c:
3307         * gst/gstminiobject.h:
3308         * gst/gstpad.h:
3309         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3310           removed unused flags from miniobject
3311           doc fixes
3312
3313 2005-10-12  Wim Taymans  <wim@fluendo.com>
3314
3315         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3316         (gst_file_sink_event), (gst_file_sink_render):
3317         Flush before seeking.
3318
3319 2005-10-12  Andy Wingo  <wingo@pobox.com>
3320
3321         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3322         always been the case.
3323
3324 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3325
3326         * check/gst/gstbin.c: (GST_START_TEST):
3327         * docs/gst/gstreamer-sections.txt:
3328         * gst/base/gstbasesink.c: (gst_base_sink_init):
3329         * gst/base/gstbasesrc.c: (gst_base_src_init),
3330         (gst_base_src_get_range), (gst_base_src_check_get_range),
3331         (gst_base_src_start), (gst_base_src_stop):
3332         * gst/base/gstbasesrc.h:
3333         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3334         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3335         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3336         (bin_bus_handler):
3337         * gst/gstbin.h:
3338         * gst/gstbuffer.h:
3339         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3340         * gst/gstbus.h:
3341         * gst/gstelement.c: (gst_element_is_locked_state),
3342         (gst_element_set_locked_state), (gst_element_commit_state),
3343         (gst_element_set_state):
3344         * gst/gstelement.h:
3345         * gst/gstindex.c: (gst_index_init):
3346         * gst/gstindex.h:
3347         * gst/gstminiobject.h:
3348         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3349         (gst_object_set_parent):
3350         * gst/gstobject.h:
3351         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3352         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3353         * gst/gstpad.h:
3354         * gst/gstpadtemplate.h:
3355         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3356         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3357         * gst/gstpipeline.h:
3358         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3359         (gst_file_index_commit):
3360         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3361         * testsuite/pad/link.c: (gst_test_src_init),
3362         (gst_test_filter_init), (gst_test_sink_init):
3363         * testsuite/states/locked.c: (main):
3364           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3365           moved bitshift from macro to enum definition
3366
3367 2005-10-12  Wim Taymans  <wim@fluendo.com>
3368
3369         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3370         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3371         (gst_file_sink_render):
3372         Some more debugging info.
3373
3374 2005-10-12  Wim Taymans  <wim@fluendo.com>
3375
3376         * docs/design/part-states.txt:
3377         * tools/gst-launch.c: (main):
3378         Some doc updates.
3379         Revert non-intentional change.
3380
3381 2005-10-12  Wim Taymans  <wim@fluendo.com>
3382
3383         * check/gst/gstbin.c: (GST_START_TEST):
3384         * check/gst/gstelement.c: (GST_START_TEST):
3385         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3386         * check/gst/gstghostpad.c: (GST_START_TEST):
3387         * check/gst/gstpipeline.c: (GST_START_TEST):
3388         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3389         * check/states/sinks.c: (GST_START_TEST):
3390         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3391         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3392         (gst_bin_remove_func), (gst_bin_get_state_func),
3393         (gst_bin_recalc_state), (gst_bin_change_state_func),
3394         (bin_bus_handler):
3395         * gst/gstelement.c: (gst_element_get_state_func),
3396         (gst_element_get_state), (gst_element_abort_state),
3397         (gst_element_commit_state), (gst_element_set_state),
3398         (gst_element_change_state), (gst_element_change_state_func):
3399         * gst/gstelement.h:
3400         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3401         (gst_pipeline_provide_clock_func):
3402         * gst/gstutils.c: (gst_element_link_pads_filtered):
3403         * tools/gst-launch.c: (main):
3404         * tools/gst-typefind.c: (main):
3405         Use GstClockTime in _get_state() instead of GTimeVal.
3406         Remove old code in gstutils.c
3407
3408 2005-10-12  Andy Wingo  <wingo@pobox.com>
3409
3410         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3411         removed.
3412
3413         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3414         there is no task. Shouldn't affect any code, as nothing in our
3415         plugins checks this return value.
3416         (gst_pad_stop_task): Also take the stream lock if the pad has no
3417         task. Docs updated.
3418
3419 2005-10-12  Wim Taymans  <wim@fluendo.com>
3420
3421         * gst/gstpad.c: (pre_activate), (post_activate),
3422         (gst_pad_activate_pull), (gst_pad_activate_push):
3423         Cleanup activation code. Reset old state if
3424         activation failed.
3425
3426 2005-10-12  Wim Taymans  <wim@fluendo.com>
3427
3428         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3429         (gst_base_sink_change_state):
3430         No need to prerol after receiving EOS.
3431
3432         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3433         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3434         * gst/elements/gstidentity.c: (gst_identity_event):
3435         Print events more verbosely.
3436
3437 2005-10-12  Wim Taymans  <wim@fluendo.com>
3438
3439         * check/Makefile.am:
3440         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3441         * check/states/sinks2.c:
3442         Moved sinks2 testcode in sinks check.
3443
3444         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3445         (gst_bin_remove_func), (gst_bin_recalc_state),
3446         (gst_bin_change_state_func), (bin_bus_handler):
3447         Fix potential race condition when _get_state() iterated over an
3448         ASYNC element right before it posted a state completion.
3449
3450         * gst/gstclock.h:
3451         Do proper cast here.
3452
3453         * gst/gstevent.c: (gst_event_new_newsegment),
3454         (gst_event_parse_newsegment):
3455         A playback rate of 0.0 is not allowed.
3456
3457 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3458
3459         * win32/common/config.h:
3460         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3461         (_trewinddir), (_ttelldir), (_tseekdir):
3462         * win32/common/dirent.h:
3463         * win32/common/gtchar.h:
3464         * win32/common/libgstbase.def:
3465         * win32/common/libgstreamer.def:
3466         * win32/vs6/grammar.dsp:
3467         * win32/vs6/gst_inspect.dsp:
3468         * win32/vs6/gst_launch.dsp:
3469         * win32/vs6/gstreamer.dsw:
3470         * win32/vs6/libgstbase.dsp:
3471         * win32/vs6/libgstelements.dsp:
3472         * win32/vs6/libgstreamer.dsp:
3473           Visual Studio 6 project files, and a new common directory.
3474           Phear.
3475
3476 2005-10-11  Wim Taymans  <wim@fluendo.com>
3477
3478         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3479         (gst_base_sink_do_sync), (gst_base_sink_query),
3480         (gst_base_sink_change_state):
3481         * gst/base/gstbasesink.h:
3482         Correctly parse newsegment info.
3483
3484 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3485
3486         * gst/gst.c: (init_post):
3487           split plugin paths correctly
3488
3489 2005-10-11  Wim Taymans  <wim@fluendo.com>
3490
3491         * check/gst/gstevent.c: (GST_START_TEST):
3492         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3493         (gst_base_sink_change_state):
3494         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3495         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3496         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3497         * gst/gstevent.c: (gst_event_new_newsegment),
3498         (gst_event_parse_newsegment):
3499         * gst/gstevent.h:
3500         Added extra flag to newsegment for future API freeze.
3501         Updated check and base elements.
3502
3503 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3504
3505         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3506         (gst_collectpads_add_pad), (gst_collectpads_pop),
3507         (gst_collectpads_event), (gst_collectpads_chain):
3508         * gst/base/gstcollectpads.h: Handle EOS correctly.
3509
3510 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3511
3512         * tools/gst-launch.c: (main):
3513           more null protecting
3514
3515 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3516
3517         * gst/gst-i18n-lib.h:
3518           check for ENABLE_NLS, not GETTEXT_PACKAGE
3519         * gst/gstregistry.c: (gst_registry_add_plugin),
3520         (gst_registry_scan_path_level),
3521         (_gst_registry_remove_cache_plugins):
3522           protect possibly NULL strings
3523         * gst/parse/types.h:
3524           config.h already included before
3525         * tools/gst-inspect.c: (main):
3526           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3527           check for ENABLE_NLS, not GETTEXT_PACKAGE
3528         * tools/gst-launch.c: (main):
3529           check for ENABLE_NLS, not GETTEXT_PACKAGE
3530
3531 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3532
3533         * configure.ac:
3534           if we don't have glib, fail before testing 2.8
3535         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3536           fix a leak, should fix plugins-base testsuite
3537
3538 2005-10-11  Andy Wingo  <wingo@pobox.com>
3539
3540         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3541         take the mode we're going to as an arg. Go head and set the mode
3542         and flushing flags now, so that if the activate function starts a
3543         thread all the flags will be in the right state.
3544         (post_activate): Renamed also. Just handle making sure streaming
3545         finishes for the deactivation case, and setting the deactivated
3546         mode.
3547         (gst_pad_set_active): Complain loudly if deactivation fails.
3548         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3549         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3550         remove the terrible hack.
3551
3552 2005-10-11  Wim Taymans  <wim@fluendo.com>
3553
3554         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3555         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3556         (gst_bin_recalc_state), (gst_bin_change_state_func),
3557         (gst_bin_dispose), (bin_bus_handler):
3558         * gst/gstbin.h:
3559         Prepare to make current EOS message queue more generic.
3560         Fix some typos.
3561
3562         * gst/gstevent.c: (gst_event_new_newsegment),
3563         (gst_event_parse_newsegment):
3564         * gst/gstevent.h:
3565         Rename base to stream_time.
3566
3567         * gst/gstmessage.h:
3568         Fix typo in docs.
3569
3570 2005-10-11  Wim Taymans  <wim@fluendo.com>
3571
3572         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3573         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3574         (gst_bin_change_state_func), (bin_bus_handler):
3575         * gst/gstbin.h:
3576         Work on proper clock selection.
3577
3578 2005-10-11  Edward Hervey  <edward@fluendo.com>
3579
3580         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3581         * libs/gst/controller/gstcontroller.h:
3582         Added GList* version of _remove_properties() in order to be able to wrap
3583         it in bindings.
3584
3585 2005-10-11  Wim Taymans  <wim@fluendo.com>
3586
3587         * docs/design/part-states.txt:
3588         Some more docs.
3589
3590         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3591         (gst_bin_change_state_func), (bin_bus_handler):
3592         Doc updates. Don't distribute the same clock over and over again.
3593
3594         * gst/gstclock.c:
3595         * gst/gstclock.h:
3596         Doc updates.
3597
3598         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3599         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3600         (gst_pad_send_event):
3601         * gst/gstpad.h:
3602         Make probe emission threadsafe again.
3603         Register quarks and move _get_name() from utils.
3604         Doc updates.
3605
3606         * gst/gstpipeline.c: (gst_pipeline_class_init),
3607         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3608         Only redistribute the clock of it changed.
3609
3610         * gst/gstsystemclock.h:
3611         Doc updates. 
3612
3613         * gst/gstutils.c:
3614         * gst/gstutils.h:
3615         Moved the _flow_get_name() to GstPad.
3616
3617 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3618
3619         * check/gst-libs/gdp.c: (GST_START_TEST):
3620         * check/gst/gstcaps.c: (GST_START_TEST):
3621         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3622         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3623         (gst_dp_packet_from_caps):
3624           fix more valgrind warnings before turning up the heat
3625
3626 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3627
3628         * gst/parse/grammar.y:
3629           some cleanup before the hacking
3630
3631 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3632
3633         * gst/base/gstbasesrc.c: (gst_base_src_query):
3634           use conversions
3635         * gst/gstutils.c: (gst_guint64_to_gdouble),
3636         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3637         * gst/gstutils.h:
3638           externalize, basesrc uses it
3639           obviously the implementation needs testing
3640
3641 2005-10-10  Wim Taymans  <wim@fluendo.com>
3642
3643         * tests/sched/Makefile.am:
3644         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3645         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3646
3647 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3648
3649         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3650           apparently converting from guint64 to double is not implemented
3651           on MSVC
3652
3653 2005-10-10  Wim Taymans  <wim@fluendo.com>
3654
3655         * check/Makefile.am:
3656         * check/generic/states.c: (GST_START_TEST):
3657         * check/gst/gstbin.c: (GST_START_TEST):
3658         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3659         * check/states/sinks.c: (GST_START_TEST):
3660         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3661         (main):
3662         Check fixes, use API as stated in design docs, remove hacks.
3663
3664         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3665         (gst_base_sink_change_state):
3666         Catch stopping our task while we're shutting down.
3667
3668         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3669         (gst_bin_remove_func), (gst_bin_get_state_func),
3670         (gst_bin_recalc_state), (gst_bin_change_state_func),
3671         (bin_bus_handler):
3672         * gst/gstbin.h:
3673         * gst/gstelement.c: (gst_element_init),
3674         (gst_element_get_state_func), (gst_element_abort_state),
3675         (gst_element_commit_state), (gst_element_lost_state),
3676         (gst_element_set_state), (gst_element_change_state),
3677         (gst_element_change_state_func):
3678         * gst/gstelement.h:
3679         New state change algorithm (see #318116)
3680
3681         * gst/gstpipeline.c: (gst_pipeline_class_init),
3682         (gst_pipeline_init), (gst_pipeline_set_property),
3683         (gst_pipeline_get_property), (do_pipeline_seek),
3684         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3685         * gst/gstpipeline.h:
3686         Remove crude state change hacks.
3687
3688         * gst/gstutils.h:
3689         Remove crude hacks.
3690
3691         * tools/gst-launch.c: (main):
3692         Fixes for state change. Needs some more work to fully use the
3693         new stuff.
3694
3695 2005-10-10  Andy Wingo  <wingo@pobox.com>
3696
3697         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3698
3699         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3700         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3701         issue.
3702
3703 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3704
3705         * gst/gstiterator.c: (gst_iterator_new):
3706           Fix my previous commit: GTypes passed to gst_iterator_new()
3707           can be fundamental types.
3708
3709 2005-10-10  Wim Taymans  <wim@fluendo.com>
3710
3711         * gst/gstelement.c: (gst_element_iterate_pad_list),
3712         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3713         (gst_element_iterate_sink_pads):
3714         Use src/sink pads lists for the respective iterators instead
3715         of filtering.
3716
3717 2005-10-10  Andy Wingo  <wingo@pobox.com>
3718
3719         Merged in popt removal + GOption addition patch from Ronald, bug
3720         #169772.
3721
3722         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3723         GstElement macros around, remove popt-related symbols, add goption
3724         stuff.
3725
3726         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3727         
3728         * docs/gst/Makefile.am:
3729         * docs/libs/Makefile.am: No POPT_CFLAGS.
3730         
3731         * examples/manual/Makefile.am:
3732         * docs/manual/basics-init.xml: Doc updates with an example.
3733         
3734         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3735         (gst_init), (parse_one_option), (parse_goption_arg):
3736         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3737         bit of hand merging and debugging to get the GOption stuff working
3738         tho.
3739         
3740         * tests/Makefile.am:
3741         * tools/Makefile.am:
3742         * tools/gst-inspect.c: (main):
3743         * tools/gst-launch.c: (main):
3744         * tools/gst-run.c: (main):
3745         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3746
3747 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3748
3749         * gst/gstiterator.c: (gst_iterator_new):
3750           Add assertions to make sure passed GType is likely to really
3751           be a GType (as the compiler won't catch it if the size and
3752           GType arguments get mixed up, see #318447).
3753
3754 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3755
3756         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3757
3758         * gst/gstbin.c: (gst_bin_iterate_sorted):
3759           Pass GType and size arguments to gst_iterator_new() in the right
3760           order (maybe we should make _new() take the GType as first argument
3761           just like _new_list()?) (#318447).
3762           
3763
3764 2005-10-10  Wim Taymans  <wim@fluendo.com>
3765
3766         * gst/gstelement.c: (gst_element_finalize):
3767         And free the GStaticRecMutex too
3768
3769 2005-10-10  Andy Wingo  <wingo@pobox.com>
3770
3771         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3772         Allocate and free the mutex properly.
3773
3774         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3775         New macros.
3776         (GstElement): The state_lock is now recursive. Rebuild your
3777         plugins, suckers. Old macros adapted.
3778
3779         * docs/gst/gstreamer-sections.txt: Doc updates.
3780
3781         * gst/gstutils.h:
3782         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3783         (g_static_rec_cond_wait): Ported from state changes patch, while
3784         we wait on bug #317802 to be solved in a well-distributed GLib.
3785
3786         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3787         gst_element_change_state, variable name changes.
3788         (gst_element_change_state): Split out of gst_element_set_state in
3789         preparation for the state change merge. Doesn't pay attention to
3790         the 'transition' argument.
3791         (gst_element_set_state): Updates, hopefully purely cosmetic.
3792         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3793         state change patch.
3794         (gst_element_get_state_func): Renamed from get_state, cosmetic
3795         changes.
3796
3797 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3798
3799         * gst/elements/gstelements.c:
3800         * win32/GStreamer.vcproj:
3801         * win32/config.h:
3802         * win32/dirent.c: (_tseekdir):
3803         * win32/gst-inspect.vcproj:
3804         * win32/gst-launch.vcproj:
3805         * win32/gstconfig.h:
3806         * win32/gstelements.vcproj:
3807         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3808         * win32/gstreamer.def:
3809         * win32/msvc71.sln:
3810           updates for the win32 build (patch from Sebastien Moutte)
3811
3812 2005-10-10  Andy Wingo  <wingo@pobox.com>
3813
3814         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3815         gst_bin_get_state, cleaned up (but no logic changes).
3816         (bin_element_is_sink): Comment updates.
3817         (sink_iterator_filter): Remove needless cast.
3818         (gst_bin_iterate_sinks): Doc update.
3819         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3820         cleaned up (but no logic changes).
3821
3822         * check/states/sinks.c (test_src_sink): Cleanups from the state
3823         change patch.
3824         (test_livesrc_sink): Sync on the state.
3825
3826         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3827         the state change patch.
3828
3829         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3830         change patch.
3831
3832         * check/gst/gstbin.c: Merge in some style fixes and additional
3833         checks from Wim's state change patch.
3834
3835 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3836
3837         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3838         (gst_type_find_helper):
3839           Check whether we have the requested data already in our list of
3840           cached buffers before pulling a new buffer; also make the buffer
3841           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3842
3843 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3844
3845         * gst/gstcaps.c:
3846         * gst/gstevent.c:
3847           doc updates
3848         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3849           don't use long long, it's not portable.  Replacing with
3850           gint64 seems to work; let's hope no skeletons fall out of the closet.
3851
3852 2005-10-10  Andy Wingo  <wingo@pobox.com>
3853
3854         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3855
3856 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3857
3858         * docs/gst/gstreamer-sections.txt:
3859         * gst/gstevent.c:
3860         * gst/gstevent.h:
3861         * gst/gstinfo.c:
3862         * gst/gstinfo.h:
3863         * gst/gstmessage.c: (gst_message_parse_state_changed):
3864         * gst/gstpad.c:
3865         * gst/gstpad.h:
3866           more docs, fix compilation
3867
3868 2005-10-09  Philippe Khalaf <burger@speedy.org>
3869         * gst/gstmessage.c:
3870           Fixed a few forgotten variables on previous commit
3871
3872 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3873
3874         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3875           Fix evil typefind crasher: getrange() might return a short
3876           buffer at the end of a file, but gst_type_find_peek() must
3877           either return the full data as requested or NULL, but
3878           never a short buffer.
3879
3880 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3881
3882         * gst/gstmessage.c: (gst_message_new_state_changed),
3883         (gst_message_parse_state_changed):
3884         * gst/gstmessage.h:
3885           don't use "new", it's a C++ keyword
3886
3887 2005-10-08  Wim Taymans  <wim@fluendo.com>
3888
3889         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3890         * gst/gstelement.c: (gst_element_post_message):
3891         * gst/gstpipeline.c: (gst_pipeline_change_state):
3892         Small docs and debug updates.
3893
3894 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3895
3896         * docs/gst/gstreamer-sections.txt:
3897         * gst/gstelementfactory.c:
3898         * gst/gstevent.c:
3899         * gst/gsttaglist.c:
3900           more docs
3901
3902 2005-10-08  Wim Taymans  <wim@fluendo.com>
3903
3904         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3905         (gst_bin_dispose), (bin_bus_handler):
3906         Fix typos, add comments.
3907         Clear EOS list when going to PAUSED from any direction and do it
3908         in a threadsafe way.
3909         Get base time in a threadsafe way too.
3910         Fix confusing debug in the change_state function.
3911         Various other small cleanups.
3912         
3913         * gst/gstelement.c: (gst_element_post_message):
3914         Fix very verbose bus posting code.
3915
3916         * gst/gstpipeline.c: (gst_pipeline_class_init),
3917         (gst_pipeline_set_property), (gst_pipeline_get_property),
3918         (gst_pipeline_change_state):
3919         Small ARG_ -> PROP_ cleanup
3920
3921 2005-10-08  Wim Taymans  <wim@fluendo.com>
3922
3923         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3924         Do a less CPU demanding EOS check because we can.
3925
3926 2005-10-08  Wim Taymans  <wim@fluendo.com>
3927
3928         * libs/gst/dataprotocol/dataprotocol.c:
3929         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3930         (gst_dp_packet_from_event):
3931         * libs/gst/dataprotocol/dataprotocol.h:
3932         * libs/gst/dataprotocol/dp-private.h:
3933         It's about time we bump the version number.
3934         Since event types don't fit in the guint8 anymore describing
3935         the payload type, make payload type 16 bits wide.
3936
3937 2005-10-08  Wim Taymans  <wim@fluendo.com>
3938
3939         * docs/design/part-TODO.txt:
3940         * docs/design/part-clocks.txt:
3941         * docs/design/part-events.txt:
3942         * docs/design/part-gstbin.txt:
3943         * docs/design/part-gstelement.txt:
3944         * docs/design/part-gstpipeline.txt:
3945         * docs/design/part-live-source.txt:
3946         * docs/design/part-messages.txt:
3947         * docs/design/part-overview.txt:
3948         * docs/design/part-states.txt:
3949         Many doc updates.
3950
3951 2005-10-08  Wim Taymans  <wim@fluendo.com>
3952
3953         * gst/gstevent.c:
3954         * gst/gstevent.h:
3955         Fix event quark registration.
3956         Add some space between events so we can insert them in the
3957         right groups.
3958
3959 2005-10-08  Wim Taymans  <wim@fluendo.com>
3960
3961         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3962         (gst_base_sink_handle_buffer):
3963         Better log message.
3964
3965         * gst/gstbus.h:
3966         * gst/gstelement.h:
3967         More docs.
3968
3969         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3970         (gst_queue_set_property), (gst_queue_get_property):
3971         * gst/gstqueue.h:
3972         Remove old unused properties.
3973
3974 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3975         * docs/gst/gstreamer-sections.txt:
3976         * gst/gstmessage.c:
3977         * gst/gstmessage.h:
3978         * gst/gstminiobject.c:
3979         * gst/gstminiobject.h:
3980         * gst/gstobject.h:
3981         * gst/gstpad.h:
3982         * gst/gstutils.h:
3983           lots of new docs and doc fixes
3984
3985 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3986
3987         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3988         * gst/gstplugin.h:
3989         * gst/gstregistry.c: (gst_registry_lookup_locked),
3990         (gst_registry_scan_path_level):
3991         * gst/gstregistryxml.c: (load_plugin):
3992           Only ever load one plugin for a given plugin basename.
3993           This ensures correct overriding of GST_PLUGIN_PATH over
3994           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3995           system installed plugins.
3996
3997 2005-10-08  Wim Taymans  <wim@fluendo.com>
3998
3999         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4000         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4001         Prepare for doing QOS.
4002
4003 2005-10-08  Wim Taymans  <wim@fluendo.com>
4004
4005         * check/gst/gstbin.c: (GST_START_TEST):
4006         * check/pipelines/cleanup.c: (GST_START_TEST):
4007         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4008         Allow new clock message too.
4009
4010 2005-10-08  Wim Taymans  <wim@fluendo.com>
4011
4012         * gst/gstmessage.c: (gst_message_new_error),
4013         (gst_message_new_warning), (gst_message_new_tag),
4014         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4015         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4016         (gst_message_new_segment_start), (gst_message_new_segment_done),
4017         (gst_message_parse_state_changed),
4018         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4019         (gst_message_parse_new_clock):
4020         * gst/gstmessage.h:
4021         Also carry the clock in question.
4022
4023 2005-10-08  Wim Taymans  <wim@fluendo.com>
4024
4025         * gst/gstmessage.c: (gst_message_new_custom),
4026         (gst_message_new_eos), (gst_message_new_error),
4027         (gst_message_new_warning), (gst_message_new_tag),
4028         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4029         (gst_message_new_new_clock), (gst_message_new_segment_start),
4030         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4031         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4032         * gst/gstmessage.h:
4033         Clean up.
4034         Added clock related messages.
4035
4036         * gst/gstpipeline.c: (gst_pipeline_change_state):
4037         Post message when the clock changed.
4038
4039         * tools/gst-launch.c: (event_loop):
4040         Print new clock.
4041
4042 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4043
4044         * tools/gst-inspect.c: (print_element_properties_info):
4045           Can't pass NULL strings to g_print() on windows.
4046
4047 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4048
4049         * docs/Makefile.am:
4050         * docs/gst/Makefile.am:
4051         * docs/gst/gstreamer-docs.sgml:
4052         * docs/gst/running.xml:
4053         * docs/version.entities.in:
4054           add a chapter on running GStreamer.
4055           document GST_DEBUG and GST_PLUGIN* env vars
4056
4057 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4058
4059         * Makefile.am:
4060           remove include dir
4061         * configure.ac:
4062           remove PLUGINS_BUILDDIR stuff
4063         * gst/gst.c: (init_post):
4064           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4065         * idiottest.mak:
4066           remove, it was condescending and not needed
4067
4068 2005-10-08  Wim Taymans  <wim@fluendo.com>
4069
4070         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4071         (gst_base_sink_handle_object), (gst_base_sink_event),
4072         (gst_base_sink_wait), (gst_base_sink_handle_event),
4073         (gst_base_sink_change_state):
4074         * gst/base/gstbasesink.h:
4075         Repost EOS message while going to PLAYING if still EOS.
4076         Make sure that when receiving a FLUSH_START we don't attempt
4077         to sync on the clock anymore.
4078
4079 2005-10-08  Wim Taymans  <wim@fluendo.com>
4080
4081         * tools/gst-launch.c: (event_loop):
4082         Better message printout.
4083
4084 2005-10-08  Wim Taymans  <wim@fluendo.com>
4085
4086         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4087         (gst_bin_child_proxy_get_children_count):
4088         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4089         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4090         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4091         (gst_child_proxy_set_valist):
4092         * gst/parse/grammar.y:
4093         Make ChildProxy threadsafe and fix mem leaks.
4094
4095 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4096
4097         * gst/gst.c: (init_post):
4098           debug the GST_PLUGIN_ env vars
4099
4100 2005-10-08  Wim Taymans  <wim@fluendo.com>
4101
4102         * check/gst/gstbin.c: (GST_START_TEST):
4103         * check/gst/gstmessage.c: (GST_START_TEST):
4104         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4105         * gst/gstelement.c: (gst_element_commit_state),
4106         (gst_element_lost_state):
4107         * gst/gstmessage.c: (gst_message_new_state_changed),
4108         (gst_message_parse_state_changed):
4109         * gst/gstmessage.h:
4110         * tools/gst-launch.c: (event_loop):
4111         Added extra field to STATE_CHANGE message with the pending
4112         state, which will be different from the new state soon.
4113
4114 2005-10-08  Wim Taymans  <wim@fluendo.com>
4115
4116         * gst/gstbus.c: (gst_bus_pop):
4117         * gst/gstclock.c:
4118         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4119         Small cleanups and doc updates.
4120
4121 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4122
4123         * gst/gst.c: (init_pre):
4124         * gst/gstbin.c: (gst_bin_add_func):
4125           log distributing clocks and base time
4126         * gst/gstregistry.c: (gst_registry_add_plugin),
4127         (gst_registry_scan_path_level), (gst_registry_scan_path):
4128           clean up the debugging output a little
4129         * gst/gstutils.c: (gst_element_state_get_name):
4130           warn about a memleak (I've actually seen this be used, though
4131           it was probably a bug)
4132
4133 2005-10-07  Wim Taymans  <wim@fluendo.com>
4134
4135         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4136         (gst_base_src_init), (gst_base_src_default_newsegment),
4137         (gst_base_src_newsegment), (gst_base_src_do_seek),
4138         (gst_base_src_loop), (gst_base_src_start):
4139         * gst/base/gstbasesrc.h:
4140         Make the newsegment event customizable by subclasses.
4141
4142 2005-10-07  Wim Taymans  <wim@fluendo.com>
4143
4144         * gst/gstevent.c: (gst_event_new_buffersize),
4145         (gst_event_parse_buffersize):
4146         * gst/gstevent.h:
4147         New event for future idea.
4148
4149 2005-10-07  Andy Wingo  <wingo@pobox.com>
4150
4151         * gst/gstelement.c (gst_element_post_message): Doc update.
4152
4153         * docs/gst/gstreamer-sections.txt: Update.
4154
4155         * gst/gstmessage.c (gst_message_new_application): Made into a
4156         function like honest API calls.
4157         (gst_message_new_element): New message type.
4158
4159         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4160
4161         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4162         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4163         times.
4164
4165         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4166         NO_PREROLL from gst_element_change_state to fall through.
4167
4168 2005-10-07  Wim Taymans  <wim@fluendo.com>
4169
4170         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4171         (gst_ghost_pad_do_activate_push):
4172         Activating a ghostpad with no internal pad in push mode
4173         is ok.
4174
4175 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4176
4177         * gst/gstobject.h:
4178           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4179           Fixes compilation on Windows.
4180
4181 2005-10-07  Michael Smith <msmith@fluendo.com>
4182
4183         * tools/gst-inspect.c:
4184           Print out feature and plugin count at the end when printing out
4185           all features.
4186
4187 2005-10-04  Michael Smith <msmith@fluendo.com>
4188
4189         * gst/gsterror.c: (_gst_stream_errors_init):
4190           Add another error string used in a few existing plugins.
4191
4192         * gst/gstplugin.c:
4193         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4194         * tools/gst-inspect.c: (print_element_info):
4195           When a feature disappears from a plugin (and the feature exists in
4196           the cached registry file), things went horribly wrong. This isn't a
4197           complete fix, we should actually be removing the 'missing' features
4198           from the features list when we load the actual plugin. That's not
4199           yet implemented. 
4200
4201 2005-10-04  Johan Dahlin  <johan@gnome.org>
4202
4203         * check/gst/gstiterator.c: (GST_START_TEST):
4204         * gst/gstbin.c: (gst_bin_iterate_elements),
4205         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4206         * gst/gstelement.c: (gst_element_iterate_pads):
4207         * gst/gstformat.c: (gst_format_iterate_definitions):
4208         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4209         (gst_iterator_new_list), (gst_iterator_filter):
4210         * gst/gstiterator.h:
4211         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4212         Add a GType to GstIterator, update callsites and tests.
4213
4214 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4215
4216         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4217           give events a chance to be handled by event probes when the pad
4218           is not linked
4219
4220 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4221
4222         * gst/gstevent.c: (gst_event_type_get_name),
4223         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4224         * gst/gstevent.h:
4225           add string representations for event types
4226
4227 2005-10-06  Wim Taymans  <wim@fluendo.com>
4228
4229         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4230         Don't use NULL pointers.
4231
4232 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4233
4234         * gst/gst_private.h:
4235         * gst/gstbus.c:
4236         * gst/gstelement.c:
4237         * gst/gstinfo.c:
4238         * gst/gstpluginfeature.c:
4239           widen the debug category in output to fit the biggest one we have
4240           add a bus category and use it
4241           play with the colors
4242           fix up some categories
4243
4244 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4245
4246         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4247           add push activation of sink ghost pads.
4248           Andye, please verify
4249
4250 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4251
4252         * gst/gstutils.c: (gst_element_link_pads):
4253           fix a bug in the case where neither element has a pad
4254         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4255           add a test for that case
4256
4257 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4258
4259         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4260           emit have-data before checking for peers.  This allows
4261           for probe handlers to connect elements.  This helps autopluggers.
4262         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4263         (gst_pad_suite):
4264           add six checks, linked/unlinked with no/true/false probe
4265
4266 2005-10-04  Wim Taymans  <wim@fluendo.com>
4267
4268         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4269         (gst_fake_sink_event), (gst_fake_sink_preroll),
4270         (gst_fake_sink_render), (gst_fake_sink_change_state):
4271         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4272         (gst_fake_src_get_property), (gst_fake_src_create),
4273         (gst_fake_src_stop):
4274         * gst/elements/gstidentity.c: (gst_identity_stop):
4275         Protect last_message with lock.
4276
4277 2005-10-04  Edward Hervey  <edward@fluendo.com>
4278
4279         * gst/gstformat.h: 
4280         Added precision in the comments for GST_FORMAT_DEFAULT
4281
4282 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4283
4284         * tools/gst-launch.c: (main):
4285           Don't try to run erroneous pipelines.
4286
4287 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4288
4289         * gst/gstbus.c: We don't need this header.
4290
4291 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4292
4293         * configure.ac:
4294           back to development
4295
4296 === release 0.9.3 ===
4297
4298 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4299
4300         * README:
4301         * configure.ac:
4302           Releasing 0.9.3, "Unregistered"
4303
4304 2005-10-03  Andy Wingo  <wingo@pobox.com>
4305
4306         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4307         whereby calling a pad's activatepush() function can start a thread
4308         that starts to push or pull before the pad gets the FLUSHING flag
4309         unset. Hack around it by holding the stream lock until the flag is
4310         set. Need to replace this with a proper solution. Together with
4311         the ghost pad fixes, this fixes mp3 playing/tagreading.
4312
4313         * docs/design/part-gstghostpad.txt: Add a note about activation of
4314         proxy pads outside of ghost pads.
4315
4316         * gst/gstghostpad.c: Implement the ghost pad activation design.
4317
4318 2005-10-02  Andy Wingo  <wingo@pobox.com>
4319
4320         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4321         It is volatile, after all.
4322
4323         * docs/design/part-gstghostpad.txt: Flesh out activation with
4324         ghost pads.
4325
4326         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4327         GST_DEBUG_FUNCPTR.
4328
4329 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4330
4331         * configure.ac:
4332           Fix (unused) AM_CONDITIONAL tests.
4333
4334 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4335
4336         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4337
4338         * gst/gstutils.c: (gst_pad_query_convert):
4339           Add assertion that makes sure src_val is >=0, just like
4340           gst_query_new_convert() has. (#315895)
4341
4342 2005-09-30  Edward Hervey  <edward@fluendo.com>
4343
4344         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4345         Let's not iterate pads we're not interested in, it avoids getting 
4346         sky-high refcounts on sinkpad.
4347
4348 2005-09-30  Wim Taymans  <wim@fluendo.com>
4349
4350         * gst/gstelement.c: (gst_element_set_state),
4351         (gst_element_change_state):
4352         Small tweak, element in ASYNC remains ASYNC.
4353
4354 2005-09-30  Wim Taymans  <wim@fluendo.com>
4355
4356         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4357         Only error is an error.
4358
4359         * gst/gstbin.c: (gst_bin_change_state):
4360         Better debugging.
4361
4362         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4363         Also call pad_block in pad alloc.
4364
4365         * gst/gstutils.c: (gst_flow_get_name):
4366         Better debugging.
4367
4368 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4369
4370         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4371         (gst_base_src_get_range):
4372           Fix documentation typos. Add some more debug info.
4373
4374 2005-09-29  David Schleef  <ds@schleef.org>
4375
4376         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4377           more end-user friendly.
4378         * tools/gst-inspect.c: (main): Check if command-line argument is
4379           a file and attempt to load that file as a plugin.
4380
4381 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4382
4383         * check/gst/gstbin.c:
4384         * check/states/sinks.c:
4385           fix tests for the new warning
4386         * check/gst/gstpipeline.c:
4387           add a test for pipeline and bus interaction
4388         * gst/gstelement.c:
4389           elements should be NULL if they get disposed; add a warning if not
4390
4391 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4392
4393         * gst/gstobject.c:
4394           for 2.6 refcounting, make debug log more correct by printing
4395           the actual refcounts at the time of swap (Wim)
4396
4397 2005-09-29  Andy Wingo  <wingo@pobox.com>
4398
4399         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4400         removes signal watches previously added via
4401         gst_bus_add_signal_watch.
4402         (gst_bus_add_signal_watch): Don't return the source id, just store
4403         it on the bus if there wasn't an id already.
4404
4405         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4406         add_signal_watch and remove_signal_watch.
4407
4408 2005-09-29  Edward Hervey  <edward@fluendo.com>
4409
4410         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4411         Better if we actually iterate the list :)
4412
4413 2005-09-29  Wim Taymans  <wim@fluendo.com>
4414
4415         * check/gst/gstbin.c: (GST_START_TEST):
4416         Change for new bus API.
4417
4418         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4419         (send_messages), (GST_START_TEST), (gstbus_suite):
4420         Change for new bus signal API.
4421
4422         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4423         (gst_bus_source_prepare), (gst_bus_source_check),
4424         (gst_bus_create_watch), (gst_bus_add_watch_full),
4425         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4426         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4427         * gst/gstbus.h:
4428         Remove support for multiple GSources operating on different
4429         message types as it is too complex and unneeded when using
4430         signals.
4431         Added support for receiving signals from the bus.
4432
4433 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4434
4435         * docs/libs/tmpl/gstdataprotocol.sgml:
4436         * docs/manual/advanced-dataaccess.xml:
4437         * gst/elements/gstcapsfilter.c:
4438         * gst/gstutils.c:
4439           rename filter-caps to caps property
4440
4441 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4442
4443         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4444           More robust fraction string parsing.
4445
4446         * docs/pwg/appendix-porting.xml:
4447           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4448
4449 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4450
4451         * gst/gstcaps.c: (gst_caps_do_simplify):
4452           Thou shalt not free a structure and then continue using it
4453           in the next loop iteration.
4454
4455         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4456         (gst_caps_suite):
4457           Add test case for caps simplification.
4458
4459 2005-09-29  Wim Taymans  <wim@fluendo.com>
4460
4461         * check/gst/gstbin.c: (GST_START_TEST):
4462         Oops.
4463
4464 2005-09-29  Wim Taymans  <wim@fluendo.com>
4465
4466         * check/gst/gstbin.c: (GST_START_TEST):
4467         Add bus to bin.
4468
4469         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4470         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4471         (find_element), (gst_bin_sort_iterator_next),
4472         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4473         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4474         (gst_bin_change_state), (gst_bin_dispose):
4475         A bin does not have a bus, it gets the bus from the parent.
4476
4477         * gst/gstelement.c: (gst_element_requires_clock),
4478         (gst_element_provides_clock), (gst_element_is_indexable),
4479         (gst_element_is_locked_state), (gst_element_change_state),
4480         (gst_element_set_bus_func):
4481         Small cleanups.
4482
4483         * gst/gstpipeline.c: (gst_pipeline_class_init),
4484         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4485         The pipeline provides a bus.
4486
4487 2005-09-28  Johan Dahlin  <johan@gnome.org>
4488
4489         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4490         gst_structure_get_enum instead of gst_structure_get_int
4491
4492         * gst/gststructure.c (gst_structure_get_enum): Impl.
4493
4494         * gst/gststructure.h (gst_structure_get_enum): Add
4495
4496         * docs/gst/gstreamer-sections.txt: Ditto
4497
4498         * gst/gstmessage.c (gst_message_new_state_changed): Use
4499         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4500         which does introspection.
4501         Reviewed by Christian Schaller
4502
4503 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4504
4505         * gst/gstinfo.c: (gst_debug_log_default):
4506           don't do dummy g_strdup()s
4507         * libs/gst/controller/gstcontroller.c:
4508         (on_object_controlled_property_changed),
4509         (gst_controlled_property_new), (gst_controller_new_valist),
4510         (gst_controller_new_list),
4511         (gst_controller_remove_properties_valist), (gst_controller_set),
4512         (gst_controller_get), (gst_controller_sync_values),
4513         (gst_controller_get_value_array), (_gst_controller_class_init),
4514         (gst_controller_get_type):
4515         * libs/gst/controller/gstcontroller.h:
4516         * libs/gst/controller/gstinterpolation.c:
4517         (gst_controlled_property_find_timed_value_node):
4518           convert // to /**/ comments
4519
4520 2005-09-28  Wim Taymans  <wim@fluendo.com>
4521
4522         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4523         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4524         (gst_bus_sync_signal_handler):
4525         * gst/gstbus.h:
4526         Added async-message and sync-message signals to the bus.
4527         Added helper BusFunc to emit signals for all posted messages.
4528
4529         * gst/gstmessage.c: (gst_message_type_get_name),
4530         (gst_message_type_to_quark), (gst_message_get_type):
4531         * gst/gstmessage.h:
4532         Register quarks for message names.
4533
4534 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4535
4536         * docs/libs/gstreamer-libs-sections.txt:
4537         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4538         (gst_controller_new_list):
4539         * libs/gst/controller/gstcontroller.h:
4540           added another constructor for language bindings
4541
4542 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4543
4544         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4545           add another check
4546         * gst/gstbus.c:
4547           add some doc
4548         * gst/gstinfo.c: (_gst_debug_init):
4549           slightly more readable color for refcount debugging
4550
4551 2005-09-28  Wim Taymans  <wim@fluendo.com>
4552
4553         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4554         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4555         (find_element), (gst_bin_sort_iterator_next),
4556         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4557         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4558         (gst_bin_change_state), (gst_bin_dispose):
4559         Small doc fixes. get_clock -> provide_clock.
4560
4561         * gst/gstelement.c: (gst_element_class_init),
4562         (gst_element_provides_clock), (gst_element_provide_clock),
4563         (gst_element_get_clock), (gst_element_commit_state),
4564         (gst_element_lost_state):
4565         * gst/gstelement.h:
4566         Make get/set_clock() symetric. Add provide_clock vmethod since
4567         that is actually what this function does.
4568
4569         * gst/gstpipeline.c: (gst_pipeline_class_init),
4570         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4571         (gst_pipeline_get_clock):
4572         get_clock -> provide_clock.
4573
4574 2005-09-28  Andy Wingo  <wingo@pobox.com>
4575
4576         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4577         lieu of real docs...
4578
4579         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4580
4581 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4582
4583         * gst/elements/gstcapsfilter.c:
4584         * gst/elements/gstfakesink.c:
4585         * gst/elements/gstfakesrc.c:
4586         * gst/elements/gstfdsink.c:
4587         * gst/elements/gstfdsrc.c:
4588         * gst/elements/gstfilesink.c:
4589         * gst/elements/gstfilesrc.c:
4590         * gst/elements/gstidentity.c:
4591         * gst/elements/gsttee.c:
4592         * gst/elements/gsttypefindelement.c:
4593           Make element details static.
4594
4595 2005-09-28  Wim Taymans  <wim@fluendo.com>
4596
4597         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4598         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4599         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4600         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4601         (gst_bin_change_state), (gst_bin_dispose):
4602         Some documentation updates.
4603         Clean up dispose handlers.
4604
4605         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4606         * gst/gstpad.c: (gst_pad_dispose):
4607         Clean up dispose handler.
4608
4609         * gst/gstpipeline.c: (gst_pipeline_change_state):
4610         Removed spurious UNLOCK.
4611
4612 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4613
4614         * docs/gst/gstreamer-sections.txt:
4615         * gst/base/gstbasesrc.h:
4616         * gst/gstelement.h:
4617         * gst/gstevent.h:
4618         * gst/gstobject.h:
4619         * gst/gstpad.h:
4620         * gst/gstpipeline.c:
4621         * gst/gstpipeline.h:
4622         * gst/gstutils.h:
4623         * gst/gstxml.h:
4624           added two new functions to the docs
4625                 documents all undocumented GstXXXFlags
4626                 completed some incomplete docs 
4627
4628 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4629
4630         * gst/gstbin.c: (gst_bin_dispose):
4631         * gst/gstelement.c: (gst_element_dispose):
4632           remove now useless and leaky resurrection code in dispose
4633         * gst/base/gstbasesrc.c: (gst_base_src_init):
4634         * gst/gstelementfactory.c: (gst_element_factory_create):
4635         * gst/gstobject.c: (gst_object_set_parent):
4636           add some debugging
4637
4638 2005-09-27  Wim Taymans  <wim@fluendo.com>
4639
4640         * docs/design/part-TODO.txt:
4641         Update TODO.
4642
4643         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4644         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4645         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4646         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4647         (gst_bin_change_state):
4648         * gst/gstelement.h:
4649         Remove element variable, we keep element info in the iterator now.
4650
4651 2005-09-27  Andy Wingo  <wingo@pobox.com>
4652
4653         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4654         values.
4655
4656 2005-09-27  Wim Taymans  <wim@fluendo.com>
4657
4658         * check/gst/gstbin.c: (GST_START_TEST):
4659         Enable check that works now.
4660
4661         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4662         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4663         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4664         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4665         (gst_bin_change_state):
4666         * gst/gstbin.h:
4667         Redid the state change algorithm using a topological sort algo.
4668         Handles all cases correctly.
4669         Exposed iterator for state change order.
4670
4671         * gst/gstelement.h:
4672         Temp storage for state changes. Need to get rid of this soon.
4673
4674 2005-09-27  Wim Taymans  <wim@fluendo.com>
4675
4676         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4677         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4678         (link_fold_func), (gst_pad_proxy_setcaps):
4679         Leak fixes, the fold functions need to unref the passed object and
4680         _get_parent_*() returns ref to parent.
4681
4682 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4683
4684         * check/gst/gstbuffer.c: (test_make_writable):
4685           Plug leak in test case and fix 'make check-valgrind'
4686
4687 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4688
4689         * gst/gstbuffer.c: (gst_subbuffer_init):
4690           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4691           works correctly in all circumstances (we could have just copied
4692           the parent buffer's readonly flag, but conceptually it seems
4693           cleaner to mark all subbuffers as read-only). (based on patch
4694           by Alessandro Decina, #314710).
4695         
4696         * check/gst/gstbuffer.c: (create_read_only_buffer),
4697         (test_make_writable), (test_subbuffer_make_writable),
4698         (gst_test_suite):
4699           Add some tests for gst_buffer_make_writable().
4700
4701 2005-09-27  Wim Taymans  <wim@fluendo.com>
4702
4703         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4704         use gst_object_has_ancestor().
4705
4706         * gst/gstobject.c: (gst_object_has_ancestor):
4707         * gst/gstobject.h:
4708         gst_object_has_ancestor() copied from gstbin.c as it is a
4709         usefull function.
4710
4711         * tests/instantiate/create.c: (create_all_elements):
4712         * tests/lat.c: (handoff_src), (handoff_sink):
4713         * tests/sched/runxml.c: (main):
4714         * tests/seeking/seeking1.c: (main):
4715         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4716         (main):
4717         Fix compilation of some tests.
4718
4719 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4720
4721         * gst/gsterror.h:
4722           Remove comment. GST_TYPE_G_ERROR is here to stay,
4723           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4724           (#316961, #300610).
4725
4726 2005-09-26  Wim Taymans  <wim@fluendo.com>
4727
4728         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4729         Added check that shows error in state change order.
4730
4731 2005-09-26  Wim Taymans  <wim@fluendo.com>
4732
4733         * gst/gstbin.c: (gst_bin_change_state):
4734         Make state change function use 3 queues again, we were
4735         adding elements in the wrong order.
4736
4737         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4738         Some debug info,
4739
4740         * gst/gstpad.c: (gst_pad_dispose):
4741         Added some debug info first.
4742
4743 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4744
4745         * docs/design/draft-push-pull.txt:
4746         * docs/design/part-events.txt:
4747         * docs/design/part-overview.txt:
4748         * docs/design/part-scheduling.txt:
4749           Replace all _pull_region() with _pull_range()
4750           
4751 2005-09-26  Andy Wingo  <wingo@pobox.com>
4752
4753         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4754
4755         * check/gst-libs/controller.c: Update for controller api change.
4756
4757         * configure.ac: 
4758         * tests/Makefile.am:
4759         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4760         over by GLib bug 118439.
4761         
4762         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4763         routines to a function.
4764
4765         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4766
4767         * libs/gst/controller/gsthelper.c:
4768         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4769         (gst_object_sync_values): Renamed from sink_values. Ugh.
4770
4771         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4772
4773         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4774         Renamed from controller_key, as it is exported.
4775
4776         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4777
4778 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4779
4780         * gst/Makefile.am:
4781         * gst/gst.h:
4782         * gst/gstpad.h:
4783         * gst/gstpadtemplate.h:
4784         * gst/gstquery.c:
4785         * gst/gstquery.h:
4786         * gst/gstqueryutils.c:
4787         * gst/gstqueryutils.h:
4788           remove queryutils headers after moving the two used functions
4789           to gstquery.  also fixes build problem for gstsiddec
4790
4791 2005-09-26  Michael Smith <msmith@fluendo.com>
4792
4793         * tools/gst-launch.1.in:
4794         Correct documentation in manpage of debug syntax
4795
4796 2005-09-26  Wim Taymans  <wim@fluendo.com>
4797
4798         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4799         (gst_base_src_is_seekable), (gst_base_src_change_state):
4800         Some more debugging info.
4801
4802 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4803
4804         * docs/gst/gstreamer-sections.txt:
4805         * gst/base/gstbasetransform.h:
4806         * gst/gstindex.h:
4807           added more docs
4808
4809 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4810
4811         * docs/gst/.cvsignore:
4812         * docs/gst/tmpl/.cvsignore:
4813         * docs/gst/tmpl/gstpipeline.sgml:
4814         * docs/gst/tmpl/gstplugin.sgml:
4815         * gst/gstpipeline.c:
4816         * gst/gstplugin.c:
4817         * gst/gstplugin.h:
4818           inlined the last two docs files
4819           removed the tmpl directory from cvs (no more conflicts here!)
4820
4821 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4822
4823         * docs/gst/gstreamer-sections.txt:
4824         * docs/gst/tmpl/.cvsignore:
4825         * docs/gst/tmpl/gstpad.sgml:
4826         * docs/gst/tmpl/gstpadtemplate.sgml:
4827         * gst/Makefile.am:
4828         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4829         (gst_pad_finalize), (gst_pad_set_pad_template):
4830         * gst/gstpad.h:
4831         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4832         (gst_pad_template_class_init), (gst_pad_template_init),
4833         (gst_pad_template_dispose), (name_is_valid),
4834         (gst_static_pad_template_get), (gst_pad_template_new),
4835         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4836         (gst_pad_template_pad_created):
4837         * gst/gstpadtemplate.h:
4838           inlined two more docs
4839           factored gstpadtemplate out of gstpad
4840
4841 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4842
4843         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4844         (test_children_state_change_order_semi_sink):
4845           Fix test case: we can't rely on a fixed state change order when
4846           going from READY => PAUSED because the sink might commit its 
4847           new state first when the first buffer created by the source 
4848           reaches the sink before the source has finished its change state.
4849           (Test case still fails at times, see #316856, comment 5 onwards)
4850
4851 2005-09-24  Wim Taymans  <wim@fluendo.com>
4852
4853         * docs/design/part-events.txt:
4854         * docs/design/part-gstbus.txt:
4855         * docs/design/part-gstpipeline.txt:
4856         * docs/design/part-messages.txt:
4857         * docs/design/part-overview.txt:
4858         * docs/design/part-segments.txt:
4859         * gst/gstbin.c:
4860         * gst/gstbuffer.c:
4861         * gst/gstclock.c:
4862         * gst/gstelement.c:
4863         * gst/gstevent.c:
4864         * gst/gstfilter.c:
4865         * gst/gstiterator.c:
4866         Various documentation updates.
4867
4868 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * gst/gstclock.h:
4871           Well, that's embarassing.  Luckily we weren't using
4872           GST_CLOCK_DIFF anywhere.
4873
4874 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4875
4876         * common/gtk-doc.mak:
4877           don't fail on building XML, FC4 slave shows a bunch of doc
4878           missing bits that I don't get
4879         * gst/gstpad.c:
4880         * gst/gstpipeline.c:
4881         * gst/gststructure.c:
4882           some doc updates
4883
4884 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4885
4886         * docs/design/part-gstbin.txt:
4887         * docs/design/part-gstbus.txt:
4888         * gst/gstbus.c:
4889           Add blurb about how the bus goes into flushing mode and
4890           drops all messages when its bin goes from READY into NULL 
4891           state.
4892
4893 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4894
4895         * docs/gst/gstreamer-sections.txt:
4896         * gst/gststructure.c: (gst_structure_get_clock_time):
4897         * gst/gststructure.h:
4898           add a method to get a GstClockTime out of a structure
4899
4900 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4901
4902         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4903         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4904           Added test to check state change order in bins (can still be made
4905           to fail here under heavy disk load; bails out with 'Push on pad
4906           fakesink:sink0, but it was not activated in push mode').
4907
4908         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4909           Fix state change order when there is only a semi sink (#316856)
4910
4911         * gst/gstbus.c: (gst_bus_class_init):
4912           Use _class_peek_parent(), not _class_ref(); fix docs to say
4913           'default main context' instead of 'mainloop' where that is
4914           what's meant.
4915
4916         * gst/gstelement.c: (gst_element_commit_state),
4917         (gst_element_set_state):
4918           Fix typos in debug messages
4919
4920 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4921
4922         * docs/README:
4923         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4924         * gst/gstpluginfeature.c:
4925         * gst/gstutils.c:
4926           various doc updates
4927         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4928           change an assert into an error until it gets fixed properly
4929
4930 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4931
4932         * docs/gst/gstreamer-sections.txt:
4933         * docs/gst/tmpl/.cvsignore:
4934         * docs/gst/tmpl/gstelement.sgml:
4935         * docs/gst/tmpl/gstinfo.sgml:
4936         * docs/gst/tmpl/gstobject.sgml:
4937         * gst/gstelement.c:
4938         * gst/gstelement.h:
4939         * gst/gstinfo.c:
4940         * gst/gstinfo.h:
4941         * gst/gstobject.c: (gst_object_class_init):
4942         * gst/gstobject.h:
4943           inlined 3 more biiiig doc files and added some missing docs on the fly
4944
4945 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4946
4947         * check/gst/.cvsignore:
4948         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4949         * gst/gstregistryxml.c: (load_plugin),
4950         (gst_registry_xml_save_plugin):
4951           put back source in registry.  add checks for find_plugin.
4952         * testsuite/states/bin.c: (assert_state), (empty_bin),
4953         (test_adding_one_element), (main):
4954         * testsuite/states/locked.c: (main):
4955           some compile/run fixes
4956
4957 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4958
4959         * check/gst/gstvalue.c: (GST_START_TEST):
4960           fix leaks in the test itself
4961
4962 2005-09-22  Wim Taymans  <wim@fluendo.com>
4963
4964         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4965         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4966         (gst_base_sink_query):
4967         Prepare for more accurate position reporting and query
4968         handling.
4969
4970         * gst/gstelement.c: (gst_element_send_event),
4971         (gst_element_set_state):
4972         Add some comment.
4973
4974 2005-09-22  Wim Taymans  <wim@fluendo.com>
4975
4976         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4977         (gst_query_parse_segment):
4978         * gst/gstquery.h:
4979         More documentation.
4980         Add segment query for future use.
4981
4982 2005-09-22  Wim Taymans  <wim@fluendo.com>
4983
4984         * gst/gstbin.c: (gst_bin_add_func):
4985         Some more debug info.
4986
4987         * gst/gstelement.c: (gst_element_send_event):
4988         Simplify send_event
4989
4990         * gst/gstelement.h:
4991         Don't know how flags got broken.
4992
4993         * gst/gstquery.h:
4994         Added new query.
4995
4996 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4997
4998         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4999           Add simplistic test suite for GST_TYPE_DATE serialisation and
5000           deserialisation.
5001
5002 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5003
5004         * docs/gst/gstreamer-sections.txt:
5005         * gst/gststructure.c: (gst_structure_set_valist),
5006         (gst_structure_get_date):
5007         * gst/gststructure.h:
5008         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5009         (gst_date_copy), (gst_value_compare_date),
5010         (gst_value_serialize_date), (gst_value_deserialize_date),
5011         (gst_value_transform_date_string),
5012         (gst_value_transform_string_date), (_gst_value_initialize):
5013         * gst/gstvalue.h:
5014           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5015           bunch of utility functions along with a hack that checks that
5016           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5017           is required. Part of the grand scheme in #170777.
5018
5019 2005-09-22  Andy Wingo  <wingo@pobox.com>
5020
5021         * gst/gstconfig.h.in: Psych out gtk-doc.
5022
5023         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5024
5025         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5026
5027         * tools/gst-inspect.c (print_element_list): Plug some
5028         inconsequential leaks.
5029
5030         * gst/gstregistry.c (gst_registry_get_default): Doc.
5031
5032         * check/gst/gstplugin.c: 
5033         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5034         * gst/gstelementfactory.c (gst_element_factory_create): 
5035         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5036         refcount changes.
5037
5038         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5039         (gst_plugin_feature_load): Doc, don't eat refs.
5040
5041         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5042         (gst_plugin_list_free): Doc.
5043         (gst_plugin_load_file): Doc updates.
5044
5045         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5046         accessors returning refcounted objects, return a ref.
5047
5048         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5049         accessor for caps. IDEMPOTENCE. Oh yes.
5050
5051 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5052
5053         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5054
5055         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5056         (_gst_debug_register_funcptr):
5057           Add mutex to serialise access to the hash table with
5058           the function pointer => function name string mapping;
5059           make that hash table static scope (#316809).
5060
5061         * gst/registries/.cvsignore:
5062           Remove left-over file.
5063
5064 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5065
5066         * docs/pwg/appendix-porting.xml:
5067           And something about newsegment events and caps-on-buffers to
5068           the porting guide (feel free to improve).
5069
5070 2005-09-21  Andy Wingo  <wingo@pobox.com>
5071
5072         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5073         data and event probes on the same pad.
5074         (test_buffer_probe_once): Test that removing probes from within
5075         the probe functions works.
5076
5077 2005-09-21  Andy Wingo  <wingo@pobox.com>
5078
5079         * check/gst/gstutils.c: New file.
5080         (test_buffer_probe_n_times): A simple buffer probe test. More to
5081         come, foolios.
5082
5083         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5084         have-data::buffer, not have-data.
5085         (gst_pad_add_event_probe): Likewise for have-data::event.
5086         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5087         peer' isn't quite right yet though.
5088         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5089         (gst_pad_remove_data_probe): Change to take the guint handler_id
5090         as their arg, not the function+data, which is more glib-like.
5091
5092         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5093         the signal emission to indicate if the data is a buffer or an
5094         event.
5095         (gst_pad_get_type): Initialize buffer and event quarks.
5096         (gst_pad_class_init): have-data is now a detailed signal, yes it
5097         is.
5098
5099 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5100
5101         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5102         * gst/gstutils.c: (gst_util_set_value_from_string),
5103         (gst_util_set_object_arg):
5104           Don't put functional code in g_return_if_fail() or
5105           g_return_val_if_fail() statements, otherwise things will 
5106           break when G_DISABLE_CHECKS is defined during compilation.
5107
5108 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5109
5110         * docs/gst/tmpl/.cvsignore:
5111         * docs/gst/tmpl/gstvalue.sgml:
5112         * gst/gstvalue.c:
5113         * gst/gstvalue.h:
5114           inlied another one and added  some obvious docs
5115
5116 2005-09-21  Wim Taymans  <wim@fluendo.com>
5117
5118         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5119         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5120         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5121         (gst_fdsrc_get_property), (gst_fdsrc_create):
5122         * gst/elements/gstfdsrc.h:
5123         Properly implement fdsrc. Removed signal and timeout,
5124         better implemented somewhere else.
5125
5126 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5127
5128         * docs/gst/tmpl/.cvsignore:
5129         * docs/gst/tmpl/gstimplementsinterface.sgml:
5130         * gst/gstinterface.c:
5131           inlined more docs
5132
5133 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5134
5135         * docs/gst/gstreamer-sections.txt:
5136         * docs/gst/tmpl/.cvsignore:
5137         * docs/gst/tmpl/gstenumtypes.sgml:
5138           remove obsolete doc file
5139
5140 2005-09-21  David Schleef  <ds@schleef.org>
5141
5142         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5143         little beer, fix a little leak.
5144
5145 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5146
5147         * docs/gst/gstreamer-docs.sgml:
5148         * docs/gst/gstreamer-sections.txt:
5149         * docs/gst/tmpl/.cvsignore:
5150         * gst/Makefile.am:
5151         * gst/gst.h:
5152         * gst/gstbin.c:
5153         * gst/gstelement.h:
5154         * gst/gstindex.c: (gst_index_class_init):
5155         * gst/gstindex.h:
5156         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5157         (gst_index_factory_class_init), (gst_index_factory_init),
5158         (gst_index_factory_finalize), (gst_index_factory_new),
5159         (gst_index_factory_destroy), (gst_index_factory_find),
5160         (gst_index_factory_create), (gst_index_factory_make):
5161         * gst/gstindexfactory.h:
5162         * gst/gstpluginfeature.c:
5163         * gst/gstpluginfeature.h:
5164         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5165           more docs inlined, splitted gstindex.{c,h}
5166
5167 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5168
5169         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5170           fix a leak
5171
5172 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5173
5174         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5175           Set sync to FALSE by default.
5176
5177 2005-09-20  Wim Taymans  <wim@fluendo.com>
5178
5179         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5180         (gst_base_sink_init):
5181         Make sync property settable from subclass.
5182
5183         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5184         (gst_fake_sink_change_state):
5185         Set sync to FALSE by default.
5186
5187 2005-09-20  Wim Taymans  <wim@fluendo.com>
5188
5189         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5190         * tools/gst-launch.c: (main):
5191         The timeout handler should have lower priority than the source
5192         so we don't timeout before popping a message with 0 timeout.
5193         Dump error messages after failed state change.
5194
5195 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5196
5197         * tools/gst-inspect.c: (print_element_properties_info):
5198           Fix two typos.
5199
5200 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5201
5202         * check/gst/gstevent.c:
5203         * gst/elements/gstfakesink.c:
5204         * gst/elements/gstfakesink.h:
5205           remove the sync property from fakesink.
5206           has the side effect of setting sync TRUE
5207           for fakesink, which is a change.  Anyone who knows how
5208           to fix this nicely in a GObject-y way, feel free.
5209
5210 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5211
5212         * docs/gst/gstreamer-docs.sgml:
5213           remove probe refsection
5214
5215 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5216
5217         * check/Makefile.am:
5218           disable valgrinding the controller test again
5219         * docs/gst/gstreamer-sections.txt:
5220           update for api-changes
5221
5222 2005-09-20  Wim Taymans  <wim@fluendo.com>
5223
5224         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5225         (gst_base_sink_set_property), (gst_base_sink_get_property),
5226         (gst_base_sink_do_sync):
5227         * gst/base/gstbasesink.h:
5228         Added sync property to basesink to disable clock sync.
5229
5230 2005-09-20  Andy Wingo  <wingo@pobox.com>
5231
5232         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5233         eating the caller's refcount.
5234
5235         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5236         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5237         refcount.
5238
5239         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5240         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5241         of GLib 2.8 public, so we can know which refcount to check in
5242         tests.
5243
5244         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5245         (gst_object_init): Only set the gst refcount if we're going ahead
5246         with the refcount hack.
5247
5248 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5249
5250         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5251         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5252           more leaks plumbed, added more debug-logging
5253         * gst/gstmacros.h:
5254           whitespace fix
5255
5256 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5257
5258         * gst/gstmessage.c:
5259           remove include of gstmemchunk.h
5260
5261 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5262
5263         * gst/gstclock.c: (_gst_clock_id_free):
5264           Commit from the Political Party For More Atomic CVS Commits,
5265           so that people don't waste too much of their day fishing
5266           out obvious leaks out of massive commits.
5267           Oh, and fix a pretty damn obvious leak in the memchunk
5268           removal code.
5269
5270 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5271
5272         * check/Makefile.am:
5273         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5274           plug mem-leak, re-add to valgrindable tests
5275
5276 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5277
5278         * gst/gstplugin.h:
5279           unbreak the build for those who have chronic arthritis
5280           and typing "make check" is just too taxing on the hands
5281
5282 2005-09-20  Andy Wingo  <wingo@pobox.com>
5283
5284         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5285         really want it out, you should fix plugins at the same time.
5286
5287 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5288
5289         * configure.ac:
5290         * docs/gst/gstreamer-sections.txt:
5291         * gst/gstobject.c:
5292           added missing symbols to api docs
5293           disable ref-count hack if we have glib >= 2.8
5294
5295 2005-09-19  David Schleef  <ds@schleef.org>
5296
5297         * docs/gst/Makefile.am: Ignore a few more internal headers
5298         * docs/gst/gstreamer-docs.sgml: Remove old sections
5299         * docs/gst/gstreamer-sections.txt: Remove old sections
5300         * docs/gst/tmpl/gstobject.sgml: update
5301         * docs/gst/tmpl/gstplugin.sgml: update
5302         * docs/gst/tmpl/gstpluginfeature.sgml: update
5303         * docs/random/ds/0.9-suggested-changes: update.
5304         * gst/Makefile.am: remove memchunk and trashstack, since they're
5305           not used.
5306         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5307         * gst/gst.h: don't include some headers
5308         * gst/gstchildproxy.c: add gstmarshal.h
5309         * gst/gstclock.c: Don't use memchunks
5310         * gst/gstminiobject.c: Add some docs
5311         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5312         * gst/gstobject.h: same
5313         * gst/gstplugin.c: include gstmacros.h
5314         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5315         * gst/gstquery.c: don't use memchunks
5316         * gst/gstregistry.c: rename gst_registry_deinit()
5317         * gst/gstregistry.h: same
5318
5319 2005-09-19  David Schleef  <ds@schleef.org>
5320
5321         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5322         * docs/libs/gstreamer-libs-sections.txt:
5323         * docs/libs/tmpl/gstgetbits.sgml:
5324         * docs/libs/tmpl/gstputbits.sgml:
5325
5326 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5327
5328         * win32/gstenumtypes.c:
5329         * win32/gstenumtypes.h:
5330           Update.
5331
5332 2005-09-19  Wim Taymans  <wim@fluendo.com>
5333
5334         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5335         Automatically PAUSE and RESUME a pipeline when a flushing seek
5336         is performed.
5337
5338 2005-09-19  Andy Wingo  <wingo@pobox.com>
5339
5340         * gst/gstregistry.h: Spacing fixen.
5341
5342 2005-09-19  Wim Taymans  <wim@fluendo.com>
5343
5344         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5345         Handle state change failure more correctly.
5346
5347 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5348
5349         * check/Makefile.am:
5350         * check/pipelines/cleanup.c: (run_pipeline):
5351         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5352         (GST_START_TEST):
5353           enable cleanup again after fixing the leak
5354         * docs/README:
5355           some more info on docs
5356
5357 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5358
5359         * check/Makefile.am:
5360           re-enable tests now that leaks are plugged
5361         * check/gst/gst.c:
5362         * check/gst/gstbin.c:
5363         * check/gst/gstpipeline.c:
5364           add some more tests while fixing leaks
5365         * common/check.mak:
5366           make sure binaries are uptodate when valgrinding/gdbing
5367         * gst/gst.c:
5368         * gst/gstelementfactory.c:
5369           remove a ref too many, and add a FIXME for when we get
5370           round to disposing of classes
5371         * gst/gstplugin.c:
5372           fix the refcounting when loading a plugin from a file and
5373           the code pretends that the pointer is the same even though
5374           of course it can change
5375         * gst/gstpluginfeature.c:
5376           unref plugins marked cached (a bit confusing as a name)
5377           as the docs state should be done
5378           various doc additions to explain refcounting
5379         * gst/gstregistry.c:
5380         * gst/gstregistryxml.c:
5381           debugging
5382
5383 2005-09-19  Wim Taymans  <wim@fluendo.com>
5384
5385         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5386         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5387         (send_messages), (GST_START_TEST), (gstbus_suite):
5388         * check/gst/gstpipeline.c: (GST_START_TEST):
5389         * check/pipelines/cleanup.c: (run_pipeline):
5390         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5391         (GST_START_TEST):
5392         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5393         (gst_bus_source_check), (gst_bus_source_dispatch),
5394         (gst_bus_create_watch), (gst_bus_add_watch_full),
5395         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5396         * gst/gstbus.h:
5397         * tools/gst-launch.c: (event_loop):
5398         * tools/gst-md5sum.c: (event_loop):
5399         GstBusHandler -> GstBusFunc, return value has the same meaning as
5400         any other GSource (FALSE == remove source).
5401         _add_watch() and _add_watch_full() now take a MessageType mask to
5402         only handle specific types of messages.
5403         _poll() returns the GstMessage instead of the message type to avoid
5404         race conditions.
5405         _have_pending() takes a MessageType mask now too.
5406         Added testsuite for multiple bus watches.
5407         Fix testsuites and applications for new bus API.
5408
5409 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5410
5411         * check/Makefile.am:
5412           mark a bunch of the tests as to fix until we fix them
5413
5414 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5415
5416         * common/check.mak:
5417           use GST_PLUGIN settings for valgrind tests as well, so we're
5418           valgrinding the correct thing
5419         * gst/gst.c: (init_post):
5420           plug another leak
5421
5422 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5423
5424         * gst/gst.c: (init_post), (gst_deinit):
5425         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5426         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5427         * gst/gstindex.c: (gst_index_factory_class_init),
5428         (gst_index_factory_finalize):
5429         * gst/gstobject.c: (gst_object_dispose):
5430         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5431         (gst_plugin_load_file), (gst_plugin_desc_free):
5432         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5433         (gst_plugin_feature_finalize):
5434         * gst/gstregistry.c: (gst_registry_class_init),
5435         (gst_registry_init), (gst_registry_finalize),
5436         (gst_registry_get_default), (gst_registry_deinit):
5437         * gst/gstregistry.h:
5438         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5439           various cleanups and memleak plugging.  make valgrind is happy now.
5440
5441 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5442
5443         * common/check.mak:
5444           add a check-valgrind target
5445
5446 2005-09-18  David Schleef  <ds@schleef.org>
5447
5448         * tools/gst-inspect.c: Revert the GOption code.
5449
5450 2005-09-17  David Schleef  <ds@schleef.org>
5451
5452         * check/Makefile.am: Fix environment variables.
5453         * check/gst/gstplugin.c: Fix for API changes.
5454         * tools/gst-inspect.c: Fix for API changes.
5455         * tools/gst-xmlinspect.c: Fix for API changes.
5456         * gst/gstelementfactory.c:
5457         * gst/gstplugin.c:
5458         * gst/gstplugin.h:
5459         * gst/gstpluginfeature.c:
5460         * gst/gstpluginfeature.h:
5461         * gst/gstregistry.c:
5462         * gst/gstregistry.h:
5463         * gst/gstregistryxml.c:
5464         * gst/gsttypefind.c:
5465         * gst/gsttypefindfactory.c:
5466         * gst/indexers/gstfileindex.c:
5467         * gst/indexers/gstmemindex.c:
5468         * gst/schedulers/Makefile.am:
5469           Change registry to keep track of both plugins and features,
5470           removing the feature tracking from plugins themselves.
5471
5472 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5473
5474         * check/Makefile.am:
5475         * tools/gst-register.1.in:
5476           remove gst-register
5477
5478 2005-09-15  David Schleef  <ds@schleef.org>
5479
5480         * check/gst/gstplugin.c:
5481         * gst/gstelementfactory.c:
5482         * gst/gstplugin.c:
5483         * gst/gstpluginfeature.c:
5484         * gst/gstregistry.c:
5485           Getting tired of debugging.  Disabled all the unreffing of
5486           plugins and features, which fixes the segfaults, but of
5487           course leaks like crazy.  At least playbin works.
5488
5489 2005-09-15  David Schleef  <ds@schleef.org>
5490
5491         * check/gst/gstplugin.c: (register_check_elements),
5492         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5493         More testing
5494         * gst/elements/gsttypefindelement.c: Fix refcounting.
5495         * gst/gsttypefind.c:
5496         * gst/gsttypefindfactory.c:
5497         * gst/gsttypefindfactory.h:
5498
5499 2005-09-15  David Schleef  <ds@schleef.org>
5500
5501         * gst/gstindex.c: get refcounting correct.
5502         * gst/gstregistry.c: Handle the case where a feature/plugin is
5503           not found.
5504
5505 2005-09-15  David Schleef  <ds@schleef.org>
5506
5507         * check/Makefile.am:
5508         * check/gst/gstplugin.c: Add test
5509         * gst/gstplugin.c: Fix problems noticed by testsuite
5510         * gst/gstplugin.h:
5511         * gst/gstregistry.c: 
5512         * gst/gstregistry.h:
5513
5514 2005-09-15  David Schleef  <ds@schleef.org>
5515
5516         * gst/gstplugin.c: Implement semi-decent recounting and locking
5517           in plugins and plugin features.
5518         * gst/gstplugin.h:
5519         * gst/gstpluginfeature.c:
5520         * gst/gstpluginfeature.h:
5521         * gst/gstregistry.c:
5522
5523 2005-09-15  Michael Smith <msmith@fluendo.com>
5524
5525         * gst/gstregistry.c: (gst_registry_get_feature_list):
5526           Implement this. Makes oggdemux work; decodebin still broken.
5527
5528 2005-09-14  David Schleef  <ds@schleef.org>
5529
5530         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5531           #316076)
5532         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5533         * gst/check/Makefile.am:
5534         * libs/gst/controller/Makefile.am:
5535         * libs/gst/dataprotocol/Makefile.am:
5536
5537 2005-09-14  David Schleef  <ds@schleef.org>
5538
5539         * configure.ac: Remove getbits library.  Nothing uses it, and
5540           it should be in something like liboil if someone did want
5541           to use it.
5542         * libs/gst/Makefile.am:
5543         * libs/gst/getbits/Makefile.am:
5544         * libs/gst/getbits/gbtest.c:
5545         * libs/gst/getbits/getbits.c:
5546         * libs/gst/getbits/getbits.h:
5547         * libs/gst/getbits/gstgetbits_generic.c:
5548         * libs/gst/getbits/gstgetbits_i386.s:
5549         * libs/gst/getbits/gstgetbits_inl.h:
5550
5551 2005-09-14  David Schleef  <ds@schleef.org>
5552
5553         * gst/Makefile.am: Dist glib-compat.h
5554
5555 2005-09-14  David Schleef  <ds@schleef.org>
5556
5557         * configure.ac: Remove gst/registries, since it's no longer used.
5558         * gst/registries/Makefile.am:
5559         * gst/registries/gstlibxmlregistry.c:
5560         * gst/registries/gstlibxmlregistry.h:
5561         * gst/registries/gstxmlregistry.c:
5562         * gst/registries/gstxmlregistry.h:
5563         * gst/registries/registrytest.c:
5564
5565 2005-09-14  David Schleef  <ds@schleef.org>
5566
5567         * gst/glib-compat.h:
5568         * gst/gstregistryxml.c:
5569           Convergence is near.  Seriously.
5570
5571 2005-09-14  David Schleef  <ds@schleef.org>
5572
5573         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5574         * gst/glib-compat.h:
5575           Attempt #4 to appease the buildbots.
5576
5577 2005-09-14  David Schleef  <ds@schleef.org>
5578
5579         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5580           Attempt #3.
5581
5582 2005-09-14  David Schleef  <ds@schleef.org>
5583
5584         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5585         Attempt #2.
5586
5587 2005-09-14  David Schleef  <ds@schleef.org>
5588
5589         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5590           the new functions.
5591
5592 2005-09-14  David Schleef  <ds@schleef.org>
5593
5594         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5595         * gst/glib-compat.h: Add some functions that are in newer versions
5596           of glib than we care to require.
5597         * gst/gstregistryxml.c: Use them.
5598
5599 2005-09-14  David Schleef  <ds@schleef.org>
5600
5601         * po/POTFILES.in: remove gst-register.c
5602
5603 2005-09-14  David Schleef  <ds@schleef.org>
5604
5605         * docs/gst/gstreamer-docs.sgml:
5606         * docs/gst/gstreamer-sections.txt:
5607         * docs/gst/gstreamer.types:
5608         * docs/gst/tmpl/gstelement.sgml:
5609         * docs/gst/tmpl/gstplugin.sgml:
5610         * docs/gst/tmpl/gstpluginfeature.sgml:
5611           Documentation updates for registry changes.
5612
5613 2005-09-14  David Schleef  <ds@schleef.org>
5614
5615         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5616           because we don't require glib-2.8.
5617
5618 2005-09-14  David Schleef  <ds@schleef.org>
5619
5620         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5621           registries directory.
5622
5623 2005-09-14  David Schleef  <ds@schleef.org>
5624
5625         * check/Makefile.am:
5626         * check/generic/states.c:
5627         * gst/Makefile.am:
5628         * gst/gst.c:
5629         * gst/gst.h:
5630         * gst/gst_private.h:
5631         * gst/gstelementfactory.c:
5632         * gst/gstindex.c:
5633         * gst/gstinfo.c:
5634         * gst/gstplugin.c:
5635         * gst/gstplugin.h:
5636         * gst/gstpluginfeature.c:
5637         * gst/gstpluginfeature.h:
5638         * gst/gstregistry.c:
5639         * gst/gstregistry.h:
5640         * gst/gstregistrypool.c: remove
5641         * gst/gstregistrypool.h: remove
5642         * gst/gsttypefind.c:
5643         * gst/gsttypefindfactory.c:
5644         * gst/gsturi.c:
5645         * tools/Makefile.am:
5646         * tools/gst-compprep.c:
5647         * tools/gst-inspect.c:
5648         * tools/gst-register.c: remove
5649         * tools/gst-xmlinspect.c:
5650           Registry rewrite.  Changes registry from being a file created
5651           by a tool into a simple cache file created automatically by 
5652           libgstreamer.  Removed gst-register (because it's no longer
5653           needed).  Remove registry pools, because we only have one
5654           registry implementation (XML).  Fix up other subsystems as
5655           necessary.
5656
5657 2005-09-13  Michael Smith <msmith@fluendo.com>
5658
5659         * gst/gstconfig.h.in:
5660           Don't Use windows linking attributes for MinGW. Fixes #316157
5661
5662 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5663
5664         * gst/gstutils.c: (set_state_async_thread_func),
5665         (gst_element_set_state_async):
5666           Apparently people think it's better if this function doesn't
5667           try to set the state to whatever state was asked for on the first
5668           call to this function for any object.  Seriously.
5669
5670 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5671
5672         * check/gst/gstpipeline.c: (GST_START_TEST):
5673         * docs/gst/gstreamer-sections.txt:
5674         * gst/gstutils.c: (set_state_async_thread_func),
5675         (gst_element_set_state_async):
5676         * gst/gstutils.h:
5677           add a "gst_element_set_state_async" method that
5678           sets the state and starts a thread to make sure the state
5679           change completes as best as it can
5680
5681 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5682
5683         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5684           codify design+behaviour in testsuite after discussion
5685
5686 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5687
5688         * docs/gst/tmpl/gstelement.sgml:
5689         * docs/manual/appendix-quotes.xml:
5690           add a quote
5691         * gst/gstelement.c: (gst_element_set_state):
5692           add some debug
5693
5694 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5695
5696         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5697         (gst_base_transform_prepare_output_buf),
5698         (gst_base_transform_handle_buffer):
5699         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5700         (gst_capsfilter_prepare_buf):
5701           Remove the requirement for sub-classes to call the parent
5702           implementation of prepare_output_buffer with a wrapper function.
5703           
5704         * gst/gsttaglist.h:
5705         * gst/gsttagsetter.h:
5706           Fix #define wrapper
5707
5708 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5709
5710         * docs/gst/gstreamer-sections.txt:
5711           more doc cleanups
5712
5713 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5714
5715         * docs/gst/gstreamer-sections.txt:
5716         * docs/gst/tmpl/gstelement.sgml:
5717         * docs/gst/tmpl/gstplugin.sgml:
5718         * gst/gstminiobject.c:
5719         * gst/gstvalue.h:
5720           docs now stop throwing warnings
5721
5722 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5723
5724         * docs/gst/gstreamer-sections.txt:
5725         * docs/gst/gstreamer.types:
5726         * docs/gst/tmpl/gstpad.sgml:
5727         * docs/gst/tmpl/gsttypes.sgml:
5728         * gst/base/gstadapter.h:
5729         * gst/base/gstbasesink.h:
5730         * gst/base/gstbasesrc.h:
5731         * gst/gstbin.h:
5732         * gst/gstbuffer.h:
5733         * gst/gstbus.h:
5734         * gst/gstcaps.h:
5735         * gst/gstclock.h:
5736         * gst/gstelement.h:
5737         * gst/gstevent.h:
5738         * gst/gstmessage.h:
5739         * gst/gstpad.h:
5740         * gst/gststructure.c:
5741         * gst/registries/gstlibxmlregistry.h:
5742           various documentation fixes
5743
5744 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5745
5746         * docs/gst/gstreamer-sections.txt:
5747         * docs/gst/tmpl/gstvalue.sgml:
5748           rearrange gstvalue section
5749         * gst/gstutils.c: (gst_element_state_get_name):
5750           NONE -> VOID
5751         * gst/gstvalue.c: (_gst_value_initialize):
5752         * gst/gstvalue.h:
5753           doc updates
5754
5755 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5756
5757         * check/gst-libs/controller.c:
5758           Header include fix.
5759         * gst/base/gstbasetransform.c:
5760         (gst_base_transform_default_prepare_buf),
5761         (gst_base_transform_handle_buffer):
5762         * gst/base/gstbasetransform.h:
5763           Some more basetransform changes and fixes to enable sub-classes
5764           that modify buffer metadata only.
5765         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5766         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5767         (gst_capsfilter_prepare_buf):
5768           If the output pad has fixed allowed caps and input buffers 
5769           don't have any, set the fixed caps on outgoing buffers.
5770
5771 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5772         * check/elements/identity.c: (GST_START_TEST):
5773           Make the error a little clearer when the test fails because
5774           identity made a copy of the buffer.
5775         * docs/gst/gstreamer-sections.txt:
5776           New symbols in gstbasetransform.h
5777         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5778         (gst_base_transform_init), (gst_base_transform_transform_size),
5779         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5780         (gst_base_transform_default_prepare_buf),
5781         (gst_base_transform_get_unit_size),
5782         (gst_base_transform_buffer_alloc),
5783         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5784         (gst_base_transform_change_state),
5785         (gst_base_transform_set_passthrough),
5786         (gst_base_transform_set_in_place),
5787         (gst_base_transform_is_in_place):
5788         * gst/base/gstbasetransform.h:
5789           Change BaseTransform to separate in_place operate from same_caps
5790           output. in_place implies that the element can perform the transform
5791           on incoming buffers in-place, even if the caps on the output are
5792           different.
5793           Sub-class elements can now implement special buffer allocation
5794           methods for outgoing buffers if they wish to.
5795           Big documentation addition.
5796         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5797         * gst/elements/gstelements.c:
5798           Changes for basetransform modifications.
5799         * gst/elements/Makefile.am:
5800         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5801           Compile fix. Extra debug output.
5802
5803 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5804
5805         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5806         (gst_pad_suite):
5807           add tests for valid pad naming
5808         * gst/check/gstcheck.c: (gst_check_log_message_func),
5809         (gst_check_log_critical_func):
5810           add ASSERT_WARNING
5811           remove printing of code, it is fragile when the code contains
5812           % and the line number is enough info
5813         * gst/check/gstcheck.h:
5814         * gst/gstpad.c: (gst_pad_template_new):
5815           fix memleaks
5816
5817 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5818
5819         * configure.ac:
5820           say what CHECK flags we use
5821         * docs/libs/gstreamer-libs.types:
5822         * libs/gst/controller/Makefile.am:
5823         * libs/gst/controller/gst-controller.c:
5824         * libs/gst/controller/gst-controller.h:
5825         * libs/gst/controller/gst-helper.c:
5826         * libs/gst/controller/gst-interpolation.c:
5827         * libs/gst/controller/gstcontroller.c:
5828         * libs/gst/controller/gsthelper.c:
5829         * libs/gst/controller/gstinterpolation.c:
5830         * tools/gst-inspect.c: (print_plugin_info):
5831           we don't use dashes in header names
5832
5833 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5834
5835         * check/Makefile.am:
5836         * check/gst/.cvsignore:
5837         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5838         (gst_pipeline_suite), (main):
5839           adding a test for pipelines and state changes
5840         * gst/gstutils.c: (get_state_func):
5841           add some debugging
5842         * gstreamer.spec.in:
5843           fix up spec file
5844
5845 2005-09-08  Michael Smith <msmith@fluendo.com>
5846
5847         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5848         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5849         (gst_file_src_is_seekable), (gst_file_src_get_size),
5850         (gst_file_src_start):
5851         * gst/elements/gstfilesrc.h:
5852           Various fixes for unseekable, unmmapable, and non-normal files, so
5853           that fallback to read() rather than mmap() works.
5854         * gst/gstevent.c: (gst_event_new_newsegment):
5855           Allow newsegment events with segment_start == segment_end, as will
5856           correctly happen if you use filesrc on a zero-size file, for
5857           example.
5858
5859 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5860
5861         * gst/gstplugin.c: (gst_plugin_load_file):
5862           Call g_module_close when we don't load the module
5863
5864         * gst/registries/gstlibxmlregistry.c:
5865         (gst_xml_registry_get_property):
5866           Port leak fix from 0.8
5867
5868 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5869
5870         * docs/gst/gstreamer-docs.sgml:
5871         * docs/gst/tmpl/.cvsignore:
5872         * docs/gst/tmpl/gsttrace.sgml:
5873         * docs/gst/tmpl/gsttrashstack.sgml:
5874         * gst/Makefile.am:
5875         * gst/gst.h:
5876         * gst/gstelement.h:
5877         * gst/gstevent.h:
5878         * gst/gstmessage.c:
5879         * gst/gstmessage.h:
5880         * gst/gsttag.c:
5881         * gst/gsttag.h:
5882         * gst/gsttaginterface.c:
5883         * gst/gsttaginterface.h:
5884         * gst/gsttaglist.c:
5885         * gst/gsttaglist.h:
5886         * gst/gsttagsetter.c:
5887         * gst/gsttagsetter.h:
5888         * gst/gsttrace.c:
5889         * gst/gsttrace.h:
5890         * gst/gsttrashstack.c:
5891           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5892           inlined docs for gsttrace, gsttrashstack
5893
5894 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5895
5896         * gst/Makefile.am:
5897         * gst/elements/gstbufferstore.h:
5898         * gst/elements/gsttypefindelement.c:
5899         * gst/elements/gsttypefindelement.h:
5900         * gst/gst.h:
5901         * gst/gsttypefind.c:
5902         * gst/gsttypefind.h:
5903         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5904         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5905         (gst_type_find_factory_dispose),
5906         (gst_type_find_factory_unload_thyself),
5907         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5908         (gst_type_find_factory_get_caps),
5909         (gst_type_find_factory_get_extensions),
5910         (gst_type_find_factory_call_function):
5911         * gst/gsttypefindfactory.h:
5912         * gst/registries/gstlibxmlregistry.c:
5913         * gst/registries/gstxmlregistry.c:
5914           splitted gsttypefind into gsttypefind, gsttypefindfactory
5915
5916 2005-09-07  Andy Wingo  <wingo@pobox.com>
5917
5918         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5919         condition whereby the pad's task function is entered before the
5920         pad_mode variable was set.
5921
5922 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5923
5924         * gst/gstpad.c: (gst_pad_alloc_buffer):
5925           Catch misbehaving pad_alloc functions that don't
5926           set up caps and do it for them.
5927
5928 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5929
5930         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5931           test for pipe!=NULL
5932         * docs/gst/tmpl/.cvsignore:
5933         * docs/gst/tmpl/gstmemchunk.sgml:
5934         * docs/gst/tmpl/gstparse.sgml:
5935         * docs/gst/tmpl/gsttaglist.sgml:
5936         * docs/gst/tmpl/gsttagsetter.sgml:
5937         * docs/gst/tmpl/gsttypefind.sgml:
5938         * docs/gst/tmpl/gsttypefindfactory.sgml:
5939         * gst/gstmemchunk.c:
5940         * gst/gstparse.c:
5941         * gst/gsttag.c:
5942         * gst/gsttaginterface.c:
5943         * gst/gsttypefind.c:
5944         * gst/gsttypefind.h:
5945           inlined more docs
5946
5947 === release 0.9.2 ===
5948
5949 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5950
5951         * NEWS:
5952         * RELEASE:
5953         * configure.ac:
5954           releasing 0.9.2, "South"
5955
5956 2005-09-05  Andy Wingo  <wingo@pobox.com>
5957
5958         * gst/registries/gstxmlregistry.h:
5959         * gst/registries/gstxmlregistry.c: Um... resurrect...
5960         
5961         * gst/registries/gstxmlregistry.h:
5962         * gst/registries/gstxmlregistry.c: and update to newer API.
5963         Incidentally they should be a bit faster now that they don't have
5964         to parse the caps.
5965         
5966 2005-09-05  Andy Wingo  <wingo@pobox.com>
5967
5968         * gst/registries/gstxmlregistry.h:
5969         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5970         replaced by the libxml registry a while back
5971
5972 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5973
5974         * docs/gst/tmpl/gstplugin.sgml:
5975         * gst/elements/gstelements.c:
5976         * gst/gst.c:
5977         * gst/gstplugin.c: (gst_plugin_register_func),
5978         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5979         (gst_plugin_get_source):
5980         * gst/gstplugin.h:
5981         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5982         (gst_xml_registry_save_plugin):
5983         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5984         (gst_xml_registry_save_plugin):
5985         * tools/gst-inspect.c: (print_plugin_info):
5986           add a "source" plugin description field, to represent the source
5987           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5988           will set it to PACKAGE, which is automake's idea of the name of
5989           the source project.
5990
5991 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5992
5993         * Makefile.am:
5994         * autogen.sh:
5995         * configure.ac:
5996         * docs/Makefile.am:
5997         * docs/faq/Makefile.am:
5998         * docs/gst/tmpl/gstelement.sgml:
5999         * docs/gst/tmpl/gsttypes.sgml:
6000         * docs/htmlinstall.mak:
6001         * docs/manual/Makefile.am:
6002         * docs/pwg/Makefile.am:
6003           reorganize doc build a little
6004           split out docbook and gtk-doc stuff
6005           have two separate --enable's and enable them through autogen
6006           but disable by default in configure (to be similar to other
6007           projects)
6008         * gstreamer.spec.in:
6009           clean up docs install
6010         * po/af.po:
6011         * po/az.po:
6012         * po/ca.po:
6013         * po/cs.po:
6014         * po/de.po:
6015         * po/en_GB.po:
6016         * po/fr.po:
6017         * po/it.po:
6018         * po/nb.po:
6019         * po/nl.po:
6020         * po/ru.po:
6021         * po/sq.po:
6022         * po/sr.po:
6023         * po/sv.po:
6024         * po/tr.po:
6025         * po/uk.po:
6026         * po/vi.po:
6027           translation updates
6028
6029 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6030
6031         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6032           Add comment.
6033           
6034         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6035         (gst_fake_sink_change_state):
6036           Make state change function thread-safe.
6037           
6038         * gst/gstpad.c: (gst_pad_alloc_buffer):
6039           Set offset on generic buffer allocated by fallback.
6040
6041 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6042
6043         * docs/gst/gstreamer-sections.txt:
6044         * docs/gst/tmpl/gstelement.sgml:
6045         * gst/gstpad.c:
6046         * libs/gst/controller/gst-controller.c:
6047         (gst_controlled_property_set_interpolation_mode),
6048         (gst_controlled_property_new),
6049         (gst_controller_find_controlled_property):
6050          run the wingo-magic script against the docs
6051
6052 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6053
6054         * docs/gst/gstreamer-docs.sgml:
6055         * docs/gst/gstreamer-sections.txt:
6056         * docs/gst/tmpl/.cvsignore:
6057         * docs/gst/tmpl/gstelementdetails.sgml:
6058         * docs/gst/tmpl/gstelementfactory.sgml:
6059         * gst/gst.c:
6060         * gst/gstbus.c:
6061         * gst/gstelementfactory.c:
6062         * gst/gstelementfactory.h:
6063           merged elementdetails docs into elementfactory docs
6064           inlined both
6065
6066 2005-09-02  Andy Wingo  <wingo@pobox.com>
6067
6068         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6069         consider this enum an enum and not a flags.
6070
6071 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6072
6073         * docs/gst/gstreamer-docs.sgml:
6074         * docs/gst/tmpl/.cvsignore:
6075         * docs/gst/tmpl/gstghostpad.sgml:
6076         * docs/gst/tmpl/gstiterator.sgml:
6077         * docs/gst/tmpl/gstmacros.sgml:
6078         * docs/gst/tmpl/gstrealpad.sgml:
6079         * docs/gst/tmpl/gstregistry.sgml:
6080         * docs/gst/tmpl/gstregistrypool.sgml:
6081         * docs/gst/tmpl/gststructure.sgml:
6082         * docs/gst/tmpl/gstsystemclock.sgml:
6083         * docs/gst/tmpl/gsttrace.sgml:
6084         * gst/gstghostpad.c:
6085         * gst/gstmacros.h:
6086         * gst/gstmemchunk.c:
6087         * gst/gstmemchunk.h:
6088         * gst/gstqueue.c:
6089         * gst/gstregistry.c:
6090         * gst/gstregistrypool.c:
6091         * gst/gststructure.c:
6092         * gst/gstsystemclock.c:
6093           more docs inlined
6094
6095 2005-09-02  Andy Wingo  <wingo@pobox.com>
6096
6097         * gst/gstelement.h (GstState): Renamed from GstElementState,
6098         changed to be a normal enum instead of flags.
6099         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6100         munged to be GST_STATE_CHANGE_*.
6101         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6102         work with the new state representation.
6103         (GstStateChange): New enumeration of possible state transitions.
6104         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6105         (GstElementClass::change_state): Pass the GstStateChange along as
6106         an argument. Helps language bindings, so they don't have to use
6107         tricky lock-needing macros like GST_STATE_CHANGE ().
6108
6109         * scripts/update-states (file): New script. Run it on a file to
6110         update it for state naming and API changes. Updates files in
6111         place.
6112
6113         * All files updated for the new API.
6114
6115 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6116
6117         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6118         * gst/gstutils.c: (gst_util_set_value_from_string),
6119         (gst_util_set_object_arg):
6120           fix a bunch of unchecked return values
6121         * tools/gst-complete.c: (main):
6122         * gstreamer.spec.in:
6123           clean up a little
6124
6125 2005-09-01  Wim Taymans  <wim@fluendo.com>
6126
6127         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6128         (gst_base_sink_event), (gst_base_sink_do_sync),
6129         (gst_base_sink_handle_event):
6130         * gst/base/gstbasesink.h:
6131         Handle newsegments more correctly.
6132
6133         * gst/gstbus.c:
6134         Fix docs.
6135
6136         * gst/gstevent.c: (gst_event_new_newsegment):
6137         A newsegment cannot have a start_time of -1
6138
6139 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6140
6141         * win32/gstenumtypes.c:
6142         * win32/gstenumtypes.h:
6143           Update
6144
6145 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6146
6147         * libs/gst/controller/gst-controller.c:
6148         (gst_controlled_property_set_interpolation_mode),
6149         (gst_controlled_property_new):
6150          fixed boolean again
6151
6152 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6153
6154         * docs/faq/gst-uninstalled:
6155           add -good
6156         * gst/gstevent.c:
6157         * gst/gstevent.h:
6158           remove wrong docs
6159         * gst/gstutils.c: (gst_element_link_filtered):
6160         * gst/gstutils.h:
6161           add gst_element_link_filtered
6162
6163 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6164
6165         * docs/gst/gstreamer-docs.sgml:
6166         * docs/gst/gstreamer-sections.txt:
6167         * docs/gst/tmpl/.cvsignore:
6168         * docs/gst/tmpl/gsterror.sgml:
6169         * docs/gst/tmpl/gstfilter.sgml:
6170         * docs/gst/tmpl/gsturihandler.sgml:
6171         * docs/gst/tmpl/gsturitype.sgml:
6172         * docs/gst/tmpl/gstutils.sgml:
6173         * docs/gst/tmpl/gstxml.sgml:
6174         * gst/gsterror.c:
6175         * gst/gsterror.h:
6176         * gst/gstfilter.c:
6177         * gst/gsturi.c:
6178         * gst/gsturitype.c:
6179         * gst/gstutils.c:
6180         * gst/gstxml.c:
6181           inlined more docs, fixed double id-ref
6182
6183 2005-08-31  Wim Taymans  <wim@fluendo.com>
6184
6185         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6186         (gst_base_transform_handle_buffer):
6187         Passthrough elements don't need the caps as they don't care.
6188
6189 2005-08-31  Wim Taymans  <wim@fluendo.com>
6190
6191         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6192         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6193         Don't leak refcounts on buffers.
6194
6195 2005-08-31  Wim Taymans  <wim@fluendo.com>
6196
6197         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6198         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6199         (gst_base_transform_chain), (gst_base_transform_change_state):
6200         * gst/base/gstbasetransform.h:
6201         Handle the case where we are not negotiated more gracefully.
6202
6203 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6204
6205         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6206         (gst_file_src_map_region):
6207           Set READONLY flag on mmap'ed buffers, otherwise
6208           gst_buffer_make_writable() won't work properly (#314708).
6209
6210 2005-08-31  Wim Taymans  <wim@fluendo.com>
6211
6212         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6213         passthrough elements can even do inplace on non writable
6214         buffers (as they don't touch them).
6215
6216 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6217
6218         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6219         (gst_test_mono_source_set_property),
6220         (gst_test_mono_source_class_init), (GST_START_TEST),
6221         (gst_controller_suite):
6222           more tests (hehe I have the most)
6223         * gst/gstbus.c:
6224           describe popping messages whenusing mulltiple sources
6225         * libs/gst/controller/gst-controller.c:
6226         (gst_controlled_property_set_interpolation_mode),
6227         (gst_controlled_property_new):
6228         * libs/gst/controller/gst-controller.h:
6229         * libs/gst/controller/gst-interpolation.c:
6230           implement boolean properties
6231
6232 2005-08-31  Wim Taymans  <wim@fluendo.com>
6233
6234         * gst/gstminiobject.c: (gst_mini_object_ref):
6235         Cannot assert that the refcount has to be positive
6236         since a disposed object can be resurrected.
6237
6238 2005-08-31  Wim Taymans  <wim@fluendo.com>
6239
6240         * gst/gstpad.c: (gst_pad_init):
6241         Revert change, need to first fix badly behaving 
6242         apps.
6243
6244 2005-08-30  Wim Taymans  <wim@fluendo.com>
6245
6246         * check/elements/fakesrc.c: (setup_fakesrc):
6247         * check/elements/identity.c: (setup_identity):
6248         Activate pads before using them.
6249
6250 2005-08-30  Wim Taymans  <wim@fluendo.com>
6251
6252         * gst/base/gstadapter.c: (gst_adapter_flush):
6253         Flushing out 0 bytes is ok for this function.
6254
6255         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6256         no newsegment gives a warning and sets the start/stop to 
6257         invalid.
6258
6259         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6260         (gst_base_transform_set_passthrough):
6261         Some debug info.
6262
6263         * gst/gstminiobject.c: (gst_mini_object_ref):
6264         Check refcount here too.
6265
6266         * gst/gstpad.c: (gst_pad_init):
6267         Pads are initially flushing and refusing data.
6268
6269         * gst/gstutils.c: (gst_element_link_pads_filtered):
6270         When adding a capsfilter element make sure it has the
6271         same state as the parent bin.
6272
6273 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6274
6275         * docs/gst/tmpl/.cvsignore:
6276         * docs/gst/tmpl/gstformat.sgml:
6277         * docs/gst/tmpl/gstversion.sgml:
6278         * gst/gstbus.h:
6279         * gst/gstformat.c:
6280         * gst/gstformat.h:
6281         * gst/gstversion.h.in:
6282           more docs and two more inlined
6283
6284 2005-08-30  Wim Taymans  <wim@fluendo.com>
6285
6286         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6287         Don't sync to clock.
6288
6289 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6290
6291         * docs/gst/gstreamer-sections.txt:
6292           ultral33t func10ns deserve to appear in the docs actually
6293         * docs/gst/tmpl/.cvsignore:
6294         * docs/gst/tmpl/gstcompat.sgml:
6295         * docs/gst/tmpl/gstconfig.sgml:
6296         * gst/check/gstcheck.c:
6297         * gst/gstcompat.h:
6298         * gst/gstconfig.h.in:
6299           inlined more docs
6300
6301 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6302
6303         * docs/gst/tmpl/.cvsignore:
6304         * docs/gst/tmpl/gstquery.sgml:
6305         * docs/gst/tmpl/gstutils.sgml:
6306         * gst/gstquery.c:
6307         * gst/gstquery.h:
6308           inlined and extended docs
6309
6310 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6311
6312         * check/gst-libs/controller.c: (GST_START_TEST),
6313         (gst_controller_suite):
6314           more tests
6315         * docs/gst/tmpl/gstutils.sgml:
6316         * docs/libs/gstreamer-libs-sections.txt:
6317         * docs/libs/tmpl/gstdataprotocol.sgml:
6318           include path fixes
6319         * examples/controller/audio-example.c: (main):
6320           controller example works now
6321         * gst/gstclock.h:
6322           doc fixes
6323         * tools/gst-inspect.c: (print_element_properties_info):
6324           show param spec flags
6325
6326 2005-08-29  Andy Wingo  <wingo@pobox.com>
6327
6328         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6329
6330 2005-08-28  Andy Wingo  <wingo@pobox.com>
6331
6332         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6333         as having two arguments instead of just one. Allows superclasses
6334         to access information on subclasses -- see the terrible for() loop
6335         in gtype.c:g_type_create_instance for the reason why. All callers
6336         changed.
6337
6338 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6339
6340         * docs/design/part-messages.txt:
6341           update info
6342         * docs/gst/tmpl/.cvsignore:
6343         * docs/gst/tmpl/gstcaps.sgml:
6344         * docs/gst/tmpl/gstclock.sgml:
6345         * gst/gstbus.c:
6346         * gst/gstcaps.c:
6347         * gst/gstcaps.h:
6348         * gst/gstclock.c:
6349         * gst/gstclock.h:
6350         * gst/gstmessage.c:
6351           added descriptions for bus and message
6352           inline caps and clock docs
6353
6354 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6355
6356         * gst/gstmessage.c:
6357         * gst/gstmessage.h:
6358           doc fixes
6359
6360 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6361
6362         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6363           fix div-by-zero
6364
6365 2005-08-26  Andy Wingo  <wingo@pobox.com>
6366
6367         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6368         element_set_state's return val.
6369         (test_2_elements): Add test that's been disabled for months.
6370
6371         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6372         can-activate-pull properties.
6373
6374         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6375         can-activate-pull properties. Implement is_seekable so fakesrc can
6376         operate in pull mode.
6377
6378         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6379         properties.
6380         (gst_base_sink_activate, gst_base_sink_activate_pull)
6381         (gst_base_sink_activate_push): Make activation mode choosing work.
6382         Cleanups.
6383         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6384         is right. Make pull mode work. Post an eos before pausing in pull
6385         mode.
6386         (gst_base_sink_change_state): Pay attention to the core's
6387         change_state() return val.
6388         
6389         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6390         has-getrange properties. Cleanups.
6391         
6392         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6393         has_getrange and replace with can_activate_pull and
6394         can_activate_push.
6395
6396         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6397         locking comments. Remove has_loop, has_chain and replace with
6398         can_activate_pull and can_activate_push.
6399
6400 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6401
6402         * configure.ac:
6403         * examples/Makefile.am:
6404         * examples/metadata/Makefile.am:
6405         * examples/metadata/read-metadata.c: (message_loop),
6406         (have_pad_handler), (make_pipeline), (print_tag), (main):
6407           Add metadata reading example that loops over a list of filenames,
6408           dumping any tags found.
6409
6410         * gst/gstbus.c: (gst_bus_dispose):
6411         * gst/gstelement.c: (gst_element_dispose):
6412           Release a few potentially-held references in dispose.
6413
6414 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6415
6416         * docs/gst/tmpl/gstminiobject.sgml:
6417           do *not* add tmpl/*.sgml files to CVS!
6418
6419 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6420
6421         * libs/gst/bytestream/.cvsignore:
6422         * libs/gst/bytestream/Makefile.am:
6423         * libs/gst/bytestream/adapter.c:
6424         * libs/gst/bytestream/adapter.h:
6425         * libs/gst/bytestream/bytestream.c:
6426         * libs/gst/bytestream/bytestream.h:
6427         * libs/gst/bytestream/filepad.c:
6428         * libs/gst/bytestream/filepad.h:
6429           removing obsolete files
6430
6431 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6432
6433         * docs/gst/gstreamer-docs.sgml:
6434         * docs/libs/gstreamer-libs-docs.sgml:
6435           disabed additional index entries again, as this makes docs-gen just
6436           slow and they aren't useful yet
6437         * docs/libs/gstreamer-libs-sections.txt:
6438           little -section.txt cleanup for libs
6439
6440 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6441
6442         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6443         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6444           fix up some debugging
6445         (gst_base_transform_get_unit_size),
6446         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6447         (gst_base_transform_handle_buffer):
6448         * gst/base/gstbasetransform.h:
6449           handle and store timed NEWSEGMENT events so that subclasses that
6450           calculate time by counting samples have a segment_start time they
6451           need to add to their timestamps - see audioresample
6452
6453 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6454
6455         * gst/gstbin.h:
6456           removed ';' from the end of macro defs
6457         * docs/gst/gstreamer-docs.sgml:
6458         * docs/gst/gstreamer-sections.txt:
6459         * docs/gst/tmpl/.cvsignore:
6460         * gst/gstbus.h:
6461         * gst/gstelement.c: (gst_element_class_init),
6462         (gst_element_set_state), (activate_pads),
6463         (gst_element_save_thyself):
6464         * gst/gstevent.c: (gst_event_new_newsegment):
6465         * gst/gstevent.h:
6466         * gst/gstiterator.c:
6467         * gst/gstiterator.h:
6468         * gst/gstpad.c:
6469         * gst/gstprobe.h:
6470         * gst/gstutils.c: (gst_pad_query_convert):
6471         * gst/gstutils.h:
6472           fixed parameter name mismatches between source, header and docs
6473           added some more docs, resolved the last batch of unused elements in
6474           docs (now someone needs to doc them)
6475
6476 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6477
6478         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6479         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6480           don't walk through the plugins backwards.  Where is all this
6481           reversed logic coming from ?
6482
6483 2005-08-25  Wim Taymans  <wim@fluendo.com>
6484
6485         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6486         (gst_base_transform_transform_size),
6487         (gst_base_transform_configure_caps),
6488         (gst_base_transform_get_unit_size),
6489         (gst_base_transform_buffer_alloc),
6490         (gst_base_transform_change_state):
6491         * gst/base/gstbasetransform.h:
6492         Cache caps unit_size.
6493         Make sure we cannot negotiate up and downstream at the
6494         same time.
6495
6496 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6497
6498         * gst/gst.c: (init_pre), (init_post):
6499           register the installed plugin path after the env var
6500         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6501         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6502           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6503           directories, so the tests can prefer uninstalled over installed
6504
6505 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6506
6507         * gst/base/gstbasetransform.h:
6508           comment
6509         * gst/gstpad.c:
6510           add to docs
6511
6512 2005-08-25  Wim Taymans  <wim@fluendo.com>
6513
6514         * gst/gstbin.c: (bin_bus_handler):
6515         Be a bit more conservative about the posted message.
6516         
6517         * gst/gstbus.c: (gst_bus_post):
6518         Some cleanups, warn wrong return values.
6519
6520 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6521
6522         * check/gst/gstbin.c: (GST_START_TEST):
6523         * gst/gstbin.c: (bin_bus_handler):
6524         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6525         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6526         (gst_message_new_warning), (gst_message_new_tag),
6527         (gst_message_new_state_changed), (gst_message_new_segment_start),
6528         (gst_message_new_segment_done), (gst_message_new_custom):
6529         * gst/gstmessage.h:
6530         * tools/gst-launch.c: (event_loop):
6531         * tools/gst-md5sum.c: (event_loop):
6532           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6533
6534 2005-08-25  Wim Taymans  <wim@fluendo.com>
6535
6536         * check/generic/states.c: (GST_START_TEST):
6537         Cleanup can be done at the end.
6538
6539         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6540         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6541         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6542         Oh boy.. Thanks for finding this, Thomas. 
6543
6544 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6545
6546         * docs/gst/gstreamer.types:
6547           added missing types
6548
6549 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6550
6551         * docs/gst/gstreamer-docs.sgml:
6552         * docs/gst/gstreamer-sections.txt:
6553         * docs/gst/tmpl/.cvsignore:
6554         * gst/gstbin.c:
6555         * gst/gstiterator.c:
6556         * gst/gstutils.c:
6557         * gst/registries/gstxmlregistry.h:
6558           added missing classes and symbols (123 more to go)
6559           removed removed symbols from section file
6560           fixed many doc-comments
6561
6562 2005-08-24  Wim Taymans  <wim@fluendo.com>
6563
6564         * check/generic/states.c: (GST_START_TEST):
6565         Make sure all tasks are stopped.
6566
6567         * check/gst/gstbin.c: (GST_START_TEST):
6568         Unref after usage for proper valgrinding.
6569
6570         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6571         Really wait for the task to stop before destroying the
6572         mutex.
6573
6574         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6575         (gst_queue_src_activate_push):
6576         Small cleanups. Don't stop the task when we did not start
6577         it.
6578
6579         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6580         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6581         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6582         (gst_task_join):
6583         * gst/gsttask.h:
6584         Protect the stream lock with the object lock.
6585         Disallow setting the stream lock when running.
6586         Add cleanup_all to wait for the threadpool to finish.
6587         Remove code to autoallocate a mutex if none was provided.
6588         Add _join() to wait for a task to stop.
6589         Protect the thread pool with a global lock.
6590
6591 2005-08-24  Wim Taymans  <wim@fluendo.com>
6592
6593         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6594         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6595         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6596         * gst/base/gstbasesink.h:
6597         Handle newsegment events correctly.
6598         Drop buffers out of the segment range.
6599
6600 2005-08-22  Andy Wingo  <wingo@pobox.com>
6601
6602         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6603         macro, implements an interface and gstimplementsinterface for a
6604         new type.
6605
6606 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6607
6608         * check/Makefile.am:
6609         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6610           add a test that does a bunch of state changes on elements
6611           needs some fixing for valgrind
6612         * check/states/sinks.c: (gst_object_suite):
6613           whitespace
6614         * gst/gstcaps.h:
6615           add prototype for gst_caps_is_equal_fixed
6616         * gst/gstplugin.c:
6617         * gst/gstregistrypool.c:
6618           doc fixes
6619
6620 2005-08-24  Andy Wingo  <wingo@pobox.com>
6621
6622         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6623         convert a negative value. Doesn't make much sense. Mostly this is
6624         here to force callers to ensure -1 maps to -1.
6625
6626 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6627
6628         * docs/pwg/advanced-types.xml:
6629           Well done to Michael for catching my deliberate introduction
6630           of this spelling mistake. 
6631         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6632         * gst/gstelement.h:
6633           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6634           unlink pads before removing the element from the bin.
6635
6636 2005-08-24  Andy Wingo  <wingo@pobox.com>
6637
6638         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6639         the same thing as GST_DEBUG=*:4.
6640         (parse_debug_level, parse_debug_category): New helper parsers.
6641
6642 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6643
6644         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6645         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6646         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6647         (gst_base_transform_buffer_alloc),
6648         (gst_base_transform_handle_buffer):
6649           use gboolean return values and pointers to size so we can use the
6650           full GST_BUFFER_SIZE range (guint) for buffer sizes
6651           use GstPadDirection for transform_caps
6652         * gst/base/gstbasetransform.h:
6653           rename get_size to get_unit_size since that's what it is
6654         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6655           use GstPadDirection for transform_caps
6656         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6657         * gst/gstutils.h:
6658           cleanup and debugging
6659
6660 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6661
6662         * gst/gstelement.c: (gst_element_class_init),
6663         (gst_element_set_state), (activate_pads),
6664         (gst_element_save_thyself):
6665         * tools/gst-compprep.c: (main):
6666         * tools/gst-inspect.c: (print_element_properties_info):
6667         * tools/gst-xmlinspect.c: (print_element_properties):
6668           Fixed long standing mem-leak
6669
6670 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6671
6672         * check/gst/gstbin.c: (GST_START_TEST):
6673         * gst/gstbin.c: (bin_bus_handler):
6674         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6675         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6676         (gst_message_new_warning), (gst_message_new_tag),
6677         (gst_message_new_state_changed), (gst_message_new_segment_start),
6678         (gst_message_new_segment_done), (gst_message_new_custom):
6679         * gst/gstmessage.h:
6680         * tools/gst-launch.c: (event_loop):
6681         * tools/gst-md5sum.c: (event_loop):
6682           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6683           that applications can sensibly post custom messages with references
6684           to their own objects.
6685
6686 2005-08-24  Andy Wingo  <wingo@pobox.com>
6687
6688         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6689         already.
6690
6691 2005-08-24  Wim Taymans  <wim@fluendo.com>
6692
6693         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6694         (gst_base_transform_transform_caps),
6695         (gst_base_transform_transform_size),
6696         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6697         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6698         (gst_base_transform_handle_buffer):
6699         * gst/base/gstbasetransform.h:
6700         Many fixes and new features added by Thomas. Can now also do
6701         transforms with variable sizes and a custom fixate_caps function.
6702
6703 2005-08-24  Wim Taymans  <wim@fluendo.com>
6704
6705         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6706         Some debugging.
6707
6708         * gst/gstclock.h:
6709         Cast to ClockTime before formatting to time.
6710
6711         * gst/gstutils.h:
6712         Cleanups.
6713
6714 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6715
6716         * check/gst-libs/controller.c: (GST_START_TEST),
6717         (gst_controller_suite):
6718         * docs/gst/tmpl/gstcaps.sgml:
6719         * docs/gst/tmpl/gstghostpad.sgml:
6720         * docs/gst/tmpl/gstquery.sgml:
6721         * docs/gst/tmpl/gstutils.sgml:
6722         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6723         (gst_object_sink_values), (gst_object_get_value_arrays),
6724         (gst_object_get_value_array):
6725           gracefully handle helper method calls to objects that are not beeing
6726           controlled, added test case for that          
6727
6728 2005-08-23  Wim Taymans  <wim@fluendo.com>
6729
6730         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6731         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6732         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6733         (gst_event_parse_qos), (gst_event_new_seek),
6734         (gst_event_parse_seek):
6735         * gst/gstevent.h:
6736         Some more debugging output and doc cleanups.
6737
6738         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6739         Fix possible deadlock.
6740
6741 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6742
6743         * docs/gst/gstreamer-docs.sgml:
6744         * docs/gst/gstreamer-sections.txt:
6745         * docs/gst/gstreamer.types:
6746         * docs/gst/tmpl/.cvsignore:
6747         * gst/gstbin.h:
6748         * gst/gstbus.c:
6749         * gst/gstelement.c:
6750         * gst/gstevent.h:
6751           added 100 symbols from gstreamer-unused.txt to the right sections
6752           fixed more broken comments
6753           added GstBus to docs
6754
6755 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6756
6757         * docs/gst/gstreamer-sections.txt:
6758         * docs/gst/tmpl/.cvsignore:
6759         * docs/gst/tmpl/gstbin.sgml:
6760         * docs/gst/tmpl/gstbuffer.sgml:
6761         * gst/base/gstbasesrc.c:
6762         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6763         * gst/gstbuffer.c:
6764         * gst/gstbuffer.h:
6765         * tools/gst-launch.1.in:
6766           inlined more doc comments, added missing comments and fixed comments
6767           fixed typos
6768
6769 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6770
6771         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6772           some debugging
6773         * gst/gstcaps.h:
6774           whitespace fixes
6775         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6776           more debugging
6777         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6778         * gst/gststructure.h:
6779           add a fixate function for booleans; add a FIXME that these func
6780           names should probably be gst_structure_fixate_*
6781
6782 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6783
6784         * docs/gst/gstreamer-docs.sgml:
6785         * docs/gst/gstreamer-sections.txt:
6786         * gst/Makefile.am:
6787         * gst/gstbin.c: (gst_bin_get_type),
6788         (gst_bin_child_proxy_get_child_by_index),
6789         (gst_bin_child_proxy_get_children_count),
6790         (gst_bin_child_proxy_init):
6791         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6792         (gst_child_proxy_get_child_by_index),
6793         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6794         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6795         (gst_child_proxy_get), (gst_child_proxy_set_property),
6796         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6797         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6798         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6799         * gst/gstchildproxy.h:
6800         * gst/parse/grammar.y:
6801         * tools/gst-inspect.c: (print_interfaces),
6802         (print_element_properties_info), (print_element_info):
6803           ported gstchildproxy over from 0.8
6804           ported gst-inspect fixes and enhancements over from 0.8
6805
6806 2005-08-22  Wim Taymans  <wim@fluendo.com>
6807
6808         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6809         (gst_base_transform_handle_buffer):
6810         Also call the transform function if we have ANY caps.
6811
6812         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6813         Fix debug info.
6814
6815 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6816
6817         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6818           Don't pretend to handle seek events if the source is not seekable
6819
6820 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6821
6822         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6823           Remove extra parameter to debug output
6824
6825         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6826         (gst_base_src_do_seek), (gst_base_src_activate_push):
6827           Fix seek event handling.
6828
6829         * gst/gstpipeline.c: (gst_pipeline_change_state):
6830         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6831         (gst_queue_src_activate_push):
6832           Don't start the src pad task on FLUSH_STOP if the pad
6833           isn't linked.
6834           Debug changes.
6835
6836 2005-08-22  Wim Taymans  <wim@fluendo.com>
6837
6838         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6839         Added check for gst_static_caps_get() refcounting.
6840
6841 2005-08-22  Wim Taymans  <wim@fluendo.com>
6842
6843         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6844         Make _static_caps_get() refcounting sane.
6845         
6846         * gst/gstelement.c: (gst_element_set_state):
6847         Add g_return_val_if_fail() to protect against segfaults.
6848
6849 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6850
6851         * docs/gst/tmpl/gstevent.sgml:
6852         * gst/gstevent.c:
6853         * gst/gstevent.h:
6854           inlined remaining docs, added missing doc comments
6855
6856 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6857
6858         * check/gst/gstbin.c: (GST_START_TEST):
6859           since we don't know when preroll is done, use refcount range
6860           check for the sink
6861         * gst/check/gstcheck.h:
6862           add macro for checking refcount range
6863
6864 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6865
6866         * check/Makefile.am:
6867           clean up environment for when registry gets built versus
6868           when actual tests are run; valgrind seems to not report
6869           leaks if GST_PLUGIN_PATH is set to some specific values
6870         * check/gst/gstbin.c: (GST_START_TEST):
6871           add more refcounting checks; maybe this exposes a
6872           preroll lock bug ?
6873         * common/check.mak:
6874         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6875         * gst/check/gstcheck.h:
6876         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6877         (gst_bin_change_state):
6878         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6879           add/fix debugging/whitespace
6880
6881 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6882
6883         * check/gst/gstevent.c: (event_probe), (test_event),
6884         (GST_START_TEST):
6885          Er, don't call gst_bin_watch_for_state_change you idiot.
6886
6887 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6888
6889         * check/Makefile.am:
6890           Use CHECK_CFLAGS and CHECK_LIBS
6891         * check/gst/gstevent.c: (event_probe), (test_event),
6892         (GST_START_TEST):
6893           Don't leak events.
6894         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6895         (gst_base_src_start), (gst_base_src_stop),
6896         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6897         (gst_base_src_change_state):
6898           Sprinkle gst_base_src_stop liberally around error paths to fix
6899           problems reusing a source after failed state changes.
6900         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6901         (helper_find_suggest), (gst_type_find_helper):
6902           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6903         * gst/gstevent.h:
6904         * docs/gst/tmpl/gstevent.sgml:
6905           Migrate part of the docs from the SGML file. Wait for ensonic to
6906           tell me how I did it wrong ;)
6907         * tools/gst-typefind.c: (main):
6908           Extra robustness to state changes between files.
6909
6910 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6911
6912         * check/Makefile.am:
6913           don't valgrind the controller test - it's leaking - Stefan, HELP
6914         * gst/check/gstcheck.c: (gst_check_message_error),
6915         (gst_check_chain_func), (gst_check_setup_element),
6916         (gst_check_teardown_element), (gst_check_setup_src_pad),
6917         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6918         (gst_check_teardown_sink_pad):
6919         * gst/check/gstcheck.h:
6920           add a bunch of methods to set up elements, and src and sink pads
6921         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6922         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6923         (GST_START_TEST):
6924           use them
6925         * gst/gstmessage.c:
6926         * gst/gsttag.h:
6927           whitespace/doc fixes
6928
6929 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6930
6931         * gst/gstelement.h:
6932           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6933           be handled by the application and not always printed as well
6934
6935 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6936
6937         * check/Makefile.am:
6938           set GST_TOOLS_DIR
6939         * gst/check/gstcheck.c: (gst_check_message_error):
6940         * gst/check/gstcheck.h:
6941           add a fail_unless_equals_int
6942           add fail_unless for error messages
6943
6944 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6945
6946         * check/Makefile.am:
6947         * check/gst.supp:
6948         * common/Makefile.am:
6949         * common/check.mak:
6950         * common/gst.supp:
6951           factor out some of the common stuff so we can use it
6952
6953 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6954
6955         * check/Makefile.am:
6956         * check/gst/gstiterator.c: (GST_START_TEST):
6957         * check/gst/gstsystemclock.c: (GST_START_TEST),
6958         (gst_systemclock_suite):
6959         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6960         * gst/gstclock.c:
6961           valgrind more tests
6962
6963 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6964
6965         * check/elements/.cvsignore:
6966         * check/elements/gstfakesrc.c:
6967           rename to name of element
6968         * check/elements/identity.c: (chain_func), (event_func),
6969         (setup_identity), (cleanup_identity), (GST_START_TEST),
6970         (identity_suite), (main):
6971           add a test for identity
6972         * check/Makefile.am:
6973         * pkgconfig/Makefile.am:
6974         * pkgconfig/gstreamer-check.pc.in:
6975         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6976         * gst/check:
6977         * gst/Makefile.am:
6978         * configure.ac:
6979           move the check stuff to a library that gets installed
6980         * check/gst-libs/controller.c: (GST_START_TEST):
6981         * check/gst-libs/gdp.c:
6982         * check/gst/gst.c: (GST_START_TEST):
6983         * check/gst/gstbin.c:
6984         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6985         * check/gst/gstbus.c:
6986         * check/gst/gstcaps.c: (GST_START_TEST):
6987         * check/gst/gstelement.c:
6988         * check/gst/gstghostpad.c:
6989         * check/gst/gstiterator.c:
6990         * check/gst/gstmessage.c:
6991         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6992         * check/gst/gstobject.c:
6993         * check/gst/gstpad.c: (GST_START_TEST):
6994         * check/gst/gststructure.c: (GST_START_TEST):
6995         * check/gst/gstsystemclock.c: (GST_START_TEST),
6996         (gst_systemclock_suite):
6997         * check/gst/gsttag.c: (gst_tag_suite):
6998         * check/gst/gstvalue.c:
6999         * check/pipelines/cleanup.c:
7000         * check/pipelines/simple_launch_lines.c:
7001         * check/states/sinks.c:
7002           change include statement
7003
7004         * docs/gst/gstreamer-sections.txt:
7005         * docs/gst/tmpl/gstpad.sgml:
7006           document more pad stuff
7007         * gst/gstminiobject.c: (gst_mini_object_ref),
7008         (gst_mini_object_unref):
7009           debug refcounting
7010
7011 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7012
7013         * docs/gst/tmpl/gst.sgml:
7014         * gst/gst.c:
7015           eliminate another tmpl file, fix spelling in the long-description
7016
7017 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7018
7019         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7020         (test_event), (timediff), (gstevents_suite):
7021           Should fix build on 64-bit arch's
7022
7023 2005-08-18  Andy Wingo  <wingo@pobox.com>
7024
7025         Make sure that when a pipeline goes to PLAYING, that data has
7026         actually hit the sink.
7027
7028         * check/states/sinks.c (test_sink): A sink that doesn't get any
7029         data shouldn't return SUCCESS for going to either PLAYING or
7030         PAUSED. Test also the return values on the way back down.
7031
7032         * gst/gstelement.c (gst_element_set_state): When changing the
7033         state of an element currently changing state asynchronously, go to
7034         lost-state after commiting the pending state. Makes future calls
7035         to get_state continue to return ASYNC.
7036
7037         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7038         ASYNC when going to PLAYING if we still don't have preroll, as can
7039         happen with live sources.
7040
7041 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7042
7043         * docs/pwg/advanced-types.xml:
7044           Hack long paragraph into 2 chunks as a workaround for buggy
7045           jadetex version in sid and breezy that loops infinitely and
7046           eats all RAM.
7047
7048 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7049
7050         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7051         (test_event), (timediff), (gstevents_suite):
7052           Provide more error margin in clock measurements to allow for 
7053           g_get_current_time inaccuracies.
7054
7055 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7056
7057         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7058         (test_event), (timediff), (gstevents_suite):
7059            Fix error message output so I might be able to tell why the
7060            test works here but fails on the build farm.
7061
7062 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7063
7064         * check/Makefile.am:
7065         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7066         (test_event), (timediff), (gstevents_suite), (main):
7067           I wrote a test!
7068
7069         * docs/design/part-seeking.txt:
7070           Spelling correction
7071
7072         * docs/gst/tmpl/gstevent.sgml:
7073         * docs/gst/tmpl/gstfakesrc.sgml:
7074           Docs updates.
7075
7076         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7077           Treat a buffer-without-newsegment the same as a receiving 
7078           a newsegment not in time format, and disable syncing to the clock
7079           with a warning.
7080
7081         * gst/gstbus.c: (gst_bus_set_sync_handler):
7082           Assert if anyone tries to replace the existing sync_handler for bus, 
7083           as only the owner should be setting it.
7084
7085         * gst/gstevent.h:
7086           Have a fixed set of custom event enums with events identified by
7087           their structure name (as in 0.8), rather than a free-for-all
7088           allowing collisions between enum values from different plugins.
7089
7090         * gst/gstpad.c: (gst_pad_class_init):
7091           Docs change.
7092           
7093         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7094           Handle out-of-band downstream events from the sending thread.
7095
7096 2005-08-17  Andy Wingo  <wingo@pobox.com>
7097
7098         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7099         play-timeout==0 to mean no timeout at all. In that case, don't
7100         bother with a get_state or a warning, just return directly, even
7101         if it's ASYNC.
7102
7103         * gst/base/gstbasetransform.c: Debug changes.
7104
7105         * gst/gstutils.h:
7106         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7107         ensure bins post state change messages. A bit of a hack but I can't
7108         think of a way to avoid it.
7109
7110         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7111
7112 2005-08-16  Andy Wingo  <wingo@pobox.com>
7113
7114         * gst/base/gstadapter.h:
7115         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7116         peek() but you own the data. Not terribly efficient atm.
7117
7118 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7119
7120         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7121         (gst_element_found_tags):
7122         * gst/gstutils.h:
7123           Add two utility functions for tag handling.
7124
7125 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7126
7127         * docs/manual/advanced-dataaccess.xml:
7128         * docs/manual/basics-helloworld.xml:
7129           Fix docs to use _bin_add() before _link(), which fixes the examples
7130           with recent core versions (reported by Madhan Raj M
7131           <raj_madan@rediffmail.com>, #313199).
7132
7133 2005-08-16  Wim Taymans  <wim@fluendo.com>
7134
7135         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7136         Added subtract checks.
7137
7138         * docs/design/part-events.txt:
7139         Some more docs about newsegment
7140
7141         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7142         Fix FIXME
7143
7144         * gst/gstcaps.c: (gst_caps_to_string):
7145         Add comments, cleanups.
7146         
7147         * gst/gstelement.c: (gst_element_save_thyself):
7148         cleanups
7149         
7150         * gst/gstvalue.c: (gst_value_collect_int_range),
7151         (gst_string_unwrap), (gst_value_union_int_int_range),
7152         (gst_value_union_int_range_int_range),
7153         (gst_value_intersect_int_int_range),
7154         (gst_value_intersect_int_range_int_range),
7155         (gst_value_intersect_double_double_range),
7156         (gst_value_intersect_double_range_double_range),
7157         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7158         (gst_value_subtract_int_range_int),
7159         (gst_value_subtract_double_range_double),
7160         (gst_value_subtract_double_range_double_range),
7161         (gst_value_subtract_from_list), (gst_value_subtract_list),
7162         (gst_value_can_compare), (gst_value_compare_fraction):
7163         Cleanups, add comments, remove unneeded asserts.
7164
7165 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7166
7167         * tools/gst-launch.c: (event_loop):
7168           don't convert NULL structures to strings
7169
7170 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7171
7172         * docs/gst/gstreamer-sections.txt:
7173           made some defines private
7174         * docs/gst/tmpl/gstconfig.sgml:
7175         * docs/gst/tmpl/gstqueue.sgml:
7176         * docs/gst/tmpl/gsttaglist.sgml:
7177         * docs/gst/tmpl/gsttypes.sgml:
7178         * docs/gst/tmpl/gstutils.sgml:
7179         * docs/pwg/appendix-porting.xml:
7180         * gst/base/gstbasesink.h:
7181         * gst/base/gstbasesrc.c:
7182         * gst/base/gstbasesrc.h:
7183         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7184         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7185         * gst/gstelement.c: (gst_element_class_init):
7186         * gst/gstpad.c: (gst_pad_class_init):
7187         * gst/gstqueue.c: (gst_queue_class_init):
7188         * gst/gstxml.c: (gst_xml_class_init):
7189           documented all undocumented signal inline
7190         * libs/gst/controller/gst-controller.h:
7191           added padding
7192
7193 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7194
7195         * docs/pwg/appendix-porting.xml:
7196           Document _set_link_function -> _set_setcaps_function.
7197
7198 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7199
7200         * check/Makefile.am:
7201           add a .check target for running the check
7202         * check/gst-libs/controller.c: (GST_START_TEST):
7203           cosmetic fixups
7204         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7205           complete checks for gstbuffer; would be nice if I could get the
7206           gcov stuff to work so I can see if I actually completed gstbuffer.c
7207         * check/gstcheck.h:
7208           add ASSERT_BUFFER_REFCOUNT
7209
7210 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7211
7212         * docs/gst/gstreamer-sections.txt:
7213         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7214         * gst/gsttag.h:
7215           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7216           spew out a warning if a tag that is already registered
7217           is re-registered, unless it is re-registered with a 
7218           different type (#308438).
7219
7220 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7221
7222         * docs/pwg/appendix-porting.xml:
7223         * docs/pwg/building-state.xml:
7224           Add some paragraphs about state changes in 0.9 to the PWG
7225           and the porting guide, in particular about the new meaning
7226           of GST_STATE_PAUSED and how to write state change functions
7227           with concurrent access by multiple threads in mind.
7228
7229 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7230
7231         * docs/gst/gstreamer-docs.sgml:
7232         * docs/libs/gstreamer-libs-docs.sgml:
7233           added deprecation and since indexes
7234         * libs/gst/controller/gst-controller.c:
7235         * libs/gst/controller/gst-helper.c:
7236           added since tags
7237
7238
7239 2005-08-11  Wim Taymans  <wim@fluendo.com>
7240
7241         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7242         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7243         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7244         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7245         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7246         (gst_ghost_pad_set_target):
7247         Actually implement (re)setting the target on a ghostpad
7248         as described in the docs.
7249
7250 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7251
7252         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7253           Check whether GST_DEBUG_NO_COLOR environment variable is
7254           set and disable coloured debug output if that is the case.
7255
7256 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7257
7258         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7259         (gst_type_find_helper):
7260           The memory returned by gst_type_find_peek() needs to
7261           stay valid until the end of a typefind function, and
7262           typefind functions may keep results from different 
7263           offsets around, so we can't just unref the buffer from
7264           the previous _peek(), but have to save all buffers 
7265           returned by _peek() until typefinding is done and only
7266           free them then.
7267
7268 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7269
7270         * docs/gst/gstreamer-sections.txt:
7271         * gst/gstutils.h:
7272           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7273
7274 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7275
7276         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7277           Fix a pretty good memleak.
7278
7279 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7280
7281         * gst/gstiterator.h:
7282           Fix wrong include and 'make distcheck'.
7283
7284 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7285
7286         * gst/gstbin.c: (bin_bus_handler):
7287           Use gst_element_post_message() instead.
7288
7289 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7290
7291         * gst/base/gstadapter.h:
7292         * gst/base/gstbasesink.h:
7293         * gst/base/gstbasesrc.h:
7294         * gst/base/gstbasetransform.h:
7295         * gst/base/gstcollectpads.h:
7296         * gst/base/gstpushsrc.h:
7297         * gst/gstiterator.h:
7298           Add padding to our base elements' class and instance structs and
7299           to GstIterator (you will need to rebuild all plugins and apps!)
7300
7301 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7302
7303         * gst/gstbin.c: (bin_bus_handler):
7304           Make default message forwarding from child->bus to bin->bus
7305           threadsafe and make it not emit warnings if the parent has no bus.
7306
7307 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7308
7309         * gst/gstelement.c: (activate_pads):
7310           On paused->ready, set pad->caps to NULL, as is the documented
7311           behaviour in this state change. Fixes playback of series of
7312           media files when visualization is enabled in Totem.
7313
7314 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7315
7316         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7317           Allow NULL as filter-caps (which means "any").
7318
7319 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7320
7321         * docs/libs/gstreamer-libs-sections.txt:
7322         * libs/gst/controller/gst-controller.c:
7323         * libs/gst/controller/gst-controller.h:
7324         * libs/gst/controller/gst-helper.c:
7325           adding more entries to the docs and fix small doc-bugs
7326
7327 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7328
7329         * docs/gst/gstreamer-docs.sgml:
7330         * docs/gst/gstreamer-sections.txt:
7331         * docs/gst/gstreamer.types:
7332         * docs/gst/tmpl/gstbasesink.sgml:
7333         * docs/gst/tmpl/gstbasesrc.sgml:
7334         * docs/gst/tmpl/gstbasetransform.sgml:
7335         * docs/gst/tmpl/gstfakesrc.sgml:
7336         * gst/base/gstcollectpads.c:
7337         * gst/base/gstcollectpads.h:
7338         * libs/gst/controller/gst-controller.c:
7339         * libs/gst/controller/gst-controller.h:
7340         * libs/gst/controller/gst-helper.c:
7341         * libs/gst/controller/gst-interpolation.c:
7342         * libs/gst/controller/lib.c:
7343           added long/short desc for controller docs
7344           added collectpads base class docs
7345           added correct includes to base-class docs
7346
7347 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7348
7349         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7350         (gst_test_mono_source_set_property),
7351         (gst_test_mono_source_class_init), (GST_START_TEST),
7352         (gst_controller_suite):
7353         * docs/gst/gstreamer-docs.sgml:
7354         * docs/gst/gstreamer-sections.txt:
7355         * docs/gst/gstreamer.types:
7356         * docs/libs/gstreamer-libs-docs.sgml:
7357         * docs/libs/gstreamer-libs-sections.txt:
7358         * gst/base/gstadapter.c:
7359         * libs/gst/controller/gst-controller.c:
7360         (gst_controlled_property_new), (gst_controlled_property_free),
7361         (gst_controller_new_valist),
7362         (gst_controller_remove_properties_valist),
7363         (gst_controller_sink_values), (_gst_controller_finalize):
7364         * libs/gst/controller/gst-controller.h:
7365         * libs/gst/controller/gst-helper.c:
7366         (gst_object_control_properties), (gst_object_uncontrol_properties),
7367         (gst_object_get_controller), (gst_object_set_controller),
7368         (gst_object_sink_values), (gst_object_get_value_arrays),
7369         (gst_object_get_value_array):
7370           more tests (and fixes) for the controller
7371           more docs for the controller
7372           integrated companies docs for the adapter 
7373
7374 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7375
7376         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7377         (GST_START_TEST), (fakesrc_suite):
7378           add tests for sizetype
7379
7380 2005-08-04  Andy Wingo  <wingo@pobox.com>
7381
7382         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7383         fixes buffer_alloc proxying among other things.
7384
7385         * gst/base/gstbasetransform.c:
7386         * gst/base/gstbasetransform.h:
7387         Revert patch to gstbasetransform from 7-28 removing
7388         delay_configure.
7389
7390         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7391         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7392         Semantics changed, should return not the size of the output buffer
7393         but the byte size of a buffer with a given caps.
7394
7395         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7396         debug object.
7397         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7398         out) are not the pad caps until setcaps finishes.
7399         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7400         not-in-place case as well. Deal with changing from in-place to
7401         not-in-place within calling pad_alloc_buffer. Still a bit
7402         concerned about the overhead here...
7403
7404 2005-08-03  Andy Wingo  <wingo@pobox.com>
7405
7406         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7407         fixating is an error.
7408
7409 2005-08-04  Edward Hervey  <edward@fluendo.com>
7410
7411         * gst/base/gstadapter.h: 
7412         Added gst_adapter_get_type() to the header
7413
7414 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7415
7416         * check/Makefile.am:
7417         * check/gst-libs/controller.c:
7418         * libs/gst/controller/gst-controller.c:
7419         (gst_controller_new_valist):
7420           added check test suite for the controller
7421         * gst/base/gstpushsrc.c:
7422           fixed a doc typo
7423
7424 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7425
7426         * docs/gst/Makefile.am:
7427         * docs/gst/gstreamer-docs.sgml:
7428         * docs/gst/gstreamer-sections.txt:
7429         * docs/gst/gstreamer.types:
7430         * docs/gst/tmpl/gstfakesrc.sgml:
7431         * gst/base/README:
7432         * gst/base/gstbasesink.c:
7433         * gst/base/gstbasesink.h:
7434         * gst/base/gstbasesrc.c:
7435         * gst/base/gstbasesrc.h:
7436         * gst/base/gstbasetransform.c:
7437         * gst/base/gstpushsrc.c:
7438         * gst/base/gstpushsrc.h:
7439           add short/long description docs to base classes
7440           add pushsrc to the docs
7441           remove consolidated doc fragments
7442
7443 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7444
7445         * configure.ac:
7446         * docs/libs/Makefile.am:
7447         * docs/libs/gstreamer-libs-docs.sgml:
7448         * docs/libs/gstreamer-libs-sections.txt:
7449         * docs/libs/gstreamer-libs.types:
7450         * examples/Makefile.am:
7451         * examples/controller/.cvsignore:
7452         * examples/controller/Makefile.am:
7453         * examples/controller/audio-example.c: (main):
7454         * libs/gst/Makefile.am:
7455         * libs/gst/controller/.cvsignore:
7456         * libs/gst/controller/Makefile.am:
7457         * libs/gst/controller/gst-controller.c:
7458         (on_object_controlled_property_changed), (gst_timed_value_compare),
7459         (gst_timed_value_find),
7460         (gst_controlled_property_set_interpolation_mode),
7461         (gst_controlled_property_new), (gst_controlled_property_free),
7462         (gst_controller_find_controlled_property),
7463         (gst_controller_new_valist), (gst_controller_new),
7464         (gst_controller_remove_properties_valist),
7465         (gst_controller_remove_properties), (gst_controller_set),
7466         (gst_controller_set_from_list), (gst_controller_unset),
7467         (gst_controller_get), (gst_controller_get_all),
7468         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7469         (gst_controller_get_value_array),
7470         (gst_controller_set_interpolation_mode),
7471         (_gst_controller_finalize), (_gst_controller_init),
7472         (_gst_controller_class_init), (gst_controller_get_type):
7473         * libs/gst/controller/gst-controller.h:
7474         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7475         (g_object_uncontrol_properties), (g_object_get_controller),
7476         (g_object_set_controller), (g_object_sink_values),
7477         (g_object_get_value_arrays), (g_object_get_value_array):
7478         * libs/gst/controller/gst-interpolation.c:
7479         (gst_controlled_property_find_timed_value_node),
7480         (interpolate_none_get), (interpolate_trigger_get),
7481         (interpolate_trigger_get_value_array):
7482         * libs/gst/controller/lib.c: (gst_controller_init):
7483         * pkgconfig/Makefile.am:
7484         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7485         * pkgconfig/gstreamer-control.pc.in:
7486         * testsuite/Makefile.am:
7487         * testsuite/controller/.cvsignore:
7488         * testsuite/controller/Makefile.am:
7489         * testsuite/controller/interpolator.c: (main):
7490           added controller code
7491           removed dparam pc files
7492
7493 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7494         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7495         (gst_collectpads_stop):
7496           Broadcast the condition when shutting down, to make sure we wake all
7497           threads up. Shut down pads on finalize, for safety.
7498
7499 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7500         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7501         (gst_base_transform_handle_buffer),
7502         (gst_base_transform_change_state):
7503           Handle PAUSED->READY->PAUSED transition after negotiation
7504           occurred already.
7505         * gst/gstmessage.c: (gst_message_init):
7506           Extra piece of debug for new messages.
7507
7508 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7509
7510         * configure.ac:
7511         * docs/gst/tmpl/gstbasesrc.sgml:
7512         * docs/gst/tmpl/gstelement.sgml:
7513         * docs/gst/tmpl/gstevent.sgml:
7514         * docs/gst/tmpl/gstfakesrc.sgml:
7515         * docs/gst/tmpl/gstformat.sgml:
7516         * docs/gst/tmpl/gstghostpad.sgml:
7517         * docs/gst/tmpl/gstpad.sgml:
7518         * docs/gst/tmpl/gstquery.sgml:
7519         * docs/gst/tmpl/gststructure.sgml:
7520         * docs/gst/tmpl/gsttaglist.sgml:
7521         * docs/gst/tmpl/gstvalue.sgml:
7522         * docs/libs/gstreamer-libs-docs.sgml:
7523         * docs/libs/gstreamer-libs-sections.txt:
7524         * docs/libs/gstreamer-libs.types:
7525         * libs/gst/Makefile.am:
7526         * libs/gst/control/.cvsignore:
7527         * libs/gst/control/Makefile.am:
7528         * libs/gst/control/control.c:
7529         * libs/gst/control/control.h:
7530         * libs/gst/control/dparam.c:
7531         * libs/gst/control/dparam.h:
7532         * libs/gst/control/dparam_smooth.c:
7533         * libs/gst/control/dparam_smooth.h:
7534         * libs/gst/control/dparamcommon.h:
7535         * libs/gst/control/dparammanager.c:
7536         * libs/gst/control/dparammanager.h:
7537         * libs/gst/control/dplinearinterp.c:
7538         * libs/gst/control/dplinearinterp.h:
7539         * libs/gst/control/unitconvert.c:
7540         * libs/gst/control/unitconvert.h:
7541         * testsuite/Makefile.am:
7542         * testsuite/dynparams/.cvsignore:
7543         * testsuite/dynparams/Makefile.am:
7544         * testsuite/dynparams/dparamstest.c:
7545         * tools/Makefile.am:
7546         * tools/gst-inspect.c: (print_element_info), (main):
7547         * tools/gst-xmlinspect.c: (print_element_info), (main):
7548           deactivate and remove dparams (libgstcontrol)
7549
7550 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7551
7552         * gst/elements/gsttypefindelement.c:
7553         (gst_type_find_element_have_type), (gst_type_find_element_init),
7554         (stop_typefinding), (gst_type_find_element_handle_event),
7555         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7556         * gst/elements/gsttypefindelement.h:
7557           Set caps on all outgoing buffers, not just the first one.
7558
7559 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7560
7561         * gst/elements/gsttypefindelement.c:
7562         (gst_type_find_element_have_type),
7563         (gst_type_find_element_check_set_buffer_caps),
7564         (gst_type_find_element_init), (stop_typefinding),
7565         (gst_type_find_element_handle_event),
7566         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7567         * gst/elements/gsttypefindelement.h:
7568           Set caps on first outgoing buffer when we've found the type.
7569
7570 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7571
7572         * docs/gst/gstreamer-docs.sgml:
7573         * docs/gst/gstreamer-sections.txt:
7574         * docs/gst/tmpl/gstscheduler.sgml:
7575         * docs/gst/tmpl/gstschedulerfactory.sgml:
7576           Remove some old cruft from docs.
7577
7578 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7579
7580         * gst/gstpad.h:
7581           Fix inline docs for GstPadLinkReturn.
7582           
7583         * gst/gststructure.c: (gst_structure_has_name):
7584         * gst/gststructure.h:
7585         * docs/gst/gstreamer-sections.txt:
7586           New API: gst_structure_has_name().
7587
7588 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7589
7590         * configure.ac:
7591           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7592           and _LARGEFILE_SOURCE in config.h as required. Do not 
7593           export those flags in our .pc files any longer (#142209).
7594
7595           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7596
7597         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7598         (gst_file_sink_do_seek), (gst_file_sink_event),
7599         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7600           Redo seek/tell calls with large file support in mind; add some
7601           debugging messages; add log message that tells us when large
7602           file support is unavailable or not enabled for some reason.
7603
7604         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7605           Add log message that tells us when large file support 
7606           is unavailable or not enabled for some reason.
7607
7608 2005-07-29  Wim Taymans  <wim@fluendo.com>
7609
7610         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7611         Added test for removing an element with ghostpad from a bin.
7612         Fixed test as current implementation does the right thing.
7613
7614         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7615         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7616         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7617         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7618         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7619         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7620         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7621         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7622         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7623         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7624         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7625         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7626         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7627         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7628         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7629         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7630         * gst/gstghostpad.h:
7631         Clean up ghostpads, remove properties for internal stuff.
7632         Make threadsafe.
7633         Fix refcounting.
7634         Prepare for switching targets, not all use cases work yet.
7635
7636 2005-07-29  Wim Taymans  <wim@fluendo.com>
7637
7638         * docs/design/part-gstghostpad.txt:
7639         Small update.
7640
7641         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7642         (gst_bin_remove_func):
7643         Unlinking pads while holding the bin LOCK is not a good
7644         idea.
7645
7646         * gst/gstpad.c: (gst_pad_class_init),
7647         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7648         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7649         No prob setting template after creating the pad.
7650
7651 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7652
7653         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7654         (gst_bus_peek), (gst_bus_source_dispatch),
7655         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7656         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7657           gst_bus_poll may be called from other threads. Handle
7658           this nicely by not making poll_data disappear off the
7659           stack once gst_bus_poll returns.
7660           gst_bus_peek now increments the refcount on the returned
7661           message.
7662
7663 2005-07-29  Wim Taymans  <wim@fluendo.com>
7664
7665         * docs/design/part-gstghostpad.txt:
7666         Overview of current GhostPad datastructures and use
7667         cases for changing the target.
7668
7669 2005-07-28  Wim Taymans  <wim@fluendo.com>
7670
7671         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7672         Added checks for hierarchy consistency whan adding linked
7673         elements to bins.
7674
7675         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7676         Added check to test element scheduling without bin/pipeline.
7677
7678         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7679         First add elements to bin, then link.
7680         
7681         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7682         (gst_bin_remove_func):
7683         Unlink pads from elements added/removed from bin to maintain
7684         hierarchy consistency.
7685
7686 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7687
7688         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7689         (gst_base_transform_handle_buffer):
7690         * gst/base/gstbasetransform.h:
7691           Remove broken delay_configure (fixes renegotiation of software
7692           scaling pipelines); remove some leftover printf()s.
7693
7694 2005-07-28  Wim Taymans  <wim@fluendo.com>
7695
7696         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7697         Added some more tests for wrong hierarchy
7698
7699         * docs/design/part-overview.txt:
7700         Some updates.
7701
7702         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7703         Cleanups.
7704
7705         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7706         (gst_element_dispose):
7707         Some more cleanups.
7708
7709         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7710         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7711         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7712         (gst_pad_set_caps), (gst_pad_send_event):
7713         Check for correct hierarchy when linking pads. Moving to
7714         strict requirement for ghostpads when linking elements in
7715         different bins.
7716
7717         * gst/gstpad.h:
7718         Clean ups. Added WRONG_HIERARCHY return value.
7719
7720 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7721
7722         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7723           Better debug if no transform is possible.
7724
7725 2005-07-27  Wim Taymans  <wim@fluendo.com>
7726
7727         * docs/random/wtay/network-transp:
7728         Some old doc I had.
7729
7730 2005-07-27  Wim Taymans  <wim@fluendo.com>
7731
7732         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7733         (gst_dp_event_from_packet):
7734         Fix serialization of seek events.
7735
7736 2005-07-27  Wim Taymans  <wim@fluendo.com>
7737
7738         * check/gst-libs/gdp.c: (GST_START_TEST):
7739         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7740         Fix compilation and fix event serialization.
7741
7742 2005-07-27  Wim Taymans  <wim@fluendo.com>
7743
7744         * CHANGES-0.9:
7745         * docs/design/part-TODO.txt:
7746         * docs/design/part-events.txt:
7747         Some docs updates
7748
7749         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7750         (gst_base_sink_event), (gst_base_sink_do_sync),
7751         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7752         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7753         (gst_base_src_do_seek), (gst_base_src_event_handler),
7754         (gst_base_src_loop):
7755         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7756         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7757         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7758         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7759         (gst_base_transform_set_passthrough),
7760         (gst_base_transform_is_passthrough):
7761         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7762         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7763         Event updates.
7764
7765         * gst/gstbuffer.h:
7766         Use faster casts.
7767
7768         * gst/gstelement.c: (gst_element_seek):
7769         * gst/gstelement.h:
7770         Update gst_element_seek.
7771
7772         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7773         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7774         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7775         (gst_event_new_eos), (gst_event_new_newsegment),
7776         (gst_event_parse_newsegment), (gst_event_new_tag),
7777         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7778         (gst_event_parse_qos), (gst_event_new_seek),
7779         (gst_event_parse_seek), (gst_event_new_navigation):
7780         * gst/gstevent.h:
7781         Make GstEvent use GstStructure. Add parsing code, make sure the
7782         API is sufficiently generic.
7783         Mark possible directions of events and serialization.
7784
7785         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7786         (_gst_message_copy), (gst_message_new_segment_start),
7787         (gst_message_new_segment_done), (gst_message_new_custom),
7788         (gst_message_parse_segment_start),
7789         (gst_message_parse_segment_done):
7790         Small cleanups.
7791
7792         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7793         (gst_pad_set_caps), (gst_pad_send_event):
7794         Update for new events. 
7795         Catch events sent in wrong directions.
7796
7797         * gst/gstqueue.c: (gst_queue_link_src),
7798         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7799         (gst_queue_handle_src_query):
7800         Event updates.
7801
7802         * gst/gsttag.c:
7803         * gst/gsttag.h:
7804         Remove event code from this file.
7805
7806         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7807         (gst_dp_event_from_packet):
7808         Event updates.
7809
7810 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7811
7812         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7813         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7814         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7815           Make debugging actually useful.
7816
7817 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7818
7819         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7820         (gst_pad_fixate_caps):
7821           Implement default fixation once again, so that gst_pad_fixate()
7822           actually does anything at all. This probably needs to be some
7823           sort of a last resort, and use profile-based fixation first, but
7824           since that doesn't exist yet, this is the best we have. Fixes
7825           visualization in Totem.
7826
7827 2005-07-22  Wim Taymans  <wim@fluendo.com>
7828
7829         * docs/design/part-events.txt:
7830         Small update.
7831
7832         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7833         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7834         (gst_base_sink_activate_pull):
7835         Some more comments.
7836
7837         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7838         (gst_fake_src_create):
7839         Fix handoff marshall.
7840
7841         * gst/elements/gstidentity.c: (gst_identity_class_init),
7842         (gst_identity_transform_ip):
7843         We're a real inplace element.
7844
7845         * gst/gstbus.c: (gst_bus_post):
7846         Added some comments.
7847
7848         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7849         * tests/muxing/case1.c: (main):
7850         * tests/sched/dynamic-pipeline.c: (main):
7851         * tests/sched/interrupt1.c: (main):
7852         * tests/sched/interrupt2.c: (main):
7853         * tests/sched/interrupt3.c: (main):
7854         * tests/sched/runxml.c: (main):
7855         * tests/sched/sched-stress.c: (main):
7856         * tests/seeking/seeking1.c: (event_received), (main):
7857         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7858         (main):
7859         * tests/threadstate/threadstate3.c: (main):
7860         * tests/threadstate/threadstate4.c: (main):
7861         * tests/threadstate/threadstate5.c: (main):
7862         Fix the tests.
7863
7864 2005-07-21  Wim Taymans  <wim@fluendo.com>
7865
7866         * docs/design/part-seeking.txt:
7867         Some small additions.
7868
7869         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7870         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7871         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7872         * gst/base/gstbasesink.h:
7873         discont values are gint64, handle the math correctly.
7874
7875         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7876         Make the basesrc report error if the source pad is not linked.
7877
7878         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7879         (gst_queue_loop), (gst_queue_handle_src_query),
7880         (gst_queue_src_activate_push):
7881         Make queue collect data even if the srcpad is not linked.
7882         Start pushing out data as soon as it is linked.
7883
7884         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7885         * gst/gstutils.h:
7886         Added gst_flow_get_name() to ease error reporting.
7887
7888 2005-07-20  Wim Taymans  <wim@fluendo.com>
7889
7890         * gst/gstmessage.c: (gst_message_new_segment_start),
7891         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7892         (gst_message_parse_segment_done):
7893         * gst/gstmessage.h:
7894         Added a bunch of messages for advanced seeking.
7895
7896         * gst/parse/grammar.y:
7897         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7898         (gst_dpman_state_changed):
7899         Fix some new-pad -> pad-added signals
7900
7901 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7902
7903         * docs/manual/appendix-porting.xml:
7904         * docs/pwg/appendix-porting.xml:
7905           Document new-pad/state-change signal renames and the FixedList
7906           type rename.
7907
7908 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7909
7910         * docs/manual/advanced-autoplugging.xml:
7911         * docs/manual/basics-helloworld.xml:
7912         * docs/manual/basics-pads.xml:
7913         * docs/random/ds/0.9-suggested-changes:
7914         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7915         * gst/gstelement.h:
7916         * gst/gstevent.h:
7917         * gst/gstformat.h:
7918         * gst/gstquery.h:
7919         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7920         (gst_structure_parse_array), (gst_structure_parse_value):
7921         * gst/gstvalue.c: (gst_type_is_fixed),
7922         (gst_value_list_prepend_value), (gst_value_list_append_value),
7923         (gst_value_list_get_size), (gst_value_list_get_value),
7924         (gst_value_transform_array_string), (gst_value_serialize_array),
7925         (gst_value_deserialize_array), (gst_value_intersect_array),
7926         (gst_value_is_fixed), (_gst_value_initialize):
7927         * gst/gstvalue.h:
7928           GstElement::new-pad -> pad-added, GstElement::state-change ->
7929           state-changed, GstValueFixedList -> GstValueArray, add format and
7930           flags as their own arguments in gst_element_seek() (should improve
7931           "bindeability"), remove function generators since they don't work
7932           under a whole bunch of compilers (they were deprecated already
7933           anyway).
7934
7935 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7936
7937         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7938         (_gst_debug_register_funcptr):
7939         * gst/gstinfo.h:
7940           Fix illegal cast on some platforms (#309253).
7941
7942 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7943
7944         * gst/gstmessage.c: (gst_message_new_custom):
7945         * gst/gstmessage.h:
7946           Add _new_custom, make _new_application a macro to _new_custom.
7947
7948 2005-07-20  Wim Taymans  <wim@fluendo.com>
7949
7950         * gst/base/gstbasesrc.c: (gst_base_src_init),
7951         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7952         * gst/base/gstbasesrc.h:
7953         Add a gboolean to decide when to push out a discont.
7954
7955         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7956         (gst_queue_loop), (gst_queue_handle_src_query),
7957         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7958         (gst_queue_set_property), (gst_queue_get_property):
7959         Some cleanups.
7960
7961         * tests/threadstate/threadstate1.c: (main):
7962         Make a thread test compile and run... very silly..
7963
7964
7965 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7966
7967         * docs/manual/appendix-porting.xml:
7968           Mention removal of libgstgconf-0.9.la and existence of gconf
7969           elements.
7970
7971 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7972
7973         * docs/pwg/advanced-clock.xml:
7974         * docs/pwg/appendix-porting.xml:
7975         * docs/pwg/intro-preface.xml:
7976         * docs/pwg/other-base.xml:
7977         * docs/pwg/other-manager.xml:
7978         * docs/pwg/other-nton.xml:
7979         * docs/pwg/other-ntoone.xml:
7980         * docs/pwg/other-oneton.xml:
7981         * docs/pwg/pwg.xml:
7982           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7983           demuxer), remove n-to-n (was never written), fix some code examples
7984           and links and update the porting section to include all this.
7985
7986 2005-07-19  Wim Taymans  <wim@fluendo.com>
7987
7988         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7989         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7990         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7991         (gst_queue_src_activate_push), (gst_queue_change_state),
7992         (gst_queue_get_property):
7993         * gst/gstqueue.h:
7994         Propagate GstFlowReturn more intelligently upstream and output
7995         an ERROR/EOS when streaming stopped due to fatal error.
7996
7997 2005-07-19  Wim Taymans  <wim@fluendo.com>
7998
7999         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8000         Don't block forever for the state change to complete, the
8001         pipeline already did with a sensible timeout.
8002
8003 2005-07-19  Wim Taymans  <wim@fluendo.com>
8004
8005         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8006         Make sure we never call the create function is we
8007         got deactivated.
8008
8009 2005-07-19  Andy Wingo  <wingo@pobox.com>
8010
8011         * gst/parse/parse.l: Attempt to solve bug #172815.
8012
8013 2005-07-19  Wim Taymans  <wim@fluendo.com>
8014
8015         * docs/design/part-clocks.txt:
8016         * docs/design/part-events.txt:
8017         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8018         Small docs updates.
8019         Only update the seeking values when we are not
8020         busy streaming.
8021
8022 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8023
8024         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8025           Oops, ignore the result of gst_pad_push_event here.
8026
8027 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8028
8029         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8030         (gst_base_src_activate_push):
8031           Send discont event from the loop function, as pads
8032           aren't activated yet in the activate_push handler.
8033
8034         * gst/gstbin.c: (bin_bus_handler):
8035           Don't leak element name.
8036
8037 2005-07-18  Andy Wingo  <wingo@pobox.com>
8038
8039         * configure.ac: Use AS_LIBTOOL_TAGS.
8040
8041 2005-07-18  Wim Taymans  <wim@fluendo.com>
8042
8043         * docs/gst/gstreamer.types:
8044         Remove deleted types.
8045
8046 2005-07-18  Wim Taymans  <wim@fluendo.com>
8047
8048         * check/elements/gstfakesrc.c: (GST_START_TEST):
8049         * configure.ac:
8050         * gst/Makefile.am:
8051         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8052         (init_popt_callback):
8053         * gst/gst.h:
8054         * gst/gst_private.h:
8055         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8056         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8057         * gst/gstbin.h:
8058         * gst/gstbus.h:
8059         * gst/gstconfig.h.in:
8060         * gst/gstelement.c: (gst_element_class_init),
8061         (gst_element_set_base_time), (gst_element_get_base_time),
8062         (iterator_fold_with_resync), (gst_element_change_state),
8063         (gst_element_dispose), (gst_element_get_bus):
8064         * gst/gstelement.h:
8065         * gst/gstelementfactory.h:
8066         * gst/gsterror.c: (_gst_core_errors_init):
8067         * gst/gsterror.h:
8068         * gst/gstevent.h:
8069         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8070         * gst/gstindex.c:
8071         * gst/gstinfo.c: (_gst_debug_init):
8072         * gst/gstmessage.c: (_gst_message_copy):
8073         * gst/gstmessage.h:
8074         * gst/gstminiobject.h:
8075         * gst/gstobject.c:
8076         * gst/gstobject.h:
8077         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8078         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8079         * gst/gstpad.h:
8080         * gst/gstparse.h:
8081         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8082         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8083         (gst_pipeline_get_last_stream_time):
8084         * gst/gstpipeline.h:
8085         * gst/gstpluginfeature.h:
8086         * gst/gstquery.h:
8087         * gst/gstscheduler.c:
8088         * gst/gstscheduler.h:
8089         * gst/gststructure.h:
8090         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8091         (gst_task_finalize), (gst_task_func), (gst_task_create),
8092         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8093         (gst_task_stop), (gst_task_pause):
8094         * gst/gsttask.h:
8095         * gst/gsttypefind.h:
8096         * gst/gsttypes.h:
8097         * gst/registries/gstlibxmlregistry.c: (load_feature),
8098         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8099         * gst/registries/gstxmlregistry.c:
8100         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8101         * gst/schedulers/threadscheduler.c:
8102         * libs/gst/control/dparammanager.h:
8103         * tools/gst-inspect.c: (print_element_list),
8104         (print_plugin_features), (print_element_features):
8105         * tools/gst-xmlinspect.c: (print_element_list),
8106         (print_plugin_info), (main):
8107         Removed plugable schedulers.
8108         Removed Scheduler/Manager from elements.
8109         Removed gsttypes.h, rearranged includes.
8110         Removed dependency pad<->element, element<>pipeline, and
8111         various others,  fix includes.
8112         implement gst_pad_get_parent() with gst_object_get_parent()
8113         Make GstTask sefcontained.
8114         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8115         timeout.
8116         Fix endless loop in iterator_fold_with_resync.
8117
8118
8119 2005-07-18  Wim Taymans  <wim@fluendo.com>
8120
8121         * gst/Makefile.am:
8122         * gst/gstarch.h:
8123         Remove old file.
8124
8125 2005-07-18  Wim Taymans  <wim@fluendo.com>
8126
8127         * gst/Makefile.am:
8128         No more cothreads.h
8129
8130 2005-07-18  Wim Taymans  <wim@fluendo.com>
8131
8132         * gst/cothreads.c:
8133         * gst/cothreads.h:
8134         Let's remove these.
8135
8136 2005-07-18  Wim Taymans  <wim@fluendo.com>
8137
8138         * docs/design/part-dynamic.txt:
8139         * docs/design/part-events.txt:
8140         * docs/design/part-seeking.txt:
8141         Some more docs in the works.
8142
8143         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8144         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8145         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8146         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8147         (gst_base_transform_handle_buffer),
8148         (gst_base_transform_sink_activate_push),
8149         (gst_base_transform_src_activate_pull),
8150         (gst_base_transform_set_passthrough),
8151         (gst_base_transform_is_passthrough):
8152         Refcounting fixes.
8153
8154         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8155         Cleanups.
8156
8157         * gst/gstevent.c: (gst_event_finalize):
8158         Set SRC to NULL.
8159
8160         * gst/gstutils.c: (gst_element_unlink),
8161         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8162         (gst_pad_proxy_setcaps):
8163         * gst/gstutils.h:
8164         Add _get_parent_element() to get a pads parent as an element.
8165
8166 2005-07-18  Wim Taymans  <wim@fluendo.com>
8167
8168         * check/gst/gstbin.c: (GST_START_TEST):
8169         Remove bogus test.
8170
8171 2005-07-18  Wim Taymans  <wim@fluendo.com>
8172
8173         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8174         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8175         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8176         (gst_base_sink_event), (gst_base_sink_do_sync),
8177         (gst_base_sink_chain), (gst_base_sink_loop),
8178         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8179         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8180         Refcounting fixes.
8181         Fix logic for returning ASYNC when not prerolled.
8182
8183 2005-07-18  Wim Taymans  <wim@fluendo.com>
8184
8185         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8186         Fix nasty refcount bug.
8187
8188 2005-07-16 Philippe Khalaf <burger@speedy.org>
8189
8190         * gst/elements/gstfdsrc.c:
8191         * gst/elements/gstfdsrc.h:
8192         * gst/elements/gstelements.c:
8193         * gst/elements/Makefile.am:
8194         Ported fdsrc to 0.9.
8195
8196 2005-07-16  Wim Taymans  <wim@fluendo.com>
8197
8198         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8199         (gst_base_sink_do_sync):
8200         Fix compile error.
8201
8202 2005-07-16  Wim Taymans  <wim@fluendo.com>
8203
8204         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8205         (gst_base_sink_event), (gst_base_sink_get_times),
8206         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8207         * gst/base/gstbasesink.h:
8208         Store and use discont values when syncing buffers as described
8209         in design docs.
8210         
8211         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8212         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8213         (gst_base_src_activate_push):
8214         Push discont event when starting.
8215
8216         * gst/elements/gstidentity.c: (gst_identity_transform):
8217         Small cleanups.
8218
8219         * gst/gstbin.c: (gst_bin_change_state):
8220         Small cleanups in base_time  distribution.
8221
8222         * gst/gstelement.c: (gst_element_set_base_time),
8223         (gst_element_get_base_time), (gst_element_change_state):
8224         * gst/gstelement.h:
8225         Added methods for the base_time of the element.
8226         Some MT fixes.
8227
8228         * gst/gstpipeline.c: (gst_pipeline_send_event),
8229         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8230         (gst_pipeline_get_last_stream_time):
8231         * gst/gstpipeline.h:
8232         MT fixes.
8233         Handle seeking as described in design doc, remove stream_time
8234         hack.
8235         Cleanups clock and stream_time selection code. Added accessors
8236         for the stream_time.
8237         
8238
8239 2005-07-16  Andy Wingo  <wingo@pobox.com>
8240
8241         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8242         (#305291).
8243
8244 2005-07-16  Wim Taymans  <wim@fluendo.com>
8245
8246         * check/gst/gstbin.c: (GST_START_TEST):
8247         Make elements silent as the deep_notify refs the
8248         parent, which might make the test fail.
8249
8250         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8251         Don't hold the lock for too long.
8252
8253 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8254
8255         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8256           Don't unref the caps we passed to gst_caps_make_writable() after
8257           passing them. gst_caps_make_writable() will do that for us.
8258
8259 2005-07-15  Andy Wingo  <wingo@pobox.com>
8260
8261         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8262         (#157311).
8263
8264         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8265         own marshalling function for the handoff signal. Properly type the
8266         buffer as a buffer. Fixes some warnings. Should do a more general
8267         solution.
8268         (gst_identity_class_init): Plug into the right marshaller.
8269
8270 2005-07-15  Wim Taymans  <wim@fluendo.com>
8271
8272         * docs/design/part-TODO.txt:
8273         * docs/design/part-clocks.txt:
8274         * docs/design/part-element-sink.txt:
8275         * docs/design/part-events.txt:
8276         * docs/design/part-gstpipeline.txt:
8277         Updated docs, mostly DISCONT related.
8278
8279 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8280
8281         * docs/pwg/building-pads.xml:
8282           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8283
8284 2005-07-15  Andy Wingo  <wingo@pobox.com>
8285
8286         * tools/gst-typefind.c: Update, add copyright block.
8287
8288         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8289         Normalize and truncate caps before fixation.
8290
8291         * gst/gstcaps.h:
8292         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8293         discards all but the first structure from its argument.
8294
8295 2005-07-15  Wim Taymans  <wim@fluendo.com>
8296
8297         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8298         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8299         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8300         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8301         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8302         (gst_base_transform_chain), (gst_base_transform_change_state),
8303         (gst_base_transform_set_passthrough),
8304         (gst_base_transform_is_passthrough):
8305         * gst/base/gstbasetransform.h:
8306         Make passthrough work using the bufferpools.
8307         Changed API a bit, subclasses have to write into a buffer
8308         provided by the base class.
8309         More debug info in nego functions.
8310         
8311         * gst/elements/gstidentity.c: (gst_identity_init),
8312         (gst_identity_transform):
8313         Port to new base class.
8314
8315 2005-07-15  Wim Taymans  <wim@fluendo.com>
8316
8317         * gst/gstmessage.c: (gst_message_new_state_changed):
8318         * tools/gst-launch.c: (event_loop), (main):
8319         Totally dump messages in -launch with the -m option.
8320         Fix message name for State messages,
8321
8322 2005-07-14  Wim Taymans  <wim@fluendo.com>
8323
8324         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8325         Post error messages on errors.
8326
8327 2005-07-14  Wim Taymans  <wim@fluendo.com>
8328
8329         * gst/gstcaps.c: (gst_caps_do_simplify):
8330         Remove debug info.
8331
8332         * gst/gsterror.h:
8333         Define error for stream stopped.
8334
8335         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8336         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8337         Do proper return values.
8338
8339         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8340         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8341         (gst_pad_get_range):
8342         Better return values.
8343
8344         * gst/gstpad.h:
8345         Reorganise return values, add macro to check for fatal errors.
8346
8347         * gst/gstqueue.c: (gst_queue_chain):
8348         Return proper GstFlowReturn values,
8349
8350 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8351
8352         * docs/gst/gstreamer-sections.txt:
8353         * docs/gst/gstreamer.types:
8354         * docs/gst/tmpl/gst.sgml:
8355         * docs/gst/tmpl/gstbasesink.sgml:
8356         * docs/gst/tmpl/gstbasesrc.sgml:
8357         * docs/gst/tmpl/gstbasetransform.sgml:
8358         * docs/gst/tmpl/gstbin.sgml:
8359         * docs/gst/tmpl/gstbuffer.sgml:
8360         * docs/gst/tmpl/gstcaps.sgml:
8361         * docs/gst/tmpl/gstclock.sgml:
8362         * docs/gst/tmpl/gstcompat.sgml:
8363         * docs/gst/tmpl/gstconfig.sgml:
8364         * docs/gst/tmpl/gstelement.sgml:
8365         * docs/gst/tmpl/gstelementdetails.sgml:
8366         * docs/gst/tmpl/gstelementfactory.sgml:
8367         * docs/gst/tmpl/gstenumtypes.sgml:
8368         * docs/gst/tmpl/gsterror.sgml:
8369         * docs/gst/tmpl/gstevent.sgml:
8370         * docs/gst/tmpl/gstfakesink.sgml:
8371         * docs/gst/tmpl/gstfakesrc.sgml:
8372         * docs/gst/tmpl/gstfilesink.sgml:
8373         * docs/gst/tmpl/gstfilesrc.sgml:
8374         * docs/gst/tmpl/gstfilter.sgml:
8375         * docs/gst/tmpl/gstformat.sgml:
8376         * docs/gst/tmpl/gstghostpad.sgml:
8377         * docs/gst/tmpl/gstimplementsinterface.sgml:
8378         * docs/gst/tmpl/gstindex.sgml:
8379         * docs/gst/tmpl/gstindexfactory.sgml:
8380         * docs/gst/tmpl/gstinfo.sgml:
8381         * docs/gst/tmpl/gstiterator.sgml:
8382         * docs/gst/tmpl/gstmacros.sgml:
8383         * docs/gst/tmpl/gstmemchunk.sgml:
8384         * docs/gst/tmpl/gstminiobject.sgml:
8385         * docs/gst/tmpl/gstobject.sgml:
8386         * docs/gst/tmpl/gstpad.sgml:
8387         * docs/gst/tmpl/gstpadtemplate.sgml:
8388         * docs/gst/tmpl/gstparse.sgml:
8389         * docs/gst/tmpl/gstpipeline.sgml:
8390         * docs/gst/tmpl/gstplugin.sgml:
8391         * docs/gst/tmpl/gstpluginfeature.sgml:
8392         * docs/gst/tmpl/gstquery.sgml:
8393         * docs/gst/tmpl/gstqueue.sgml:
8394         * docs/gst/tmpl/gstregistry.sgml:
8395         * docs/gst/tmpl/gstregistrypool.sgml:
8396         * docs/gst/tmpl/gstscheduler.sgml:
8397         * docs/gst/tmpl/gstschedulerfactory.sgml:
8398         * docs/gst/tmpl/gststructure.sgml:
8399         * docs/gst/tmpl/gstsystemclock.sgml:
8400         * docs/gst/tmpl/gsttaglist.sgml:
8401         * docs/gst/tmpl/gsttagsetter.sgml:
8402         * docs/gst/tmpl/gsttrace.sgml:
8403         * docs/gst/tmpl/gsttrashstack.sgml:
8404         * docs/gst/tmpl/gsttypefind.sgml:
8405         * docs/gst/tmpl/gsttypefindfactory.sgml:
8406         * docs/gst/tmpl/gsttypes.sgml:
8407         * docs/gst/tmpl/gsturihandler.sgml:
8408         * docs/gst/tmpl/gsturitype.sgml:
8409         * docs/gst/tmpl/gstutils.sgml:
8410         * docs/gst/tmpl/gstvalue.sgml:
8411         * docs/gst/tmpl/gstversion.sgml:
8412         * docs/gst/tmpl/gstxml.sgml:
8413         * docs/libs/tmpl/gstcontrol.sgml:
8414         * docs/libs/tmpl/gstdataprotocol.sgml:
8415         * docs/libs/tmpl/gstdparam.sgml:
8416         * docs/libs/tmpl/gstdplinint.sgml:
8417         * docs/libs/tmpl/gstdpman.sgml:
8418         * docs/libs/tmpl/gstdpsmooth.sgml:
8419         * docs/libs/tmpl/gstgetbits.sgml:
8420         * docs/libs/tmpl/gstunitconvert.sgml:
8421         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8422         (gst_push_src_base_init), (gst_push_src_class_init),
8423         (gst_push_src_init), (gst_push_src_create):
8424         * gst/base/gstpushsrc.h:
8425         * gst/elements/gstelements.c:
8426         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8427         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8428         (gst_fake_sink_init), (gst_fake_sink_set_property),
8429         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8430         (gst_fake_sink_event), (gst_fake_sink_preroll),
8431         (gst_fake_sink_render), (gst_fake_sink_change_state):
8432         * gst/elements/gstfakesink.h:
8433         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8434         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8435         (gst_fake_src_base_init), (gst_fake_src_class_init),
8436         (gst_fake_src_init), (gst_fake_src_event_handler),
8437         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8438         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8439         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8440         (gst_fake_src_create_buffer), (gst_fake_src_create),
8441         (gst_fake_src_start), (gst_fake_src_stop):
8442         * gst/elements/gstfakesrc.h:
8443         * gst/elements/gstfilesink.c: (_do_init),
8444         (gst_file_sink_base_init), (gst_file_sink_class_init),
8445         (gst_file_sink_init), (gst_file_sink_dispose),
8446         (gst_file_sink_set_location), (gst_file_sink_set_property),
8447         (gst_file_sink_get_property), (gst_file_sink_open_file),
8448         (gst_file_sink_close_file), (gst_file_sink_query),
8449         (gst_file_sink_event), (gst_file_sink_render),
8450         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8451         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8452         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8453         * gst/elements/gstfilesink.h:
8454         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8455         (gst_file_src_class_init), (gst_file_src_init),
8456         (gst_file_src_finalize), (gst_file_src_set_location),
8457         (gst_file_src_set_property), (gst_file_src_get_property),
8458         (gst_file_src_map_region), (gst_file_src_map_small_region),
8459         (gst_file_src_create_mmap), (gst_file_src_create_read),
8460         (gst_file_src_create), (gst_file_src_is_seekable),
8461         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8462         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8463         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8464         (gst_file_src_uri_handler_init):
8465         * gst/elements/gstfilesrc.h:
8466           more autistic cleanliness in functions/names/defines
8467
8468 2005-07-13  Andy Wingo  <wingo@pobox.com>
8469
8470         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8471         source couldn't negotiate.
8472
8473         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8474         connections again.
8475
8476         * gst/gstutils.h:
8477         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8478         function. I am channeling Hades. Put your boots on suckers!!!
8479
8480 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8481
8482         * testsuite/caps/Makefile.am:
8483         * testsuite/caps/value_compare.c:
8484         * testsuite/caps/value_intersect.c:
8485         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8486           move two testsuite apps over to the check dir
8487
8488 2005-07-12  Wim Taymans  <wim@fluendo.com>
8489
8490         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8491         Added more debug info in the negotiate process.
8492
8493         * gst/gstmessage.h:
8494         Prepare for segment playback.
8495
8496         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8497         Better debugging.
8498
8499         * gst/gstutils.c:
8500         Some more docs.
8501
8502         * tools/gst-launch.c: (main):
8503         NULL pipeline on errors.
8504
8505 2005-07-12  Andy Wingo  <wingo@pobox.com>
8506
8507         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8508         not it comes from a malloc region. Make sure our copy gets freed.
8509
8510 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8511
8512         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8513         * check/gst/gstmessage.c: (GST_START_TEST):
8514         * check/gst/gststructure.c: (GST_START_TEST),
8515         (gst_structure_suite), (main):
8516           more testing
8517         * gst/gstelement.c: (gst_element_message_full):
8518           clean up GError and debug string now that they get copied
8519         * gst/gstmessage.c: (gst_message_new_error),
8520         (gst_message_new_warning), (gst_message_parse_error),
8521         (gst_message_parse_warning):
8522           use GST_TYPE_G_ERROR for structure_new, and take copies of
8523           arguments, so that we don't mess up refcounting
8524
8525 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8526
8527         * check/Makefile.am:
8528           add per-test valgrind targets
8529         * check/gst-libs/gdp.c: (GST_START_TEST),
8530         (gst_data_protocol_suite), (main):
8531           clean up
8532
8533 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8534
8535         * check/Makefile.am:
8536           instate more valgrindable tests
8537         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8538         (GST_START_TEST), (fakesrc_suite):
8539         * check/gst/gstpad.c: (GST_START_TEST):
8540         * check/gst/gststructure.c: (GST_START_TEST):
8541           fix test leaks
8542         * docs/gst/tmpl/gstminiobject.sgml:
8543         * gst/gstpad.c: (gst_pad_finalize):
8544           fix the static mutex leak
8545
8546 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8547
8548         * check/Makefile.am:
8549           add two more tests for valgrinding
8550         * check/gst/gstvalue.c: (GST_START_TEST):
8551           test refcount of deserialized buffer, found a leak
8552         * docs/gst/gstreamer-docs.sgml:
8553         * docs/gst/gstreamer-sections.txt:
8554         * docs/gst/gstreamer.types:
8555         * docs/gst/tmpl/gstminiobject.sgml:
8556           add miniobject to docs
8557         * gst/gstminiobject.c:
8558           add some docs
8559         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8560         (gst_string_unwrap):
8561           fix a hard-to-find invalid write for one of the tests
8562           fix a leak for deserialized buffers
8563
8564 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8565
8566         * docs/pwg/advanced-events.xml:
8567         * docs/pwg/advanced-request.xml:
8568         * docs/pwg/advanced-scheduling.xml:
8569         * docs/pwg/appendix-porting.xml:
8570         * docs/pwg/building-boiler.xml:
8571         * docs/pwg/intro-preface.xml:
8572         * docs/pwg/other-ntoone.xml:
8573           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8574           of example code and explanation for pad activation, loop() and
8575           getrange() functions and a bit more. Remove old comments pointing
8576           to loop-functions.
8577         * examples/pwg/Makefile.am:
8578           Add loop/getrange examples.
8579
8580 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8581
8582         * configure.ac:
8583           check for valgrind binary + some fixes
8584         * check/gst.supp:
8585           valgrind suppressions for the tests
8586         * check/Makefile.am:
8587           add a valgrind: target that valgrinds the unit tests
8588         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8589         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8590         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8591         * check/gst/gstghostpad.c:
8592           added some cleanup
8593         * check/gst/gstdata.c:
8594           removed
8595         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8596         (thread_unref), (gst_mini_object_suite), (main):
8597           added
8598         * gst/gst.c: (gst_deinit):
8599         * gst/gst.h:
8600           add a method to clean up.
8601         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8602         (gst_system_clock_obtain):
8603           allow for disposing the system clock.
8604         * tools/gst-launch.c: (main):
8605           deinit
8606
8607 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8608
8609         * docs/gst/tmpl/gstbasesrc.sgml:
8610         * docs/gst/tmpl/gstfakesrc.sgml:
8611         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8612         (gst_base_src_init), (gst_base_src_set_property),
8613         (gst_base_src_get_property), (gst_base_src_get_range),
8614         (gst_base_src_start):
8615         * gst/base/gstbasesrc.h:
8616           add num-buffers property
8617         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8618         (gst_fakesrc_init), (gst_fakesrc_set_property),
8619         (gst_fakesrc_get_property), (gst_fakesrc_create),
8620         (gst_fakesrc_start):
8621           remove num-buffers property
8622
8623 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8624
8625         * docs/gst/gstreamer-sections.txt:
8626         * docs/gst/tmpl/gstbasesink.sgml:
8627         * docs/gst/tmpl/gstbasesrc.sgml:
8628         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8629         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8630         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8631         (gst_base_sink_set_property), (gst_base_sink_get_property),
8632         (gst_base_sink_handle_object), (gst_base_sink_event),
8633         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8634         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8635         (gst_base_sink_loop), (gst_base_sink_deactivate),
8636         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8637         (gst_base_sink_change_state):
8638         * gst/base/gstbasesink.h:
8639         * gst/base/gstbasesrc.h:
8640         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8641         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8642         (gst_filesink_init):
8643           more macro splitting
8644
8645 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8646
8647         * gst/gstelement.c: (gst_element_get_bus):
8648           add debug
8649         * tools/gst-launch.c: (check_intr), (event_loop):
8650           fix bus leaks
8651
8652 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8653
8654         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8655           fix a caps leak
8656
8657 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8658
8659         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8660         (gst_base_src_finalize):
8661           add finalize method and clean up properly
8662         * gst/gstpipeline.c: (gst_pipeline_dispose):
8663           add debug
8664
8665 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8666
8667         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8668         (gst_bin_suite):
8669           add more things to check
8670         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8671         * gst/gstelement.c:
8672           more debug
8673
8674 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8675
8676         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8677         (GST_START_TEST), (fakesrc_suite):
8678         * check/gst-libs/gdp.c: (GST_START_TEST):
8679         * check/gst/gst.c: (GST_START_TEST):
8680         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8681         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8682         * check/gst/gstbus.c: (GST_START_TEST):
8683         * check/gst/gstcaps.c: (GST_START_TEST):
8684         * check/gst/gstdata.c: (GST_START_TEST):
8685         * check/gst/gstelement.c: (GST_START_TEST):
8686         * check/gst/gstghostpad.c: (GST_START_TEST):
8687         * check/gst/gstiterator.c: (GST_START_TEST):
8688         * check/gst/gstmessage.c: (GST_START_TEST):
8689         * check/gst/gstobject.c: (GST_START_TEST):
8690         * check/gst/gstpad.c: (GST_START_TEST):
8691         * check/gst/gststructure.c: (GST_START_TEST):
8692         * check/gst/gstsystemclock.c: (GST_START_TEST),
8693         (gst_systemclock_suite):
8694         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8695         * check/gst/gstvalue.c: (GST_START_TEST):
8696         * check/pipelines/cleanup.c: (GST_START_TEST):
8697         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8698         * check/states/sinks.c: (GST_START_TEST):
8699         * check/gstcheck.c: (gst_check_init):
8700         * check/gstcheck.h:
8701           add debugging category
8702           use GST_START_TEST now, so we add a debug line
8703
8704 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8705
8706         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8707           add test for state change message on a bin
8708         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8709           add another test
8710         * gst/gstbin.c: (gst_bin_init):
8711         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8712         * gst/gstelement.c: (gst_element_post_message),
8713         (gst_element_set_state):
8714         * gst/gstelementfactory.c: (gst_element_factory_create):
8715         * gst/gstmessage.c: (gst_message_new):
8716         * gst/gstscheduler.c:
8717           various debugging additions and cleanups
8718
8719 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8720
8721         * check/Makefile.am:
8722         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8723         (main):
8724           adding tests for elements
8725         * gst/gstelement.c: (gst_element_dispose):
8726
8727 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8728
8729         * gst/registries/gstlibxmlregistry.c: (load_feature):
8730           plug more leaks.  A simple gst_init() now is leakfree, yay.
8731
8732 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8733
8734         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8735         (gst_xml_registry_load):
8736           plug another memleak
8737
8738 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8739
8740         * configure.ac:
8741           use GST_SET_ERROR_CFLAGS
8742         * docs/faq/cvs.xml:
8743           change to ERROR_CFLAGS
8744
8745 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8746
8747         * configure.ac:
8748           make GST_ERROR_CFLAGS overridable and re-enable Werror
8749         * docs/faq/cvs.xml:
8750           add a note about error CFLAGS
8751         * docs/gst/tmpl/gstfakesrc.sgml:
8752         * gst/elements/gstfakesrc.c:
8753           comment out some unused code
8754         * gst/gst.c: (split_and_iterate):
8755         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8756         (load_feature):
8757           plug some memleaks
8758
8759 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8760
8761         * common/Makefile.am:
8762         * common/gtk-doc.mak:
8763         * docs/gst/Makefile.am:
8764           factor out gtk-doc.mak
8765
8766 2005-07-07  Wim Taymans  <wim@fluendo.com>
8767
8768         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8769         (gst_thread_scheduler_dispose):
8770         Unlock the STREAM_LOCK completely.
8771
8772 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8773
8774         * check/Makefile.am:
8775         * check/elements/.cvsignore:
8776         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8777         (START_TEST), (fakesrc_suite), (main):
8778         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8779         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8780         (gst_fakesrc_create), (gst_fakesrc_start):
8781         * gst/elements/gstfakesrc.h:
8782           adding a first element test
8783
8784 2005-07-07  Andy Wingo  <wingo@pobox.com>
8785
8786         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8787         debug message.
8788
8789 2005-07-07  Wim Taymans  <wim@fluendo.com>
8790
8791         * gst/gstquery.c:
8792         * gst/gstquery.h:
8793         Remove old types
8794
8795 2005-07-07  Wim Taymans  <wim@fluendo.com>
8796
8797         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8798         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8799         Allow subclasses to implement their own negotiation.
8800
8801 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8802
8803         * docs/design/part-gstbin.txt:
8804         * docs/design/part-gstpipeline.txt:
8805           Update design notes to reflect the movement of
8806           responsibility for bus handling from GstPipeline to
8807           GstBin
8808
8809 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8810
8811         * configure.ac:
8812           Remove unnecessary queue2/3/4 examples.
8813
8814 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8815
8816         * examples/Makefile.am:
8817         * examples/helloworld/helloworld.c: (event_loop), (main):
8818         * examples/queue/queue.c: (event_loop), (main):
8819         * examples/queue2/queue2.c: (main):
8820           Update a couple of the examples to work again.
8821
8822         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8823         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8824          Spelling corrections and extra debug.
8825         
8826         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8827         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8828         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8829         * gst/gstbin.h:
8830         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8831         (gst_pipeline_change_state):
8832         * gst/gstpipeline.h:
8833           Move the bus handler for children to the GstBin, and create a
8834           separate bus for receiving messages from children to the one the
8835           bus sends 'upwards' on.
8836
8837 2005-07-06  Wim Taymans  <wim@fluendo.com>
8838
8839         * gst/base/README:
8840         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8841         (gst_base_sink_handle_object), (gst_base_sink_loop),
8842         (gst_base_sink_change_state):
8843         * gst/base/gstbasesink.h:
8844         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8845         (gst_base_src_init), (gst_base_src_setcaps),
8846         (gst_base_src_getcaps), (gst_base_src_loop),
8847         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8848         (gst_base_src_start), (gst_base_src_change_state):
8849         * gst/base/gstbasesrc.h:
8850         Make basesrc negotiate.
8851         Handle the case where preroll fails in basesink.
8852         Update README.
8853
8854 2005-07-06  Wim Taymans  <wim@fluendo.com>
8855
8856         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8857         Implement the fixate function.
8858         Clean up acceptcaps.
8859
8860 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8861
8862         * docs/pwg/building-filterfactory.xml:
8863         * docs/pwg/pwg.xml:
8864           Remove never-written filter-factory chapter; I'll add the various
8865           base classes to part 4 ("other element types") later on.
8866
8867 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8868
8869         * docs/pwg/advanced-negotiation.xml:
8870         * docs/pwg/building-boiler.xml:
8871         * docs/pwg/building-pads.xml:
8872         * docs/pwg/pwg.xml:
8873         * examples/pwg/Makefile.am:
8874           Add a chapter on caps negotiation, simplify the original code
8875           samples a bit w.r.t. caps negotiation, add link to the advanced
8876           section. Add a bunch of examples showing different use cases of
8877           different types of caps negotiation. Upstream renegotiation isn't
8878           fully documented yet since nobody knows how that works.
8879
8880 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8881
8882         * check/gst/gstpad.c:
8883         * check/gstcheck.c:
8884         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8885           if pad has no parent, return NULL as list of internal links
8886
8887 2005-07-05  Andy Wingo  <wingo@pobox.com>
8888
8889         * gst/elements/gstfilesrc.c:
8890         * gst/elements/gstfakesrc.c: 
8891         * gst/base/gstpushsrc.c:
8892         * gst/base/gstbasesrc.h: 
8893         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8894         
8895 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8896
8897         * Makefile.am:
8898           better report generation target (lcov needs a patch)
8899
8900 2005-07-05  Andy Wingo  <wingo@pobox.com>
8901
8902         * gst/elements, testsuite: Null if we got it...
8903
8904 2005-07-05  Wim Taymans  <wim@fluendo.com>
8905
8906         * configure.ac:
8907         * libs/gst/dataprotocol/Makefile.am:
8908         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8909         * libs/gst/dataprotocol/dataprotocol.h:
8910         * pkgconfig/Makefile.am:
8911         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8912         * pkgconfig/gstreamer-dataprotocol.pc.in:
8913         Ported dataprotol to 0.9. 
8914         Added pkgconfig files.
8915
8916 2005-07-05  Andy Wingo  <wingo@pobox.com>
8917
8918         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8919         Default to returning TRUE for the case when tranform_caps returns
8920         a fixed caps, like for identity or volume.
8921
8922         * check/gst/gstbus.c (pound_bus_with_messages): 
8923         * check/gst/gstmessage.c (START_TEST): 
8924         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8925         message API change.
8926
8927         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8928         logic weaks here: always run transform_caps, trying passthrough
8929         operation only if the original caps intersects with the transform.
8930
8931         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8932         source and sink caps.
8933
8934         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8935         Intersect the peer caps with the pad template before going into
8936         transform_caps.
8937         (gst_base_transform_transform_caps): More debugging.
8938
8939         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8940         src argument.
8941
8942 2005-07-04  Edward Hervey  <edward@fluendo.com>
8943
8944         * gst/gstutils.c:
8945         * gst/gstutils.h:
8946         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8947         in bindings.
8948
8949 2005-07-04  Andy Wingo  <wingo@pobox.com>
8950
8951         * check/gst/gstpad.c: Only set explicit caps on pads.
8952
8953 2005-07-01  Andy Wingo  <wingo@pobox.com>
8954
8955         * tests/network-clock.scm: Commentary update.
8956
8957         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8958         Didn't really make sense, not implementable with basetransform,
8959         etc.
8960         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8961         attempt at implementing the sync property, needs an unlock method.
8962
8963         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8964         New func, by default returns the same caps (the identity
8965         transformation).
8966         (gst_base_transform_getcaps): Uses transform_caps to return
8967         something sensible.
8968         (gst_base_transform_setcaps): Complicated logic to get caps on
8969         both pads, even if they are different, and to call set_caps once
8970         for every time both pads get their caps set.
8971         (gst_base_transform_handle_buffer): Give the ref to the transform
8972         function. Allows in-place modification of the buffer.
8973
8974         * gst/base/gstbasetransform.h (transform_caps): New class method.
8975         Given caps on one side, what can I do on the other.
8976         (set_caps): Take two caps, one for each side of the element.
8977
8978         * gst/gstpad.h:
8979         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8980         caps in place. This is safe because we can check the mutability of
8981         the caps, and a good idea because fixate functions are just called
8982         as a matter of last resort. (Not actually implemented.)
8983         (gst_pad_set_caps): If the caps we're setting is actually the same
8984         as the existing pad caps, just update the pointer without calling
8985         setcaps. Assert that caps is either NULL or fixed, as per the
8986         docs.
8987
8988         * gst/gstghostpad.c: Update for fixate changes.
8989
8990 2005-07-02  Andy Wingo  <wingo@pobox.com>
8991
8992         * gst/gstcaps.c:
8993         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8994         two refcounts makes it immutable, which is enough. Doc more.
8995
8996 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8997
8998         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8999           Put the mini_object into GValue as a mini_object,
9000           not a gpointer, since that's how we declared
9001           the signal.
9002
9003 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9004
9005         * examples/pwg/Makefile.am:
9006           Fix buildbot again.
9007
9008 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9009
9010         * docs/pwg/building-testapp.xml:
9011           Add extra check.
9012         * examples/pwg/Makefile.am:
9013           Fix buildbot.
9014
9015 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9016
9017         * configure.ac:
9018         * examples/Makefile.am:
9019         * examples/pwg/Makefile.am:
9020         * examples/pwg/extract.pl:
9021           Enable building the PWG examples.
9022         * docs/pwg/advanced-interfaces.xml:
9023           Add URI interface stub.
9024         * docs/pwg/advanced-types.xml:
9025         * docs/pwg/other-autoplugger.xml:
9026         * docs/pwg/appendix-porting.xml:
9027         * docs/pwg/pwg.xml:
9028           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9029         * docs/pwg/building-boiler.xml:
9030         * docs/pwg/building-chainfn.xml:
9031         * docs/pwg/building-pads.xml:
9032         * docs/pwg/building-props.xml:
9033         * docs/pwg/building-state.xml:
9034         * docs/pwg/building-testapp.xml:
9035           Update the building-*.xml parts for 0.9 changes. All examples
9036           code blocks compile in examples/pwg/*.
9037
9038 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9039
9040         * docs/manual/advanced-autoplugging.xml:
9041         * docs/manual/appendix-checklist.xml:
9042         * docs/manual/appendix-integration.xml:
9043         * docs/manual/highlevel-components.xml:
9044           Fix playbin/decodebin examples, update docs a bit, mention bus
9045           instead of signals in various places, mention kmplayer and
9046           kaffeine since they have a working GStreamer backend in the KDE
9047           section.
9048
9049 2005-06-30  Wim Taymans  <wim@fluendo.com>
9050
9051         * CHANGES-0.9:
9052         * docs/design/draft-ghostpads.txt:
9053         * docs/design/draft-push-pull.txt:
9054         * docs/design/draft-query.txt:
9055         * docs/design/part-TODO.txt:
9056         * docs/design/part-query.txt:
9057         Added CHANGES-0.9 doc, updated status of other docs.
9058         
9059         * gst/gstquery.h:
9060         Remove "hmm" macro
9061
9062 2005-06-30  Wim Taymans  <wim@fluendo.com>
9063
9064         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9065         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9066         (gst_base_sink_change_state):
9067         * gst/base/gstbasesink.h:
9068         Some tweaks, only EOS and a buffer complete a preroll.
9069
9070 2005-06-30  Andy Wingo  <wingo@pobox.com>
9071
9072         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9073         activate_push down to the internal pad as well.
9074
9075 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9076
9077         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9078
9079         * gst/gsttaginterface.c:
9080           Some documentation fixes (#307394 and #307397).
9081
9082 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9083
9084         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9085
9086         * gst/gstvalue.c: (gst_value_intersect_list):
9087           Fix memleak (#309125).
9088
9089 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9090
9091         * docs/manual/advanced-dataaccess.xml:
9092           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9093         * docs/manual/basics-pads.xml:
9094           Add reference for filtered caps to above chapter.
9095
9096 2005-06-30  Wim Taymans  <wim@fluendo.com>
9097
9098         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9099         (gst_bin_change_state):
9100         Probes are gone.
9101         Lame attempt at making the state change function a bit
9102         more readable.
9103
9104 2005-06-30  Wim Taymans  <wim@fluendo.com>
9105
9106         * docs/design/part-clocks.txt:
9107         * docs/design/part-element-sink.txt:
9108         * docs/design/part-events.txt:
9109         * docs/design/part-preroll.txt:
9110         * docs/design/part-states.txt:
9111         Some more tweeks and additions to the docs.
9112
9113 2005-06-30  Wim Taymans  <wim@fluendo.com>
9114
9115         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9116         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9117         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9118         (gst_pad_check_pull_range), (gst_pad_get_range),
9119         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9120         * gst/gstpad.h:
9121         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9122         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9123         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9124         (gst_pad_remove_buffer_probe):
9125         Removed atomic operations, use existing LOCK.
9126         Move exception handling out of main code path.
9127
9128 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9129
9130         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9131         (silly_return_true_function), (gst_pad_class_init),
9132         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9133         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9134         (gst_pad_send_event):
9135           Fix accumulator, add default value by using _emitv() instead
9136           of _emit() for signal emission.
9137
9138 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9139
9140         * docs/manual/advanced-dataaccess.xml:
9141         * examples/manual/Makefile.am:
9142           Add probe example.
9143         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9144           Make work (??).
9145
9146 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9147
9148         * gst/elements/gstfilesink.c: (gst_filesink_render):
9149           Simplify code so that we don't have to handle short
9150           writes and return GST_FLOW_ERROR if an error occured.
9151
9152 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9153
9154         * docs/gst/gstreamer-docs.sgml:
9155           Remove probes more.
9156
9157 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9158
9159         * docs/gst/gstreamer-sections.txt:
9160         * docs/gst/tmpl/gstpad.sgml:
9161         * docs/gst/tmpl/gstprobe.sgml:
9162         * gst/Makefile.am:
9163         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9164         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9165         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9166         (gst_pad_push_event), (gst_pad_send_event):
9167         * gst/gstpad.h:
9168         * gst/gstutils.c: (gst_pad_add_data_probe),
9169         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9170         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9171         (gst_pad_remove_buffer_probe):
9172         * gst/gstutils.h:
9173           Remove old probes, add new g-signal-based probes and some utility
9174           functions.
9175
9176 2005-06-29  Edward Hervey  <edward@fluendo.com>
9177
9178         * gst/gstelementfactory.c:
9179         * gst/gstutils.h:
9180         * gst/gstutils.c:
9181         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9182         the definition to the header file.
9183
9184 2005-06-29  Andy Wingo  <wingo@pobox.com>
9185
9186         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9187         plugins from the source directory.
9188
9189 2005-06-29  Wim Taymans  <wim@fluendo.com>
9190
9191         * docs/gst/tmpl/gstbuffer.sgml:
9192         * docs/gst/tmpl/gstclock.sgml:
9193         Some fixings for blantently wrong text.
9194
9195 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9196
9197         * check/Makefile.am:
9198         * gst/gst.c: (add_path_func), (init_pre):
9199         * gst/gstregistry.c: (gst_registry_add_path):
9200           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9201           only scan the GST_PLUGIN_PATH locations, and not add
9202           system locations
9203
9204 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9205
9206         * docs/gst/gstreamer-sections.txt:
9207         * docs/gst/tmpl/gstbasesrc.sgml:
9208         * gst/gstelement.c:
9209         * gst/gstelement.h:
9210         * gst/gstevent.c:
9211         * gst/gstutils.c:
9212           doc fixes
9213
9214 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9215
9216         * docs/manual/advanced-autoplugging.xml:
9217           Fix autoplugging example.
9218
9219 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9220
9221         * docs/manual/advanced-autoplugging.xml:
9222         * docs/manual/mime-world.fig:
9223           Try to get autoplugging working, fix type detection. Fix text
9224           in hello-world image.
9225
9226 2005-06-29  Wim Taymans  <wim@fluendo.com>
9227
9228         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9229         (gst_base_sink_change_state):
9230         Small debug line.
9231
9232         * gst/gstclock.h:
9233         map SIGNAL and BROADCAST to the right function.
9234
9235         * gst/gstobject.h:
9236         Remove redundant braces.
9237
9238         * gst/gstpad.c: (gst_pad_set_caps):
9239         Don't call setcaps function when reseting caps to NULL.
9240
9241         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9242         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9243         (gst_system_clock_id_unschedule):
9244         Use BROADCAST as this is what we do.
9245
9246 2005-06-29  Wim Taymans  <wim@fluendo.com>
9247
9248         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9249         We are actually prerolling before commiting the state
9250         change. 
9251
9252 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9253
9254         * docs/manual/advanced-clocks.xml:
9255         * docs/manual/advanced-interfaces.xml:
9256         * docs/manual/advanced-metadata.xml:
9257         * docs/manual/advanced-position.xml:
9258         * docs/manual/advanced-schedulers.xml:
9259         * docs/manual/advanced-threads.xml:
9260         * docs/manual/appendix-porting.xml:
9261         * docs/manual/basics-bins.xml:
9262         * docs/manual/basics-bus.xml:
9263         * docs/manual/basics-elements.xml:
9264         * docs/manual/basics-helloworld.xml:
9265         * docs/manual/basics-pads.xml:
9266         * docs/manual/highlevel-components.xml:
9267         * docs/manual/manual.xml:
9268         * docs/manual/thread.fig:
9269           Update (until threads/scheduling) Application Development Manual;
9270           remove GstThread, add GstBus, add simple porting checklist, add
9271           documentation for tag writing, clocks, make all examples until this
9272           part compile and run.
9273         * examples/manual/Makefile.am:
9274           Update from changes to Application Development Manual; add bus
9275           example, remove thread example.
9276
9277 2005-06-28  Wim Taymans  <wim@fluendo.com>
9278
9279         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9280         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9281         (gst_bus_source_dispatch):
9282         Add debugging messages.
9283         Make internal methods static.
9284         Handle the case where the bus is flushed in the handler.
9285         
9286         * gst/gstelement.c: (gst_element_get_bus):
9287         Fix refcount in _get_bus();
9288
9289         * gst/gstpipeline.c: (gst_pipeline_change_state),
9290         (gst_pipeline_get_clock_func):
9291         Clock refcounting fixes.
9292         Handle the case where preroll timed out more gracefully.
9293         
9294         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9295         Clean up the internal thread in dispose. This is needed
9296         for subclasses that actually get disposed.
9297         
9298         * gst/schedulers/threadscheduler.c:
9299         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9300         (gst_thread_scheduler_dispose):
9301         Free thread pool in dispose.
9302
9303 2005-06-28  Andy Wingo  <wingo@pobox.com>
9304
9305         * tests/network-clock-utils.scm (debug, print-event): New utils.
9306
9307         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9308         (*packet-loss*): Unified loss probability.
9309         (network-time): Report out-of-band events.
9310
9311         * tests/plot-data: Add support for out-of-band events. Hack it
9312         into this script instead of passing it down the pipe; should fix
9313         this later.
9314
9315 2005-06-28  Wim Taymans  <wim@fluendo.com>
9316
9317         * docs/gst/gstreamer.types:
9318         * docs/gst/tmpl/gstbasesrc.sgml:
9319         * docs/gst/tmpl/gstpad.sgml:
9320         Docs fixes.
9321
9322 2005-06-28  Wim Taymans  <wim@fluendo.com>
9323
9324         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9325         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9326         (gst_proxy_pad_do_fixatecaps):
9327         Correctly proxy the check_pull_range function.
9328
9329 2005-06-28  Andy Wingo  <wingo@pobox.com>
9330
9331         * tests/network-clock.scm: Removed need for slib.
9332         
9333 2005-06-28  Wim Taymans  <wim@fluendo.com>
9334
9335         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9336         (gst_basesink_preroll_queue_flush):
9337         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9338         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9339         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9340         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9341         (gst_proxy_pad_set_property):
9342         * gst/gstpad.c:
9343         * gst/gstpad.h:
9344         * gst/gstqueue.c: (gst_queue_init):
9345         The deprecated pad loop function is removed now.
9346
9347 2005-06-28  Andy Wingo  <wingo@pobox.com>
9348
9349         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9350         New parameters, simulate network packet loss.
9351
9352         * tests/network-clock-utils.scm: Initialize the RNG.
9353
9354 2005-06-28  Wim Taymans  <wim@fluendo.com>
9355
9356         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9357         (gst_basesink_event), (gst_basesink_deactivate):
9358         Flushing the preroll queue always needs to unlock the waiters.
9359
9360 2005-06-28  Edward Hervey  <edward@fluendo.com>
9361
9362         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9363         Wheen a seek was successful on a pipeline, set the stream_time to the
9364         seek offset in order to have a synchronized stream_time.
9365
9366 2005-06-28  Wim Taymans  <wim@fluendo.com>
9367
9368         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9369         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9370         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9371         (gst_proxy_pad_do_fixatecaps):
9372         Call wrapper function instead of just calling the function
9373         pointers. This takes care of any locking and whatmore.
9374
9375 2005-06-28  Wim Taymans  <wim@fluendo.com>
9376
9377         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9378         (gst_pad_pull_range):
9379         * gst/gstpad.h:
9380         CONNECTED -> LINKED.
9381
9382 2005-06-28  Andy Wingo  <wingo@pobox.com>
9383
9384         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9385         source-munging commit!!!
9386
9387         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9388         (gst_object_sink): Take gpointer arguments, not GstObject --
9389         avoids casts. Like GLib.
9390
9391         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9392         activate.
9393
9394 2005-06-27  Andy Wingo  <wingo@pobox.com>
9395
9396         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9397         remaining buffer.
9398
9399         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9400         returns a sorted copy of the trace list.
9401         (gst_alloc_trace_print_live): New API, only prints traces with
9402         live objects. Sort the list.
9403         (gst_alloc_trace_print_all): Sort the list.
9404         (gst_alloc_trace_print): Align columns.
9405
9406         * gst/elements/gstttypefindelement.c:
9407         * gst/elements/gsttee.c:
9408         * gst/base/gstbasesrc.c:
9409         * gst/base/gstbasesink.c:
9410         * gst/base/gstbasetransform.c:
9411         * gst/gstqueue.c: Adapt for pad activation changes.
9412
9413         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9414         sched.
9415         (gst_pipeline_dispose): Drop ref on sched.
9416
9417         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9418         (gst_pad_activate_default): Push mode by default.
9419         (pre_activate_switch, post_activate_switch): New stubs, things to
9420         do before and after switching activation modes on pads.
9421         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9422         the pad's activate function to choose which mode to activate.
9423         Shortcut on deactivation and call the right function directly.
9424         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9425         mode.
9426         (gst_pad_activate_push): New API, same for push mode.
9427         (gst_pad_set_activate_function) 
9428         (gst_pad_set_activatepull_function) 
9429         (gst_pad_set_activatepush_function): Setters for new API.
9430
9431         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9432         Trace all miniobjects.
9433         (gst_mini_object_make_writable): Unref the arg if we copy, like
9434         gst_caps_make_writable.
9435
9436         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9437
9438         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9439         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9440         Adapt for new pad API.
9441
9442         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9443
9444         * gst/gstelement.h:
9445         * gst/gstelement.c (gst_element_iterate_src_pads) 
9446         (gst_element_iterate_sink_pads): New API functions.
9447         
9448         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9449         should fold into gstiterator.c in some form.
9450         (gst_element_pads_activate): Simplified via use of fold and
9451         delegation of decisions to gstpad->activate.
9452
9453         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9454         help in debugging.
9455
9456         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9457         class once in init, like gstmessage. Didn't run into this issue
9458         but it seems correct. Don't initialize a trace, gstminiobject does
9459         that.
9460
9461         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9462         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9463         to the bus.
9464         (assert_live_count): New util function, uses alloc traces to check
9465         cleanup.
9466
9467         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9468         To be modified when unlink drops the internal pad.
9469
9470 2005-06-27  Wim Taymans  <wim@fluendo.com>
9471
9472         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9473         (gst_bin_change_state):
9474         Cleanup the get_state() function a little, make sure it
9475         iterates the same set of elements.
9476         Added stub iterate_state_order().
9477
9478 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9479
9480         * docs/gst/gstreamer-docs.sgml:
9481         * docs/gst/gstreamer-sections.txt:
9482         * docs/gst/gstreamer.types:
9483         * docs/gst/tmpl/gstbasesink.sgml:
9484         * docs/gst/tmpl/gstbasesrc.sgml:
9485         * docs/gst/tmpl/gstbasetransform.sgml:
9486         * docs/gst/tmpl/gstelement.sgml:
9487         * docs/gst/tmpl/gstiterator.sgml:
9488         * gst/base/gstbasesrc.c:
9489         * gst/base/gstbasesrc.h:
9490         * gst/base/gstbasetransform.h:
9491         * gst/gstelement.c:
9492         * gst/gstiterator.h:
9493           adding basetransform and iterator docs
9494
9495 2005-06-27  Andy Wingo  <wingo@pobox.com>
9496
9497         * docs/design/part-activation.txt: Notes on how activation should
9498         work -- not quite implemented yet.
9499
9500 2005-06-25  Wim Taymans  <wim@fluendo.com>
9501
9502         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9503         At least get the chain function correct, needs more
9504         fixing.
9505
9506 2005-06-25  Wim Taymans  <wim@fluendo.com>
9507
9508         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9509         (gst_basesink_handle_object), (gst_basesink_event),
9510         (gst_basesink_do_sync), (gst_basesink_handle_event),
9511         (gst_basesink_change_state):
9512         * gst/gsttask.h:
9513         Right, two problems here: ghostpads don't take locks and
9514         glib _rec_mutex_lock_full() with depth==0 still locks.
9515         Catch illegal locking and g_warn them.
9516
9517 2005-06-25  Wim Taymans  <wim@fluendo.com>
9518
9519         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9520         Have to check for completion now...
9521
9522 2005-06-25  Wim Taymans  <wim@fluendo.com>
9523
9524         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9525         (gst_basesink_handle_object), (gst_basesink_event),
9526         (gst_basesink_do_sync), (gst_basesink_handle_event),
9527         (gst_basesink_change_state):
9528         * gst/gstpad.h:
9529         Unlock STREAM_LOCK whatever the recursion was.
9530
9531 2005-06-25  Wim Taymans  <wim@fluendo.com>
9532
9533         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9534         (gst_basesink_preroll_queue_empty),
9535         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9536         (gst_basesink_event), (gst_basesink_do_sync),
9537         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9538         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9539         (gst_basesink_change_state):
9540         Reworked the base sink, handle event and buffer serialisation
9541         correctly and removed possible deadlock.
9542         Handle EOS correctly.
9543
9544 2005-06-25  Wim Taymans  <wim@fluendo.com>
9545
9546         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9547         (gst_pipeline_change_state):
9548         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9549         Allow elements to post EOS in the state change function.
9550         Fix up -launch, make it exit the poll loop when the
9551         pipeline actually changed state.
9552         Fix up warning parsing in -launch.
9553
9554 2005-06-25  Wim Taymans  <wim@fluendo.com>
9555
9556         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9557         (gst_tee_sink_activate):
9558         Core takes STREAM_LOCK for us now.
9559
9560 2005-06-25  Wim Taymans  <wim@fluendo.com>
9561
9562         * gst/gstelement.c: (gst_element_get_state_func),
9563         (gst_element_set_state):
9564         * gst/gstelement.h:
9565         * gst/gstmessage.c: (gst_message_parse_error),
9566         (gst_message_parse_warning):
9567         Keep track of current target state while performing a state
9568         change so that subclasses can do something interesting.
9569         Fix parsing of warning/error messages when GError is NULL.
9570
9571 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9572
9573         * docs/gst/Makefile.am:
9574         * docs/gst/gstreamer-docs.sgml:
9575         * docs/gst/gstreamer-sections.txt:
9576         * docs/gst/gstreamer.types:
9577         * docs/gst/tmpl/gstbasesink.sgml:
9578         * docs/gst/tmpl/gstbasesrc.sgml:
9579         * docs/gst/tmpl/gstbin.sgml:
9580         * docs/gst/tmpl/gstcompat.sgml:
9581         * docs/gst/tmpl/gstfakesink.sgml:
9582         * docs/gst/tmpl/gstfakesrc.sgml:
9583         * docs/gst/tmpl/gstfilesink.sgml:
9584         * docs/gst/tmpl/gstfilesrc.sgml:
9585         * docs/gst/tmpl/gstindex.sgml:
9586         * docs/manual/appendix-quotes.xml:
9587         * gst/base/gstbasesrc.h:
9588         * gst/elements/gstfakesrc.h:
9589         * gst/gstmessage.h:
9590           start pulling in base classes and elements in our docs
9591
9592 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9593
9594         * docs/gst/Makefile.am:
9595         * docs/libs/Makefile.am:
9596           fixed make distcheck with gtk-doc 1.3
9597
9598 2005-06-23  Wim Taymans  <wim@fluendo.com>
9599
9600         * gst/gstelement.c: (gst_element_get_state_func),
9601         (gst_element_set_state), (gst_element_change_state):
9602         When the state did not change, also report NO_PREROLL
9603         when it matters.
9604
9605 2005-06-23  Wim Taymans  <wim@fluendo.com>
9606
9607         * gst/gstpad.c: (gst_pad_event_default):
9608         * gst/gstqueue.c: (gst_queue_loop):
9609         No unsafe task pausing please.
9610
9611 2005-06-23  Wim Taymans  <wim@fluendo.com>
9612
9613         * gst/schedulers/threadscheduler.c:
9614         (gst_thread_scheduler_task_start),
9615         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9616         Ref the task before pushing it on the threadpool. This
9617         makes sure that we have a ref when the threadfunction is
9618         actually called.
9619
9620 2005-06-23  Andy Wingo  <wingo@pobox.com>
9621
9622         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9623         offset is greater than the file's size.
9624
9625         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9626         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9627         * gst/gstobject.c (gst_object_class_init): Make the class lock
9628         recursive. Wim won't let me drop deep_notify. Decodebin works
9629         again, whoopdy doo.
9630
9631         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9632         internal pad, and hacks accordingly. Doesn't do it on the target
9633         pad because we change its caps. Probably catches all cases of
9634         interest tho.
9635         (gst_ghost_pad_set_property): Connect to notify::caps as
9636         appropritate.
9637
9638         * tests/network-clock.scm (plot-simulation): Pipe data to the
9639         elite python skript.
9640
9641         * tests/network-clock-utils.scm (define-parameter): New macro,
9642         defines a parameter that can be set via the command line.
9643         (set-parameter!, parse-parameter-arguments): Command line args
9644         parser.
9645
9646         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9647         stdin.
9648
9649 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9650
9651         * gst/elements/gsttypefindelement.c:
9652         (gst_type_find_element_handle_event):
9653           Don't restart typefinding on a discont.
9654         * gst/gstelement.c: (gst_element_set_state):
9655           Debug spelling fix.
9656         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9657           Allow changing mode of an active pad.
9658           Debug output fixes.
9659         * gst/registries/gstlibxmlregistry.c: (load_feature):
9660           Don't cast a static pad template to a normal pad template.
9661
9662 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9663
9664         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9665         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9666           remove gst_strtoll completely, since it didn't actually do
9667           anything more than what g_ascii_strtoull already does.
9668           check for range errors when deserializing
9669           do a cast for the unsigned cases; but further fixing needs
9670           a decision on what the interpretation of "(int)" and
9671           deserialization should be for values that fall outside the
9672           type's boundaries (ie, refuse, or interpret as casting)
9673
9674 2005-06-23  Wim Taymans  <wim@fluendo.com>
9675
9676         * check/Makefile.am:
9677         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9678         * docs/design/part-live-source.txt:
9679         * docs/design/part-states.txt:
9680         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9681         (gst_basesrc_set_live), (gst_basesrc_is_live),
9682         (gst_basesrc_get_range), (gst_basesrc_activate),
9683         (gst_basesrc_change_state):
9684         * gst/base/gstbasesrc.h:
9685         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9686         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9687         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9688         * gst/gstelement.c: (gst_element_get_state_func),
9689         (gst_element_set_state):
9690         * gst/gstelement.h:
9691         * gst/gsttypes.h:
9692         * tools/gst-launch.c: (event_loop), (main):
9693         Added support for live sources and other elements that
9694         cannot do preroll.
9695         Updated design docs, added live-source design doc.
9696         Implemented live source functionality in basesrc
9697         Fix error condition in _bin_get_state()
9698         Implement live source handling in -launch.
9699         Added check for live sources.
9700         Fixed case in GstBin where elements were changed state
9701         multiple times.
9702
9703
9704 2005-06-23  Andy Wingo  <wingo@pobox.com>
9705
9706         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9707         borken refcounting.
9708
9709         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9710         gst_caps_replace takes care of this for us.
9711
9712         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9713         gst_pad_set_caps on the target, not just its setcaps() function.
9714
9715         * tests/network-clock.scm: 
9716         * tests/network-clock-utils.scm: A network clock simulator.
9717         Something of an algorithmic testbed before doing something in C.
9718
9719 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9720
9721         * check/Makefile.am:
9722         * check/gst/capslist.h:
9723           copy over from 0.8, and add two with bitmasks specified with
9724           (int) 0xFF...
9725         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9726           add test to parse everything from capslist.h
9727         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9728         (main):
9729           add test for structure deserialization
9730         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9731           add tests for deserialization of strings to int types
9732         * gst/gststructure.c: (gst_structure_nth_field_name):
9733         * gst/gststructure.h:
9734           add a way to get the name of a field referenced by index
9735         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9736           instead of checking if the resulting long long lies between
9737           min and max, we check if the long long would fit into
9738           a number of bytes for the final type.
9739           This fixes cases where a string represents 2^32 - 1, which
9740           when cast to int would be the (valid) -1, but is bigger than
9741           G_MAXINT
9742
9743 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9744
9745         * gst/parse/grammar.y:
9746           add a log line for type deserialization
9747
9748 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9749
9750         * check/gst/gstvalue.c: (START_TEST):
9751         * gst/gstvalue.c: (gst_value_deserialize):
9752           return long long, not int, so gint64 deserialization actually
9753           works.  Is there any flag that makes the compiler check this ?
9754           Fixes #308559
9755
9756 2005-06-22  Wim Taymans  <wim@fluendo.com>
9757
9758         * gst/gstbuffer.h:
9759         Added convenience macros for setting buffers in GValue.
9760
9761 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9762
9763         * check/gst/.cvsignore:
9764         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9765           add a test deserializing int64, and comment part out because
9766           it fails, yay !
9767
9768 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9769
9770         * check/Makefile.am:
9771         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9772         * testsuite/Makefile.am:
9773         * testsuite/caps/Makefile.am:
9774         * testsuite/caps/value_serialize.c:
9775         * testsuite/test_gst_init.c:
9776           move a value_serialize test over
9777
9778 2005-06-20  Wim Taymans  <wim@fluendo.com>
9779
9780         * gst/gstpad.c:
9781         Small doc updates.
9782         
9783         * gst/gstvalue.c: (gst_value_compare_buffer),
9784         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9785         (gst_value_compare_flags), (gst_value_serialize_flags),
9786         (gst_value_deserialize_flags), (_gst_value_initialize):
9787         Fix serialisation of buffers, they are not boxed types anymore
9788
9789 2005-06-20  Wim Taymans  <wim@fluendo.com>
9790
9791         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9792         Testcase to show error in buffer-on-caps serialisation.
9793
9794 2005-06-20  Andy Wingo  <wingo@pobox.com>
9795
9796         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9797         will be adding to later.
9798
9799         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9800         if its socks fill with rocks.
9801         (gst_system_clock_obtain): Set the name on object construction.
9802         Avoid double-checked locking.
9803
9804 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9805
9806         * gst/gsturi.c: (gst_element_make_from_uri):
9807           Fix potential endless loop.
9808
9809 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9810
9811         * check/Makefile.am:
9812           add gsttag
9813         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9814         (main):
9815           move over from testsuite dir and clean up
9816         * configure.ac:
9817         * gst/gsttag.c:
9818         * testsuite/Makefile.am:
9819         * testsuite/tags/.cvsignore:
9820         * testsuite/tags/Makefile.am:
9821         * testsuite/tags/merge.c:
9822           remove testsuite/tags
9823
9824 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9825
9826         * docs/gst/gstreamer-sections.txt:
9827         * docs/gst/tmpl/gstenumtypes.sgml:
9828         * win32/gstenumtypes.c:
9829           clean up documentation build a little
9830
9831 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9832
9833         * check/gstcheck.h:
9834           add macros for checking refcounts on objects and caps
9835         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9836           add some more unit tests
9837         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9838         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9839           fix leaked refcounts (I hope :)) so unittest works
9840         * gst/gstpad.h:
9841           whitespace removal
9842
9843 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9844
9845         * configure.ac: back to HEAD
9846
9847 === release 0.9.1 ===
9848
9849 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9850
9851         * NEWS:
9852         * RELEASE:
9853           updated
9854
9855 2005-06-17  Andy Wingo  <wingo@pobox.com>
9856
9857         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9858         assert; it's always possible that the pad gets deactivated in
9859         between the checks in gstpad.c and the implementation. Rely on
9860         finish_preroll() to return a FLUSHING or similar instead of on the
9861         assert.
9862         
9863         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9864         clock and post an EOS message if we come out of finish_preroll in
9865         the playing state.
9866
9867 2005-06-16  David Schleef  <ds@schleef.org>
9868
9869         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9870         (gst_capsfilter_set_property): Allow NULL as possible value
9871         for filter_caps property, indicating GST_CAPS_ANY.
9872
9873 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9874
9875         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9876           fix debug output
9877         * gst/schedulers/Makefile.am:
9878           use libgst prefix
9879         * gstreamer.spec.in:
9880           fix spec for it
9881
9882 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9883
9884         * gstreamer.spec.in:
9885           clean up
9886
9887 2005-06-08  Andy Wingo  <wingo@pobox.com>
9888
9889         * gst/gstutils.c: RPAD fixes all around.
9890         (gst_element_link_pads): Refcounting fixes.
9891
9892         * tools/gst-inspect.c:
9893         * tools/gst-xmlinspect.c:
9894         * parse/grammar.y:
9895         * gst/base/gsttypefindhelper.c:
9896         * gst/base/gstbasesink.c:
9897         * gst/gstqueue.c: RPAD fixes.
9898
9899         * gst/gstghostpad.h:
9900         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9901         pads. The tricky thing is they provide both source and sink
9902         interfaces, since they proxy the internal pad for the external
9903         pad, and vice versa. Implement with lower-level ProxyPad objects,
9904         with the interior proxy pad as a child of the exterior ghost pad.
9905         Should write a doc on this.
9906         
9907         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9908         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9909         gst_object API.
9910         
9911         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9912         pads are real pads. No ghost pads in this file. Not documenting
9913         the myriad s/RPAD/PAD/ and REALIZE fixes.
9914         (gst_pad_class_init): Add properties for "direction" and
9915         "template". Both are construct-only, so they can't change during
9916         the life of the pad. Fixes properly deriving from GstPad.
9917         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9918         derived objects, just set properties when creating the objects via
9919         g_object_new.
9920         (gst_pad_get_parent): Implement as a function, return NULL if the
9921         parent is not an element.
9922         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9923         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9924         
9925         * gst/gstobject.c (gst_object_class_init): Make name a construct
9926         property. Don't set it in the object init.
9927
9928         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9929         with UNKNOWN direction.
9930         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9931         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9932         (gst_element_remove_pad): Remove ghost-pad special cases.
9933         (gst_element_pads_activate): Remove rpad cruft.
9934
9935         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9936         catch the pad's-parent-not-an-element case.
9937
9938         * gst/gst.h: Include gstghostpad.h.
9939
9940         * gst/gst.c (init_post): No more real, ghost pads.
9941
9942         * gst/Makefile.am: Add gstghostpad.[ch].
9943
9944         * check/Makefile.am:
9945         * check/gst/gstbin.c:
9946         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9947         into a bin creates ghost pads, and that the refcounts are right.
9948         Partly moved from gstbin.c.
9949
9950 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9951
9952         * check/gst-libs/.cvsignore:
9953         * check/gst/.cvsignore:
9954         * check/pipelines/.cvsignore:
9955           ignore more
9956         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9957         (START_TEST), (cleanup_suite), (main):
9958           add some tests related to cleanup after running pipelines
9959
9960 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9961
9962         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9963           add a testsuite for GstBuffer
9964
9965 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9966
9967         * gst/gstminiobject.h:
9968           add defines for accessing the refcount
9969
9970 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9971
9972         * Makefile.am: added support for html unit test coverage reports
9973
9974 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9975
9976         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9977           Free existing caps if the capsfilter changes. Add a FIXME about
9978           setting those caps on the pads.
9979
9980         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9981           Before adding a ghost pad to a parent bin, check that there isn't
9982           already one for the element on the bin. Prevents infinite recursion
9983           when using decodebin in parse pipelines. Andy says he'll rewrite the
9984           way this works anyway, so ignore the hack.
9985
9986 2005-06-02  Andy Wingo  <wingo@pobox.com>
9987
9988         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9989         file size, pass it on to the type find helper.
9990
9991         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9992         segment_start and segment_end properly according to the seek
9993         method. Segment_end is still a bit flaky because offset can be
9994         negative for CUR and END cases, but it takes -1 as an "unset"
9995         value.
9996
9997 2005-06-02  Wim Taymans  <wim@fluendo.com>
9998
9999         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10000         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10001         (gst_basesink_activate):
10002         * gst/base/gstbasesink.h:
10003         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10004         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10005         (gst_pad_query), (gst_pad_start_task):
10006         * gst/gstpad.h:
10007         * gst/gstqueue.c: (gst_queue_bufferalloc),
10008         (gst_queue_handle_sink_event), (gst_queue_chain):
10009         Bufferalloc: return GstFlowReturn to more accuratly report
10010         why allocation failed.
10011
10012 2005-06-02  Wim Taymans  <wim@fluendo.com>
10013
10014         * gst/gstpipeline.c: (gst_pipeline_send_event):
10015         Take snapshot of state without blocking.
10016
10017 2005-06-02  Wim Taymans  <wim@fluendo.com>
10018
10019         * docs/design/part-TODO.txt:
10020         * docs/design/part-caps.txt:
10021         * docs/design/part-clocks.txt:
10022         * docs/design/part-negotiation.txt:
10023         * docs/design/part-preroll.txt:
10024         Small doc updates 
10025
10026 2005-05-30  Wim Taymans  <wim@fluendo.com>
10027
10028         * gst/elements/gstidentity.c: (gst_identity_event),
10029         (gst_identity_transform), (gst_identity_get_property):
10030         Protect last_message property as it is accessed from
10031         multiple threads.
10032
10033 2005-05-30  Wim Taymans  <wim@fluendo.com>
10034
10035         * gst/gstelement.c: (gst_element_init),
10036         (gst_element_pads_activate), (gst_element_change_state):
10037         Slicker pad activation code.
10038
10039 2005-05-30  Wim Taymans  <wim@fluendo.com>
10040
10041         * gst/Makefile.am:
10042         * gst/gstelement.h:
10043         * gst/gstelementfactory.h:
10044         * gst/gsttypes.h:
10045         Move elementfactory methods to separate .h file.
10046
10047 2005-05-30  Wim Taymans  <wim@fluendo.com>
10048
10049         * docs/design/part-overview.txt:
10050         * gst/gstsystemclock.h:
10051         Small typo fixes, doc updates.
10052
10053 2005-05-30  Wim Taymans  <wim@fluendo.com>
10054
10055         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10056         (init_popt_callback):
10057         Remove cpu-opt flag.
10058
10059 2005-05-30  Wim Taymans  <wim@fluendo.com>
10060
10061         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10062         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10063         * gst/gstbuffer.h:
10064         Avoid typechecking in places where not needed.
10065         Added accessor for malloc_data.
10066
10067 2005-05-30  Wim Taymans  <wim@fluendo.com>
10068
10069         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10070         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10071         (gst_pad_configure_sink), (gst_pad_configure_src),
10072         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10073         (gst_pad_start_task):
10074         Propagate errors from _set_caps() in configure_src/sink
10075         functions instead of returning TRUE.
10076         FLUSH events can travel up and downstream
10077
10078
10079 2005-05-30  Wim Taymans  <wim@fluendo.com>
10080
10081         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10082         (gst_basesink_activate):
10083         Handle EOS in preroll.
10084
10085 2005-05-30  Wim Taymans  <wim@fluendo.com>
10086
10087         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10088         (gst_queue_loop), (gst_queue_handle_src_event):
10089         Remove old pieces of code
10090         Flushing the queue in an upstream event is a very bad idea.
10091
10092 2005-05-26  Andy Wingo  <wingo@pobox.com>
10093
10094         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10095         gst_value_set_mini_object so as to add a ref on the object (which
10096         will be removed when the value is unset).
10097
10098         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10099         arg type in ::handoff.
10100
10101         * gst/gstelement.c (gst_element_change_state): Also deactivate
10102         pads in READY->NULL, just in case the element didn't make it to
10103         PAUSED. Wingo tested, Wim approved.
10104
10105 2005-05-26  Wim Taymans  <wim@fluendo.com>
10106
10107         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10108         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10109         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10110         A flushing pad cannot be used to alloc_buffer from.
10111
10112 2005-05-26  Wim Taymans  <wim@fluendo.com>
10113
10114         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10115         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10116         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10117         (gst_bus_create_watch), (gst_bus_add_watch_full):
10118         * gst/gstbus.h:
10119         Implement a real GSource and use g_main_context_wakeup() to
10120         signal new messages instead of the socketpair.
10121
10122 2005-05-25  Wim Taymans  <wim@fluendo.com>
10123
10124         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10125         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10126         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10127         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10128         (gst_pad_send_event), (gst_pad_start_task):
10129         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10130         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10131         (gst_queue_sink_activate), (gst_queue_src_activate),
10132         (gst_queue_change_state):
10133         * gst/gstqueue.h:
10134         Fix state changes for non sinks. We now change sinks, then elements
10135         with unconnected srcpads, then the rest.
10136         More efficient queue unlocking in flush and state changes.
10137         Set the pad activate mode even if it does not have an activate
10138         function.
10139
10140 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10141
10142         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10143           Don't go in pull mode for non-seekable sources.
10144         * gst/elements/gsttypefindelement.h:
10145         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10146         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10147         (free_entry), (stop_typefinding),
10148         (gst_type_find_element_handle_event), (find_peek),
10149         (gst_type_find_element_chain), (do_pull_typefind),
10150         (gst_type_find_element_change_state):
10151           Allow typefinding (w/o seeking) in push-mode, simplified version
10152           of what was in 0.8.
10153         * gst/gstutils.c: (gst_buffer_join):
10154         * gst/gstutils.h:
10155           gst_buffer_join() from 0.8.
10156
10157 2005-05-25  Wim Taymans  <wim@fluendo.com>
10158
10159         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10160         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10161         (gst_pad_send_event), (gst_pad_start_task):
10162         Disable attempt at mode switching until it is figured out.
10163
10164 2005-05-25  Wim Taymans  <wim@fluendo.com>
10165
10166         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10167         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10168         (gst_basesink_finish_preroll), (gst_basesink_chain),
10169         (gst_basesink_loop), (gst_basesink_activate),
10170         (gst_basesink_change_state):
10171         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10172         (gst_basesrc_get_range), (gst_basesrc_loop),
10173         (gst_basesrc_activate):
10174         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10175         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10176         (gst_real_pad_init), (gst_real_pad_set_property),
10177         (gst_real_pad_get_property), (gst_pad_set_active),
10178         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10179         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10180         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10181         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10182         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10183         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10184         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10185         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10186         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10187         (gst_pad_stop_task):
10188         * gst/gstpad.h:
10189         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10190         (gst_queue_loop), (gst_queue_src_activate):
10191         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10192         (gst_task_get_state):
10193         * gst/gsttask.h:
10194         * gst/schedulers/threadscheduler.c:
10195         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10196         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10197         in task function.
10198         Remove ACTIVE pad flag, use FLUSHING everywhere
10199         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10200         functions.
10201         Add locks around IS_FLUSHING when reading.
10202         Take STREAM lock in chain(), get_range() functions so plugins
10203         don't need to take it anymore.
10204         
10205
10206
10207 2005-05-25  Wim Taymans  <wim@fluendo.com>
10208
10209         * tools/gst-launch.c: (event_loop):
10210         Unref message after using its contents instead of
10211         before.
10212
10213 2005-05-24  Wim Taymans  <wim@fluendo.com>
10214
10215         * docs/design/draft-ghostpads.txt:
10216         * docs/design/draft-push-pull.txt:
10217         * docs/design/draft-query.txt:
10218         * docs/design/part-overview.txt:
10219         Docs updates, added general overview doc.
10220
10221 2005-05-21  David Schleef  <ds@schleef.org>
10222
10223         * docs/gst/tmpl/old/GstBin.sgml:
10224         * docs/gst/tmpl/old/GstBuffer.sgml:
10225         * docs/gst/tmpl/old/GstCaps.sgml:
10226         * docs/gst/tmpl/old/GstClock.sgml:
10227         * docs/gst/tmpl/old/GstCompat.sgml:
10228         * docs/gst/tmpl/old/GstData.sgml:
10229         * docs/gst/tmpl/old/GstElement.sgml:
10230         * docs/gst/tmpl/old/GstEvent.sgml:
10231         * docs/gst/tmpl/old/GstIndex.sgml:
10232         * docs/gst/tmpl/old/GstStructure.sgml:
10233         * docs/gst/tmpl/old/GstTag.sgml:
10234         * docs/gst/tmpl/old/cothreads.sgml:
10235         * docs/gst/tmpl/old/cothreads_compat.sgml:
10236         * docs/gst/tmpl/old/gettext.sgml:
10237         * docs/gst/tmpl/old/gobject2gtk.sgml:
10238         * docs/gst/tmpl/old/grammar.tab.sgml:
10239         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10240         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10241         * docs/gst/tmpl/old/gst_private.sgml:
10242         * docs/gst/tmpl/old/gstaggregator.sgml:
10243         * docs/gst/tmpl/old/gstarch.sgml:
10244         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10245         * docs/gst/tmpl/old/gstbufferstore.sgml:
10246         * docs/gst/tmpl/old/gstdata_private.sgml:
10247         * docs/gst/tmpl/old/gstdisksink.sgml:
10248         * docs/gst/tmpl/old/gstdisksrc.sgml:
10249         * docs/gst/tmpl/old/gstelementfactory.sgml:
10250         * docs/gst/tmpl/old/gstextratypes.sgml:
10251         * docs/gst/tmpl/old/gstfakesink.sgml:
10252         * docs/gst/tmpl/old/gstfakesrc.sgml:
10253         * docs/gst/tmpl/old/gstfdsink.sgml:
10254         * docs/gst/tmpl/old/gstfdsrc.sgml:
10255         * docs/gst/tmpl/old/gstfilesink.sgml:
10256         * docs/gst/tmpl/old/gstfilesrc.sgml:
10257         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10258         * docs/gst/tmpl/old/gstidentity.sgml:
10259         * docs/gst/tmpl/old/gstindexfactory.sgml:
10260         * docs/gst/tmpl/old/gstmarshal.sgml:
10261         * docs/gst/tmpl/old/gstmd5sink.sgml:
10262         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10263         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10264         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10265         * docs/gst/tmpl/old/gstpipefilter.sgml:
10266         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10267         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10268         * docs/gst/tmpl/old/gstshaper.sgml:
10269         * docs/gst/tmpl/old/gstspider.sgml:
10270         * docs/gst/tmpl/old/gstspideridentity.sgml:
10271         * docs/gst/tmpl/old/gststatistics.sgml:
10272         * docs/gst/tmpl/old/gsttee.sgml:
10273         * docs/gst/tmpl/old/gsttimecache.sgml:
10274         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10275         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10276         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10277         * docs/gst/tmpl/old/types.sgml:
10278           I didn't intend to add these or check them in.
10279
10280 2005-05-19  David Schleef  <ds@schleef.org>
10281
10282         * configure.ac: Use -no-common everywhere.  In a sane world, it
10283           would be the default in libtool, because without it, you can't
10284           build DLLs on Windows.
10285         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10286         * docs/gst/gstreamer-sections.txt:
10287         * docs/gst/tmpl/gstcpu.sgml:
10288         * docs/gst/tmpl/gstdata.sgml:
10289         * docs/gst/tmpl/gstthread.sgml:
10290
10291 2005-05-19  David Schleef  <ds@schleef.org>
10292
10293         * gst/gstminiobject.c: (gst_value_set_mini_object),
10294         (gst_value_take_mini_object), (gst_value_get_mini_object):
10295         * gst/gstminiobject.h: Add GValue set/get functions.
10296
10297 2005-05-19  Wim Taymans  <wim@fluendo.com>
10298
10299         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10300         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10301         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10302         * gst/gstbuffer.h:
10303         * gst/gstbus.c: (gst_bus_post):
10304         * gst/gstelement.c: (gst_element_get_random_pad):
10305         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10306         Make subbufer unref the parent in finalize.
10307         some more debugging info.
10308
10309
10310 2005-05-19  Wim Taymans  <wim@fluendo.com>
10311
10312         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10313         (gst_basesink_init), (gst_basesink_finalize),
10314         (gst_basesink_activate), (gst_basesink_change_state):
10315         Don't free preroll queue too early.
10316
10317 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10318
10319         * gst/Makefile.am:
10320         * gst/ROADMAP:
10321           Hi, I'm outdated. Please shoot me.
10322
10323 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10324
10325         * gst/gstpipeline.c: (gst_pipeline_send_event):
10326           Do not access variables after they have been deleted.
10327
10328 2005-05-19  Wim Taymans  <wim@fluendo.com>
10329
10330         * tools/gst-inspect.c: (print_plugin_features):
10331         A plugin feature does unfortunatly not use the
10332         object name yet...
10333
10334 2005-05-18  Wim Taymans  <wim@fluendo.com>
10335
10336         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10337         Port _span() functions to new subbuffers.
10338
10339 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10340
10341         * gst/gstbin.c: (gst_bin_add_func):
10342           Fix clock settery in bins when adding kids after the clock has
10343           been selected.
10344
10345 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10346
10347         * gst/elements/gstidentity.c: (gst_identity_class_init):
10348           Workaround until signals support GstMiniObject.
10349
10350 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10351
10352         * gst/gstbuffer.c:
10353         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10354
10355 2005-05-18  Wim Taymans  <wim@fluendo.com>
10356
10357         * gst/base/Makefile.am:
10358         * gst/base/gstadapter.c: (gst_adapter_base_init),
10359         (gst_adapter_class_init), (gst_adapter_init),
10360         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10361         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10362         (gst_adapter_flush), (gst_adapter_available),
10363         (gst_adapter_available_fast):
10364         * gst/base/gstadapter.h:
10365         Ported and added adapter to the base classes.
10366
10367 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10368
10369         * gst/gst.c:
10370         * gst/gstmessage.c:
10371           Make sure the class is reffed/unreffed once before threads can be
10372           used.  Fixes #304551.
10373
10374 2005-05-17  Wim Taymans  <wim@fluendo.com>
10375
10376         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10377         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10378         * gst/gstminiobject.c: (gst_mini_object_get_type),
10379         (gst_mini_object_free):
10380         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10381         (gst_pad_push), (gst_pad_push_event):
10382         * gst/gstqueue.c: (gst_queue_change_state):
10383         Don't queue buffers in basesink when we are flushing.
10384         Unref buffer when flushing in basesink.
10385         Flush queue when going to READY
10386         Unref buffer when _push() returns an error.
10387         Don't free MiniObject instance when refcount is incremented
10388         in _finalize() so that we can recover objects.
10389
10390 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10391
10392         * docs/manual/advanced-schedulers.xml:
10393         * docs/manual/appendix-checklist.xml:
10394         * docs/pwg/advanced-clock.xml:
10395         * docs/pwg/advanced-interfaces.xml:
10396         * docs/pwg/advanced-request.xml:
10397         * docs/pwg/advanced-types.xml:
10398         * docs/pwg/intro-preface.xml:
10399         * examples/plugins/example.c: (gst_example_get_type),
10400         (gst_example_class_init), (gst_example_chain),
10401         (gst_example_set_property), (gst_example_get_property),
10402         (gst_example_change_state), (plugin_init):
10403         * examples/plugins/example.h:
10404           small doc fixes
10405
10406 2005-05-17  Wim Taymans  <wim@fluendo.com>
10407
10408         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10409         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10410         * gst/gstqueue.c: (gst_queue_change_state):
10411         Clear queue when going to READY.
10412         Remove IN_SETCAPS flag too.
10413
10414 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10415
10416         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10417           Remove implicit cast from gboolean to GstElementStateReturn;
10418           make sure we still return failure in paused => ready case if
10419           the parent class fails to change state and our own stop 
10420           vfunc succeeds.
10421
10422 2005-05-17  Wim Taymans  <wim@fluendo.com>
10423
10424         * tools/gst-launch.c: (event_loop):
10425         Message was unreffed too soon.
10426
10427 2005-05-16  Andy Wingo  <wingo@pobox.com>
10428
10429         * gst/gstbin.c (sink_iterator_filter): Err... um...
10430
10431         * check/gst/gstbin.c (test_ghost_pads): New test for the
10432         ghosting-if-elements-not-in-same-bin behavior.
10433
10434 2005-05-16  David Schleef  <ds@schleef.org>
10435
10436         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10437         accessing refcount directly.
10438
10439 2005-05-15  David Schleef  <ds@schleef.org>
10440
10441         * check/Makefile.am: remove GstData checks
10442         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10443         * gst/Makefile.am: add miniobject, remove data
10444         * gst/gst.h: add miniobject, remove data
10445         * gst/gstdata.c: remove
10446         * gst/gstdata.h: remove
10447         * gst/gstdata_private.h: remove
10448         * gst/gsttypes.h: remove GstEvent and GstMessage
10449         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10450         * gst/gstmarshal.list: change BOXED -> OBJECT
10451
10452         Implement GstMiniObject.
10453         * gst/gstminiobject.c:
10454         * gst/gstminiobject.h:
10455
10456         Modify to be subclasses of GstMiniObject.
10457         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10458         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10459         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10460         (gst_subbuffer_get_type), (gst_subbuffer_init),
10461         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10462         (gst_buffer_span):
10463         * gst/gstbuffer.h:
10464         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10465         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10466         (_gst_event_copy), (gst_event_new):
10467         * gst/gstevent.h:
10468         * gst/gstmessage.c: (_gst_message_initialize),
10469         (gst_message_get_type), (gst_message_class_init),
10470         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10471         (gst_message_new), (gst_message_new_error),
10472         (gst_message_new_warning), (gst_message_new_tag),
10473         (gst_message_new_state_changed), (gst_message_new_application):
10474         * gst/gstmessage.h:
10475         * gst/gstprobe.c: (gst_probe_perform),
10476         (gst_probe_dispatcher_dispatch):
10477         * gst/gstprobe.h:
10478         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10479         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10480         (_gst_query_copy), (gst_query_new):
10481
10482         Update elements for GstData -> GstMiniObject changes
10483         * gst/gstquery.h:
10484         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10485         (gst_queue_chain), (gst_queue_loop):
10486         * gst/elements/gstbufferstore.c:
10487         (gst_buffer_store_add_buffer_func),
10488         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10489         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10490         (gst_fakesink_render):
10491         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10492         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10493         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10494         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10495         (gst_filesrc_create_read):
10496         * gst/elements/gstidentity.c: (gst_identity_class_init):
10497         * gst/elements/gsttypefindelement.c:
10498         (gst_type_find_element_src_event), (free_entry_buffers),
10499         (gst_type_find_element_handle_event):
10500         * libs/gst/dataprotocol/dataprotocol.c:
10501         (gst_dp_header_from_buffer):
10502         * libs/gst/dataprotocol/dataprotocol.h:
10503         * libs/gst/dataprotocol/dp-private.h:
10504
10505 2005-05-15  David Schleef  <ds@schleef.org>
10506
10507         * gst/elements/gstelements.c: Don't include headers that were
10508         just removed.
10509
10510 2005-05-15  David Schleef  <ds@schleef.org>
10511
10512         * gst/elements/Makefile.am: Remove some elements that don't
10513         need to be in the core (or even exist at all).
10514         * gst/elements/gstaggregator.c:
10515         * gst/elements/gstaggregator.h:
10516         * gst/elements/gstmd5sink.c:
10517         * gst/elements/gstmd5sink.h:
10518         * gst/elements/gstmultifilesrc.c:
10519         * gst/elements/gstmultifilesrc.h:
10520         * gst/elements/gstpipefilter.c:
10521         * gst/elements/gstpipefilter.h:
10522         * gst/elements/gstshaper.c:
10523         * gst/elements/gstshaper.h:
10524         * gst/elements/gststatistics.c:
10525         * gst/elements/gststatistics.h:
10526         * po/POTFILES.in: Remove above files.
10527
10528 2005-05-14  Andy Wingo  <wingo@pobox.com>
10529
10530         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10531         so as to get the refs right.
10532         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10533         unreffing objects that don't pass the filter.
10534
10535         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10536         gst_element_set_bus.
10537         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10538         normal cases, this will destroy the bus.
10539
10540         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10541         object.
10542
10543         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10544         has no sinks.
10545
10546 2005-05-13  Andy Wingo  <wingo@pobox.com>
10547
10548         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10549         gst_pad_link, call pad_link_maybe_ghosting,
10550         (pad_link_maybe_ghosting): Links pads, making sure that the
10551         elements being linked are in the same bin.
10552         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10553         Helpers for pad_link_maybe_ghosting.
10554
10555 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10556
10557         * configure.ac:
10558           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10559
10560 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10561
10562         * docs/design/part-element-source.txt:
10563           Mention GstPushSrc
10564
10565 2005-05-12  Wim Taymans  <wim@fluendo.com>
10566
10567         * gst/base/gstbasesink.c: (gst_basesink_init),
10568         (gst_basesink_activate):
10569         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10570         (gst_basesrc_is_seekable):
10571         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10572         (bin_element_is_sink), (gst_bin_change_state):
10573         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10574         * gst/gstelement.h:
10575         Identify sinks by their flag to avoid overly complicated
10576         checks (fow now).
10577         Do state changes even for elements not reachable from the
10578         sinks.
10579         BaseSink is a sink now :)
10580         Some more debugging info in the basesrc.
10581
10582
10583 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10584
10585         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10586           Implement _query on a bin, similar to _send_event.
10587
10588 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10589
10590         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10591           Discont event offset format should be GST_FORMAT_BYTES,
10592           not GST_FORMAT_TIME.
10593
10594 2005-05-12  Wim Taymans  <wim@fluendo.com>
10595
10596         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10597         Same fix as Ronald's but without the signal. 
10598
10599 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10600
10601         * gst/gstutils.c: (gst_element_query_position):
10602           No, an element is not a pad.
10603
10604 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10605
10606         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10607         (gst_bin_get_state):
10608           If a child is removed from a bin while we remove the child from
10609           the bin and while we're retrieving its state, signal this to the
10610           get_state function so we abort the wait (instead of waiting for
10611           a timeout) and can immediately re-iterate over all other elements.
10612
10613 2005-05-12  Wim Taymans  <wim@fluendo.com>
10614
10615         * gst/base/Makefile.am:
10616         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10617         (gst_basesrc_start):
10618         * gst/base/gstbasesrc.h:
10619         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10620         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10621         (gst_pushsrc_init), (gst_pushsrc_create):
10622         * gst/base/gstpushsrc.h:
10623         Added is_seekable to BaseSrc
10624         Added simple PushSrc.
10625
10626 2005-05-11  Wim Taymans  <wim@fluendo.com>
10627
10628         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10629         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10630         (gst_element_link_pads), (gst_element_query_position),
10631         (gst_element_query_convert), (intersect_caps_func),
10632         (gst_pad_query_position), (gst_pad_query_convert):
10633         Fix refcounting in utils function.
10634         No point in trying to activate a pad when it's added, it could
10635         be added from the state change function and then we deadlock, the
10636         element has to decide what to do.
10637
10638 2005-05-10  Andy Wingo  <wingo@pobox.com>
10639
10640         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10641         *all* the arguments.
10642
10643         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10644         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10645         lock (according to the docs -- if this is wrong change the docs).
10646
10647         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10648         flush messages in the NULL state.
10649
10650         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10651         message immediately and return.
10652         (gst_bus_set_flushing): New function. If a bus is flushing, it
10653         flushes out any queued messages and immediately unrefs new
10654         messages. This is so when an element goes to NULL, all of the
10655         unhandled messages coming from it can be freed, and their
10656         references to the element dropped. In other words: message source
10657         ref considered harmful :P
10658
10659         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10660         we're finished with it.
10661
10662         * gst/gstmessage.c (gst_message_new_state_changed): 
10663
10664 2005-05-10  Wim Taymans  <wim@fluendo.com>
10665
10666         * gst/gstvalue.c: (gst_value_compare_flags),
10667         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10668         (_gst_value_initialize):
10669         Added flags serialize/deserialize/compare code.
10670
10671 2005-05-09  Andy Wingo  <wingo@pobox.com>
10672
10673         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10674         Intersect the peer's caps with our caps.
10675
10676 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10677
10678         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10679         * gst/elements/gsttypefindelement.c: (find_peek):
10680           Handle negative offsets better. Fixes decodebin.
10681
10682 2005-05-09  Wim Taymans  <wim@fluendo.com>
10683
10684         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10685         (gst_base_transform_event):
10686         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10687         Implement accept_caps.
10688         Fix silly lock/unlock mismatch in base class.
10689
10690 2005-05-09  Wim Taymans  <wim@fluendo.com>
10691
10692         * docs/design/draft-push-pull.txt:
10693         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10694         * gst/elements/gstfilesink.c: (gst_filesink_init),
10695         (gst_filesink_query):
10696         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10697         (gst_type_find_handle_src_query), (find_element_get_length):
10698         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10699         * gst/gstelement.h:
10700         * gst/gstmessage.c:
10701         * gst/gstmessage.h:
10702         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10703         (gst_real_pad_get_caps_unlocked),
10704         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10705         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10706         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10707         (gst_real_pad_dispose), (gst_real_pad_finalize),
10708         (gst_pad_load_and_link), (gst_pad_save_thyself),
10709         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10710         (gst_pad_check_pull_range), (gst_pad_pull_range),
10711         (gst_pad_template_get_type), (gst_pad_template_class_init),
10712         (gst_pad_template_init), (gst_pad_template_dispose),
10713         (name_is_valid), (gst_static_pad_template_get),
10714         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10715         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10716         (gst_pad_get_element_private), (gst_pad_start_task),
10717         (gst_pad_pause_task), (gst_pad_stop_task),
10718         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10719         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10720         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10721         (gst_ghost_pad_new):
10722         * gst/gstpad.h:
10723         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10724         (gst_query_new_position), (gst_query_set_position),
10725         (gst_query_parse_position), (gst_query_new_convert),
10726         (gst_query_set_convert), (gst_query_parse_convert):
10727         * gst/gstquery.h:
10728         * gst/gstqueryutils.c:
10729         * gst/gstqueryutils.h:
10730         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10731         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10732         (gst_queue_handle_src_query):
10733         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10734         (gst_element_query_position), (gst_element_query_convert),
10735         (intersect_caps_func), (gst_pad_query_position),
10736         (gst_pad_query_convert):
10737         * gst/gstutils.h:
10738         * tools/gst-inspect.c: (print_pad_info):
10739         * tools/gst-xmlinspect.c: (print_element_info):
10740         Remove old query functions. Ported old code.
10741         Added position/convert helper functions to gstutils.
10742         Reordered gstpad.c code, grouping relevant things.
10743         Remove gst_message_new(), always need to speficy a specific
10744         message.
10745
10746
10747 2005-05-09  Andy Wingo  <wingo@pobox.com>
10748
10749         * gst/gstiterator.h: Add some includes.
10750
10751         * gst/gstqueryutils.h: Include more headers.
10752
10753         * gst/gstpad.h:
10754         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10755         some uses of gst_pad_query.
10756
10757         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10758         NULL out parameters.
10759         (gst_query_new_position): New proc, allocates a new position
10760         query.
10761
10762         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10763         gstqueryutils.c to the build.
10764
10765         * gst/gststructure.c (gst_structure_set_valist): Implement with
10766         the generic G_VALUE_COLLECT.
10767         
10768 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10769
10770         * gst/Makefile.am: (gst_headers):
10771         Added gstqueryutils.h to the list of headers to install, that was
10772         a 'nachty' move wingo :)
10773
10774 2005-05-06  Andy Wingo  <wingo@pobox.com>
10775
10776         * gst/gstquery.h
10777         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10778         GstData, init a memchunk.
10779         (standard_definitions): Add a few query types, deprecate a few.
10780         (gst_query_get_type): New proc.
10781         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10782         implementation.
10783         (gst_query_new_application, gst_query_get_structure): New public
10784         procs.
10785
10786         * docs/design/draft-query.txt: Removed LINKS from the query types,
10787         because all the rest can be dispatched to other pads -- seemed
10788         ugly to have a query that couldn't be dispatched. internal_links
10789         is fine as a pad method.
10790
10791         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10792         in gstpad.c, but maintain binary compatibility for the moment.
10793         Will fix before 0.9 is out.
10794
10795         * gst/gstqueryutils.c: 
10796         * gst/gstqueryutils.h: New files, implement 3 methods for each
10797         query type: parse_query, parse_response, and set. Probably need an
10798         allocator as well.
10799
10800         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10801
10802         * gst/elements/gstfilesink.c (gst_filesink_query2):
10803         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10804         query_types, and formats methods.
10805
10806         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10807         (gst_pad_set_query2_function): New functions.
10808         (gst_real_pad_init): Set query2_default as the default query2
10809         function. Basically just dispatches to internally linked pads.
10810
10811         Needs review!
10812         
10813         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10814         without using the atomic operations. Only one thread can possibly
10815         be accessing the data at this point. Changed so as to avoid
10816         gst_atomic operations.
10817
10818 2005-05-06  Wim Taymans  <wim@fluendo.com>
10819
10820         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10821         Also set caps if we use the fallback buffer alloc.
10822
10823 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10824
10825         * docs/gst/Makefile.am:
10826         * docs/gst/gstreamer-docs.sgml:
10827         * docs/gst/gstreamer-sections.txt:
10828         * docs/gst/tmpl/gstatomic.sgml:
10829         * docs/gst/tmpl/gstmemchunk.sgml:
10830         * testsuite/elements/struct_i386.h:
10831         * win32/GStreamer.vcproj:
10832         * win32/Makefile:
10833           Purge GstAtomic stuff from docs and win32 makefiles as well
10834
10835 2005-05-06  Wim Taymans  <wim@fluendo.com>
10836
10837         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10838         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10839         * gst/gstpad.c: (gst_pad_peer_get_caps):
10840         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10841         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10842         (gst_queue_src_activate), (gst_queue_change_state):
10843         * gst/gstqueue.h:
10844         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10845         (intersect_caps_func):
10846         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10847         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10848         Some fixes for the peer_get_caps() change.
10849
10850 2005-05-06  Wim Taymans  <wim@fluendo.com>
10851
10852         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10853         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10854         (gst_basesink_activate):
10855         Actually do something with error codes returned from the push
10856         functions.
10857
10858 2005-05-06  Wim Taymans  <wim@fluendo.com>
10859
10860         * docs/design/part-element-sink.txt:
10861         * docs/design/part-element-source.txt:
10862         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10863         (gst_basesink_event), (gst_basesink_activate):
10864         * gst/base/gstbasesink.h:
10865         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10866         (gst_basesrc_activate):
10867         * gst/base/gstbasesrc.h:
10868         * gst/gstelement.c: (gst_element_pads_activate):
10869         Some more documentation.
10870         Fixed scheduling decision in _pads_activate().
10871
10872 2005-05-05  Andy Wingo  <wingo@pobox.com>
10873
10874         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10875         the test suite.
10876
10877 2005-05-05  Wim Taymans  <wim@fluendo.com>
10878
10879         * gst/base/Makefile.am:
10880         * gst/base/gstbasesink.h:
10881         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10882         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10883         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10884         (gst_collectpads_class_init), (gst_collectpads_init),
10885         (gst_collectpads_finalize), (gst_collectpads_new),
10886         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10887         (find_pad), (gst_collectpads_remove_pad),
10888         (gst_collectpads_is_active), (gst_collectpads_collect),
10889         (gst_collectpads_collect_range), (gst_collectpads_start),
10890         (gst_collectpads_stop), (gst_collectpads_peek),
10891         (gst_collectpads_pop), (gst_collectpads_available),
10892         (gst_collectpads_read), (gst_collectpads_flush),
10893         (gst_collectpads_chain):
10894         * gst/base/gstcollectpads.h:
10895         * gst/elements/Makefile.am:
10896         * gst/elements/gstelements.c:
10897         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10898         (gst_fakesink_get_times), (gst_fakesink_event),
10899         (gst_fakesink_preroll), (gst_fakesink_render):
10900         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10901         (gst_filesink_init), (gst_filesink_set_location),
10902         (gst_filesink_open_file), (gst_filesink_close_file),
10903         (gst_filesink_pad_query), (gst_filesink_event),
10904         (gst_filesink_render), (gst_filesink_change_state):
10905         * gst/elements/gstfilesink.h:
10906         Added object to help in making collect pad based elements.
10907         Ported filesink.
10908         Make event function in sink baseclass return gboolean.
10909
10910 2005-05-05  Wim Taymans  <wim@fluendo.com>
10911
10912         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10913         (gst_bin_get_by_name):
10914         * gst/gstbuffer.h:
10915         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10916         (gst_clock_finalize):
10917         * gst/gstdata.c: (gst_data_replace):
10918         * gst/gstdata.h:
10919         * gst/gstelement.c: (gst_element_request_pad),
10920         (gst_element_pads_activate):
10921         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10922         (gst_object_unref):
10923         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10924         (gst_pad_set_checkgetrange_function),
10925         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10926         (gst_pad_check_pull_range), (gst_pad_pull_range),
10927         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10928         (gst_pad_pause_task), (gst_pad_stop_task):
10929         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10930         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10931         Fix name lookup in GstBin.
10932         Added _data_replace() function and _buffer_replace()
10933         Use finalize method to clean up clock.
10934         Fix refcounting on request pads.
10935         Fix pad schedule mode error.
10936         Some more object refcounting debug info,
10937
10938
10939 2005-05-04  Andy Wingo <wingo@pobox.com>
10940
10941         * check/Makefile.am:
10942         * docs/gst/tmpl/gstatomic.sgml:
10943         * docs/gst/tmpl/gstplugin.sgml:
10944         * gst/base/gstbasesink.c: (gst_basesink_activate):
10945         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10946         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10947         (gst_basesrc_query), (gst_basesrc_set_property),
10948         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10949         (gst_basesrc_activate):
10950         * gst/base/gstbasesrc.h:
10951         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10952         (gst_base_transform_src_activate):
10953         * gst/elements/gstelements.c:
10954         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10955         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10956         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10957         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10958         (gst_type_find_element_checkgetrange),
10959         (gst_type_find_element_activate):
10960         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10961         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10962         (gst_caps_load_thyself):
10963         * gst/gstelement.c: (gst_element_pads_activate),
10964         (gst_element_save_thyself), (gst_element_restore_thyself):
10965         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10966         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10967         * gst/gstpad.h:
10968         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10969         (gst_xml_parse_file), (gst_xml_parse_memory),
10970         (gst_xml_get_element), (gst_xml_make_element):
10971         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10972         (_file_index_id_save_xml), (gst_file_index_commit):
10973         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10974         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10975         (load_paths):
10976         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10977         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10978         * tools/gst-complete.c: (main):
10979         * tools/gst-compprep.c: (main):
10980         * tools/gst-inspect.c: (print_element_properties_info):
10981         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10982         * tools/gst-xmlinspect.c: (print_element_properties):
10983         GCC 4 fixen.
10984         
10985 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10986
10987         * gst/gstplugin.c: (gst_plugin_check_module),
10988         (gst_plugin_check_file), (gst_plugin_load_file):
10989             apply patch from #172526 to make register work on MacOSX
10990
10991 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10992
10993         * docs/gst/tmpl/gstconfig.sgml:
10994         * gst/gstconfig.h.in:
10995           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10996         * testsuite/debug/printf_extension.c: (main):
10997           Do not use GST_PTR_FORMAT on pointers to types with
10998           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10999         * testsuite/elements/property.h:
11000           use correct printf format
11001
11002 2005-05-02  Wim Taymans  <wim@fluendo.com>
11003
11004         * docs/design/draft-push-pull.txt:
11005         * docs/design/draft-query.txt:
11006         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11007         (gst_basesrc_start):
11008         Added draft for new query API.
11009         Added draft for better selecting scheduling methods.
11010         Make basesrc ignore length if the subclass does not support
11011         it.
11012
11013 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11014
11015         * gst/Makefile.am:
11016           possible fixes for automake-1.5 - _LIBADD is reserved
11017
11018 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11019
11020         * docs/faq/Makefile.am:
11021         * docs/manual/Makefile.am:
11022         * docs/manuals.mak:
11023         * docs/pwg/Makefile.am:
11024         * gst/Makefile.am:
11025           possible fixes for automake-1.5
11026
11027 2005-04-28  Wim Taymans  <wim@fluendo.com>
11028
11029         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11030         (gst_basesink_pad_getcaps), (gst_basesink_init),
11031         (gst_basesink_do_sync):
11032         * gst/gstclock.c: (gst_clock_entry_new):
11033         * gst/gstevent.c: (gst_event_discont_get_value):
11034         * gst/gstpipeline.c: (pipeline_bus_handler),
11035         (gst_pipeline_change_state):
11036         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11037         Better debugging of clocking info.
11038         Allow NULL values when getting discont values.
11039
11040 2005-04-27  Wim Taymans  <wim@fluendo.com>
11041
11042         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11043         * check/gst/gstpad.c: (gst_pad_suite):
11044         Increase timeout for checks.
11045
11046 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11047
11048         * check/Makefile.am:
11049           fix the broken rule for cleanup.  Apparently this rule is
11050           only needed on FC2, so maybe this warrants further autotool
11051           inspection.
11052
11053 2005-04-26  Wim Taymans  <wim@fluendo.com>
11054
11055         * gst/gsttrashstack.h:
11056         Ooohh. a nasty one! After having a failed pop() from the stack,
11057         it's possible that the stack is empty. In that case, don't
11058         follow the NULL pointer.
11059
11060 2005-04-25  Wim Taymans  <wim@fluendo.com>
11061
11062         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11063         (gst_pad_set_checkgetrange_function),
11064         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11065         (gst_pad_check_pull_range), (gst_pad_pull_range),
11066         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11067         (gst_pad_pause_task), (gst_pad_stop_task):
11068         * gst/gstplugin.c: (gst_plugin_load):
11069         * gst/gstplugin.h:
11070         Remove gst_library_load as it does more harm than good with
11071         the new g_module flags.
11072         Revert bogus caps template check in pad linking, pad caps
11073         are important when linking not the template, which is more
11074         general than the current caps.
11075
11076 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11077
11078         * gst/autoplug/.cvsignore:
11079         * gst/autoplug/Makefile.am:
11080         * gst/autoplug/gstsearchfuncs.c:
11081         * gst/autoplug/gstsearchfuncs.h:
11082         * gst/autoplug/gstspider.c:
11083         * gst/autoplug/gstspider.h:
11084         * gst/autoplug/gstspideridentity.c:
11085         * gst/autoplug/gstspideridentity.h:
11086         * gst/autoplug/spidertest.c:
11087           Die, spider, die.
11088
11089 2005-04-25  Wim Taymans  <wim@fluendo.com>
11090
11091         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11092         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11093         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11094         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11095         * gst/gstpad.h:
11096         Added stubs for unimplemented functions. 
11097
11098 2005-04-24  David Schleef  <ds@schleef.org>
11099
11100         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11101         please fix.
11102
11103 2005-04-24  David Schleef  <ds@schleef.org>
11104
11105         Convert everything from GstAtomicInt to g_atomic_int_*, and
11106         remove gstatomic.
11107         * gst/Makefile.am:
11108         * gst/gstatomic.c:
11109         * gst/gstatomic.h:
11110         * gst/gstatomic_impl.h:
11111         * gst/gstbuffer.c:
11112         * gst/gstcaps.c:
11113         * gst/gstcaps.h:
11114         * gst/gstclock.c:
11115         * gst/gstclock.h:
11116         * gst/gstdata.c:
11117         * gst/gstdata.h:
11118         * gst/gstdata_private.h:
11119         * gst/gstevent.c:
11120         * gst/gstinfo.c:
11121         * gst/gstinfo.h:
11122         * gst/gstmessage.c:
11123         * gst/gstobject.c:
11124         * gst/gstobject.h:
11125         * gst/gststructure.c:
11126         * gst/gststructure.h:
11127         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11128         * gst/gstutils.h:
11129
11130 2005-04-24  David Schleef  <ds@schleef.org>
11131
11132         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11133         make the regressions tests work.  Remove some code that is no
11134         longer true.
11135         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11136         Disable warning for pads without templates.
11137
11138 2005-04-24  David Schleef  <ds@schleef.org>
11139
11140         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11141         functions that handle filtered links.
11142         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11143         removed functions.
11144         * gst/gstutils.c: Fix/remove utility functions that handle
11145         filtered caps.
11146         * gst/gstutils.h:
11147         * gst/gstvalue.c: Add serialization/deserialization of caps
11148         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11149         requires fixing so that the filter caps notation creates
11150         a capsfilter element and sets the filter_caps property.  I
11151         think everyone probably wants to keep the shorthand notation.
11152         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11153         * docs/gst/tmpl/gstpad.sgml:
11154
11155         * gst/elements/gstelements.c: Register capsfilter element.
11156         * gst/Makefile.am: fix spacing
11157         * docs/random/ds/0.9-suggested-changes: random
11158
11159 2005-04-23  David Schleef  <ds@schleef.org>
11160
11161         * gst/elements/Makefile.am:
11162         * gst/elements/gstcapsfilter.c: New element that acts like an
11163         identity, but filters caps.  Will eventually replace filtered
11164         caps in pad linking.
11165         * gst/gstutils.c: (gst_element_create_all_pads): New function
11166         to create all the ALWAYS pads that are registered with an
11167         element class.  This functionality should eventually be
11168         merged in with GstElement initialization.
11169         * gst/gstutils.h:
11170         * testsuite/trigger/README: part of trigger test code that should
11171         have been checked in a long time ago.
11172
11173 2005-04-23  David Schleef  <ds@schleef.org>
11174
11175         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11176         needed with new versions of libtool (nobody will confirm this),
11177         and hard to carry around.
11178         * gst/autoplug/Makefile.am:
11179         * gst/base/Makefile.am:
11180         * gst/elements/Makefile.am:
11181         * gst/indexers/Makefile.am:
11182         * gst/schedulers/Makefile.am:
11183         * libs/gst/bytestream/Makefile.am:
11184         * libs/gst/control/Makefile.am:
11185         * libs/gst/dataprotocol/Makefile.am:
11186         * libs/gst/getbits/Makefile.am:
11187
11188 2005-04-21  Wim Taymans  <wim@fluendo.com>
11189
11190         * docs/design/draft-push-pull.txt:
11191         * docs/design/part-MT-refcounting.txt:
11192         * docs/design/part-TODO.txt:
11193         * docs/design/part-caps.txt:
11194         * docs/design/part-events.txt:
11195         * docs/design/part-gstbus.txt:
11196         * docs/design/part-gstpipeline.txt:
11197         * docs/design/part-messages.txt:
11198         * docs/design/part-push-pull.txt:
11199         * docs/design/part-query.txt:
11200         Some more docs.
11201
11202 2005-04-21  Wim Taymans  <wim@fluendo.com>
11203
11204         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11205         (gst_message_new), (gst_message_new_error),
11206         (gst_message_new_warning), (gst_message_new_tag),
11207         (gst_message_new_state_changed), (gst_message_new_application),
11208         (gst_message_get_structure):
11209         * gst/gstmessage.h:
11210         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11211         (gst_structure_copy_conditional):
11212         Use parent refcount in GstMessage to ensure GstStructure
11213         consistency.
11214         Cleaned up headers a bit.
11215         
11216
11217 2005-04-20  Wim Taymans  <wim@fluendo.com>
11218
11219         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11220         (gst_basesink_pad_getcaps), (gst_basesink_init),
11221         (gst_basesink_chain_unlocked):
11222         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11223         (gst_type_find_helper):
11224         * gst/elements/gsttypefindelement.c:
11225         (gst_type_find_element_have_type), (gst_type_find_element_init),
11226         (stop_typefinding), (gst_type_find_element_handle_event),
11227         (find_suggest), (gst_type_find_element_chain),
11228         (gst_type_find_element_checkgetrange),
11229         (gst_type_find_element_getrange), (do_typefind),
11230         (gst_type_find_element_activate):
11231         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11232         (gst_buffer_default_free), (gst_buffer_default_copy),
11233         (gst_buffer_set_caps):
11234         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11235         (gst_caps_replace):
11236         * gst/gstmessage.c: (gst_message_new),
11237         (gst_message_new_state_changed):
11238         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11239         (gst_pad_set_checkgetrange_function),
11240         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11241         (gst_pad_set_caps), (gst_pad_check_pull_range),
11242         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11243         * gst/gstpad.h:
11244         * gst/gsttypefind.c: (gst_type_find_register):
11245         Make gst_caps_replace() work like other _replace() functions.
11246         Use _caps_replace() where possible.
11247         Make sure _message_new() initialises its field.
11248         Add gst_static_pad_template_get_caps()
11249
11250
11251 2005-04-18  Andy Wingo  <wingo@pobox.com>
11252
11253         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11254         on the peer, not the pad. I think that was a typo. Pass an extra
11255         arg to see if random access is possible. Activate the pads as
11256         PULL_RANGE if possible.
11257
11258         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11259
11260         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11261         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11262         to PROP_....
11263
11264 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11265
11266         * docs/faq/using.xml:
11267           Add note on gstreamer-properties (#154996).
11268
11269 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11270
11271         * docs/random/bbb/optional-properties:
11272           Some analysis on optional properties.
11273
11274 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11275
11276         * docs/gst/tmpl/gstelementfactory.sgml:
11277         * gst/gstelement.h:
11278         * gst/gstelementfactory.c: (gst_element_factory_init),
11279         (gst_element_factory_cleanup), (gst_element_register),
11280         (__gst_element_factory_add_static_pad_template),
11281         (gst_element_factory_get_static_pad_templates),
11282         (gst_element_factory_can_src_caps),
11283         (gst_element_factory_can_sink_caps):
11284         * gst/registries/Makefile.am:
11285         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11286         (gst_xml_registry_class_init), (gst_xml_registry_init),
11287         (gst_xml_registry_new), (gst_xml_registry_set_property),
11288         (gst_xml_registry_get_property), (get_time), (make_dir),
11289         (gst_xml_registry_get_perms_func),
11290         (plugin_times_older_than_recurse), (plugin_times_older_than),
11291         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11292         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11293         (add_to_char_array), (read_string), (read_uint), (read_enum),
11294         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11295         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11296         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11297         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11298         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11299         (gst_xml_registry_rebuild):
11300         * gst/registries/gstlibxmlregistry.h:
11301         * tools/gst-compprep.c: (main):
11302         * tools/gst-inspect.c: (print_pad_templates_info):
11303         * tools/gst-xmlinspect.c: (print_element_info):
11304           Use libxml2 for registry parsing, use staticpadtemplates in
11305           elementfactories. Makes gst_init() +/- 10x faster.
11306
11307 2005-04-12  Wim Taymans  <wim@fluendo.com>
11308
11309         * gst/base/Makefile.am:
11310         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11311         (gst_basesink_pad_getcaps), (gst_basesink_init),
11312         (gst_basesink_event), (gst_basesink_change_state):
11313         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11314         (gst_basesrc_init), (gst_basesrc_query),
11315         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11316         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11317         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11318         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11319         (gst_basesrc_stop), (gst_basesrc_activate),
11320         (gst_basesrc_change_state):
11321         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11322         (helper_find_suggest), (gst_type_find_helper):
11323         * gst/base/gsttypefindhelper.h:
11324         * gst/elements/Makefile.am:
11325         * gst/elements/gstelements.c:
11326         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11327         (gst_fakesink_get_times), (gst_fakesink_event),
11328         (gst_fakesink_preroll), (gst_fakesink_render):
11329         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11330         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11331         (gst_fakesrc_get_property), (gst_fakesrc_create),
11332         (gst_fakesrc_start), (gst_fakesrc_stop):
11333         * gst/elements/gstfakesrc.h:
11334         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11335         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11336         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11337         (gst_filesrc_create_read), (gst_filesrc_create),
11338         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11339         (gst_filesrc_start):
11340         * gst/elements/gsttypefindelement.c:
11341         (gst_type_find_element_have_type), (gst_type_find_element_init),
11342         (start_typefinding), (stop_typefinding), (push_buffer_store),
11343         (gst_type_find_element_handle_event),
11344         (gst_type_find_element_chain),
11345         (gst_type_find_element_checkgetrange),
11346         (gst_type_find_element_getrange), (do_typefind),
11347         (gst_type_find_element_activate),
11348         (gst_type_find_element_change_state):
11349         * gst/elements/gsttypefindelement.h:
11350         * gst/gstpipeline.c: (pipeline_bus_handler):
11351         Added typefind helper.
11352         Small preroll fix in the base sink.
11353         Disable typefind code in basesrc.
11354         Crude port of typefindelement.
11355         Fakesrc cleanups.
11356
11357
11358 2005-04-11  Wim Taymans  <wim@fluendo.com>
11359
11360         * check/gst/gstbus.c: (gstbus_suite):
11361         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11362         * check/gstcheck.h:
11363           Fix up the timeout so that the test does not fail.
11364
11365 2005-04-06  Wim Taymans  <wim@fluendo.com>
11366
11367         * gst/base/README:
11368         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11369         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11370         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11371         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11372         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11373         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11374         (gst_basesrc_stop), (gst_basesrc_activate),
11375         (gst_basesrc_change_state), (basesrc_find_peek),
11376         (basesrc_find_suggest), (gst_basesrc_type_find):
11377         * gst/base/gstbasesrc.h:
11378         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11379         (gst_filesrc_class_init), (gst_filesrc_init),
11380         (gst_filesrc_finalize), (gst_filesrc_set_location),
11381         (gst_filesrc_set_property), (gst_filesrc_get_property),
11382         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11383         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11384         (gst_filesrc_create_read), (gst_filesrc_create),
11385         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11386         * gst/elements/gstfilesrc.h:
11387         * gst/gstelement.c: (gst_element_get_state_func),
11388         (gst_element_lost_state), (gst_element_pads_activate):
11389         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11390         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11391         (gst_pad_pull_range):
11392         * gst/gstpad.h:
11393         More work on the generic source base class, implement seeking,
11394         query.
11395         Make filesrc extend the base source class.
11396         Added gst_pad_set_checkgetrange_function to GstPad.
11397
11398 2005-04-06  Andy Wingo  <wingo@pobox.com>
11399
11400         * pkgconfig/gstreamer-base.pc.in:
11401         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11402
11403         * pkgconfig/Makefile.am:
11404         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11405
11406 2005-04-04  Wim Taymans  <wim@fluendo.com>
11407
11408         * gst/base/Makefile.am:
11409         * gst/base/README:
11410         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11411         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11412         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11413         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11414         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11415         (gst_basesrc_base_init), (gst_basesrc_class_init),
11416         (gst_basesrc_init), (gst_basesrc_get_formats),
11417         (gst_basesrc_get_query_types), (gst_basesrc_query),
11418         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11419         (gst_basesrc_set_property), (gst_basesrc_get_property),
11420         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11421         (gst_basesrc_loop), (gst_basesrc_activate),
11422         (gst_basesrc_change_state):
11423         * gst/base/gstbasesrc.h:
11424         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11425         (gst_fakesrc_class_init), (gst_fakesrc_init),
11426         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11427         (gst_fakesrc_get_property), (gst_fakesrc_create):
11428         * gst/elements/gstfakesrc.h:
11429         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11430         (gst_filesrc_open_file), (gst_filesrc_loop),
11431         (gst_filesrc_activate), (filesrc_find_peek),
11432         (gst_filesrc_type_find):
11433         Made base source class, make fakesrc extend it.
11434         Add comments to basesink class.
11435         Some filesrc cleanup.
11436
11437 2005-03-31  David Schleef  <ds@schleef.org>
11438
11439         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11440         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11441         expected to link against libgstreamer.
11442         * gst/base/Makefile.am: link against libgstreamer
11443         * gst/elements/Makefile.am: same
11444
11445 2005-03-31  Andy Wingo  <wingo@pobox.com>
11446
11447         * tests/instantiate/Makefile.am:
11448         * tests/instantiate/caps.c: Add test to test speed of caps copy
11449         and free.
11450
11451         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11452         GMemChunk to be fair.
11453
11454         * gst/gsttrashstack.h: Remove warning about using the fallback
11455         trash stack implementation, it's still faster than malloc.
11456
11457 2005-03-30  Andy Wingo  <wingo@pobox.com>
11458
11459         * tests/complexity.c: Add a copyright.
11460
11461 2005-03-31  Wim Taymans  <wim@fluendo.com>
11462
11463         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11464         (gst_base_transform_class_init), (gst_base_transform_init),
11465         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11466         (gst_base_transform_get_property),
11467         (gst_base_transform_sink_activate),
11468         (gst_base_transform_src_activate),
11469         (gst_base_transform_change_state):
11470         * gst/base/gstbasetransform.h:
11471         * gst/elements/gstidentity.c: (gst_identity_class_init),
11472         (gst_identity_event), (gst_identity_check_perfect),
11473         (gst_identity_transform), (gst_identity_start),
11474         (gst_identity_stop):
11475         Added start/stop methods to transform base class so subclasses 
11476         don't need to deal with state changes even.
11477
11478 2005-03-31  Wim Taymans  <wim@fluendo.com>
11479
11480         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11481         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11482         * gst/gstevent.h:
11483         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11484         (gst_pad_pull_range):
11485         Added rate to the discont event to prepare for variable speed
11486         and reverse playback.
11487
11488 2005-03-29  David Schleef  <ds@schleef.org>
11489
11490         * configure.ac:
11491         * testsuite/trigger/Makefile.am:
11492         * testsuite/trigger/trigger.c: A little example program to show
11493         how trigger-based elements can work.
11494
11495 2005-03-29  Wim Taymans  <wim@fluendo.com>
11496
11497         * gst/base/Makefile.am:
11498         * gst/base/README:
11499         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11500         (gst_basesink_base_init), (gst_basesink_class_init),
11501         (gst_basesink_pad_getcaps), (gst_basesink_init),
11502         (gst_basesink_activate), (gst_basesink_change_state):
11503         * gst/base/gstbasesink.h:
11504         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11505         (gst_base_transform_base_init), (gst_base_transform_finalize),
11506         (gst_base_transform_class_init), (gst_base_transform_init),
11507         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11508         (gst_base_transform_event), (gst_base_transform_getrange),
11509         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11510         (gst_base_transform_set_property),
11511         (gst_base_transform_get_property),
11512         (gst_base_transform_sink_activate),
11513         (gst_base_transform_src_activate),
11514         (gst_base_transform_change_state):
11515         * gst/base/gstbasetransform.h:
11516         * gst/elements/gstidentity.c: (gst_identity_finalize),
11517         (gst_identity_class_init), (gst_identity_init),
11518         (gst_identity_event), (gst_identity_check_perfect),
11519         (gst_identity_transform), (gst_identity_set_property),
11520         (gst_identity_get_property), (gst_identity_change_state):
11521         * gst/elements/gstidentity.h:
11522         * gst/gstelement.c: (gst_element_get_state_func),
11523         (gst_element_lost_state), (gst_element_pads_activate):
11524         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11525         (gst_pad_check_pull_range), (gst_pad_pull_range):
11526         * gst/gstpad.h:
11527         Simplify pad activation.
11528         Added function to check if pull_range can be performed.
11529         Error out when pulling inactive or flushing pads.
11530         Removed const from refcounted types as it does not make sense.
11531         Simplify pad templates in basesink
11532         Added base class for simple 1-to-1 transforms.
11533         Make identity subclass the base transform.
11534
11535 2005-03-29  Andy Wingo  <wingo@pobox.com>
11536
11537         * docs/libs/gstreamer-libs-overrides.txt: 
11538         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11539         really don't understand what's going on, but like whatever. I want
11540         green buildbot!
11541
11542         * docs/gst/Makefile.am:
11543         * docs/libs/Makefile.am: Dist the overrides files.
11544
11545         * check/Makefile.am (clean-local): Remove .libs directories.
11546
11547         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11548         elements to EXTRA_DIST, so po/ files are happy.
11549
11550         * po/POTFILES.in: Er, remove it here.
11551
11552         * po/POTFILES: Remove gstspider.c.
11553
11554         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11555
11556         * docs/libs/gstreamer-libs-docs.sgml: 
11557         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11558         bytestream.
11559
11560         * tests/complexity.c (main): Set the length of the preroll queue
11561         on the sinks to prevent a lockup.
11562
11563         * libs/gst/dataprotocol/Makefile.am: 
11564         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11565         the same as the one in check/gst-libs/gdp.c.
11566
11567         * po/, docs/gst/: Commit automatic changes to docs and po files.
11568
11569         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11570         the versioned libgstbase.
11571
11572         * check/Makefile.am: Depend on an unversioned gst-register, seems
11573         to make autoconf happier.
11574
11575         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11576
11577 2005-03-28  Wim Taymans  <wim@fluendo.com>
11578
11579         * configure.ac:
11580         * docs/design/part-gstelement.txt:
11581         * docs/design/part-negotiation.txt:
11582         * docs/design/part-preroll.txt:
11583         * docs/design/part-scheduling.txt:
11584         * docs/design/part-states.txt:
11585         * gst/Makefile.am:
11586         * gst/base/Makefile.am:
11587         * gst/base/README:
11588         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11589         (gst_basesink_base_init), (gst_basesink_class_init),
11590         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11591         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11592         (gst_basesink_set_pad_functions),
11593         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11594         (gst_basesink_set_property), (gst_basesink_get_property),
11595         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11596         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11597         (gst_basesink_preroll_queue_push),
11598         (gst_basesink_preroll_queue_empty),
11599         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11600         (gst_basesink_event), (gst_basesink_get_times),
11601         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11602         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11603         (gst_basesink_loop), (gst_basesink_activate),
11604         (gst_basesink_change_state):
11605         * gst/base/gstbasesink.h:
11606         * gst/elements/Makefile.am:
11607         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11608         (gst_fakesink_class_init), (gst_fakesink_init),
11609         (gst_fakesink_set_property), (gst_fakesink_get_property),
11610         (gst_fakesink_get_times), (gst_fakesink_event),
11611         (gst_fakesink_preroll), (gst_fakesink_render),
11612         (gst_fakesink_change_state):
11613         * gst/elements/gstfakesink.h:
11614         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11615         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11616         * gst/gstelement.c: (gst_element_add_pad),
11617         (gst_element_get_state_func), (gst_element_abort_state),
11618         (gst_element_commit_state), (gst_element_lost_state),
11619         (gst_element_set_state), (gst_element_pads_activate):
11620         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11621         * gst/gstpipeline.c: (gst_pipeline_send_event),
11622         (gst_pipeline_change_state):
11623         Added state change code.
11624         Added/updated docs.
11625         Added sink base class, make fakesink extend the base class.
11626         Small cleanups in GstPipeline.
11627
11628 2005-03-26  David Schleef  <ds@schleef.org>
11629
11630         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11631         is broken and should be implemented in a different library.
11632         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11633         * gst/gst.h: remove gstcpu.h
11634         * gst/gstcpu.c: remove
11635         * gst/gstcpu.h: remove
11636         * gst/Makefile.am.future: Remove this file.  It's ancient.
11637
11638 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11639
11640         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11641         (gst_bin_send_event):
11642           Add default event/set_manager handlers. The set_manager handler
11643           takes care that the manager is distributed over kids that were
11644           already in the bin before the manager was set. The event handler
11645           is a utility virtual function that sends the event over all sinks,
11646           so that gst_element_send_event (bin, event); has the expected
11647           behaviour.
11648         * gst/gstpad.c: (gst_pad_event_default):
11649           Re-install default event handling for discontinuities, so that
11650           seeking works without requiring hacks in applications or extra
11651           code in sinks.
11652         * gst/gstpipeline.c: (gst_pipeline_class_init),
11653         (gst_pipeline_send_event):
11654           Half hack, half utility: set a pipeline to PAUSED for seek events,
11655           since that is the only way we can guarantee a/v sync. Means that
11656           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11657           and it "just works".
11658
11659 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11660
11661         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11662           Lock/unlock mismatch.
11663
11664 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11665
11666         * docs/faq/gst-uninstalled:
11667           add gst-plugins-base
11668         * docs/gst/Makefile.am:
11669           don't error out until docs are fixed
11670         * docs/gst/gstreamer.types:
11671           remove thread
11672
11673 2005-03-22  Wim Taymans  <wim@fluendo.com>
11674
11675         * check/Makefile.am:
11676         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11677         * gst/gststructure.c: (gst_structure_set_valist),
11678         (gst_structure_copy_conditional):
11679         Activated more tests.
11680         Added message test.
11681         Added G_TYPE_POINTER to GstStructure.
11682         
11683
11684 2005-03-22  Wim Taymans  <wim@fluendo.com>
11685
11686         * docs/design/part-TODO.txt:
11687         * docs/design/part-events.txt:
11688         * docs/design/part-gstbin.txt:
11689         * docs/design/part-gstbus.txt:
11690         * docs/design/part-gstpipeline.txt:
11691         * docs/design/part-messages.txt:
11692         * gst/gstbus.c:
11693         * gst/gstmessage.c:
11694         Docs updates
11695
11696 2005-03-21  Wim Taymans  <wim@fluendo.com>
11697
11698         * gst/gstbus.c: (gst_bus_post):
11699         Fix copy-and-paste error.
11700
11701 2005-03-21  Wim Taymans  <wim@fluendo.com>
11702
11703         * check/Makefile.am:
11704         * gst/Makefile.am:
11705         * gst/elements/Makefile.am:
11706         * gst/elements/gstelements.c:
11707         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11708         (gst_fakesink_event), (gst_fakesink_chain):
11709         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11710         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11711         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11712         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11713         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11714         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11715         (gst_fakesrc_loop), (gst_fakesrc_activate),
11716         (gst_fakesrc_change_state):
11717         * gst/elements/gstfakesrc.h:
11718         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11719         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11720         (gst_filesrc_open_file), (gst_filesrc_loop),
11721         (gst_filesrc_activate), (gst_filesrc_change_state),
11722         (filesrc_find_peek), (filesrc_find_suggest),
11723         (gst_filesrc_type_find):
11724         * gst/elements/gstidentity.c: (gst_identity_finalize),
11725         (gst_identity_class_init), (gst_identity_init),
11726         (gst_identity_proxy_getcaps), (identity_queue_push),
11727         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11728         (gst_identity_getrange), (gst_identity_chain),
11729         (gst_identity_sink_loop), (gst_identity_src_loop),
11730         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11731         (gst_identity_set_property), (gst_identity_get_property),
11732         (gst_identity_change_state):
11733         * gst/elements/gstidentity.h:
11734         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11735         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11736         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11737         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11738         (gst_tee_sink_activate):
11739         * gst/elements/gsttee.h:
11740         * gst/gst.c: (gst_register_core_elements), (init_post):
11741         * gst/gst.h:
11742         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11743         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11744         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11745         (gst_bin_change_state):
11746         * gst/gstbin.h:
11747         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11748         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11749         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11750         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11751         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11752         (bus_watch_callback), (bus_watch_destroy),
11753         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11754         (poll_timeout), (gst_bus_poll):
11755         * gst/gstbus.h:
11756         * gst/gstcaps.h:
11757         * gst/gstdata.h:
11758         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11759         (gst_element_post_message), (gst_element_message_full),
11760         (gst_element_get_state_func), (gst_element_get_state),
11761         (gst_element_abort_state), (gst_element_commit_state),
11762         (gst_element_lost_state), (gst_element_set_state),
11763         (gst_element_pads_activate), (gst_element_change_state),
11764         (gst_element_dispose), (gst_element_set_manager_func),
11765         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11766         (gst_element_set_manager), (gst_element_get_manager),
11767         (gst_element_set_bus), (gst_element_get_bus),
11768         (gst_element_set_scheduler), (gst_element_get_scheduler):
11769         * gst/gstelement.h:
11770         * gst/gstevent.c: (gst_event_new_segment_seek),
11771         (gst_event_new_flush):
11772         * gst/gstevent.h:
11773         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11774         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11775         (gst_message_new_eos), (gst_message_new_error),
11776         (gst_message_new_warning), (gst_message_new_tag),
11777         (gst_message_new_state_changed), (gst_message_new_application),
11778         (gst_message_get_structure), (gst_message_parse_tag),
11779         (gst_message_parse_state_changed), (gst_message_parse_error),
11780         (gst_message_parse_warning):
11781         * gst/gstmessage.h:
11782         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11783         (gst_real_pad_set_property), (gst_pad_set_active),
11784         (gst_pad_is_active), (gst_pad_set_blocked_async),
11785         (gst_pad_set_blocked), (gst_pad_is_blocked),
11786         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11787         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11788         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11789         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11790         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11791         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11792         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11793         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11794         (gst_pad_set_caps), (gst_pad_configure_sink),
11795         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11796         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11797         (gst_real_pad_dispose), (gst_real_pad_finalize),
11798         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11799         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11800         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11801         * gst/gstpad.h:
11802         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11803         (pipeline_bus_handler), (gst_pipeline_change_state),
11804         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11805         * gst/gstpipeline.h:
11806         * gst/gstprobe.h:
11807         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11808         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11809         (gst_queue_link_src), (gst_queue_bufferalloc),
11810         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11811         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11812         (gst_queue_loop), (gst_queue_handle_src_event),
11813         (gst_queue_handle_src_query), (gst_queue_src_activate),
11814         (gst_queue_change_state):
11815         * gst/gstqueue.h:
11816         * gst/gstscheduler.c: (gst_scheduler_init),
11817         (gst_scheduler_dispose), (gst_scheduler_create_task),
11818         (gst_scheduler_factory_create):
11819         * gst/gstscheduler.h:
11820         * gst/gststructure.c: (gst_structure_get_type),
11821         (gst_structure_copy_conditional):
11822         * gst/gststructure.h:
11823         * gst/gsttaginterface.h:
11824         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11825         (gst_task_init), (gst_task_dispose), (gst_task_create),
11826         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11827         (gst_task_pause):
11828         * gst/gsttask.h:
11829         * gst/gstthread.c:
11830         * gst/gstthread.h:
11831         * gst/gsttypes.h:
11832         * gst/schedulers/Makefile.am:
11833         * gst/schedulers/cothreads_compat.h:
11834         * gst/schedulers/entryscheduler.c:
11835         * gst/schedulers/faircothreads.c:
11836         * gst/schedulers/faircothreads.h:
11837         * gst/schedulers/fairscheduler.c:
11838         * gst/schedulers/gstbasicscheduler.c:
11839         * gst/schedulers/gstoptimalscheduler.c:
11840         * gst/schedulers/gthread-cothreads.h:
11841         * gst/schedulers/threadscheduler.c:
11842         (gst_thread_scheduler_task_get_type),
11843         (gst_thread_scheduler_task_class_init),
11844         (gst_thread_scheduler_task_init),
11845         (gst_thread_scheduler_task_start),
11846         (gst_thread_scheduler_task_stop),
11847         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11848         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11849         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11850         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11851         (plugin_init):
11852         * libs/gst/Makefile.am:
11853         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11854         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11855         (gst_file_pad_parent_set):
11856         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11857         (gst_dp_event_from_packet):
11858         * tests/complexity.c: (main):
11859         * tests/mass_elements.c: (main):
11860         * testsuite/states/locked.c: (message_received), (main):
11861         * testsuite/states/parent.c: (main):
11862         * tools/gst-inspect.c: (print_element_flag_info),
11863         (print_implementation_info), (print_pad_info):
11864         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11865         (main):
11866         * tools/gst-md5sum.c: (event_loop), (main):
11867         * tools/gst-typefind.c: (main):
11868         * tools/gst-xmlinspect.c: (print_element_info):
11869         Next big merge.
11870         Added GstBus for mainloop integration.
11871         Added GstMessage for sending notifications on the bus.
11872         Added GstTask as an abstraction for pipeline entry points.
11873         Removed GstThread.
11874         Removed Schedulers.
11875         Simplified GstQueue for multithreaded core.
11876         Made _link threadsafe, removed old capsnego.
11877         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11878         Added pad blocking functions.
11879         Reworked scheduling functions in GstPad to prepare for
11880         scheduling updates soon.
11881         Moved events out of data stream.
11882         Simplified GstEvent types.
11883         Added return values to push/pull.
11884         Removed clocking from GstElement.
11885         Added prototypes for state change function for next merge.
11886         Removed iterate from bins and state change management.
11887         Fixed some elements, disabled others for now.
11888         Fixed -inspect and -launch.
11889         Added check for GstBus.
11890
11891 2005-03-10  Wim Taymans  <wim@fluendo.com>
11892
11893         * docs/design/part-MT-refcounting.txt:
11894         * docs/design/part-clocks.txt:
11895         * docs/design/part-gstelement.txt:
11896         * docs/design/part-gstobject.txt:
11897         * docs/design/part-standards.txt:
11898         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11899         (gst_bin_remove_func), (gst_bin_remove):
11900         * gst/gstbin.h:
11901         * gst/gstbuffer.c:
11902         * gst/gstcaps.h:
11903         * testsuite/clock/clock1.c: (main):
11904         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11905         (main):
11906         * testsuite/dlopen/loadgst.c: (do_test):
11907         * testsuite/refcounting/bin.c: (add_remove_test1),
11908         (add_remove_test2), (main):
11909         * testsuite/refcounting/element.c: (main):
11910         * testsuite/refcounting/element_pad.c: (main):
11911         * testsuite/refcounting/pad.c: (main):
11912         * tools/gst-launch.c: (sigint_handler_sighandler):
11913         * tools/gst-typefind.c: (main):
11914         Doc updates.
11915         Added doc about clock.
11916         removed gst_bin_iterate_recurse_up(), marked methods
11917         for removal.
11918         Fix more testsuites.
11919
11920 2005-03-09  Wim Taymans  <wim@fluendo.com>
11921
11922         * gst/gstpad.c: (gst_pad_get_direction),
11923         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11924         (gst_pad_collect_valist):
11925         * testsuite/bins/interface.c: (main):
11926         * testsuite/caps/audioscale.c: (test_caps):
11927         * testsuite/caps/caps.c: (test1), (test2), (test3):
11928         * testsuite/caps/deserialize.c: (main):
11929         * testsuite/caps/enumcaps.c: (main):
11930         * testsuite/caps/filtercaps.c: (main):
11931         * testsuite/caps/intersect2.c: (main):
11932         * testsuite/caps/random.c: (main):
11933         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11934         * testsuite/caps/sets.c: (check_caps):
11935         * testsuite/caps/simplify.c: (check_caps), (main):
11936         * testsuite/caps/subtract.c: (check_caps):
11937         Fix _pad_get_direction wrt ghostpads.
11938         Fix caps testsuite.
11939
11940 2005-03-09  Wim Taymans  <wim@fluendo.com>
11941
11942         * check/Makefile.am:
11943         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11944         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11945         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11946         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11947         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11948         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11949         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11950         (bin_element_is_sink), (gst_bin_iterate_sinks),
11951         (gst_bin_iterate_all_by_interface):
11952         * gst/gstbin.h:
11953         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11954         (gst_element_change_state), (gst_element_dispose),
11955         (gst_element_finalize), (gst_element_set_loop_function):
11956         * gst/gstelement.h:
11957         * gst/gstiterator.c: (find_custom_fold_func):
11958         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11959         (gst_pad_collectv), (gst_pad_collect_valist),
11960         (gst_pad_template_new):
11961         * gst/gstpipeline.c: (gst_pipeline_class_init),
11962         (gst_pipeline_dispose), (gst_pipeline_set_property),
11963         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11964         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11965         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11966         * gst/gstutils.h:
11967         * gst/schedulers/entryscheduler.c:
11968         * gst/schedulers/gstbasicscheduler.c:
11969         (gst_basic_scheduler_cothreaded_chain),
11970         (gst_basic_scheduler_chain_add_element):
11971         * testsuite/bins/interface.c: (main):
11972         Added GstBin test.
11973         Added GstSystemClock test.
11974         Implemented clock distribution code in GstBin.
11975         Implemented iterate sinks method for future use.
11976         Rearranged gstelement.h
11977         Fix GstIterator comparison bug.
11978         Moved some code to GstPipeline, mostly clocking related.
11979
11980 2005-03-09  Wim Taymans  <wim@fluendo.com>
11981
11982         * configure.ac:
11983         * gst/gst_private.h:
11984         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11985         (gst_bin_remove_func), (gst_bin_remove),
11986         (gst_bin_get_by_name_recurse_up):
11987         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11988         (gst_clock_id_compare_func), (gst_clock_id_wait),
11989         (gst_clock_id_wait_async), (gst_clock_init),
11990         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11991         * gst/gstelement.h:
11992         * gst/gstinfo.c: (_gst_debug_init):
11993         * gst/gstobject.h:
11994         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11995         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11996         * gst/gstpad.h:
11997         Bump version number, we're now 0.9.0
11998         Add future debugging category.
11999         Fix NULL _unref() in _get_by_name_recurse_up
12000         Rearrange gstpad.h.
12001         Update some docs.
12002
12003 2005-03-08  Wim Taymans  <wim@fluendo.com>
12004
12005         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12006         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12007         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12008         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12009         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12010         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12011         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12012         * gst/elements/gstidentity.c: (gst_identity_class_init):
12013         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12014         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12015         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12016         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12017         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12018         (gst_tee_link):
12019         * gst/gstelement.c: (gst_element_class_init),
12020         (gst_element_base_class_init), (gst_element_init),
12021         (gst_element_get_random_pad), (gst_element_wait_state_change),
12022         (gst_element_change_state), (gst_element_dispose),
12023         (gst_element_finalize), (gst_element_set_loop_function):
12024         * gst/gstelement.h:
12025         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12026         * gst/gstthread.c: (gst_thread_class_init),
12027         (gst_thread_release_children_locks), (gst_thread_change_state):
12028         * gst/schedulers/gstbasicscheduler.c:
12029         (gst_basic_scheduler_loopfunc_wrapper),
12030         (gst_basic_scheduler_chain_wrapper),
12031         (gst_basic_scheduler_src_wrapper),
12032         (gst_basic_scheduler_remove_element):
12033         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12034         Remove threadsafe properties. Fix elements because GObject
12035         complains when installing a property before declaring a
12036         set/get_property handler.
12037         Rearrange gstelement.h file, use STATE macros for state locks.
12038         Free mutexes in the finalize method instead of dispose.
12039
12040 2005-03-08  Wim Taymans  <wim@fluendo.com>
12041
12042         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12043         * gst/gstthread.c: (gst_thread_release_children_locks):
12044         Added parentage check.
12045         Fix build og GstThread again.
12046
12047 2005-03-08  Wim Taymans  <wim@fluendo.com>
12048
12049         * docs/design/part-MT-refcounting.txt:
12050         * docs/design/part-conventions.txt:
12051         * docs/design/part-gstobject.txt:
12052         * docs/design/part-relations.txt:
12053         * docs/design/part-standards.txt:
12054         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12055         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12056         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12057         (gst_bin_iterate_all_by_interface):
12058         * gst/gstbuffer.h:
12059         * gst/gstclock.h:
12060         * gst/gstelement.c: (gst_element_class_init),
12061         (gst_element_change_state), (gst_element_set_loop_function):
12062         * gst/gstelement.h:
12063         * gst/gstiterator.c:
12064         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12065         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12066         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12067         (gst_object_set_parent), (gst_object_unparent),
12068         (gst_object_check_uniqueness):
12069         * gst/gstobject.h:
12070         Docs updates, clean up some headers.
12071
12072 2005-03-07  Wim Taymans  <wim@fluendo.com>
12073
12074         * check/.cvsignore:
12075         * check/Makefile.am:
12076         * check/gst-libs/.cvsignore:
12077         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12078         * check/gst/.cvsignore:
12079         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12080         (START_TEST), (gstbus_suite), (main):
12081         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12082         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12083         (gst_data_suite), (main):
12084         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12085         (add_fold_func), (gstiterator_suite), (main):
12086         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12087         (thread_name_object), (thread_name_object_default),
12088         (gst_object_name_compare), (gst_object_suite), (main):
12089         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12090         (gst_pad_suite), (main):
12091         * check/gstcheck.c: (gst_check_log_message_func),
12092         (gst_check_log_critical_func), (gst_check_init):
12093         * check/gstcheck.h:
12094         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12095         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12096         Added checks.
12097
12098 2005-03-07  Wim Taymans  <wim@fluendo.com>
12099
12100         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12101         (gst_list_iterator_next), (gst_list_iterator_resync),
12102         (gst_list_iterator_free), (gst_iterator_new_list),
12103         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12104         (gst_iterator_free), (gst_iterator_push), (filter_next),
12105         (filter_resync), (filter_uninit), (filter_free),
12106         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12107         (gst_iterator_foreach), (find_custom_fold_func),
12108         (gst_iterator_find_custom):
12109         * gst/gstiterator.h:
12110         Added missing files.
12111
12112 2005-03-07  Wim Taymans  <wim@fluendo.com>
12113
12114         * Makefile.am:
12115         * configure.ac:
12116         * docs/design/part-MT-refcounting.txt:
12117         * docs/design/part-conventions.txt:
12118         * docs/design/part-gstobject.txt:
12119         * docs/design/part-relations.txt:
12120         * examples/mixer/mixer.c: (main):
12121         * examples/thread/thread.c: (eos), (main):
12122         * gst/Makefile.am:
12123         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12124         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12125         (gst_spider_plug_from_srcpad):
12126         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12127         (gst_spider_identity_change_state),
12128         (gst_spider_identity_sink_loop_type_finding):
12129         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12130         * gst/elements/gstidentity.c: (gst_identity_init):
12131         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12132         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12133         * gst/elements/gsttypefindelement.c: (free_entry):
12134         * gst/gst.c:
12135         * gst/gst.h:
12136         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12137         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12138         (gst_bin_set_index), (gst_bin_set_element_sched),
12139         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12140         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12141         (gst_bin_iterate_elements), (iterate_child_recurse),
12142         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12143         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12144         (compare_interface), (gst_bin_get_by_interface),
12145         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12146         * gst/gstbin.h:
12147         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12148         (gst_buffer_default_free), (gst_buffer_default_copy),
12149         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12150         (gst_buffer_create_sub):
12151         * gst/gstbuffer.h:
12152         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12153         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12154         (gst_caps_unref), (gst_static_caps_get),
12155         (gst_caps_remove_and_get_structure), (gst_caps_append),
12156         (gst_caps_append_structure), (gst_caps_remove_structure),
12157         (gst_caps_copy_nth), (gst_caps_set_simple),
12158         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12159         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12160         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12161         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12162         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12163         (gst_caps_structure_figure_out_union),
12164         (gst_caps_switch_structures), (gst_caps_do_simplify),
12165         (gst_caps_replace), (gst_caps_from_string),
12166         (gst_caps_copy_conditional):
12167         * gst/gstcaps.h:
12168         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12169         (_gst_clock_id_free), (gst_clock_id_unref),
12170         (gst_clock_id_compare_func), (gst_clock_id_wait),
12171         (gst_clock_id_wait_async), (gst_clock_class_init),
12172         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12173         (gst_clock_get_time), (gst_clock_set_time_adjust),
12174         (gst_clock_set_property), (gst_clock_get_property):
12175         * gst/gstclock.h:
12176         * gst/gstcompat.h:
12177         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12178         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12179         * gst/gstdata.h:
12180         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12181         (gst_element_requires_clock), (gst_element_provides_clock),
12182         (gst_element_set_clock), (gst_element_clock_wait),
12183         (gst_element_wait), (gst_element_set_time_delay),
12184         (gst_element_is_indexable), (gst_element_add_pad),
12185         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12186         (pad_compare_name), (gst_element_get_static_pad),
12187         (gst_element_request_pad), (gst_element_get_request_pad),
12188         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12189         (gst_element_class_get_pad_template_list),
12190         (gst_element_class_get_pad_template), (gst_element_error_func),
12191         (gst_element_get_random_pad), (gst_element_get_event_masks),
12192         (gst_element_send_event), (gst_element_seek),
12193         (gst_element_get_query_types), (gst_element_query),
12194         (gst_element_get_formats), (gst_element_convert),
12195         (gst_element_is_locked_state), (gst_element_set_locked_state),
12196         (gst_element_sync_state_with_parent), (gst_element_change_state),
12197         (gst_element_finalize), (gst_element_yield),
12198         (gst_element_interrupt), (gst_element_set_scheduler),
12199         (gst_element_get_scheduler), (gst_element_set_loop_function):
12200         * gst/gstelement.h:
12201         * gst/gstevent.h:
12202         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12203         (gst_format_get_by_nick), (gst_format_get_details),
12204         (gst_format_iterate_definitions):
12205         * gst/gstformat.h:
12206         * gst/gstindex.c: (gst_index_gtype_resolver):
12207         * gst/gstinfo.c:
12208         * gst/gstinfo.h:
12209         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12210         (gst_mem_chunk_free):
12211         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12212         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12213         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12214         (gst_object_dispatch_properties_changed),
12215         (gst_object_set_name_default), (gst_object_set_name),
12216         (gst_object_get_name), (gst_object_set_name_prefix),
12217         (gst_object_get_name_prefix), (gst_object_set_parent),
12218         (gst_object_get_parent), (gst_object_unparent),
12219         (gst_object_check_uniqueness), (gst_object_save_thyself),
12220         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12221         (gst_object_set_property), (gst_object_get_property),
12222         (gst_object_get_path_string):
12223         * gst/gstobject.h:
12224         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12225         (gst_real_pad_init), (gst_real_pad_get_property),
12226         (gst_pad_custom_new), (gst_pad_get_direction),
12227         (gst_pad_set_active), (gst_pad_is_active),
12228         (gst_pad_set_event_function), (gst_pad_is_linked),
12229         (gst_pad_link_free), (gst_pad_link_intersect),
12230         (gst_pad_link_fixate), (gst_pad_set_caps),
12231         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12232         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12233         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12234         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12235         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12236         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12237         (gst_pad_realize), (gst_pad_get_allowed_caps),
12238         (gst_real_pad_dispose), (gst_real_pad_finalize),
12239         (gst_pad_collectv), (gst_pad_collect_valist),
12240         (gst_pad_template_dispose), (gst_pad_template_new),
12241         (gst_pad_get_internal_links):
12242         * gst/gstpad.h:
12243         * gst/gstpipeline.c: (gst_pipeline_dispose),
12244         (gst_pipeline_change_state):
12245         * gst/gstpipeline.h:
12246         * gst/gstplugin.c:
12247         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12248         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12249         * gst/gstpluginfeature.h:
12250         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12251         * gst/gstquery.c: (_gst_query_type_initialize),
12252         (gst_query_type_register), (gst_query_type_get_by_nick),
12253         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12254         * gst/gstquery.h:
12255         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12256         * gst/gstscheduler.c: (gst_scheduler_add_element),
12257         (gst_scheduler_factory_create):
12258         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12259         (gst_structure_free), (gst_structure_set_name),
12260         (gst_structure_id_set_value), (gst_structure_set_value),
12261         (gst_structure_set_valist), (gst_structure_remove_field),
12262         (gst_structure_remove_fields),
12263         (gst_structure_remove_fields_valist),
12264         (gst_structure_remove_all_fields), (gst_structure_foreach),
12265         (gst_structure_map_in_place),
12266         (gst_caps_structure_fixate_field_nearest_int),
12267         (gst_caps_structure_fixate_field_nearest_double):
12268         * gst/gststructure.h:
12269         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12270         (gst_system_clock_init), (gst_system_clock_dispose),
12271         (gst_system_clock_async_thread),
12272         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12273         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12274         * gst/gstsystemclock.h:
12275         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12276         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12277         * gst/gsttaginterface.c:
12278         * gst/gstthread.c: (gst_thread_dispose),
12279         (gst_thread_release_children_locks), (gst_thread_change_state),
12280         (gst_thread_main_loop):
12281         * gst/gsttrashstack.h:
12282         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12283         * gst/gsttypes.h:
12284         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12285         (gst_element_request_pad), (gst_element_get_pad_from_template),
12286         (gst_element_request_compatible_pad),
12287         (gst_element_get_compatible_pad_filtered),
12288         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12289         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12290         (gst_element_link_many), (gst_element_link),
12291         (gst_element_link_pads), (gst_element_unlink_pads),
12292         (gst_element_unlink_many), (gst_element_unlink),
12293         (gst_pad_can_link_filtered), (gst_pad_can_link),
12294         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12295         (gst_object_default_error), (gst_bin_add_many),
12296         (gst_bin_remove_many), (gst_element_populate_std_props),
12297         (gst_element_class_install_std_props), (gst_buffer_merge),
12298         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12299         (link_fold_func), (gst_pad_proxy_setcaps):
12300         * gst/gstutils.h:
12301         * gst/gstvalue.c: (gst_value_deserialize_string):
12302         * gst/parse/grammar.y:
12303         * gst/schedulers/gstbasicscheduler.c:
12304         (gst_basic_scheduler_cothreaded_chain),
12305         (gst_basic_scheduler_chain_recursive_add),
12306         (gst_basic_scheduler_pad_link):
12307         * gst/schedulers/gstoptimalscheduler.c:
12308         (get_group_schedule_function),
12309         (gst_opt_scheduler_state_transition),
12310         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12311         * libs/gst/bytestream/bytestream.c:
12312         * libs/gst/dataprotocol/dataprotocol.c:
12313         (gst_dp_header_from_buffer):
12314         * po/nb.po:
12315         * po/ru.po:
12316         * tests/threadstate/threadstate2.c: (eos):
12317         * tools/gst-compprep.c: (main):
12318         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12319         (print_pad_info), (print_children_info):
12320         * tools/gst-launch.c: (idle_func), (main):
12321         * tools/gst-md5sum.c: (idle_func), (main):
12322         * tools/gst-xmlinspect.c: (print_element_info):
12323         First THREADED backport attempt, focusing on adding locks and
12324         making sure the API is threadsafe. Needs more work. More docs
12325         follow this week.
12326
12327 2005-02-24  Andy Wingo  <wingo@pobox.com>
12328
12329         * tests/bench-complexity.scm:
12330         * tests/complexity.gnuplot: New files, good for running complexity
12331         benchmarks.
12332
12333         * tests/Makefile.am:
12334         * tests/complexity.c: New test, sets up N elements, at each level
12335         teeing into M streams per element. Eeeenteresting.
12336
12337         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12338         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12339         running bench-mass_elements.scm.
12340
12341         * tests/bench-mass_elements.scm: New script, runs mass_elements
12342         for various numbers of identities, outputting the results to a
12343         file. Requires guile 1.6. Just for testing.
12344
12345 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12346
12347         * gst/schedulers/fairscheduler.c:
12348           compile with debug disabled
12349
12350 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12351
12352         * configure.ac:
12353           hunting season on 0.9 is now OPEN